scripts: always create lib32 and lib64 symlinks

Unconditionally create the lib32 -> lib/ and lib64 -> lib/ symlinks.

This is reportedly a fix to build a toolchain for a 32-bit target on
a 'pure' 64-bit host (eg. on Fedora FC12, host libs are in lib64/,
and there is no lib -> lib64 symlink, as we can see on other distors,
as Debian). As gcc only puts static host lib in lib64/ (along with
target files in subdirs), we can safely create the symlinks.

Also note that the symlinks are summarily removed at the end
of the build.

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
[Yann E. MORIN: fix a comment, rephrase the commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This commit is contained in:
Yann E. MORIN" 2010-10-07 22:37:06 +02:00 committed by Anthony Foiani
parent bd8723cd92
commit 96c2e11894

View File

@ -328,23 +328,22 @@ if [ -z "${CT_RESTART}" ]; then
CT_DoExecLog ALL ln -sf "./${CT_SYSROOT_DIR_PREFIX}/sys-root/usr/include" "${CT_PREFIX_DIR}/${CT_TARGET}/include"
fi
# Now, in case we're 64 bits, just have lib64/ be a symlink to lib/
# so as to have all libraries in the same directory (we can do that
# because we are *not* multilib).
# Mips64 with n32 emulation install its libs in lib32, so also prepare
# these symlinks
# Not all the symlinks are necessary, but better safe than sorry...
if [ "${CT_ARCH_64}" = "y" ]; then
for d in \
"${CT_PREFIX_DIR}" \
"${CT_SYSROOT_DIR}" \
"${CT_SYSROOT_DIR}/usr" \
"${CT_PREFIX_DIR}/${CT_TARGET}" \
; do
CT_DoExecLog ALL ln -sf "lib" "${d}/lib32"
CT_DoExecLog ALL ln -sf "lib" "${d}/lib64"
done
fi
# Since we're *not* multilib on the target side, we want all the
# libraries to end up in "lib". We create "lib64" (for 64-bit
# build or host architectures) and "lib32" (for 32-bit emulation
# on 64-bit) as symlinks to "lib".
#
# Not all of these symlinks are necessary, but better safe than
# sorry. They are summarily removed by build/internals.sh:do_finish.
for d in \
"${CT_PREFIX_DIR}" \
"${CT_SYSROOT_DIR}" \
"${CT_SYSROOT_DIR}/usr" \
"${CT_PREFIX_DIR}/${CT_TARGET}" \
; do
CT_DoExecLog ALL ln -sf "lib" "${d}/lib32"
CT_DoExecLog ALL ln -sf "lib" "${d}/lib64"
done
# Determine build system if not set by the user
if [ -z "${CT_BUILD}" ]; then