summaryrefslogtreecommitdiff
path: root/scripts/build
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build')
-rw-r--r--scripts/build/cc/gcc.sh10
-rw-r--r--scripts/build/companion_libs/100-gmp.sh9
-rw-r--r--scripts/build/companion_tools/050-make.sh3
-rw-r--r--scripts/build/libc/newlib.sh8
4 files changed, 16 insertions, 14 deletions
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index 632bc8c..40241c2 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -205,20 +205,16 @@ do_cc_core_backend() {
extra_config+=("--enable-threads=no")
extra_config+=("--disable-shared")
extra_user_config=( "${CT_CC_CORE_EXTRA_CONFIG_ARRAY[@]}" )
- copy_headers=y # For baremetal, as there's no headers to copy,
- # we copy an empty directory. So, who cares?
;;
shared)
extra_config+=("--enable-shared")
extra_user_config=( "${CT_CC_CORE_EXTRA_CONFIG_ARRAY[@]}" )
- copy_headers=y
;;
baremetal)
extra_config+=("--with-newlib")
extra_config+=("--enable-threads=no")
extra_config+=("--disable-shared")
extra_user_config=( "${CT_CC_EXTRA_CONFIG_ARRAY[@]}" )
- copy_headers=n
;;
*)
CT_Abort "Internal Error: 'mode' must be one of: 'static', 'shared' or 'baremetal', not '${mode:-(empty)}'"
@@ -231,10 +227,8 @@ do_cc_core_backend() {
[ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}")
fi
- if [ "${copy_headers}" = "y" ]; then
- CT_DoLog DEBUG "Copying headers to install area of bootstrap gcc, so it can build libgcc2"
- CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include"
- fi
+ CT_DoLog DEBUG "Copying headers to install area of core C compiler"
+ CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include"
for tmp in ARCH ABI CPU TUNE FPU FLOAT; do
eval tmp="\${CT_ARCH_WITH_${tmp}}"
diff --git a/scripts/build/companion_libs/100-gmp.sh b/scripts/build/companion_libs/100-gmp.sh
index beb75ea..f0c96a2 100644
--- a/scripts/build/companion_libs/100-gmp.sh
+++ b/scripts/build/companion_libs/100-gmp.sh
@@ -76,6 +76,7 @@ do_gmp_backend() {
local cflags
local ldflags
local arg
+ local -a extra_config
for arg in "$@"; do
eval "${arg// /\\ }"
@@ -83,6 +84,10 @@ do_gmp_backend() {
CT_DoLog EXTRA "Configuring GMP"
+ if [ ! "${CT_GMP_5_0_2_or_later}" = "y" ]; then
+ extra_config+=("--enable-mpbsd")
+ fi
+
CT_DoExecLog CFG \
CFLAGS="${cflags} -fexceptions" \
LDFLAGS="${ldflags}" \
@@ -91,10 +96,10 @@ do_gmp_backend() {
--host=${host} \
--prefix="${prefix}" \
--enable-fft \
- --enable-mpbsd \
--enable-cxx \
--disable-shared \
- --enable-static
+ --enable-static \
+ "${extra_config}"
CT_DoLog EXTRA "Building GMP"
CT_DoExecLog ALL make ${JOBSFLAGS}
diff --git a/scripts/build/companion_tools/050-make.sh b/scripts/build/companion_tools/050-make.sh
index 601e267..4247545 100644
--- a/scripts/build/companion_tools/050-make.sh
+++ b/scripts/build/companion_tools/050-make.sh
@@ -22,6 +22,9 @@ do_companion_tools_make_build() {
--prefix="${CT_BUILDTOOLS_PREFIX_DIR}"
CT_DoExecLog ALL make
CT_DoExecLog ALL make install
+ if [ "${CT_COMP_TOOLS_make_gmake}" = "y" ]; then
+ CT_DoExecLog ALL ln -sv make "${CT_BUILDTOOLS_PREFIX_DIR}/bin/gmake"
+ fi
CT_Popd
CT_EndStep
}
diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh
index cae4b9f..74785a6 100644
--- a/scripts/build/libc/newlib.sh
+++ b/scripts/build/libc/newlib.sh
@@ -50,16 +50,16 @@ do_libc_check_config() {
}
do_libc_start_files() {
+ CT_DoStep INFO "Installing C library headers & start files"
+ CT_DoExecLog ALL cp -a "${CT_SRC_DIR}/newlib-${CT_LIBC_VERSION}/newlib/libc/include/." \
+ "${CT_HEADERS_DIR}"
if [ "${CT_ATMEL_AVR32_HEADERS}" = "y" ]; then
- CT_DoStep INFO "Installing C library headers & start files"
-
CT_DoLog EXTRA "Installing Atmel's AVR32 headers"
CT_DoExecLog ALL mkdir -p "${CT_PREFIX_DIR}/${CT_TARGET}/include"
CT_DoExecLog ALL cp -r "${CT_SRC_DIR}/${LIBC_NEWLIB_AVR_HDRS_BASE}/avr32" \
"${CT_PREFIX_DIR}/${CT_TARGET}/include/"
-
- CT_EndStep
fi
+ CT_EndStep
}
do_libc() {