-
-
Notifications
You must be signed in to change notification settings - Fork 229
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
Make all static library exports contribute to dlls on Windows #2614
Conversation
Looks like dmd-master failing isn't related to this PR. |
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.
Any way to test this?
ba49e01
to
6da60c5
Compare
The last time I looked at the test suite it didn't run on Windows and it wouldn't be the simplest of test to write, since you'd need a static lib + DLL + something to verify symbols were exported. Scream test might be the best we get, and people who use it will certainly scream quickly if it's not in. |
Lol, fair enough. |
6da60c5
to
c8291b0
Compare
This was merged too soon; this can have undesired side effects like larger binaries and link-time regressions. We've had a similar regression just a few weeks back at work - some library containing a module depending on some 3rd-party lib only available on Linux, and that module (totally unused on Windows) forcefully being linked in suddenly causing lots of undefined symbol errors. The really bad thing here is that unlike default And there are other ways to work around this problem; |
What we could do is add a build requirement to turn this behavior off for a given shared library. So if you need control you have it, but the default will still be it is most likely going to work. |
No test, no review, let's revert: #2616 |
Fixes: ldc-developers/ldc#4343