diff --git a/travis-ci/managers/debian.sh b/travis-ci/managers/debian.sh index 759bb78..bf1c060 100755 --- a/travis-ci/managers/debian.sh +++ b/travis-ci/managers/debian.sh @@ -7,7 +7,8 @@ ENV_VARS="${ENV_VARS:-}" DOCKER_RUN="${DOCKER_RUN:-docker run}" REPO_ROOT="${REPO_ROOT:-$PWD}" ADDITIONAL_DEPS=(clang pkg-config gcc-10) -CFLAGS="-g -O2 -Werror -Wall" +EXTRA_CFLAGS="" +EXTRA_LDFLAGS="" function info() { echo -e "\033[33;1m$1\033[0m" @@ -55,17 +56,17 @@ for phase in "${PHASES[@]}"; do elif [[ "$phase" = *"GCC10"* ]]; then ENV_VARS="-e CC=gcc-10 -e CXX=g++-10" CC="gcc-10" - CFLAGS="${CFLAGS} -Wno-stringop-truncation" else - CFLAGS="${CFLAGS} -Wno-stringop-truncation" + EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wno-stringop-truncation" fi if [[ "$phase" = *"ASAN"* ]]; then - CFLAGS="${CFLAGS} -fsanitize=address,undefined" + EXTRA_CFLAGS="${EXTRA_CFLAGS} -fsanitize=address,undefined" + EXTRA_LDFLAGS="${EXTRA_LDFLAGS} -fsanitize=address,undefined" fi docker_exec mkdir build install docker_exec ${CC} --version info "build" - docker_exec make -j$((4*$(nproc))) CFLAGS="${CFLAGS}" -C ./src -B OBJDIR=../build + docker_exec make -j$((4*$(nproc))) EXTRA_CFLAGS="${EXTRA_CFLAGS}" EXTRA_LDFLAGS="${EXTRA_LDFLAGS}" -C ./src -B OBJDIR=../build info "ldd build/libbpf.so:" docker_exec ldd build/libbpf.so if ! docker_exec ldd build/libbpf.so | grep -q libelf; then @@ -75,7 +76,7 @@ for phase in "${PHASES[@]}"; do info "install" docker_exec make -j$((4*$(nproc))) -C src OBJDIR=../build DESTDIR=../install install info "link binary" - docker_exec bash -c "CFLAGS=\"${CFLAGS}\" ./travis-ci/managers/test_compile.sh" + docker_exec bash -c "EXTRA_CFLAGS=\"${EXTRA_CFLAGS}\" EXTRA_LDFLAGS=\"${EXTRA_LDFLAGS}\" ./travis-ci/managers/test_compile.sh" ;; CLEANUP) info "Cleanup phase" diff --git a/travis-ci/managers/test_compile.sh b/travis-ci/managers/test_compile.sh index 01b7fed..094ba3e 100755 --- a/travis-ci/managers/test_compile.sh +++ b/travis-ci/managers/test_compile.sh @@ -1,7 +1,8 @@ #!/bin/bash set -euox pipefail -CFLAGS=${CFLAGS:-} +EXTRA_CFLAGS=${EXTRA_CFLAGS:-} +EXTRA_LDFLAGS=${EXTRA_LDFLAGS:-} cat << EOF > main.c #include @@ -11,4 +12,4 @@ int main() { EOF # static linking -${CC:-cc} ${CFLAGS} -o main -I./install/usr/include main.c ./build/libbpf.a -lelf -lz +${CC:-cc} ${EXTRA_CFLAGS} ${EXTRA_LDFLAGS} -o main -I./include/uapi -I./install/usr/include main.c ./build/libbpf.a -lelf -lz diff --git a/travis-ci/managers/ubuntu.sh b/travis-ci/managers/ubuntu.sh index 8af229e..7fe1b3f 100755 --- a/travis-ci/managers/ubuntu.sh +++ b/travis-ci/managers/ubuntu.sh @@ -10,14 +10,15 @@ source "$(dirname $0)/travis_wait.bash" cd $REPO_ROOT -CFLAGS="-g -O2 -Werror -Wall -fsanitize=address,undefined -Wno-stringop-truncation" +EXTRA_CFLAGS="-Werror -Wall -fsanitize=address,undefined" +EXTRA_LDFLAGS="-Werror -Wall -fsanitize=address,undefined" mkdir build install cc --version -make -j$((4*$(nproc))) CFLAGS="${CFLAGS}" -C ./src -B OBJDIR=../build +make -j$((4*$(nproc))) EXTRA_CFLAGS="${EXTRA_CFLAGS}" EXTRA_LDFLAGS="${EXTRA_LDFLAGS}" -C ./src -B OBJDIR=../build ldd build/libbpf.so if ! ldd build/libbpf.so | grep -q libelf; then echo "FAIL: No reference to libelf.so in libbpf.so!" exit 1 fi make -j$((4*$(nproc))) -C src OBJDIR=../build DESTDIR=../install install -CFLAGS=${CFLAGS} $(dirname $0)/test_compile.sh +EXTRA_CFLAGS=${EXTRA_CFLAGS} EXTRA_LDFLAGS=${EXTRA_LDFLAGS} $(dirname $0)/test_compile.sh