Re: Spec strings to pass ‘-rpath’ for each ‘-L’
Marc Glisse
marc.glisse@inria.fr
Thu Sep 13 23:22:00 GMT 2012
On Fri, 14 Sep 2012, Ludovic Courtès wrote:
> 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? :-)
If you bypass the compiler to talk to the linker (LD_* environment
variables, -Wl,* flags), only the linker can help you.
--
Marc Glisse
More information about the Gcc-help
mailing list