]> granicus.if.org Git - strace/blob - travis-build.sh
mmap_cache: add function to enable mmap_cache
[strace] / travis-build.sh
1 #!/bin/sh -ex
2
3 DISTCHECK_CONFIGURE_FLAGS='--disable-dependency-tracking'
4 export DISTCHECK_CONFIGURE_FLAGS
5
6 case "$CC" in
7         gcc*)
8                 DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --enable-gcc-Werror"
9                 ;;
10         clang-*)
11                 # clang -mx32 fails with the following error:
12                 # clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
13                 export st_cv_mx32_runtime=no
14                 ;;
15 esac
16
17 case "${TARGET-}" in
18         x32)
19                 CC="$CC -mx32"
20                 ;;
21         x86)
22                 CC="$CC -m32"
23                 DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --build=i686-pc-linux-gnu --target=i686-pc-linux-gnu"
24                 ;;
25 esac
26
27 case "$KHEADERS" in
28         */*)
29                 CPPFLAGS='-isystem /opt/kernel/include'
30                 export CPPFLAGS
31                 ;;
32 esac
33
34 case "${CHECK-}" in
35         coverage)
36                 DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --enable-code-coverage"
37                 CFLAGS='-g -O0'
38                 CFLAGS_FOR_BUILD="$CFLAGS"
39                 export CFLAGS CFLAGS_FOR_BUILD
40                 ;;
41         valgrind)
42                 DISTCHECK_CONFIGURE_FLAGS="$DISTCHECK_CONFIGURE_FLAGS --enable-valgrind"
43                 ;;
44 esac
45
46 echo 'BEGIN OF BUILD ENVIRONMENT INFORMATION'
47 uname -a |head -1
48 libc="$(ldd /bin/sh |sed -n 's|^[^/]*\(/[^ ]*/libc\.so[^ ]*\).*|\1|p' |head -1)"
49 $libc |head -1
50 file -L /bin/sh
51 $CC --version |head -1
52 $CC -print-multi-lib ||:
53 make --version |head -1
54 autoconf --version |head -1
55 automake --version |head -1
56 kver="$(printf '%s\n%s\n' '#include <linux/version.h>' 'LINUX_VERSION_CODE' | $CC -E -P -)"
57 printf 'kernel-headers %s.%s.%s\n' $(($kver/65536)) $(($kver/256%256)) $(($kver%256))
58 echo 'END OF BUILD ENVIRONMENT INFORMATION'
59
60 export CC_FOR_BUILD="$CC"
61
62 ./git-set-file-times
63 ./bootstrap
64 ./configure --enable-maintainer-mode \
65         ${DISTCHECK_CONFIGURE_FLAGS-} \
66         || {
67         rc=$?
68         cat config.log
69         exit $rc
70 }
71
72 j=-j`getconf _NPROCESSORS_ONLN 2> /dev/null` || j=
73
74 case "${CHECK-}" in
75         coverage)
76                 make -k $j all VERBOSE=${VERBOSE-}
77                 make -k $j check VERBOSE=${VERBOSE-}
78                 codecov --gcov-args=-abcp ||:
79                 echo 'BEGIN OF TEST SUITE INFORMATION'
80                 tail -n 99999 -- tests*/test-suite.log tests*/ksysent.log
81                 echo 'END OF TEST SUITE INFORMATION'
82                 ;;
83         valgrind)
84                 make -k $j all VERBOSE=${VERBOSE-}
85                 rc=$?
86                 for n in ${VALGRIND_TOOLS:-memcheck helgrind drd}; do
87                         make -k $j -C "${VALGRIND_TESTDIR:-.}" \
88                                 check-valgrind-$n VERBOSE=${VERBOSE-} ||
89                                         rc=$?
90                 done
91                 echo 'BEGIN OF TEST SUITE INFORMATION'
92                 tail -n 99999 -- tests*/test-suite*.log tests*/ksysent.log ||
93                         rc=$?
94                 echo 'END OF TEST SUITE INFORMATION'
95                 [ "$rc" -eq 0 ]
96                 ;;
97         *)
98                 make -k $j distcheck VERBOSE=${VERBOSE-}
99                 ;;
100 esac