diff options
author | Kumar Gala <kumar.gala@linaro.org> | 2021-07-28 14:33:07 -0500 |
---|---|---|
committer | Kumar Gala <kumar.gala@linaro.org> | 2021-07-30 00:02:42 -0500 |
commit | 91794500820c5b62e629e0bd3132815df42ca681 (patch) | |
tree | 9d2ab44059fd53d2394377809283f9b7fafcfe36 /scripts | |
parent | 283142c032c60c11ba0a9ec8c355a0d9138c6814 (diff) | |
download | crosstool-ng-91794500820c5b62e629e0bd3132815df42ca681.tar.gz crosstool-ng-91794500820c5b62e629e0bd3132815df42ca681.tar.bz2 crosstool-ng-91794500820c5b62e629e0bd3132815df42ca681.zip |
newlib-nano: Fix nano.spec based on CT_NEWLIB_NANO_INSTALL_IN_TARGET
The spec file was missing replacing various libs like libc, libm, etc
with their nano equiv when CT_NEWLIB_NANO_INSTALL_IN_TARGET=y. Update
the nano.spec file that is generated to rename libc, libm, etc if
CT_NEWLIB_NANO_INSTALL_IN_TARGET=y
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/build/companion_libs/350-newlib_nano.sh | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/scripts/build/companion_libs/350-newlib_nano.sh b/scripts/build/companion_libs/350-newlib_nano.sh index 2d9de1b3..f521be12 100644 --- a/scripts/build/companion_libs/350-newlib_nano.sh +++ b/scripts/build/companion_libs/350-newlib_nano.sh @@ -196,7 +196,33 @@ ENABLE_TARGET_OPTSPACE:target-optspace CT_DoLog EXTRA "Installing Newlib Nano C library" CT_DoExecLog ALL make install - cat > "${CT_SYSROOT_DIR}/lib/nano.specs" <<EOF + if [ "${CT_NEWLIB_NANO_INSTALL_IN_TARGET}" = "y" ]; then + cat > "${CT_SYSROOT_DIR}/lib/nano.specs" <<EOF +%rename link nano_link +%rename link_gcc_c_sequence nano_link_gcc_c_sequence +%rename cpp_unique_options nano_cpp_unique_options + +*cpp_unique_options: +-isystem =/include/newlib-nano %(nano_cpp_unique_options) + +*nano_libc: +-lc_nano + +*nano_libgloss: +%{specs=rdimon.specs:-lrdimon_nano} %{specs=nosys.specs:-lnosys} + +*link_gcc_c_sequence: +%(nano_link_gcc_c_sequence) --start-group %G %(nano_libc) %(nano_libgloss) --end-group + +*link: +%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano) %:replace-outfile(-lm -lm_nano) %:replace-outfile(-lstdc++ -lstdc++_nano) %:replace-outfile(-lsupc++ -lsupc++_nano) %:replace-outfile(-lrdimon -lrdimon_nano) + +*lib: +%{!shared:%{g*:-lg_nano} %{!p:%{!pg:-lc_nano}}%{p:-lc_p}%{pg:-lc_p}} + +EOF + else + cat > "${CT_SYSROOT_DIR}/lib/nano.specs" <<EOF %rename link newlib_nano_link %rename cpp newlib_nano_cpp %rename cc1plus newlib_nano_cc1plus @@ -211,6 +237,7 @@ ENABLE_TARGET_OPTSPACE:target-optspace -L%:getenv(GCC_EXEC_PREFIX ../../newlib-nano/${CT_TARGET}/lib/%M) -L%:getenv(GCC_EXEC_PREFIX ../../newlib-nano/${CT_TARGET}/lib) EOF + fi # Create "nano" symlinks for libc.a, libg.a & libm.a CT_IterateMultilibs do_nano_libc_symlinks libc_symlinks |