Re: Choosing a non-default linker for dmd (via dub)

2020-07-15 Thread kinke via Digitalmars-d-learn

On Wednesday, 15 July 2020 at 11:38:47 UTC, Jacob Carlborg wrote:
There's an environment variable "CC" that can be used to select 
which C compiler is used. Is there any equivalence for 
selecting the linker, "LD" perhaps?


You normally just add -fuse-ld=gold to the C compiler cmdline, 
e.g., via -Xcc=-fuse-ld=gold in the DMD cmdline.


Re: Choosing a non-default linker for dmd (via dub)

2020-07-15 Thread Jacob Carlborg via Digitalmars-d-learn

On 2020-07-12 18:36, Per Nordlöw wrote:

The line

dflags "-linker=gold" platform="linux-ldc" # use GNU gold linker

in dub.sdl

enables me to change linker for LDC.

Is it possible to choose a specific linker for DMD aswell in a similar way?

I only find the flag `-L` that sets flags but no linker executable.

One way is to link

     /usr/bin/ld

to either

     /usr/bin/ld.gold

or

     /usr/bin/ld.lld

but it would be nice to be able to do this from the dub.sdl or the 
command-line call to dub.


There's an environment variable "CC" that can be used to select which C 
compiler is used. Is there any equivalence for selecting the linker, 
"LD" perhaps?


--
/Jacob Carlborg


Re: Choosing a non-default linker for dmd (via dub)

2020-07-13 Thread WebFreak001 via Digitalmars-d-learn

On Sunday, 12 July 2020 at 16:36:09 UTC, Per Nordlöw wrote:

The line

dflags "-linker=gold" platform="linux-ldc" # use GNU gold linker

in dub.sdl

enables me to change linker for LDC.

Is it possible to choose a specific linker for DMD aswell in a 
similar way?


I only find the flag `-L` that sets flags but no linker 
executable.


One way is to link

/usr/bin/ld

to either

/usr/bin/ld.gold

or

/usr/bin/ld.lld

but it would be nice to be able to do this from the dub.sdl or 
the command-line call to dub.


dub links using the compiler, so it basically just runs `dmd 
[flags] [files-to-link]`


In the DMD documentation you can see that it just runs gcc: 
https://dlang.org/dmd-linux.html#linking


Personally I always `ln -s /usr/bin/ld.gold /usr/local/bin/ld` to 
make ld.gold the default.


Choosing a non-default linker for dmd (via dub)

2020-07-12 Thread Per Nordlöw via Digitalmars-d-learn

The line

dflags "-linker=gold" platform="linux-ldc" # use GNU gold linker

in dub.sdl

enables me to change linker for LDC.

Is it possible to choose a specific linker for DMD aswell in a 
similar way?


I only find the flag `-L` that sets flags but no linker 
executable.


One way is to link

/usr/bin/ld

to either

/usr/bin/ld.gold

or

/usr/bin/ld.lld

but it would be nice to be able to do this from the dub.sdl or 
the command-line call to dub.