strace/travis-build.sh
Dmitry V. Levin 66b37bb737 Add initial GitLab CI support
* .gitlab-ci.yml: New file.
* travis-build.sh: Print $CC -print-multi-lib.  Print config.log
in case of configure failure.
* travis-install.sh: Check sudo availability.  Install autoconf,
automake, file, gawk, gcc-multilib, git, gzip, make, and xz-utils
for all targets.
(musl-gcc): Install ca-certificates.
2017-11-29 03:52:27 +00:00

101 lines
2.4 KiB
Bash
Executable File

#!/bin/sh -ex
DISTCHECK_CONFIGURE_FLAGS='--disable-dependency-tracking'
export DISTCHECK_CONFIGURE_FLAGS
case "$CC" in
gcc*)
DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --enable-gcc-Werror"
;;
clang-*)
# clang -mx32 fails with the following error:
# clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
export st_cv_mx32_runtime=no
;;
esac
case "${TARGET-}" in
x32)
CC="$CC -mx32"
;;
x86)
CC="$CC -m32"
DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --build=i686-pc-linux-gnu --target=i686-pc-linux-gnu"
;;
esac
case "$KHEADERS" in
*/*)
CPPFLAGS='-isystem /opt/kernel/include'
export CPPFLAGS
;;
esac
case "${CHECK-}" in
coverage)
DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --enable-code-coverage"
CFLAGS='-g -O0'
CFLAGS_FOR_BUILD="$CFLAGS"
export CFLAGS CFLAGS_FOR_BUILD
;;
valgrind)
DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --enable-valgrind"
;;
esac
echo 'BEGIN OF BUILD ENVIRONMENT INFORMATION'
uname -a |head -1
libc="$(ldd /bin/sh |sed -n 's|^[^/]*\(/[^ ]*/libc\.so[^ ]*\).*|\1|p' |head -1)"
$libc |head -1
file -L /bin/sh
$CC --version |head -1
$CC -print-multi-lib ||:
make --version |head -1
autoconf --version |head -1
automake --version |head -1
kver="$(printf '%s\n%s\n' '#include <linux/version.h>' 'LINUX_VERSION_CODE' | $CC -E -P -)"
printf 'kernel-headers %s.%s.%s\n' $(($kver/65536)) $(($kver/256%256)) $(($kver%256))
echo 'END OF BUILD ENVIRONMENT INFORMATION'
export CC_FOR_BUILD="$CC"
./git-set-file-times
./bootstrap
./configure --enable-maintainer-mode \
${DISTCHECK_CONFIGURE_FLAGS-} \
|| {
rc=$?
cat config.log
exit $rc
}
j=-j`getconf _NPROCESSORS_ONLN 2> /dev/null` || j=
case "${CHECK-}" in
coverage)
make -k $j all VERBOSE=${VERBOSE-}
make -k $j check VERBOSE=${VERBOSE-}
codecov --gcov-args=-abcp ||:
echo 'BEGIN OF TEST SUITE INFORMATION'
tail -n 99999 -- tests*/test-suite.log tests*/ksysent.log
echo 'END OF TEST SUITE INFORMATION'
;;
valgrind)
make -k $j all VERBOSE=${VERBOSE-}
rc=$?
for n in ${VALGRIND_TOOLS:-memcheck helgrind drd}; do
make -k $j -C "${VALGRIND_TESTDIR:-.}" \
check-valgrind-$n VERBOSE=${VERBOSE-} ||
rc=$?
done
echo 'BEGIN OF TEST SUITE INFORMATION'
tail -n 99999 -- tests*/test-suite*.log tests*/ksysent.log ||
rc=$?
echo 'END OF TEST SUITE INFORMATION'
[ "$rc" -eq 0 ]
;;
*)
make -k $j distcheck VERBOSE=${VERBOSE-}
;;
esac