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
autotools: allow --enable-symbol-hiding with windows #9586
Conversation
Tested fine with mingw-w64. Let's test with the legacy mingw and the others. UPDATE 1: They passed. |
This local autotools logic was put in place in 9e24b9c (in 2012) which disabled it for Windows unconditionally. Testing reveals that it actually works with tested toolchains (mingw-w64 and CI ones), so let's allow this build feature on that platform. Bringing this in sync with CMake, which already supported this. Closes curl#9586
647d587
to
4e2a131
Compare
Fix the upstream autotools option `--enable-symbol-hiding` on Windows, then use that instead of our hand rolled solution which also involves patching the build system. This brings down the number of local patch two just 2. (Still two more than ideal though.) Ref: curl/curl#9586
But does it actually do anything on windows? Lines 112 to 126 in 93d0928
|
Sure, unless I'm fatally misunderstanding something. After the patch, The compiler macro is a no-op on Windows, but there is extra logic run around the linking phase, and it may also trigger some linker options. I didn't investigate the internals further. |
Example build here: https://ci.appveyor.com/project/curlorg/curl-for-win/builds/44876993 |
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.
there is extra logic run around the linking phase
ah ok
This local autotools logic was put in place in 9e24b9c (in 2012) which disabled it for Windows unconditionally. Testing reveals that it actually works with tested toolchains (mingw-w64 and CI ones), so let's allow this build feature on that platform. Bringing this in sync with CMake, which already supported this.
Closes #9586