From 0a050d339044d6d0638fd20bcb181d4cb00191f5 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Mon, 26 Oct 2015 18:31:54 -0700 Subject: Clean up *.la after installing compiler/libraries. Having *.la in the installation directory breaks ltrace: in ltrace, libtool somehow considers libsupc++ to be an "accessory library" and does not add -lsupc++ to the link flags. Neither Ubuntu, nor RedHat include *.la files into their packages for libstdc++. Signed-off-by: Alexey Neyman diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index 1056221..28dda1d 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -535,6 +535,16 @@ do_gcc_core_backend() { CT_DoLog EXTRA "Installing ${log_txt}" CT_DoExecLog ALL make ${JOBSFLAGS} ${extra_user_env} ${core_targets_install} + # Remove the libtool "pseudo-libraries": having them in the installed + # tree makes the libtoolized utilities that are built next assume + # that, for example, libsupc++ is an "accessory library", and not include + # -lsupc++ to the link flags. That breaks ltrace, for example. + CT_DoLog EXTRA "Housekeeping for final gcc compiler" + CT_Pushd "${prefix}" + find . -type f -name "*.la" -exec rm {} \; |CT_DoLog ALL + CT_Popd + + if [ "${build_manuals}" = "yes" ]; then CT_DoLog EXTRA "Building the GCC manuals" CT_DoExecLog ALL make pdf html @@ -932,6 +942,15 @@ do_gcc_backend() { CT_DoLog EXTRA "Installing final gcc compiler" CT_DoExecLog ALL make ${JOBSFLAGS} install + # Remove the libtool "pseudo-libraries": having them in the installed + # tree makes the libtoolized utilities that are built next assume + # that, for example, libsupc++ is an "accessory library", and not include + # -lsupc++ to the link flags. That breaks ltrace, for example. + CT_DoLog EXTRA "Housekeeping for final gcc compiler" + CT_Pushd "${prefix}" + find . -type f -name "*.la" -exec rm {} \; |CT_DoLog ALL + CT_Popd + if [ "${build_manuals}" = "yes" ]; then CT_DoLog EXTRA "Building the GCC manuals" CT_DoExecLog ALL make pdf html -- cgit v0.10.2-6-g49f6