Dmitry V. Levin | cb7409c | 2016-06-18 22:53:25 +0000 | [diff] [blame] | 1 | #!/bin/sh -ex |
| 2 | |
| 3 | updated= |
| 4 | apt_get_install() |
| 5 | { |
| 6 | [ -n "$updated" ] || { |
| 7 | sudo apt-get -qq update |
| 8 | updated=1 |
| 9 | } |
| 10 | sudo apt-get -qq --no-install-suggests --no-install-recommends \ |
| 11 | install -y "$@" |
| 12 | } |
| 13 | |
| 14 | case "$CC" in |
| 15 | gcc) |
| 16 | apt_get_install gcc-multilib |
| 17 | ;; |
| 18 | clang-*) |
| 19 | apt_get_install gcc-multilib "$CC" |
| 20 | ;; |
| 21 | musl-gcc) |
Dmitry V. Levin | f4001a3 | 2016-08-04 00:40:33 +0000 | [diff] [blame] | 22 | apt_get_install gcc-multilib |
| 23 | git clone --depth=1 https://github.com/strace/musl |
| 24 | cd musl |
| 25 | CC=gcc |
| 26 | ./configure --prefix=/opt/musl --exec-prefix=/usr |
| 27 | make |
| 28 | sudo make install |
| 29 | cd - |
| 30 | rm -rf musl |
| 31 | sudo ln -s \ |
| 32 | /usr/include/linux \ |
| 33 | /usr/include/asm \ |
| 34 | /usr/include/asm-generic \ |
| 35 | /usr/include/mtd \ |
| 36 | /opt/musl/include/ |
Dmitry V. Levin | cb7409c | 2016-06-18 22:53:25 +0000 | [diff] [blame] | 37 | ;; |
| 38 | esac |
| 39 | |
| 40 | if [ "${COVERAGE-}" = true ]; then |
| 41 | apt_get_install lcov |
| 42 | pip install --user codecov |
| 43 | fi |