Spec strings to pass ‘-rpath’ for each ‘-L’

Ludovic Courtès ludo@gnu.org
Thu Sep 13 23:05:00 GMT 2012


Marc Glisse <marc.glisse@inria.fr> skribis:

> On Thu, 13 Sep 2012, Ludovic Courtès wrote:
>
>> Hi,
>>
>> The page at <http://gcc.gnu.org/faq.html>, under “Dynamic linker is
>> unable to find GCC libraries” reads:
>>
>>  The short explanation is that if you always pass a -R option to the
>>  linker, your programs become dependent on directories which may be NFS
>>  mounted [...]
>>
>>  However, if you feel you really need such an option to be passed
>>  automatically to the linker, you may add it to a GCC specs file. [...]
>>  You may add linker flags such as -R or -rpath, depending on platform
>>  and linker, to the *link or *lib specs.
>>
>> After spending some time looking at spec strings and at the manual, I
>> can’t think of a way of emitting ‘-rpath LIBDIR’ for every ‘-LLIBDIR’
>> encountered.
>
> %{L*:-rpath %*} maybe?

I realize this isn’t sufficient for my purposes: when $LIBRARY_PATH is
used, -L can be omitted, thus bypassing the above trick.

Ideally, for every ‘-lLIB’, it would add ‘-rpath $(dirname $(which
LIB))’, so to speak.  That may be beyond what spec strings can express,
though.  Or maybe not? :-)

Ludo’.



More information about the Gcc-help mailing list