Re: lions and tigers and LDFLAGS, oh my!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 22 May 2009, Poor Yorick wrote:

I'd like to embed an RPATH/RUNPATH into all gcc binaries.  It isn't enough to
just set LDFLAGS and BOOT_LDFLAGS in the environment; those two variables must
also be passed explicitly as part of the make command:

   make LDFLAGS="$LDFLAGS", BOOT_LDFLAGS="$BOOT_LDFLAGS"

So far, so good.  However, I'd also trying to use the magic word, '$ORIGIN',
with a literal dollar sign, in the embedded RPATH.  LDFLAGS currently looks
like this:
[...]
The problem is that the top-level Makefile specifies enough layers of recursive
calls to make and the shell that I haven't found a way to quote the dollar sign
so that it stays quoted throughout the process.  Any hints?

One usual trick to simplify the problem a bit with the shell is:
export 'ORIGIN=$ORIGIN'
You could try:
export 'O=$$O' or something similar to help with make ('O=$O' is not accepted).
Consider yourself lucky you don't have a qmake layer on top...

It doesn't solve the problem completely, but I thought I'd mention it.

An other trick is to use a wrapper to the linker, that either adds the $ORIGIN thing, or replaces MYRECOGNIZABLESTRINGWITHOUTDOLLAR with $ORIGIN.

--
Marc Glisse

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux