]> granicus.if.org Git - strace/blobdiff - travis-install.sh
Remove linux/ptp_clock.h
[strace] / travis-install.sh
index c4f6b8b64db149dbd5ad755b8632e162b575a052..2fbd275b499564beaa7bd1534b47dbe15d4adbec 100755 (executable)
@@ -1,25 +1,44 @@
 #!/bin/sh -ex
 
+type sudo >/dev/null 2>&1 && sudo=sudo || sudo=
+common_packages='autoconf automake file gawk gcc-multilib git gzip make xz-utils'
+
 updated=
 apt_get_install()
 {
        [ -n "$updated" ] || {
-               sudo apt-get -qq update
+               $sudo apt-get -qq update
                updated=1
        }
-       sudo apt-get -qq --no-install-suggests --no-install-recommends \
+       $sudo apt-get -qq --no-install-suggests --no-install-recommends \
                install -y "$@"
 }
 
+case "$KHEADERS" in
+       */*)
+               git clone --depth=1 https://github.com/"$KHEADERS" kernel
+               $sudo make -C kernel headers_install INSTALL_HDR_PATH=/opt/kernel
+               $sudo rm -rf kernel
+               KHEADERS_INC=/opt/kernel/include
+               ;;
+       *)
+               KHEADERS_INC=/usr/include
+               ;;
+esac
+
 case "$CC" in
        gcc)
-               apt_get_install gcc-multilib
+               apt_get_install $common_packages
+               ;;
+       gcc-*)
+               $sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
+               apt_get_install $common_packages "$CC"-multilib
                ;;
-       clang-*)
-               apt_get_install gcc-multilib "$CC"
+       clang*)
+               apt_get_install $common_packages "$CC"
                ;;
        musl-gcc)
-               apt_get_install gcc-multilib
+               apt_get_install $common_packages ca-certificates
                git clone --depth=1 https://github.com/strace/musl
                cd musl
                        CC=gcc
@@ -35,14 +54,13 @@ case "$CC" in
                        esac
                        ./configure --prefix=/opt/musl --exec-prefix=/usr ${build}
                        make
-                       sudo make install
+                       $sudo make install
                cd -
                rm -rf musl
-               sudo ln -s \
-                       /usr/include/linux \
-                       /usr/include/asm \
-                       /usr/include/asm-generic \
-                       /usr/include/mtd \
+               $sudo ln -s \
+                       $KHEADERS_INC/asm* \
+                       $KHEADERS_INC/linux \
+                       $KHEADERS_INC/mtd \
                        /opt/musl/include/
                ;;
 esac
@@ -52,4 +70,7 @@ case "${CHECK-}" in
                apt_get_install lcov
                pip install --user codecov
                ;;
+       valgrind)
+               apt_get_install valgrind
+               ;;
 esac