mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-03-11 15:04:19 +00:00
Add option to re-enable ˋlibstdc++ˋ on avr targets.
Due to the small flash space on AVR devices the library containing the standard types in C++ (ˋlibstdc++ˋ) does not get built normally when enabling the C++ language support. This option is an easy way to go back to the PC-way where ˋlibstdc++ˋ is built. Signed-off-by: Quentin Boswank <qubos@outlook.de>
This commit is contained in:
parent
cd8a5b72b5
commit
fd04f43617
@ -54,6 +54,15 @@ config CC_GCC_ENABLE_CXX_FLAGS
|
|||||||
Note: just pass in the option _value_, that is only the part that goes
|
Note: just pass in the option _value_, that is only the part that goes
|
||||||
after the '=' sign.
|
after the '=' sign.
|
||||||
|
|
||||||
|
config CC_GCC_EXTRA_LIBSTDCXX
|
||||||
|
bool "Re-enable libstdcxx"
|
||||||
|
default n
|
||||||
|
depends on LIBC_AVR_LIBC
|
||||||
|
select CC_CORE_PASS_2_NEEDED
|
||||||
|
help
|
||||||
|
libstdcxx is normally disabled on avr systems due to size limitations.
|
||||||
|
Set this option to re-enable libstdcxx support.
|
||||||
|
|
||||||
config CC_GCC_CORE_EXTRA_CONFIG_ARRAY
|
config CC_GCC_CORE_EXTRA_CONFIG_ARRAY
|
||||||
string "Core gcc extra config"
|
string "Core gcc extra config"
|
||||||
default ""
|
default ""
|
||||||
|
@ -1052,6 +1052,8 @@ do_gcc_backend() {
|
|||||||
|
|
||||||
if [ "${build_libstdcxx}" = "no" ]; then
|
if [ "${build_libstdcxx}" = "no" ]; then
|
||||||
extra_config+=(--disable-libstdcxx)
|
extra_config+=(--disable-libstdcxx)
|
||||||
|
elif [ "${CT_CC_GCC_EXTRA_LIBSTDCXX}" = "y" ]; then
|
||||||
|
extra_config+=(--enable-libstdcxx)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${CT_LIBC_PICOLIBC}" = "y" ]; then
|
if [ "${CT_LIBC_PICOLIBC}" = "y" ]; then
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
avr_libc_post_cc()
|
avr_libc_post_cc()
|
||||||
{
|
{
|
||||||
|
if [ "${CT_CC_CORE_PASS_2_NEEDED}" != "y" ]; then
|
||||||
CT_DoStep INFO "Installing C library"
|
CT_DoStep INFO "Installing C library"
|
||||||
|
|
||||||
CT_DoLog EXTRA "Copying sources to build directory"
|
CT_DoLog EXTRA "Copying sources to build directory"
|
||||||
@ -26,4 +27,35 @@ avr_libc_post_cc()
|
|||||||
CT_DoExecLog ALL make install
|
CT_DoExecLog ALL make install
|
||||||
|
|
||||||
CT_EndStep
|
CT_EndStep
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
avr_libc_main()
|
||||||
|
{
|
||||||
|
if [ "${CT_CC_CORE_PASS_2_NEEDED}" = "y" ]; then
|
||||||
|
CT_DoStep INFO "Installing C library"
|
||||||
|
|
||||||
|
CT_DoLog EXTRA "Copying sources to build directory"
|
||||||
|
CT_DoExecLog ALL cp -av "${CT_SRC_DIR}/avr-libc/." \
|
||||||
|
"${CT_BUILD_DIR}/build-libc"
|
||||||
|
cd "${CT_BUILD_DIR}/build-libc"
|
||||||
|
|
||||||
|
CT_DoLog EXTRA "Configuring C library"
|
||||||
|
|
||||||
|
CT_DoExecLog CFG \
|
||||||
|
${CONFIG_SHELL} \
|
||||||
|
./configure \
|
||||||
|
--build=${CT_BUILD} \
|
||||||
|
--host=${CT_TARGET} \
|
||||||
|
--prefix=${CT_PREFIX_DIR} \
|
||||||
|
"${CT_LIBC_AVR_LIBC_EXTRA_CONFIG_ARRAY[@]}"
|
||||||
|
|
||||||
|
CT_DoLog EXTRA "Building C library"
|
||||||
|
CT_DoExecLog ALL make ${CT_JOBSFLAGS}
|
||||||
|
|
||||||
|
CT_DoLog EXTRA "Installing C library"
|
||||||
|
CT_DoExecLog ALL make install
|
||||||
|
|
||||||
|
CT_EndStep
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user