diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2019-01-25 02:04:50 +0000 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2019-01-25 02:56:25 +0000 |
commit | 03aa5f8d27b2134b6540f3f597534fbcd8fc2805 (patch) | |
tree | 314ea98ef694fb1b1bef684a19b509adb03aa53f | |
parent | 05e5e054023f908982cf2944a2f36b0b9c18d61a (diff) | |
download | klibc-maint-03aa5f8d27b2134b6540f3f597534fbcd8fc2805.tar.gz |
test-many-klibcs: Build out-of-tree and don't clean every time
Out-of-tree builds are working again. We can build for each tested
architecture in a separate directory and then don't need to clean
between builds.
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | test-many-klibcs | 28 |
2 files changed, 16 insertions, 13 deletions
@@ -1,6 +1,7 @@ *~ .#* *.log +build install logs test.out diff --git a/test-many-klibcs b/test-many-klibcs index 7d7c83f..7b5ba06 100755 --- a/test-many-klibcs +++ b/test-many-klibcs @@ -4,11 +4,15 @@ build() { echo "I: Using $("$gnuarch-gcc" --version | head -1)" echo "I: Using $("$gnuarch-ld" --version | head -1)" + mkdir -p "build/$gnuarch" echo "I: Generating kernel UAPI headers for ARCH=$kernelarch" - rm -rf ../linux/usr/include || return - make -C ../linux "ARCH=$kernelarch" headers_install || return + make -C ../linux "ARCH=$kernelarch" \ + "INSTALL_HDR_PATH=$PWD/build/$gnuarch/linux" headers_install \ + || return echo "I: Building with ARCH=$arch CROSS_COMPILE=$gnuarch- $makeflags" - make -C ../klibc -j"$nproc" all test "ARCH=$arch" "CROSS_COMPILE=$gnuarch-" $makeflags \ + make -C "build/$gnuarch" -f "$PWD/../klibc/Makefile" -j"$nproc" \ + "ARCH=$arch" "CROSS_COMPILE=$gnuarch-" "KBUILD_SRC=$PWD/../klibc" \ + $makeflags all test \ || return } @@ -22,13 +26,14 @@ do_install() { fi # Install klibc itself - make -C ../klibc install "ARCH=$arch" "CROSS_COMPILE=$gnuarch-" \ - $makeflags INSTALLROOT="$PWD/install" \ + make -C "build/$gnuarch" -f "$PWD/../klibc/Makefile" \ + "ARCH=$arch" "CROSS_COMPILE=$gnuarch-" "KBUILD_SRC=$PWD/../klibc" \ + $makeflags INSTALLROOT="$PWD/install" install \ || return # Install shared-library tests mkdir install/tests - cp ../klibc/usr/klibc/tests/*.shared install/tests/ || return + cp "build/$gnuarch/usr/klibc/tests"/*.shared install/tests/ || return # Some tests need these mkdir -p install/dev @@ -51,7 +56,7 @@ do_install() { clean() { echo "I: Cleaning" - make -C ../klibc clean "ARCH=$arch" + (cd ../klibc && git clean -d -f -x) } run_built() { @@ -92,7 +97,7 @@ run_test_program() { case "$flavour" in static) - run_built ../klibc/usr/klibc/tests/"$progname" > "$logname" \ + run_built "build/$gnuarch/usr/klibc/tests/$progname" > "$logname" \ || err=$? ;; shared) @@ -123,7 +128,7 @@ run_test_program() { run_shell_static() { local command="$1" - if run_built ../klibc/usr/dash/static/sh -c "$command"; then + if run_built "build/$gnuarch/usr/dash/static/sh" -c "$command"; then echo "I: shell '$command': pass" else echo "E: shell '$command': fail" @@ -176,7 +181,7 @@ run_tests() { run_tests_flavour static || err=1 run_shell_static "exit" || err=1 - run_shell_static "../klibc/usr/utils/static/true; exit" || err=1 + run_shell_static "build/$gnuarch/usr/utils/static/true; exit" || err=1 run_tests_flavour shared || err=1 run_shell_shared "exit" || err=1 @@ -218,9 +223,6 @@ echo "I: Using Linux $(make -C ../linux -s kernelversion)" nproc="$(nproc || echo 1)" echo "I: Using concurrency of $nproc" -rm -rf ../klibc/linux -ln -s ../linux/usr ../klibc/linux - process alpha alpha alpha-linux-gnu alpha # arm OABI is no longer supported in Debian. #process arm arm arm-linux-gnu arm |