Thread overview
Dub and posix
Jan 18, 2016
Russel Winder
Jan 18, 2016
Jacob Carlborg
Jan 18, 2016
Russel Winder
Jan 18, 2016
Jacob Carlborg
Jan 18, 2016
Russel Winder
Jan 18, 2016
Johannes Pfau
Jan 18, 2016
Jacob Carlborg
January 18, 2016
Looking at the DStep compilation issue, it transpires that Debian and Fedora need different linker flags even though they are both posix. Does anyone know how to specify liner flags at this level of granularity?

It turns out this is a frustrating issue in every build system :-(

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



January 18, 2016
On 2016-01-18 10:13, Russel Winder via Digitalmars-d wrote:
> Looking at the DStep compilation issue, it transpires that Debian and
> Fedora need different linker flags even though they are both posix.
> Does anyone know how to specify liner flags at this level of
> granularity?

What happens if one specifies a non-existing path for a flag like -L? Does the linker ignore that or will it cause an error?

If it's ignored, then I guess it wouldn't be a problem to add it for all Posix systems. A bit ugly though.

-- 
/Jacob Carlborg
January 18, 2016
On Mon, 2016-01-18 at 13:58 +0100, Jacob Carlborg via Digitalmars-d wrote:
> On 2016-01-18 10:13, Russel Winder via Digitalmars-d wrote:
> > Looking at the DStep compilation issue, it transpires that Debian
> > and
> > Fedora need different linker flags even though they are both posix.
> > Does anyone know how to specify liner flags at this level of
> > granularity?
> 
> What happens if one specifies a non-existing path for a flag like
> -L?
> Does the linker ignore that or will it cause an error?

Linker ignores.

> If it's ignored, then I guess it wouldn't be a problem to add it for
> all
> Posix systems. A bit ugly though.

I am just trying this out. I added -L/usr/lib64/llvm in the relevant line of dub.json and everything seems to work nicely on Fedora. Sadly on Debian there is no version independent location for LLVM as far as I can tell.

"lflags-posix": ["-lclang", "-rpath", ".", "-L.", "-L/usr/lib64/llvm", "-L/usr/lib/llvm-3.7/lib"],

Works on both Fedora and Debian, but it hardwires 3.7.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



January 18, 2016
On 2016-01-18 14:23, Russel Winder via Digitalmars-d wrote:

> I am just trying this out. I added -L/usr/lib64/llvm in the relevant
> line of dub.json and everything seems to work nicely on Fedora. Sadly
> on Debian there is no version independent location for LLVM as far as I
> can tell.
>
> "lflags-posix": ["-lclang", "-rpath", ".", "-L.", "-L/usr/lib64/llvm", "-L/usr/lib/llvm-3.7/lib"],
>
> Works on both Fedora and Debian, but it hardwires 3.7.

And a glob (*) would most likely not work?

-- 
/Jacob Carlborg
January 18, 2016
On Mon, 2016-01-18 at 15:33 +0100, Jacob Carlborg via Digitalmars-d wrote:
> On 2016-01-18 14:23, Russel Winder via Digitalmars-d wrote:
> 
> > I am just trying this out. I added -L/usr/lib64/llvm in the
> > relevant
> > line of dub.json and everything seems to work nicely on Fedora.
> > Sadly
> > on Debian there is no version independent location for LLVM as far
> > as I
> > can tell.
> > 
> > "lflags-posix": ["-lclang", "-rpath", ".", "-L.", "- L/usr/lib64/llvm", "-L/usr/lib/llvm-3.7/lib"],
> > 
> > Works on both Fedora and Debian, but it hardwires 3.7.
> 
> And a glob (*) would most likely not work?

if you tried something like that, you would get all present LLVM versions in the path which would likely lead to some chaos.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



January 18, 2016
Am Mon, 18 Jan 2016 15:05:28 +0000
schrieb Russel Winder via Digitalmars-d <digitalmars-d@puremagic.com>:

> On Mon, 2016-01-18 at 15:33 +0100, Jacob Carlborg via Digitalmars-d wrote:
> > On 2016-01-18 14:23, Russel Winder via Digitalmars-d wrote:
> > 
> > > I am just trying this out. I added -L/usr/lib64/llvm in the
> > > relevant
> > > line of dub.json and everything seems to work nicely on Fedora.
> > > Sadly
> > > on Debian there is no version independent location for LLVM as far
> > > as I
> > > can tell.
> > > 
> > > "lflags-posix": ["-lclang", "-rpath", ".", "-L.", "- L/usr/lib64/llvm", "-L/usr/lib/llvm-3.7/lib"],
> > > 
> > > Works on both Fedora and Debian, but it hardwires 3.7.
> > 
> > And a glob (*) would most likely not work?
> 
> if you tried something like that, you would get all present LLVM versions in the path which would likely lead to some chaos.
> 

I guess they use pkg-config? Not sure if you can use that in dub...
January 18, 2016
On 2016-01-18 16:05, Russel Winder via Digitalmars-d wrote:

> if you tried something like that, you would get all present LLVM
> versions in the path which would likely lead to some chaos.

Hmm, true. I was thinking that one would only have one version installed. But that might not be the case.

-- 
/Jacob Carlborg