[Top][All Lists]

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

autoconf, -rpath-link, and CC_FOR_BUILD

From: David Wuertele
Subject: autoconf, -rpath-link, and CC_FOR_BUILD
Date: Thu, 19 Mar 2009 19:28:53 +0000 (UTC)
User-agent: Loom/3.14 (

I'm working on some generalized make rules for cross-compiling autoconf
packages.  I've got a pretty slick system, but I'm running into a catch-22 when
it comes to recursively linked libraries.  I'm looking for advice on how to
drive autoconf better.

I first ran into a problem when cross-compiling the server.  The
xorg-server binary dynamically links against libXfont.  libXfont in turn
dynamically links against freetype.  Both and are
already "installed" in the target root's lib dir, which is at (let's say)
/path/to/target-root/lib.  But the cross compiler's ld doesn't have
/path/to/target-root/lib in its search path, so I tried invoking xorg-server's
makefile like this:

PATH=/path/too/cross-toolchain/bin:$(PATH) make -C /path/to/xorg-server-source \

This allows the linker to find, but for some reason it doesn't look
for in the same directory!  The only way I could get ld to find
recursively-linked libraries was by using -rpath-link, thusly:

PATH=/path/too/cross-toolchain/bin:$(PATH) make -C /path/to/xorg-server-source \
  LDFLAGS="-L/path/to/target-root/lib -Wl,-rpath-link=/path/to/target-root/lib"

Once I made that my standard make invocation, everything worked really well. 
Until today.  When I tried this on libX11, I ran into CC_FOR_BUILD.

CC_FOR_BUILD is the variable formerly known as "HOST_CC".  This is not the cross
compiler, it is the host's compiler, and it MUST NOT search in
/path/to/target-root/lib.  So sending -L/path/to/target-root/lib is wrong, and
-rpath-link=/path/to/target-root/lib is worse.  What I want is a way to send
just the cross-ld the target path, and not send the host ld the target path.

Is there a way to call autoconf/make such that I can associate the proper paths
with the proper linkers?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]