Skip to content

Commit dad3825

Browse files
committed
rename libs
Signed-off-by: Adrian Gielniewski <[email protected]>
1 parent 038806a commit dad3825

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

scripts/build/companion_libs/340-picolibc.sh

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ do_cc_libstdcxx_picolibc()
6969
CT_DoStep INFO "Installing libstdc++ picolibc"
7070
CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-libstdcxx-picolibc${suffix}"
7171
"${final_backend}" "${final_opts[@]}"
72-
# TODO: suffix
7372
CT_Popd
7473

7574
CT_EndStep
@@ -175,12 +174,13 @@ EOF
175174
CT_Popd
176175
CT_EndStep
177176

178-
do_cc_libstdcxx_picolibc
179-
180177
if [ "${CT_LIBC_PICOLIBC_GCC_LIBSTDCXX_NOEXCEPT}" = "y" ]; then
181178
do_cc_libstdcxx_picolibc noexcept
179+
CT_IterateMultilibs picolibc_rename_multilibs renamelibs variant=noexcept
182180
fi
183181

182+
do_cc_libstdcxx_picolibc
183+
184184
if [ "${CT_STRIP_TARGET_TOOLCHAIN_LIBRARIES}" = "y" ]; then
185185

186186
CT_DoStep INFO "Stripping Picolibc library"
@@ -196,4 +196,24 @@ EOF
196196
fi
197197
}
198198

199+
picolibc_rename_multilibs()
200+
{
201+
local picolibc_lib_dir="${CT_PREFIX_DIR}/picolibc"
202+
local multi_flags multi_dir multi_os_dir multi_os_dir_gcc multi_root multi_index multi_count variant
203+
204+
for arg in "$@"; do
205+
eval "${arg// /\\ }"
206+
done
207+
208+
CT_DoExecLog ALL mkdir -p "${CT_PREFIX_DIR}/${CT_TARGET}/lib/${multi_dir}"
209+
210+
for lib_a in "${picolibc_lib_dir}/${CT_TARGET}/lib/${multi_dir}/"*.a; do
211+
if [ -f ${lib_a} ] && [ ! -L ${lib_a} ]; then
212+
_f=$(basename "${lib_a}")
213+
CT_DoExecLog ALL mv "${lib_a}" \
214+
"${CT_PREFIX_DIR}/${CT_TARGET}/lib/${multi_dir}/${_f%.*}_${variant}.a"
215+
fi
216+
done
217+
}
218+
199219
fi

0 commit comments

Comments
 (0)