diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/addToolVersion.sh | 1 | ||||
-rw-r--r-- | scripts/build/arch/x86.sh | 4 | ||||
-rw-r--r-- | scripts/build/cc/100-gcc.sh | 24 | ||||
-rw-r--r-- | scripts/build/debug/200-duma.sh | 6 | ||||
-rw-r--r-- | scripts/build/debug/300-gdb.sh | 29 | ||||
-rw-r--r-- | scripts/build/debug/500-strace.sh | 2 | ||||
-rw-r--r-- | scripts/build/libc/glibc.sh | 12 | ||||
-rw-r--r-- | scripts/build/libc/musl.sh | 2 | ||||
-rw-r--r-- | scripts/build/libc/uClibc.sh | 4 | ||||
-rw-r--r-- | scripts/functions | 12 |
10 files changed, 54 insertions, 42 deletions
diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh index 90eac2f..bbab82e 100755 --- a/scripts/addToolVersion.sh +++ b/scripts/addToolVersion.sh @@ -158,6 +158,7 @@ addToolVersion() { gdb) # gdb-7.0 and above have special handling ver_M=$(getVersionField "${version}" . 1) + ver_m=$(getVersionField "${version}" . 2) if [ ${ver_M} -ge 7 ]; then if [ ${ver_m} -ge 2 ]; then SedExpr1="${SedExpr1}\n select GDB_7_2_or_later" diff --git a/scripts/build/arch/x86.sh b/scripts/build/arch/x86.sh index 2c8a226..3a7a2ce 100644 --- a/scripts/build/arch/x86.sh +++ b/scripts/build/arch/x86.sh @@ -166,7 +166,7 @@ CT_DoArchUClibcHeaderDir() { # If it is non-default multilib, add a suffix with architecture (reported by gcc) # to the headers installation path. if [ -n "${cflags}" ]; then - eval "${dir_var}="$( ${CT_TARGET}-gcc -print-multiarch ${cflags} ) + eval "${dir_var}="$( ${CT_TARGET}-${CT_CC} -print-multiarch ${cflags} ) fi } @@ -177,6 +177,6 @@ CT_DoArchMUSLHeaderDir() { # If it is non-default multilib, add a suffix with architecture (reported by gcc) # to the headers installation path. if [ -n "${cflags}" ]; then - eval "${dir_var}="$( ${CT_TARGET}-gcc -print-multiarch ${cflags} ) + eval "${dir_var}="$( ${CT_TARGET}-${CT_CC} -print-multiarch ${cflags} ) fi } diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index 214f208..475b2a1 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -168,7 +168,7 @@ cc_gcc_multilib_housekeeping() { "directly; will use build-compiler for housekeeping." # Since we cannot run the desired compiler, substitute build-CC with the assumption # that the host-CC is configured in the same way. - cc="${CT_BUILDTOOLS_PREFIX_DIR}/bin/${CT_TARGET}-gcc" + cc="${CT_BUILDTOOLS_PREFIX_DIR}/bin/${CT_TARGET}-${CT_CC}" fi # sed: prepend dashes or do nothing if default is empty string @@ -646,7 +646,7 @@ do_gcc_core_backend() { if [ "${CT_BARE_METAL},${CT_CANADIAN}" = "y,y" ]; then repair_cc="CC_FOR_BUILD=${CT_BUILD}-gcc \ CXX_FOR_BUILD=${CT_BUILD}-g++ \ - GCC_FOR_TARGET=${CT_TARGET}-gcc" + GCC_FOR_TARGET=${CT_TARGET}-${CT_CC}" else repair_cc="" fi @@ -711,16 +711,16 @@ do_gcc_core_backend() { CT_DoExecLog ALL make install-{pdf,html}-gcc fi - # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able + # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-${CT_CC} to always be able # to call the C compiler with the same, somewhat canonical name. # check whether compiler has an extension - file="$( ls -1 "${prefix}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )" + file="$( ls -1 "${prefix}/bin/${CT_TARGET}-${CT_CC}."* 2>/dev/null || true )" [ -z "${file}" ] || ext=".${file##*.}" - if [ -f "${prefix}/bin/${CT_TARGET}-gcc${ext}" ]; then - CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}" + if [ -f "${prefix}/bin/${CT_TARGET}-${CT_CC}${ext}" ]; then + CT_DoExecLog ALL ln -sfv "${CT_TARGET}-${CT_CC}${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}" fi - cc_gcc_multilib_housekeeping cc="${prefix}/bin/${CT_TARGET}-gcc" \ + cc_gcc_multilib_housekeeping cc="${prefix}/bin/${CT_TARGET}-${CT_CC}" \ host="${host}" } @@ -1153,15 +1153,15 @@ do_gcc_backend() { CT_DoExecLog ALL make install-{pdf,html}-gcc fi - # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able + # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-${CT_CC} to always be able # to call the C compiler with the same, somewhat canonical name. # check whether compiler has an extension - file="$( ls -1 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )" + file="$( ls -1 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${CT_CC}."* 2>/dev/null || true )" [ -z "${file}" ] || ext=".${file##*.}" - if [ -f "${CT_PREFIX_DIR}/bin/${CT_TARGET}-gcc${ext}" ]; then - CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}" + if [ -f "${CT_PREFIX_DIR}/bin/${CT_TARGET}-${CT_CC}${ext}" ]; then + CT_DoExecLog ALL ln -sfv "${CT_TARGET}-${CT_CC}${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}" fi - cc_gcc_multilib_housekeeping cc="${prefix}/bin/${CT_TARGET}-gcc" \ + cc_gcc_multilib_housekeeping cc="${prefix}/bin/${CT_TARGET}-${CT_CC}" \ host="${host}" } diff --git a/scripts/build/debug/200-duma.sh b/scripts/build/debug/200-duma.sh index 0e5291c..7196fcf 100644 --- a/scripts/build/debug/200-duma.sh +++ b/scripts/build/debug/200-duma.sh @@ -40,9 +40,9 @@ do_debug_duma_build() { libs="${libs# }" CT_DoLog EXTRA "Building libraries '${libs}'" CT_DoExecLog ALL \ - make HOSTCC="${CT_BUILD}-gcc" \ - CC="${CT_TARGET}-gcc" \ - CXX="${CT_TARGET}-gcc" \ + make HOSTCC="${CT_BUILD}-gcc" \ + CC="${CT_TARGET}-${CT_CC}" \ + CXX="${CT_TARGET}-g++" \ RANLIB="${CT_TARGET}-ranlib" \ DUMA_CPP="${DUMA_CPP}" \ ${libs} diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh index dabd81a..fe7787b 100644 --- a/scripts/build/debug/300-gdb.sh +++ b/scripts/build/debug/300-gdb.sh @@ -90,16 +90,20 @@ do_debug_gdb_build() { cross_extra_config+=("--disable-nls") fi + CPP_for_gdb="${CT_HOST}-cpp ${CT_CFLAGS_FOR_HOST}" CC_for_gdb="${CT_HOST}-gcc ${CT_CFLAGS_FOR_HOST} ${CT_LDFLAGS_FOR_HOST}" + CXX_for_gdb="${CT_HOST}-g++ ${CT_CFLAGS_FOR_HOST} ${CT_LDFLAGS_FOR_HOST}" LD_for_gdb="${CT_HOST}-ld ${CT_LDFLAGS_FOR_HOST}" if [ "${CT_GDB_CROSS_STATIC}" = "y" ]; then CC_for_gdb+=" -static" + CXX_for_gdb+=" -static" LD_for_gdb+=" -static" fi case "${CT_HOST}" in *darwin*) # FIXME: Really, we should be testing for host compiler being clang. CC_for_gdb+=" -Qunused-arguments" + CXX_for_gdb+=" -Qunused-arguments" ;; esac @@ -107,7 +111,9 @@ do_debug_gdb_build() { # are multiple consecutive spaces: sub-configure scripts replace them with a # single space and then complain that $CC value changed from that in # the master directory. + CPP_for_gdb=`echo $CPP_for_gdb` CC_for_gdb=`echo $CC_for_gdb` + CXX_for_gdb=`echo $CXX_for_gdb` LD_for_gdb=`echo $LD_for_gdb` # Disable binutils options when building from the binutils-gdb repo. @@ -118,7 +124,9 @@ do_debug_gdb_build() { CT_DoLog DEBUG "Extra config passed: '${cross_extra_config[*]}'" CT_DoExecLog CFG \ + CPP="${CPP_for_gdb}" \ CC="${CC_for_gdb}" \ + CXX="${CXX_for_gdb}" \ LD="${LD_for_gdb}" \ "${gdb_src_dir}/configure" \ --build=${CT_BUILD} \ @@ -165,7 +173,6 @@ do_debug_gdb_build() { if [ "${CT_GDB_NATIVE}" = "y" ]; then local -a native_extra_config - local -a gdb_native_CFLAGS CT_DoStep INFO "Installing native gdb" @@ -208,12 +215,14 @@ do_debug_gdb_build() { [ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && \ native_extra_config+=("--disable-nls") + CPP_for_gdb="${CT_TARGET}-cpp" + CC_for_gdb="${CT_TARGET}-${CT_CC}" + CXX_for_gdb="${CT_TARGET}-g++" + LD_for_gdb="${CT_TARGET}-ld" if [ "${CT_GDB_NATIVE_STATIC}" = "y" ]; then - CC_for_gdb="${CT_TARGET}-gcc -static" - LD_for_gdb="${CT_TARGET}-ld -static" - else - CC_for_gdb="${CT_TARGET}-gcc" - LD_for_gdb="${CT_TARGET}-ld" + CC_for_gdb+=" -static" + CXX_for_gdb+=" -static" + LD_for_gdb+=" -static" fi export ac_cv_func_strncmp_works=yes @@ -226,9 +235,10 @@ do_debug_gdb_build() { CT_DoLog DEBUG "Extra config passed: '${native_extra_config[*]}'" CT_DoExecLog CFG \ + CPP="${CPP_for_gdb}" \ CC="${CC_for_gdb}" \ + CXX="${CXX_for_gdb}" \ LD="${LD_for_gdb}" \ - CFLAGS="${gdb_native_CFLAGS[*]}" \ "${gdb_src_dir}/configure" \ --build=${CT_BUILD} \ --host=${CT_TARGET} \ @@ -246,7 +256,7 @@ do_debug_gdb_build() { "${native_extra_config[@]}" CT_DoLog EXTRA "Building native gdb" - CT_DoExecLog ALL make ${JOBSFLAGS} CC=${CT_TARGET}-${CT_CC} + CT_DoExecLog ALL make ${JOBSFLAGS} CT_DoLog EXTRA "Installing native gdb" CT_DoExecLog ALL make DESTDIR="${CT_DEBUGROOT_DIR}" install @@ -261,6 +271,7 @@ do_debug_gdb_build() { if [ "${CT_GDB_GDBSERVER}" = "y" ]; then local -a gdbserver_extra_config + local gdbserver_LDFLAGS CT_DoStep INFO "Installing gdbserver" CT_DoLog EXTRA "Configuring gdbserver" @@ -294,7 +305,7 @@ do_debug_gdb_build() { gdbserver_extra_config+=("--disable-gas") CT_DoExecLog CFG \ - CC="${CT_TARGET}-gcc" \ + CC="${CT_TARGET}-${CT_CC}" \ CPP="${CT_TARGET}-cpp" \ LD="${CT_TARGET}-ld" \ LDFLAGS="${gdbserver_LDFLAGS}" \ diff --git a/scripts/build/debug/500-strace.sh b/scripts/build/debug/500-strace.sh index 2961879..da0e2f5 100644 --- a/scripts/build/debug/500-strace.sh +++ b/scripts/build/debug/500-strace.sh @@ -31,7 +31,7 @@ do_debug_strace_build() { CT_DoLog EXTRA "Configuring strace" CT_DoExecLog CFG \ CFLAGS_FOR_BUILD="-I ${CT_BUILD_DIR}/build-strace-headers" \ - CC="${CT_TARGET}-gcc" \ + CC="${CT_TARGET}-${CT_CC}" \ CPP="${CT_TARGET}-cpp" \ LD="${CT_TARGET}-ld" \ "${CT_SRC_DIR}/strace-${CT_STRACE_VERSION}/configure" \ diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh index 3e2c88e..bce4cb8 100644 --- a/scripts/build/libc/glibc.sh +++ b/scripts/build/libc/glibc.sh @@ -252,7 +252,7 @@ do_libc_backend_once() { # but they are not passed by configure. Thus, pass everything in CC instead. CT_DoExecLog CFG \ BUILD_CC=${CT_BUILD}-gcc \ - CC="${CT_TARGET}-gcc ${glibc_cflags}" \ + CC="${CT_TARGET}-${CT_CC} ${glibc_cflags}" \ AR=${CT_TARGET}-ar \ RANLIB=${CT_TARGET}-ranlib \ "${CONFIG_SHELL}" \ @@ -362,11 +362,11 @@ do_libc_backend_once() { # However, since we will never actually execute its code, # it doesn't matter what it contains. So, treating '/dev/null' # as a C source file, we produce a dummy 'libc.so' in one step - CT_DoExecLog ALL "${CT_TARGET}-gcc" ${multi_flags} \ - -nostdlib \ - -nostartfiles \ - -shared \ - -x c /dev/null \ + CT_DoExecLog ALL "${CT_TARGET}-${CT_CC}" ${multi_flags} \ + -nostdlib \ + -nostartfiles \ + -shared \ + -x c /dev/null \ -o "${startfiles_dir}/libc.so" fi # threads == nptl fi # libc_mode = startfiles diff --git a/scripts/build/libc/musl.sh b/scripts/build/libc/musl.sh index acd14c2..3eb0357 100644 --- a/scripts/build/libc/musl.sh +++ b/scripts/build/libc/musl.sh @@ -126,7 +126,7 @@ do_libc_backend_once() { obj/crt/crt1.o obj/crt/crti.o obj/crt/crtn.o CT_DoLog EXTRA "Installing C library start files" CT_DoExecLog ALL cp -av obj/crt/crt*.o "${multi_root}${multilib_dir}" - CT_DoExecLog ALL ${CT_TARGET}-gcc -nostdlib \ + CT_DoExecLog ALL ${CT_TARGET}-${CT_CC} -nostdlib \ -nostartfiles -shared -x c /dev/null -o "${multi_root}${multilib_dir}/libc.so" fi if [ "${libc_mode}" = "final" ]; then diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh index 96d4b51..d86ae1a 100644 --- a/scripts/build/libc/uClibc.sh +++ b/scripts/build/libc/uClibc.sh @@ -197,7 +197,7 @@ do_libc_backend_once() { # libm.so is needed for ppc, as libgcc is linked against libm.so # No problem to create it for other archs. CT_DoLog EXTRA "Building dummy shared libs" - CT_DoExecLog ALL "${CT_TARGET}-gcc" -nostdlib -nostartfiles \ + CT_DoExecLog ALL "${CT_TARGET}-${CT_CC}" -nostdlib -nostartfiles \ -shared ${multi_flags} -x c /dev/null -o libdummy.so CT_DoLog EXTRA "Installing start files" @@ -470,7 +470,7 @@ do_libc_ldso_fixup() { multilib_dir="/lib/${multi_os_dir}" CT_SanitizeVarDir multilib_dir - CT_DoExecLog ALL "${CT_TARGET}-gcc" -o test-ldso ../test-ldso.c ${multi_flags} + CT_DoExecLog ALL "${CT_TARGET}-${CT_CC}" -o test-ldso ../test-ldso.c ${multi_flags} if [ -r "test-ldso.gdb" ]; then binary="test-ldso.gdb" else diff --git a/scripts/functions b/scripts/functions index 35b3872..cbef48b 100644 --- a/scripts/functions +++ b/scripts/functions @@ -1621,7 +1621,7 @@ CT_IterateMultilibs() { # If gcc is not configured for multilib, it still prints a single line # for the default settings - multilibs=( $("${CT_TARGET}-gcc" -print-multi-lib 2>/dev/null) ) + multilibs=( $("${CT_TARGET}-${CT_CC}" -print-multi-lib 2>/dev/null) ) CT_DoExecLog ALL rm -rf "sysroot-check" for multilib in "${multilibs[@]}"; do # GCC makes the distinction between: @@ -1657,8 +1657,8 @@ CT_IterateMultilibs() { # multi_os_dir_gcc. multi_flags=$( echo "${multilib#*;}" | sed -r -e 's/@/ -/g;' ) multi_dir="${multilib%%;*}" - multi_os_dir=$( "${CT_TARGET}-gcc" -print-multi-os-directory ${multi_flags} ) - multi_root=$( "${CT_TARGET}-gcc" -print-sysroot ${multi_flags} ) + multi_os_dir=$( "${CT_TARGET}-${CT_CC}" -print-multi-os-directory ${multi_flags} ) + multi_root=$( "${CT_TARGET}-${CT_CC}" -print-sysroot ${multi_flags} ) root_suffix="${multi_root#${CT_SYSROOT_DIR}}" CT_DoExecLog ALL mkdir -p "sysroot-check${root_suffix}" if [ -e "sysroot-check${root_suffix}/seen" ]; then @@ -1677,10 +1677,10 @@ CT_IterateMultilibs() { for multilib in "${multilibs[@]}"; do multi_flags=$( echo "${multilib#*;}" | sed -r -e 's/@/ -/g;' ) multi_dir="${multilib%%;*}" - multi_os_dir=$( "${CT_TARGET}-gcc" -print-multi-os-directory ${multi_flags} ) + multi_os_dir=$( "${CT_TARGET}-${CT_CC}" -print-multi-os-directory ${multi_flags} ) multi_os_dir_gcc="${multi_os_dir}" - multi_root=$( "${CT_TARGET}-gcc" -print-sysroot ${multi_flags} ) - multi_target=$( "${CT_TARGET}-gcc" -print-multiarch ${multi_flags} ) + multi_root=$( "${CT_TARGET}-${CT_CC}" -print-sysroot ${multi_flags} ) + multi_target=$( "${CT_TARGET}-${CT_CC}" -print-multiarch ${multi_flags} ) root_suffix="${multi_root#${CT_SYSROOT_DIR}}" # If GCC did not report the target tuple (i.e. this configuration is not |