Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
December 11, 2016 dmd -Wl=comma_separated_linker_flags (cf clang++ -Wl, comma_separated_linker_flags) | ||||
---|---|---|---|---|
| ||||
Attachments:
| question 1: is there a way to pass linker flags? dmd -Wl=comma_separated_linker_flags eg: dmd -Wl=-lbar,-Ldir,--export-dynamic,-pie (same functionality as clang++ -Wl,-lbar,-Ldir,--export-dynamic,-pie) If not could we support it? Would make a lot of things easier. question 2: Furthermore, on linux, not sure I can pass the -pie flag to dmd ; currently this works: ``` dmd -of=${filelib}.o -c ${FLAGS} fun.d clang++ -o ${filelib} -pie ${filelib}.o -Wl,-lphobos2,--export-dynamic ``` but not: dmd -of=${filelib} ${FLAGS} -L-pie -L--export-dynamic fun.d with question 1 solved, this should automatically work via: dmd -of=${filelib} ${FLAGS} -Wl=-pie,--export-dynamic fun.d |
December 11, 2016 Re: dmd -Wl=comma_separated_linker_flags (cf clang++ -Wl, comma_separated_linker_flags) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timothee Cour | On Sunday, 11 December 2016 at 21:39:26 UTC, Timothee Cour wrote: > is there a way to pass linker flags? > dmd -Wl=comma_separated_linker_flags > eg: > dmd -Wl=-lbar,-Ldir,--export-dynamic,-pie > > (same functionality as clang++ -Wl,-lbar,-Ldir,--export-dynamic,-pie) > > If not could we support it? Would make a lot of things easier. Just use shell expansions? dmd -Wl,-{lbar,Ldir,-export-dynamic,pie} |
February 20, 2017 Re: dmd -Wl=comma_separated_linker_flags (cf clang++ -Wl, comma_separated_linker_flags) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Guillaume Boucher | > Just use shell expansions? > dmd -Wl,-{lbar,Ldir,-export-dynamic,pie} This doesn't work : unrecognized switch '-Wl...' On Sun, Dec 11, 2016 at 3:36 PM, Guillaume Boucher via Digitalmars-d <digitalmars-d@puremagic.com> wrote: > On Sunday, 11 December 2016 at 21:39:26 UTC, Timothee Cour wrote: >> >> is there a way to pass linker flags? >> dmd -Wl=comma_separated_linker_flags >> eg: >> dmd -Wl=-lbar,-Ldir,--export-dynamic,-pie >> >> (same functionality as clang++ -Wl,-lbar,-Ldir,--export-dynamic,-pie) >> >> If not could we support it? Would make a lot of things easier. > > > Just use shell expansions? > > dmd -Wl,-{lbar,Ldir,-export-dynamic,pie} > |
February 21, 2017 Re: dmd -Wl=comma_separated_linker_flags (cf clang++ -Wl, comma_separated_linker_flags) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timothee Cour | On Tuesday, 21 February 2017 at 00:33:27 UTC, Timothee Cour wrote:
>> Just use shell expansions?
>> dmd -Wl,-{lbar,Ldir,-export-dynamic,pie}
>
> This doesn't work : unrecognized switch '-Wl...'
>
> On Sun, Dec 11, 2016 at 3:36 PM, Guillaume Boucher via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
>> On Sunday, 11 December 2016 at 21:39:26 UTC, Timothee Cour wrote:
>>>
>>> is there a way to pass linker flags?
>>> dmd -Wl=comma_separated_linker_flags
>>> eg:
>>> dmd -Wl=-lbar,-Ldir,--export-dynamic,-pie
>>>
>>> (same functionality as clang++ -Wl,-lbar,-Ldir,--export-dynamic,-pie)
>>>
>>> If not could we support it? Would make a lot of things easier.
>>
>>
>> Just use shell expansions?
>>
>> dmd -Wl,-{lbar,Ldir,-export-dynamic,pie}
linker flag is prefix is `-L` e.g. `-L-lbar` to link bar.
|
February 20, 2017 Re: dmd -Wl=comma_separated_linker_flags (cf clang++ -Wl, comma_separated_linker_flags) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicholas Wilson | relying on the shell (especially involving arrays) seems like a bad idea: not portable, easy to mess up: `dmd -L{-lbar,-Ldir,--export-dynamic}` works but what if it's stored in $lflags: lflags="-lbar,-Ldir,--export-dynamic" the function to convert $lflags to a dmd-appropriate flag is not so simple; what do you suggest for that case? On Mon, Feb 20, 2017 at 5:26 PM, Nicholas Wilson via Digitalmars-d <digitalmars-d@puremagic.com> wrote: > On Tuesday, 21 February 2017 at 00:33:27 UTC, Timothee Cour wrote: >>> >>> Just use shell expansions? >>> dmd -Wl,-{lbar,Ldir,-export-dynamic,pie} >> >> >> This doesn't work : unrecognized switch '-Wl...' >> >> On Sun, Dec 11, 2016 at 3:36 PM, Guillaume Boucher via Digitalmars-d <digitalmars-d@puremagic.com> wrote: >>> >>> On Sunday, 11 December 2016 at 21:39:26 UTC, Timothee Cour wrote: >>>> >>>> >>>> is there a way to pass linker flags? >>>> dmd -Wl=comma_separated_linker_flags >>>> eg: >>>> dmd -Wl=-lbar,-Ldir,--export-dynamic,-pie >>>> >>>> (same functionality as clang++ -Wl,-lbar,-Ldir,--export-dynamic,-pie) >>>> >>>> If not could we support it? Would make a lot of things easier. >>> >>> >>> >>> Just use shell expansions? >>> >>> dmd -Wl,-{lbar,Ldir,-export-dynamic,pie} > > > linker flag is prefix is `-L` e.g. `-L-lbar` to link bar. |
February 22, 2017 Re: dmd -Wl=comma_separated_linker_flags (cf clang++ -Wl, comma_separated_linker_flags) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timothee Cour | On 2017-02-21 03:53, Timothee Cour via Digitalmars-d wrote: > relying on the shell (especially involving arrays) seems like a bad > idea: not portable, easy to mess up: > > `dmd -L{-lbar,-Ldir,--export-dynamic}` works but what if it's stored in $lflags: > > lflags="-lbar,-Ldir,--export-dynamic" > > the function to convert $lflags to a dmd-appropriate flag is not so > simple; what do you suggest for that case? You can pass multiple -L flags: dmd -L-lbar -L-Ldir -L--export-dynamic -- /Jacob Carlborg |
February 22, 2017 Re: dmd -Wl=comma_separated_linker_flags (cf clang++ -Wl, comma_separated_linker_flags) | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | > You can pass multiple -L flags: > > dmd -L-lbar -L-Ldir -L--export-dynamic I know, but that's inconvenient. Would make things a lot easier if we had something like what i suggested: `-Wl=comma_separated_linker_flags` advantages: could seemlessly use `comma_separated_linker_flags` with either dmd or rdmd (compile + link in 1 stage) or 2 stages (compile w dmd followed by link w clang [or ld]) or make it easier to migrate code from build tools from C echosystem, or integrate seemlessly with ldc etc. |
Copyright © 1999-2021 by the D Language Foundation