mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-22 14:12:26 +00:00
Fine-tune moving gcc libraries to sysroot.
1. Check if anything was installed outside sysroot; on some [baremetal only?] configurations GCC doesn't install anything to ${CT_PREFIX_DIR}/${CT_TARGET}/lib. 2. We need to create <sysroot>/lib/<multilib> if it doesn't exist (MUSL only installs in <sysroot>/usr/lib). 3. Do not move the linker scripts; elf2flt expects to find them in gcc's dir, not sysroot. Signed-off-by: Alexey Neyman <stilor@att.net>
This commit is contained in:
parent
3ec2211548
commit
3330ad7197
@ -780,8 +780,20 @@ gcc_movelibs() {
|
|||||||
|
|
||||||
# Move only files, directories are for other multilibs
|
# Move only files, directories are for other multilibs
|
||||||
gcc_dir="${CT_PREFIX_DIR}/${CT_TARGET}/lib/${multi_os_dir}"
|
gcc_dir="${CT_PREFIX_DIR}/${CT_TARGET}/lib/${multi_os_dir}"
|
||||||
|
if [ ! -d "${gcc_dir}" ]; then
|
||||||
|
# GCC didn't install anything outside of sysroot
|
||||||
|
return
|
||||||
|
fi
|
||||||
ls "${gcc_dir}" | while read f; do
|
ls "${gcc_dir}" | while read f; do
|
||||||
|
case "${f}" in
|
||||||
|
*.ld)
|
||||||
|
# Linker scripts remain in GCC's directory; elf2flt insists on
|
||||||
|
# finding them there.
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
esac
|
||||||
if [ -f "${gcc_dir}/${f}" ]; then
|
if [ -f "${gcc_dir}/${f}" ]; then
|
||||||
|
CT_DoExecLog ALL mkdir -p "${multi_root}/lib/${multi_os_dir}"
|
||||||
CT_DoExecLog ALL mv "${gcc_dir}/${f}" "${multi_root}/lib/${multi_os_dir}/${f}"
|
CT_DoExecLog ALL mv "${gcc_dir}/${f}" "${multi_root}/lib/${multi_os_dir}/${f}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user