-
-
Notifications
You must be signed in to change notification settings - Fork 264
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
Continue with #1735 (-link-sharedlib) #2044
Conversation
3e673ae
to
83712c1
Compare
|
How about |
|
|
|
Oh and of course there is (and will remain) another breaking change wrt. |
|
Required lib filename scheme to work out of the box with a config file defining |
|
This combination resolves #1282 (which in retrospective wasn't as straight-forward as David believed back then :D). |
|
2 Travis jobs now hit: Seems like it's trying to link it although the object is still being compiled. Wtf, make/CMake bug? Or could |
|
Any concerns or do all agree this is a sane solution? |
|
@klickverbot: This will need your approval or another form of feedback. ;) |
Deprecates -debuglib flag
-link-sharedlib will augment standard library names with '-shared' suffix and -link-sharedlib=false will cancel previously supplied -link-sharedlib
|
I'm fine with this. Just using libraries of the same name seemed like the prettier solution, but quite evidently didn't pan out. There is also the argument that a The important thing to get right here is the user interface. We can later change the automatic |
|
The initial reason I went for the Wrt. cross-compilation and configs: we already support multiple sections in No potential additional flavours come to mind right now. |
Yep. What I was thinking about is a more flexible target triple matching mechanism (wildcards, …), and the ability to only overwrite part of the configuration. We could then slowly move all the hard-coded tool-chain/CPU feature/… defaults in the drive into data. |
In that case, let's go with I was thinking about special builds for profiling/sanitizer/etc. purposes. |
|
We could also add an additional |
I'd rather add support for build type matching to the config file, and then have just a simple library name setting. Something like (pseudocode): This would avoid having to add more flags for potentially different system libraries dependencies and so on, while offering a lot of flexibility for weird cross-compilation setups (e.g. simulator builds) and so on. |
|
We should resurrect this, or something along the lines. Users having to manually type out the |
|
Fine by me, but we should think carefully about how to name that switch. I guess there's enough confusion about the terms 'runtime library' (druntime only?), 'standard library' (Phobos only?) and 'default library' already (mea culpa too). Wrt. the existing |
|
Superseded once more, by #2443 this time. |
Requires/includes #1960 andoffers a simple cmdline switch-link-sharedlibto choose between static and shared druntime/Phobos.The only breaking change is that
-link-sharedlibdefaults to true when generating a shared library via-sharedand NOT using-static, so the libs specified via-defaultlib(or legacy-debuglib) will get a-sharedsuffix in the linker command line. Adding an explicit-link-sharedlib=falseto the config file should restore full legacy behavior.