-
-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for MinGW #8321
base: master
Are you sure you want to change the base?
Add support for MinGW #8321
Conversation
With all respect to the job done:
|
Hi @hvlad Thanks for your considerations.. |
@hvlad We have a lot of old dead ports in the tree. What a problem if we have one currently working? We are not enforced to advertise it's presence. It will be alive as long as MSYS2 wants to support it. |
I will not object if it:
Also, I have no MSYS2 env to check this changes and have no plans to install it. |
Can't say for version.rc (STRINGIZE is typical source of problems), but protocol.cpp (and other #if => #ifdef changes) and specially isc.cpp look weird. But before going to details more generic question to be answered - accept ports or not? Certainly, new ports should not break existing nad actively used one. What about support - I doubt anyone can give you strong guarantees :) |
Do we need more ports - yes, why not. Note, we'll have massive changes in master soon... |
Currently, I am the maintainer for this package on MSYS2. So, I will give support for this MinGW port.
Sure, I will try not to mess with MSVC build.
I will share the link of the successfull build on MSYS2, later. For |
For custom GCC options there is |
How it builds on Linux then ? |
Maybe Linux adds |
4659078
to
94e5dcc
Compare
MSYS2 is installed in GitHub workers. It should be possible to add this build to workflows. |
I'm sure - no. This is for DEBUG, as it name implies ;) |
I just add |
It is contrary: |
@@ -60,6 +60,16 @@ include $(ROOT)/gen/make.shared.variables | |||
|
|||
all: udrcpp_example dc_example kh_example crypt_app | |||
|
|||
ifeq ($(PLATFORM),win32) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you need platform-depended modifications to makefiles - do them in prefix file, not here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok.. I will change it
No, it would be a wrong fix. Checks in files must be changed to |
Cite syntax rule that requires it. I found none. And it builds will all supported compilers as is. https://en.cppreference.com/w/cpp/preprocessor/conditional:
C rules is more explicit:
|
Are you volunteer to add it ? |
Adriano is keen of bird languages and he is only one who understand YML. I have no time to learn it. |
94e5dcc
to
034764e
Compare
Here,
|
I don't think so, sorry ;) The probem is that you require changes that not specified by standard (at least I can't find such requirements) and such kind of code could be added later - because it is fully legal, AFAIU. |
Because they have no |
Try this, for example: https://onecompiler.com/cpp/42ygfm9mk |
So, why it is required for MinGW ? |
It is from the old I can just remove |
As any warning-related option it is not required. I added it into |
And you wrong again. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html:
It is definitely not about compiler errors, as @raedrizqie said:
|
Ok for me ;) |
yes.. indeed |
About After this will be ruled, I accept changes in But |
Will do. |
@@ -1089,6 +1090,7 @@ fi | |||
AC_LANG_POP(C++) | |||
|
|||
dnl Check for functions | |||
if test $PLATFORM != win32; then | |||
AC_CHECK_FUNCS(gettimeofday) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Functional tests should better avoid OS-dependence. What's wrong with gettimeofday?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC gettimeofday
implementation in mingw is different, and compilation will fail..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, only MSVC has problem with gettimeofday()
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I got this error with gettimeofday
:
2024-11-18T17:35:02.9691283Z C:/_/B/src/build-CLANG64/src/extlib/UdfBackwardCompatibility.cpp:282:3: error: use of undeclared identifier 'timeMutex'
2024-11-18T17:35:02.9933433Z 282 | timeMutex.enter();
2024-11-18T17:35:03.0000134Z | ^
2024-11-18T17:35:03.0078661Z C:/_/B/src/build-CLANG64/src/extlib/UdfBackwardCompatibility.cpp:290:3: error: use of undeclared identifier 'timeMutex'
2024-11-18T17:35:03.0221334Z 290 | timeMutex.leave();
2024-11-18T17:35:03.0245170Z | ^
2024-11-18T17:35:03.0249640Z 2 errors generated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see no relation between this error and gettimeofday
. This is an ordinary bug in a dead code.
On 11/18/24 20:25, Raed Rizqie wrote:
***@***.**** commented on this pull request.
------------------------------------------------------------------------
In builds/posix/Makefile.in.examples
<#8321 (comment)>:
> @@ -91,7 +99,7 @@ EMPLOYEE_DB= $(EXAMPLES_DEST)/employee.fdb
FINAL_EMPDB= $(EXAMPLES_FB)/empbuild/employee.fdb
INTLEMP_DB= $(EXAMPLES_DEST)/intlemp.fdb
-EXTAUTH_PLUGIN= $(EXAMPLES_FB)/prebuilt/libfbSampleExtAuth.$(SHRLIB_EXT)
+EXTAUTH_PLUGIN= $(EXAMPLES_FB)/prebuilt/$(LIB_PREFIX)fbSampleExtAuth.$(SHRLIB_EXT)
This is to mimic MSVC build, where the example dlls doesn't have |lib|
prefix
Ahh - OK
|
On 11/18/24 20:56, Raed Rizqie wrote:
***@***.**** commented on this pull request.
------------------------------------------------------------------------
In configure.ac
<#8321 (comment)>:
> @@ -1089,6 +1090,7 @@ fi
AC_LANG_POP(C++)
dnl Check for functions
+if test $PLATFORM != win32; then
AC_CHECK_FUNCS(gettimeofday)
I got this error with |gettimeofday|:
|2024-11-18T17:35:02.9691283Z
C:/_/B/src/build-CLANG64/src/extlib/UdfBackwardCompatibility.cpp:282:3:
error: use of undeclared identifier 'timeMutex'
2024-11-18T17:35:02.9933433Z 282 | timeMutex.enter();
2024-11-18T17:35:03.0000134Z | ^ 2024-11-18T17:35:03.0078661Z
C:/_/B/src/build-CLANG64/src/extlib/UdfBackwardCompatibility.cpp:290:3:
error: use of undeclared identifier 'timeMutex'
2024-11-18T17:35:03.0221334Z 290 | timeMutex.leave();
2024-11-18T17:35:03.0245170Z | ^ 2024-11-18T17:35:03.0249640Z 2 errors
generated. |
This can be fixed but looks like it's really better to avoid use of
|gettimeofday() on mingw.
|
|
c9346b7
to
0e21adb
Compare
0e21adb
to
b8d1043
Compare
No description provided.