summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/binutils/binutils.sh2
-rw-r--r--scripts/build/binutils/elf2flt.sh2
-rw-r--r--scripts/build/cc/gcc.sh37
-rw-r--r--scripts/build/companion_libs/cloog.sh2
-rw-r--r--scripts/build/companion_libs/gmp.sh2
-rw-r--r--scripts/build/companion_libs/libelf.sh2
-rw-r--r--scripts/build/companion_libs/mpc.sh2
-rw-r--r--scripts/build/companion_libs/mpfr.sh2
-rw-r--r--scripts/build/companion_libs/ppl.sh2
-rw-r--r--scripts/build/companion_tools/100-m4.sh2
-rw-r--r--scripts/build/companion_tools/200-autoconf.sh2
-rw-r--r--scripts/build/companion_tools/300-automake.sh2
-rw-r--r--scripts/build/companion_tools/400-libtool.sh2
-rw-r--r--scripts/build/debug/000-template.sh2
-rw-r--r--scripts/build/debug/100-dmalloc.sh2
-rw-r--r--scripts/build/debug/300-gdb.sh12
-rw-r--r--scripts/build/debug/400-ltrace.sh4
-rw-r--r--scripts/build/debug/500-strace.sh2
-rw-r--r--scripts/build/libc/eglibc.sh4
-rw-r--r--scripts/build/libc/glibc.sh6
-rw-r--r--scripts/build/libc/mingw.sh6
-rw-r--r--scripts/build/libc/newlib.sh2
-rw-r--r--scripts/build/libc/uClibc.sh2
-rw-r--r--scripts/functions40
-rwxr-xr-xscripts/patch-rework.sh16
25 files changed, 94 insertions, 65 deletions
diff --git a/scripts/build/binutils/binutils.sh b/scripts/build/binutils/binutils.sh
index 0459893..57d35a5 100644
--- a/scripts/build/binutils/binutils.sh
+++ b/scripts/build/binutils/binutils.sh
@@ -26,7 +26,7 @@ do_binutils() {
CT_DoLog EXTRA "Configuring binutils"
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/binutils-${CT_BINUTILS_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
diff --git a/scripts/build/binutils/elf2flt.sh b/scripts/build/binutils/elf2flt.sh
index 76d8b45..ec058e1 100644
--- a/scripts/build/binutils/elf2flt.sh
+++ b/scripts/build/binutils/elf2flt.sh
@@ -38,7 +38,7 @@ do_elf2flt() {
CT_DoLog EXTRA "Configuring elf2flt"
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/elf2flt-cvs-${CT_ELF2FLT_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index e7e56f1..d3c5d74 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -181,21 +181,29 @@ do_cc_core() {
fi
if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
extra_config+=("--with-libelf=${CT_COMPLIBS_DIR}")
+ extra_config+=("--enable-lto")
elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then
extra_config+=("--with-libelf=no")
+ extra_config+=("--disable-lto")
fi
if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
extra_config+=("--enable-target-optspace")
fi
+ case "${CT_CC_GCC_LDBL_128}" in
+ y) extra_config+=("--with-long-double-128");;
+ m) ;;
+ "") extra_config+=("--without-long-double-128");;
+ esac
+
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
# Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
CC_FOR_BUILD="${CT_BUILD}-gcc" \
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
LDFLAGS="${core_LDFLAGS}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
@@ -229,17 +237,17 @@ do_cc_core() {
# Next we have to configure gcc, create libgcc.mk then edit it...
# So much easier if we just edit the source tree, but hey...
if [ ! -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then
- CT_DoExecLog ALL make configure-libiberty
+ CT_DoExecLog CFG make configure-libiberty
CT_DoExecLog ALL make ${PARALLELMFLAGS} -C libiberty libiberty.a
- CT_DoExecLog ALL make configure-gcc configure-libcpp
+ CT_DoExecLog CFG make configure-gcc configure-libcpp
CT_DoExecLog ALL make ${PARALLELMFLAGS} all-libcpp
else
- CT_DoExecLog ALL make configure-gcc configure-libcpp configure-build-libiberty
+ CT_DoExecLog CFG make configure-gcc configure-libcpp configure-build-libiberty
CT_DoExecLog ALL make ${PARALLELMFLAGS} all-libcpp all-build-libiberty
fi
# HACK: gcc-4.2 uses libdecnumber to build libgcc.mk, so build it here.
if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/libdecnumber" ]; then
- CT_DoExecLog ALL make configure-libdecnumber
+ CT_DoExecLog CFG make configure-libdecnumber
CT_DoExecLog ALL make ${PARALLELMFLAGS} -C libdecnumber libdecnumber.a
fi
@@ -354,6 +362,16 @@ do_cc() {
else
extra_config+=(--disable-libmudflap)
fi
+ if [ "${CT_CC_GCC_LIBGOMP}" = "y" ]; then
+ extra_config+=(--enable-libgomp)
+ else
+ extra_config+=(--disable-libgomp)
+ fi
+ if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then
+ extra_config+=(--enable-libssp)
+ else
+ extra_config+=(--disable-libssp)
+ fi
if [ "${CT_CC_STATIC_LIBSTDCXX}" = "y" ]; then
# this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2
@@ -391,6 +409,7 @@ do_cc() {
if [ "${CT_THREADS}" = "none" ]; then
extra_config+=("--disable-threads")
if [ "${CT_CC_GCC_4_2_or_later}" = y ]; then
+ CT_Test "Disabling libgomp for no-thread gcc>=4.2" "${CT_CC_GCC_LIBGOMP}" = "Y"
extra_config+=("--disable-libgomp")
fi
else
@@ -409,6 +428,12 @@ do_cc() {
extra_config+=("--disable-libstdcxx-pch")
fi
+ case "${CT_CC_GCC_LDBL_128}" in
+ y) extra_config+=("--with-long-double-128");;
+ m) ;;
+ "") extra_config+=("--without-long-double-128");;
+ esac
+
CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
# --enable-symvers=gnu really only needed for sh4 to work around a
@@ -421,7 +446,7 @@ do_cc() {
CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
diff --git a/scripts/build/companion_libs/cloog.sh b/scripts/build/companion_libs/cloog.sh
index 3ee17b5..a0dbef8 100644
--- a/scripts/build/companion_libs/cloog.sh
+++ b/scripts/build/companion_libs/cloog.sh
@@ -60,7 +60,7 @@ do_cloog() {
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
LDFLAGS="${cloog_LDFLAGS}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/cloog-ppl${_t}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
diff --git a/scripts/build/companion_libs/gmp.sh b/scripts/build/companion_libs/gmp.sh
index 6f41696..8aad56a 100644
--- a/scripts/build/companion_libs/gmp.sh
+++ b/scripts/build/companion_libs/gmp.sh
@@ -37,7 +37,7 @@ do_gmp() {
fi
CFLAGS="${CT_CFLAGS_FOR_HOST} -fexceptions" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/gmp-${CT_GMP_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
diff --git a/scripts/build/companion_libs/libelf.sh b/scripts/build/companion_libs/libelf.sh
index 8995a34..b899908 100644
--- a/scripts/build/companion_libs/libelf.sh
+++ b/scripts/build/companion_libs/libelf.sh
@@ -36,7 +36,7 @@ do_libelf() {
libelf_opts+=( --disable-shared --enable-static )
fi
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/libelf-${CT_LIBELF_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
diff --git a/scripts/build/companion_libs/mpc.sh b/scripts/build/companion_libs/mpc.sh
index 043fb39..62e4dc3 100644
--- a/scripts/build/companion_libs/mpc.sh
+++ b/scripts/build/companion_libs/mpc.sh
@@ -38,7 +38,7 @@ do_mpc() {
fi
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/mpc-${CT_MPC_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
diff --git a/scripts/build/companion_libs/mpfr.sh b/scripts/build/companion_libs/mpfr.sh
index 7088d16..e263118 100644
--- a/scripts/build/companion_libs/mpfr.sh
+++ b/scripts/build/companion_libs/mpfr.sh
@@ -88,7 +88,7 @@ do_mpfr() {
CT_DoLog EXTRA "Configuring MPFR"
CC="${CT_HOST}-gcc" \
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/mpfr-${CT_MPFR_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
diff --git a/scripts/build/companion_libs/ppl.sh b/scripts/build/companion_libs/ppl.sh
index 6807476..e15727c 100644
--- a/scripts/build/companion_libs/ppl.sh
+++ b/scripts/build/companion_libs/ppl.sh
@@ -41,7 +41,7 @@ do_ppl() {
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
CXXFLAGS="${CT_CFLAGS_FOR_HOST}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
diff --git a/scripts/build/companion_tools/100-m4.sh b/scripts/build/companion_tools/100-m4.sh
index 6a16a1e..04380a7 100644
--- a/scripts/build/companion_tools/100-m4.sh
+++ b/scripts/build/companion_tools/100-m4.sh
@@ -17,7 +17,7 @@ do_companion_tools_m4_build() {
mkdir -p "${CT_BUILD_DIR}/build-m4"
CT_Pushd "${CT_BUILD_DIR}/build-m4"
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/m4-${CT_M4_VERSION}/configure" \
--prefix="${CT_TOOLS_OVERIDE_DIR}"
CT_DoExecLog ALL make
diff --git a/scripts/build/companion_tools/200-autoconf.sh b/scripts/build/companion_tools/200-autoconf.sh
index 9ed66b5..d90a323 100644
--- a/scripts/build/companion_tools/200-autoconf.sh
+++ b/scripts/build/companion_tools/200-autoconf.sh
@@ -22,7 +22,7 @@ do_companion_tools_autoconf_build() {
# For reference see:
# http://www.gnu.org/software/autoconf/manual/autoconf.html#CONFIG_005fSHEL
- CT_DoExecLog ALL ${CONFIG_SHELL} \
+ CT_DoExecLog CFG ${CONFIG_SHELL} \
"${CT_SRC_DIR}/autoconf-${CT_AUTOCONF_VERSION}/configure" \
--prefix="${CT_TOOLS_OVERIDE_DIR}"
CT_DoExecLog ALL make
diff --git a/scripts/build/companion_tools/300-automake.sh b/scripts/build/companion_tools/300-automake.sh
index 174b2a7..e66f6ec 100644
--- a/scripts/build/companion_tools/300-automake.sh
+++ b/scripts/build/companion_tools/300-automake.sh
@@ -17,7 +17,7 @@ do_companion_tools_automake_build() {
mkdir -p "${CT_BUILD_DIR}/build-automake"
CT_Pushd "${CT_BUILD_DIR}/build-automake"
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/automake-${CT_AUTOMAKE_VERSION}/configure" \
--prefix="${CT_TOOLS_OVERIDE_DIR}"
CT_DoExecLog ALL make
diff --git a/scripts/build/companion_tools/400-libtool.sh b/scripts/build/companion_tools/400-libtool.sh
index eb9f82e..6970a0f 100644
--- a/scripts/build/companion_tools/400-libtool.sh
+++ b/scripts/build/companion_tools/400-libtool.sh
@@ -17,7 +17,7 @@ do_companion_tools_libtool_build() {
mkdir -p "${CT_BUILD_DIR}/build-libtool"
CT_Pushd "${CT_BUILD_DIR}/build-libtool"
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/libtool-${CT_LIBTOOL_VERSION}/configure" \
--prefix="${CT_TOOLS_OVERIDE_DIR}"
CT_DoExecLog ALL make
diff --git a/scripts/build/debug/000-template.sh b/scripts/build/debug/000-template.sh
index c76c972..47d2cae 100644
--- a/scripts/build/debug/000-template.sh
+++ b/scripts/build/debug/000-template.sh
@@ -20,7 +20,7 @@ do_debug_foobar_build() {
# For example:
# mkdir -p "${CT_BUILD_DIR}/build-foobar"
# CT_Pushd "${CT_BUILD_DIR}/build-foobar"
- # CT_DoExecLog ALL \
+ # CT_DoExecLog CFG \
# "${CT_SRC_DIR}/foobar-${CT_FOOBAR_VERSION}/configure" \
# --build=${CT_BUILD} \
# --host=${CT_TARGET} \
diff --git a/scripts/build/debug/100-dmalloc.sh b/scripts/build/debug/100-dmalloc.sh
index c567c40..a5e4fa3 100644
--- a/scripts/build/debug/100-dmalloc.sh
+++ b/scripts/build/debug/100-dmalloc.sh
@@ -36,7 +36,7 @@ do_debug_dmalloc_build() {
LD="${CT_TARGET}-ld" \
AR="${CT_TARGET}-ar" \
CFLAGS=-fPIC \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/dmalloc-${CT_DMALLOC_VERSION}/configure" \
--prefix=/usr \
--build="${CT_BUILD}" \
diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh
index a8229d4..5a7d87f 100644
--- a/scripts/build/debug/300-gdb.sh
+++ b/scripts/build/debug/300-gdb.sh
@@ -112,7 +112,7 @@ do_debug_gdb_build() {
CC="${CC_for_gdb}" \
LD="${LD_for_gdb}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${gdb_cross_configure}" \
--build=${CT_BUILD} \
--host=${CT_HOST} \
@@ -153,7 +153,7 @@ do_debug_gdb_build() {
# Use build = CT_REAL_BUILD so that configure thinks it is
# cross-compiling, and thus will use the ${CT_BUILD}-*
# tools instead of searching for the native ones...
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/ncurses-${CT_DEBUG_GDB_NCURSES_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_BUILD} \
@@ -178,7 +178,7 @@ do_debug_gdb_build() {
mkdir -p "${CT_BUILD_DIR}/build-ncurses"
cd "${CT_BUILD_DIR}/build-ncurses"
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/ncurses-${CT_DEBUG_GDB_NCURSES_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
@@ -211,7 +211,7 @@ do_debug_gdb_build() {
mkdir -p "${CT_BUILD_DIR}/expat-build"
cd "${CT_BUILD_DIR}/expat-build"
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/expat-${CT_DEBUG_GDB_EXPAT_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
@@ -251,7 +251,7 @@ do_debug_gdb_build() {
CC="${CC_for_gdb}" \
LD="${LD_for_gdb}" \
CFLAGS="${gdb_native_CFLAGS[@]}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${gdb_src_dir}/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
@@ -313,7 +313,7 @@ do_debug_gdb_build() {
gdbserver_extra_config=("${extra_config[@]}")
LDFLAGS="${gdbserver_LDFLAGS}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${gdb_src_dir}/gdb/gdbserver/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
diff --git a/scripts/build/debug/400-ltrace.sh b/scripts/build/debug/400-ltrace.sh
index dd0fe4a..522756d 100644
--- a/scripts/build/debug/400-ltrace.sh
+++ b/scripts/build/debug/400-ltrace.sh
@@ -38,9 +38,9 @@ do_debug_ltrace_build() {
CC="${CT_TARGET}-${CT_CC}" \
HOST="${ltrace_host}" \
CFLAGS="${CT_TARGET_CFLAGS}" \
- CT_DoExecLog ALL ./configure --prefix=/usr
+ CT_DoExecLog CFG ./configure --prefix=/usr
else
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
./configure \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
diff --git a/scripts/build/debug/500-strace.sh b/scripts/build/debug/500-strace.sh
index 3713da5..65d4086 100644
--- a/scripts/build/debug/500-strace.sh
+++ b/scripts/build/debug/500-strace.sh
@@ -17,7 +17,7 @@ do_debug_strace_build() {
CT_Pushd "${CT_BUILD_DIR}/build-strace"
CT_DoLog EXTRA "Configuring strace"
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/strace-${CT_STRACE_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
diff --git a/scripts/build/libc/eglibc.sh b/scripts/build/libc/eglibc.sh
index c8f34c0..d1c0724 100644
--- a/scripts/build/libc/eglibc.sh
+++ b/scripts/build/libc/eglibc.sh
@@ -203,7 +203,7 @@ do_libc_start_files() {
CXX=${cross_cxx} \
AR=${cross_ar} \
RANLIB=${cross_ranlib} \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}/configure" \
--prefix=/usr \
--with-headers="${CT_HEADERS_DIR}" \
@@ -311,7 +311,7 @@ do_libc() {
CC="${CT_TARGET}-gcc ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \
AR=${CT_TARGET}-ar \
RANLIB=${CT_TARGET}-ranlib \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}/configure" \
--prefix=/usr \
--with-headers="${CT_HEADERS_DIR}" \
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh
index f739b88..b2d89e4 100644
--- a/scripts/build/libc/glibc.sh
+++ b/scripts/build/libc/glibc.sh
@@ -130,7 +130,7 @@ do_libc_headers() {
libc_cv_mlong_double_128=yes \
libc_cv_mlong_double_128ibm=yes \
CC=${cross_cc} \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/configure" \
--build="${CT_BUILD}" \
--host="${CT_TARGET}" \
@@ -302,7 +302,7 @@ do_libc_start_files() {
CC="${cross_cc} ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \
AR=${CT_TARGET}-ar \
RANLIB=${CT_TARGET}-ranlib \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/configure" \
--prefix=/usr \
--build="${CT_BUILD}" \
@@ -441,7 +441,7 @@ do_libc() {
CC="${CT_TARGET}-gcc ${CT_LIBC_EXTRA_CC_ARGS} ${extra_cc_args}" \
AR=${CT_TARGET}-ar \
RANLIB=${CT_TARGET}-ranlib \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}/configure" \
--prefix=/usr \
--build=${CT_BUILD} \
diff --git a/scripts/build/libc/mingw.sh b/scripts/build/libc/mingw.sh
index dcf5b6e..303f1c2 100644
--- a/scripts/build/libc/mingw.sh
+++ b/scripts/build/libc/mingw.sh
@@ -63,7 +63,7 @@ do_libc() {
CFLAGS="-I${CT_HEADERS_DIR}" \
LDFLAGS="-L${CT_SYSROOT_DIR}/lib" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32/configure" \
--prefix=${CT_SYSROOT_DIR} \
--includedir=${CT_HEADERS_DIR} \
@@ -82,7 +82,7 @@ do_libc() {
CFLAGS="-I${CT_HEADERS_DIR}" \
LDFLAGS="-L${CT_SYSROOT_DIR}/lib" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32/configure" \
--prefix=${CT_SYSROOT_DIR}/ \
--includedir=${CT_HEADERS_DIR} \
@@ -138,7 +138,7 @@ do_libc_finish() {
cd "${CT_BUILD_DIR}/build-gnurx"
CFLAGS="${CT_CFLAGS_FOR_TARGET}" \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/mingw-libgnurx-${CT_MINGW_GNURX_VERSION}/configure" \
--build=${CT_BUILD} \
--host=${CT_TARGET} \
diff --git a/scripts/build/libc/newlib.sh b/scripts/build/libc/newlib.sh
index aa679c3..7e11fcd 100644
--- a/scripts/build/libc/newlib.sh
+++ b/scripts/build/libc/newlib.sh
@@ -75,7 +75,7 @@ do_libc_start_files() {
CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS} -O" \
AR=${CT_TARGET}-ar \
RANLIB=${CT_TARGET}-ranlib \
- CT_DoExecLog ALL \
+ CT_DoExecLog CFG \
"${CT_SRC_DIR}/newlib-$(libc_newlib_version)/configure" \
--host=${CT_BUILD} \
--target=${CT_TARGET} \
diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh
index a492870..35f1126 100644
--- a/scripts/build/libc/uClibc.sh
+++ b/scripts/build/libc/uClibc.sh
@@ -190,7 +190,7 @@ do_libc() {
# to best fit the target. So it is useless and seems to be a bad thing to
# use LIBC_EXTRA_CFLAGS here.
CT_DoLog EXTRA "Applying configuration"
- CT_DoYes "" |CT_DoExecLog ALL \
+ CT_DoYes "" |CT_DoExecLog CFG \
make CROSS=${CT_TARGET}- \
PREFIX="${CT_SYSROOT_DIR}/" \
LOCALE_DATA_FILENAME="${uclibc_local_tarball}.tgz" \
diff --git a/scripts/functions b/scripts/functions
index a5e124c..fc71715 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -1,4 +1,4 @@
-# This file contains some usefull common functions
+# This file contains some usefull common functions -*- sh -*-
# Copyright 2007 Yann E. MORIN
# Licensed under the GPL v2. See COPYING in the root of this package
@@ -49,8 +49,11 @@ CT_LOG_LEVEL_ERROR=0
CT_LOG_LEVEL_WARN=1
CT_LOG_LEVEL_INFO=2
CT_LOG_LEVEL_EXTRA=3
-CT_LOG_LEVEL_ALL=4
-CT_LOG_LEVEL_DEBUG=5
+CT_LOG_LEVEL_CFG=4
+CT_LOG_LEVEL_FILE=5
+CT_LOG_LEVEL_STATE=6
+CT_LOG_LEVEL_ALL=7
+CT_LOG_LEVEL_DEBUG=8
# Make it easy to use \n and !
CR=$(printf "\n")
@@ -62,8 +65,11 @@ BANG='!'
# - WARN: A non fatal, non serious error occurred, take your responsbility with the generated build
# - INFO: Informational messages
# - EXTRA: Extra informational messages
-# - DEBUG: Debug messages
+# - CFG: Output of various "./configure"-type scripts
+# - FILE: File / archive unpacking.
+# - STATE: State save & restore
# - ALL: Component's build messages
+# - DEBUG: Internal debug messages
# Usage: CT_DoLog <level> [message]
# If message is empty, then stdin will be logged.
CT_DoLog() {
@@ -671,9 +677,9 @@ CT_Extract() {
CT_DoLog EXTRA "Extracting '${basename}'"
case "${ext}" in
- .tar.bz2) CT_DoExecLog ALL tar xvjf "${full_file}";;
- .tar.gz|.tgz) CT_DoExecLog ALL tar xvzf "${full_file}";;
- .tar) CT_DoExecLog ALL tar xvf "${full_file}";;
+ .tar.bz2) CT_DoExecLog FILE tar xvjf "${full_file}";;
+ .tar.gz|.tgz) CT_DoExecLog FILE tar xvzf "${full_file}";;
+ .tar) CT_DoExecLog FILE tar xvf "${full_file}";;
/.git) CT_ExtractGit "${basename}" "${@}";;
*) CT_Abort "Don't know how to handle '${basename}${ext}': unknown extension";;
esac
@@ -729,7 +735,7 @@ CT_ExtractGit() {
case "${ref_type}" in
none) ;;
- *) CT_DoExecLog ALL git checkout "${ref}";;
+ *) CT_DoExecLog FILE git checkout "${ref}";;
esac
CT_Popd
@@ -957,15 +963,15 @@ CT_DoTarballIfExists() {
CT_DoLog DEBUG " Saving '${dir}'"
{ tar c -C "${dir}" -v -f - "${extra_tar_opts[@]}" . \
|"${compress[@]}" >"${tarball}.tar${tar_ext}" ;
- } 2>&1 |sed -r -e 's/^/ /;' |CT_DoLog DEBUG
+ } 2>&1 |sed -r -e 's/^/ /;' |CT_DoLog STATE
else
- CT_DoLog DEBUG " Not saving '${dir}': does not exist"
+ CT_DoLog STATE " Not saving '${dir}': does not exist"
fi
}
# This function extracts a tarball to the specified directory, but
# only if the tarball exists
-# Usage: CT_DoTarballIfExists <tarball_basename> <dir> [extra_tar_options [...]]
+# Usage: CT_DoExtractTarballIfExists <tarball_basename> <dir> [extra_tar_options [...]]
CT_DoExtractTarballIfExists() {
local tarball="$1"
local dir="$2"
@@ -984,9 +990,9 @@ CT_DoExtractTarballIfExists() {
CT_DoExecLog DEBUG mkdir -p "${dir}"
{ "${uncompress[@]}" "${tarball}.tar${tar_ext}" \
|tar x -C "${dir}" -v -f - "${extra_tar_opts[@]}" ;
- } 2>&1 |sed -r -e 's/^/ /;' |CT_DoLog DEBUG
+ } 2>&1 |sed -r -e 's/^/ /;' |CT_DoLog STATE
else
- CT_DoLog DEBUG " Not restoring '${dir}': does not exist"
+ CT_DoLog STATE " Not restoring '${dir}': does not exist"
fi
}
@@ -1004,7 +1010,7 @@ CT_DoSaveState() {
rm -rf "${state_dir}"
mkdir -p "${state_dir}"
- CT_DoLog DEBUG " Saving environment and aliases"
+ CT_DoLog STATE " Saving environment and aliases"
# We must omit shell functions, and some specific bash variables
# that break when restoring the environment, later. We could do
# all the processing in the awk script, but a sed is easier...
@@ -1026,7 +1032,7 @@ CT_DoSaveState() {
CT_DoTarballIfExists "${CT_PREFIX_DIR}" "${state_dir}/prefix_dir" --exclude '*.log'
if [ "${CT_LOG_TO_FILE}" = "y" ]; then
- CT_DoLog DEBUG " Saving log file"
+ CT_DoLog STATE " Saving log file"
exec >/dev/null
case "${CT_DEBUG_CT_SAVE_STEPS_GZIP}" in
y) gzip -3 -c "${CT_LOG_FILE}" >"${state_dir}/log.gz";;
@@ -1064,7 +1070,7 @@ CT_DoLoadState(){
# Restore the environment, discarding any error message
# (for example, read-only bash internals)
- CT_DoLog DEBUG " Restoring environment"
+ CT_DoLog STATE " Restoring environment"
. "${state_dir}/env.sh" >/dev/null 2>&1 || true
# Restore the new RESTART and STOP steps
@@ -1073,7 +1079,7 @@ CT_DoLoadState(){
unset old_stop old_restart
if [ "${CT_LOG_TO_FILE}" = "y" ]; then
- CT_DoLog DEBUG " Restoring log file"
+ CT_DoLog STATE " Restoring log file"
exec >/dev/null
case "${CT_DEBUG_CT_SAVE_STEPS_GZIP}" in
y) zcat "${state_dir}/log.gz" >"${CT_LOG_FILE}";;
diff --git a/scripts/patch-rework.sh b/scripts/patch-rework.sh
index 795c3c3..5c23977 100755
--- a/scripts/patch-rework.sh
+++ b/scripts/patch-rework.sh
@@ -31,6 +31,8 @@ do_check_files_at_depth() {
}
mkdir -p "${dst}"
+base="${base%%/}"
+src="$( cd "${src}"; pwd )"
dst="$( cd "${dst}"; pwd )"
# Iterate through patches
@@ -87,21 +89,14 @@ $1=="+++" && mark==1 { nextfile; }
# contain multiple accumulated patches onto a single file.
printf " applying patch..."
if ! patch -g0 -F1 -f -p${d} <"${p}" >"../patch.out" 2>&1; then
- printf " ERROR\n"
- # Revert the patch
+ printf " ERROR\n\n"
popd >/dev/null 2>&1
- printf " restoring '${base}'..."
- rm -f "diffstat.tmp"
- rm -rf "${base}"
- mv "${base}.orig" "${base}"
- printf " done\n\n"
printf "There was an error while applying:\n --> ${p} <--\n"
printf "'${base}' was restored to the state it was prior to applying this faulty patch.\n"
printf "Here's the 'patch' command, and its output:\n"
printf " ----8<----\n"
printf " patch -g0 -F1 -f -p${d} <'${p}'\n"
- cat "patch.out" |(IFS=$(printf "\n"); while read line; do printf " ${line}\n"; done)
- rm -f "patch.out"
+ sed -r -e 's/^/ /;' "patch.out"
printf " ----8<----\n"
exit 1
fi
@@ -136,6 +131,7 @@ $1=="+++" && mark==1 { nextfile; }
printf " removing temporary files/dirs..."
rm -f "patch.out"
rm -f "diffstat.tmp"
+ rm -f "diffstat.orig"
rm -rf "${base}.orig"
printf " done\n"
done
@@ -148,6 +144,8 @@ for p in "${dst}/"*.patch; do
if ! cmp "${p}.diffstat.orig" "${p}.diffstat.new" >/dev/null; then
printf " --> '${pname}' differ in touched files <--\n"
+ else
+ rm -f "${p}.diffstat.orig" "${p}.diffstat.new"
fi
done
printf " done.\n"