August 09, 2015 [Issue 7044] Missing a way to control the order of arguments passed to the linker makes impossible to link some programs | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=7044 --- Comment #51 from Martin Nowak <code@dawg.eu> --- I think requiring a `-confsection` switch limits the usefulness a lot. One reason for the extended ini format is that we can make the linking configurable for certain targets, e.g. m32coff or msvc14 (see [here](https://github.com/D-Programming-Language/druntime/pull/1341#issuecomment-129163526)) without hardcoding those rules in the compiler. This gives packagers the necessary control to adapt dmd to every platform and provide some extras, such as a debug phobos library. Currently it's not possible to select a debug phobos lib solely by `-debug`. We have similar requirements for `m32coff` and VS2015. The other reason is similar but focused on letting the user select different configurations. This is already solved by the `-conf=` switch, but having the compiler match sections would reduce the necessary number of dmd.conf files. We already have a proved implementation to select configurations based on compiler flags and targets. http://code.dlang.org/package-format?lang=json#build-settings Matching "version" identifiers is a generic solution that's both simple and flexible, e.g. it readily allows to match `[Environment-D_HardFloat-ARM_Thumb]` or `[Environment-linux-D_NoBoundsChecks-D_InlineAsm_X86_64]`. Maybe we don't need that much flexibility but `Environment32/Environment64/Environment32mscoff` already don't scale with a adding a second orthogonal switch for [MSVC14](https://github.com/D-Programming-Language/druntime/pull/1341#issuecomment-129168177). > I agree, but I'd like to try this out first to see what the common usage patterns will be, and then adding those later. If we add them now, we may wind up with a bunch of useless clutter that we cannot remove because we don't want to break legacy makefiles. That's a noble effort, but it's already clear that user selected config sections aren't the right solution to ship a debug/profile/msvc14 phobos variant. Also trying to find out usage patterns by providing an inferior feature is flawed, because you don't necessarily get feedback and it might get less or different acceptance as the real feature. In this case the requirements are already know, so if you want to know the usage patterns just ask the packagers that need to deal with dmd.conf limitations. -- |
August 09, 2015 [Issue 7044] Missing a way to control the order of arguments passed to the linker makes impossible to link some programs | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=7044 --- Comment #52 from Martin Nowak <code@dawg.eu> --- Sorry for taking over this bug report, none of the dmd.conf enhancements address the original issue. Linking is already fully configurable since we have both the `-defaultlib=` and the `-conf=` switch. Problem is that this discards all configuration, so you need to pass import and library paths to dmd, making this unportable and cumbersome. Regarding the linker order for curl, this is a bug on the side of dmd/phobos to not specify the correct dependencies and shouldn't require a user side flag. We could solve this by always adding -L--as-needed -L-lcurl (which requires libcurl-dev packages) or by dynamically loading libcurl (see issue 13324). The later would also solve the annoying issue with versioned libcurl symbols in a shared libphobos2.so. -- |
August 09, 2015 [Issue 7044] Missing a way to control the order of arguments passed to the linker makes impossible to link some programs | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=7044 --- Comment #53 from Martin Nowak <code@dawg.eu> --- (In reply to Martin Nowak from comment #52) > We could solve this by always adding -L--as-needed -L-lcurl (which requires > libcurl-dev packages) In the meantime LDC took this approach. https://github.com/ldc-developers/ldc/pull/977 -- |
September 06, 2015 [Issue 7044] Missing a way to control the order of arguments passed to the linker makes impossible to link some programs | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=7044 --- Comment #54 from Martin Nowak <code@dawg.eu> --- *** Issue 12572 has been marked as a duplicate of this issue. *** -- |
January 18, 2016 [Issue 7044] Missing a way to control the order of arguments passed to the linker makes impossible to link some programs | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=7044 Vladimir Panteleev <thecybershadow@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://issues.dlang.org/sh | |ow_bug.cgi?id=15574 -- |
October 15, 2016 [Issue 7044] Missing a way to control the order of arguments passed to the linker makes impossible to link some programs | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=7044 Andrei Alexandrescu <andrei@erdani.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |bootcamp CC| |andrei@erdani.com -- |
December 17, 2022 [Issue 7044] Missing a way to control the order of arguments passed to the linker makes impossible to link some programs | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=7044 Iain Buclaw <ibuclaw@gdcproject.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P2 |P3 -- |
December 13 [Issue 7044] Missing a way to control the order of arguments passed to the linker makes impossible to link some programs | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=7044 --- Comment #55 from dlangBugzillaToGithub <robert.schadek@posteo.de> --- THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18385 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB -- |
Copyright © 1999-2021 by the D Language Foundation