summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorChris Packham <judge.packham@gmail.com>2021-04-19 08:25:49 (GMT)
committerChris Packham <judge.packham@gmail.com>2021-04-19 08:25:49 (GMT)
commite27def9d3bcc077912f89a6e23d66057c0b97f45 (patch)
tree812f2486d35b1490eadc90c0385e22d0714a94c2 /scripts
parentd01672ee0ee529296d9909da48a97a997580a670 (diff)
parent8e9963941902e0e1ab553761dfb460fa32091740 (diff)
Merge branch 'newlib-nano-target' of git://github.com/galak/crosstool-ng
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/companion_libs/350-newlib_nano.sh27
1 files changed, 26 insertions, 1 deletions
diff --git a/scripts/build/companion_libs/350-newlib_nano.sh b/scripts/build/companion_libs/350-newlib_nano.sh
index 28992c0..16fb417 100644
--- a/scripts/build/companion_libs/350-newlib_nano.sh
+++ b/scripts/build/companion_libs/350-newlib_nano.sh
@@ -202,7 +202,7 @@ ENABLE_TARGET_OPTSPACE:target-optspace
-isystem ${CT_PREFIX_DIR}/newlib-nano/${CT_TARGET}/include %(newlib_nano_cpp)
*cc1plus:
--idirafter ${CT_PREFIX_DIR}/newlib-nano/${CT_TARGET}/include %(newlib_nano_cc1plus)
+-idirafter ${CT_PREFIX_DIR}/newlib-nano/${CT_TARGET}/include %(newlib_nano_cc1plus)
*link:
-L${CT_PREFIX_DIR}/newlib-nano/${CT_TARGET}/lib/%M -L${CT_PREFIX_DIR}/newlib-nano/${CT_TARGET}/lib
@@ -216,6 +216,31 @@ EOF
CT_EndStep
do_cc_libstdcxx_newlib_nano
+
+ if [ "${CT_NEWLIB_NANO_INSTALL_IN_TARGET}" = "y" ]; then
+ CT_DoExecLog ALL mkdir -p "${CT_PREFIX_DIR}/${CT_TARGET}/include/newlib-nano"
+ CT_DoExecLog ALL cp -f "${CT_PREFIX_DIR}/newlib-nano/${CT_TARGET}/include/newlib.h" \
+ "${CT_PREFIX_DIR}/${CT_TARGET}/include/newlib-nano/newlib.h"
+ CT_IterateMultilibs newlib_nano_copy_multilibs copylibs
+ fi
+}
+
+newlib_nano_copy_multilibs()
+{
+ local nano_lib_dir="${CT_PREFIX_DIR}/newlib-nano"
+ local multi_flags multi_dir multi_os_dir multi_os_dir_gcc multi_root multi_index multi_count
+
+ for arg in "$@"; do
+ eval "${arg// /\\ }"
+ done
+
+ for lib_a in "${nano_lib_dir}/${CT_TARGET}/lib/${multi_dir}/"*.a; do
+ if [ -f ${lib_a} ] && [ ! -L ${lib_a} ]; then
+ _f=$(basename "${lib_a}")
+ CT_DoExecLog ALL cp -f "${lib_a}" \
+ "${CT_PREFIX_DIR}/${CT_TARGET}/lib/${multi_dir}/${_f%.*}_nano.a"
+ fi
+ done
}
fi