X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=scripts%2Flttng-ust%2Fbuild.sh;h=7341b0c63347581246859a193141babebb0f37be;hb=1794bc79e85035db21907bd9cf5c40f895258788;hp=acae6016d62b878549a28ab4a9f0e285e48749a1;hpb=0f7217a0fd3218649b7abe1b5cfcfc601422af98;p=lttng-ci.git diff --git a/scripts/lttng-ust/build.sh b/scripts/lttng-ust/build.sh index acae601..7341b0c 100755 --- a/scripts/lttng-ust/build.sh +++ b/scripts/lttng-ust/build.sh @@ -89,6 +89,8 @@ conf=${conf:-} build=${build:-} cc=${cc:-} +# Controls if the tests are run +LTTNG_UST_RUN_TESTS="${LTTNG_UST_RUN_TESTS:=yes}" DEPS_INC="$WORKSPACE/deps/build/include" DEPS_LIB="$WORKSPACE/deps/build/lib" @@ -118,49 +120,17 @@ gcc) export CC=gcc export CXX=g++ ;; -gcc-4.8) - export CC=gcc-4.8 - export CXX=g++-4.8 - ;; -gcc-5) - export CC=gcc-5 - export CXX=g++-5 - ;; -gcc-6) - export CC=gcc-6 - export CXX=g++-6 - ;; -gcc-7) - export CC=gcc-7 - export CXX=g++-7 - ;; -gcc-8) - export CC=gcc-8 - export CXX=g++-8 +gcc-*) + export CC=gcc-${cc#gcc-} + export CXX=g++-${cc#gcc-} ;; clang) export CC=clang export CXX=clang++ ;; -clang-3.9) - export CC=clang-3.9 - export CXX=clang++-3.9 - ;; -clang-4.0) - export CC=clang-4.0 - export CXX=clang++-4.0 - ;; -clang-5.0) - export CC=clang-5.0 - export CXX=clang++-5.0 - ;; -clang-6.0) - export CC=clang-6.0 - export CXX=clang++-6.0 - ;; -clang-7) - export CC=clang-7 - export CXX=clang++-7 +clang-*) + export CC=clang-${cc#clang-} + export CXX=clang++-${cc#clang-} ;; *) if [ "x$cc" != "x" ]; then @@ -176,7 +146,7 @@ fi # Set platform variables case "$arch" in -freebsd) +freebsd*) export MAKE=gmake export TAR=tar export NPROC="getconf _NPROCESSORS_ONLN" @@ -185,6 +155,7 @@ freebsd) export PYTHON="python3" export PYTHON_CONFIG="python3-config" export CLASSPATH='/usr/local/share/java/classes/*' + export JAVA_HOME='/usr/local/openjdk11' ;; *) @@ -193,7 +164,7 @@ freebsd) export NPROC=nproc export PYTHON="python3" export PYTHON_CONFIG="python3-config" - export CLASSPATH='/usr/share/java/*' + export CLASSPATH='/usr/share/java/log4j-api.jar:/usr/share/java/log4j-core.jar:/usr/share/java/log4j-1.2.jar' ;; esac @@ -211,6 +182,15 @@ cd "$SRCDIR" eval "$(grep '^PACKAGE_VERSION=' ./configure)" PACKAGE_VERSION=${PACKAGE_VERSION//\-pre*/} +# Gerrit will trigger build on FreeBSD regardless of the branch, exit +# successfuly when the version is < 2.13. +if [[ $arch == freebsd* ]] && verlt "$PACKAGE_VERSION" "2.13"; then + mkdir -p "$WORKSPACE/tap/no-log" + echo "1..1" > "$WORKSPACE/tap/no-log/tests.log" + echo "ok 1 - FreeBSD build unsupported in < 2.13" >> "$WORKSPACE/tap/no-log/tests.log" + exit 0 +fi + # Set configure options and environment variables for each build # configuration. CONF_OPTS=("--prefix=$PREFIX") @@ -228,6 +208,11 @@ agents) echo "Java and Python agents configuration" CONF_OPTS+=("--enable-java-agent-all" "--enable-jni-interface" "--enable-python-agent") + + # Explicitly add '--enable-java-agent-log4j2', it's not part of '-all' in stable 2.12/2.13 + if verlt "$PACKAGE_VERSION" "2.14"; then + CONF_OPTS+=("--enable-java-agent-log4j2") + fi ;; debug-rcu) @@ -264,7 +249,7 @@ dist) # Run configure and generate the tar file # in the source directory - ./configure || failed_configure + ./configure --enable-jni-interface || failed_configure $MAKE dist # Create and enter a temporary build directory @@ -287,7 +272,7 @@ oot-dist) cd "$builddir" # Run configure out of tree and generate the tar file - "$SRCDIR/configure" || failed_configure + "$SRCDIR/configure" --enable-jni-interface || failed_configure $MAKE dist dist_srcdir="$(mktemp -d)" @@ -322,16 +307,18 @@ $MAKE install DESTDIR="$WORKSPACE" # Run tests, don't fail now, we want to run the archiving steps failed_tests=0 -$MAKE --keep-going check || failed_tests=1 +if [ "$LTTNG_UST_RUN_TESTS" = "yes" ]; then + $MAKE --keep-going check || failed_tests=1 -# Copy tap logs for the jenkins tap parser before cleaning the build dir -rsync -a --exclude 'test-suite.log' --include '*/' --include '*.log' --exclude='*' tests/ "$WORKSPACE/tap" + # Copy tap logs for the jenkins tap parser before cleaning the build dir + rsync -a --exclude 'test-suite.log' --include '*/' --include '*.log' --exclude='*' tests/ "$WORKSPACE/tap" -# The test suite prior to 2.8 did not produce TAP logs -if verlt "$PACKAGE_VERSION" "2.8"; then - mkdir -p "$WORKSPACE/tap/no-log" - echo "1..1" > "$WORKSPACE/tap/no-log/tests.log" - echo "ok 1 - Test suite doesn't support logging" >> "$WORKSPACE/tap/no-log/tests.log" + # The test suite prior to 2.8 did not produce TAP logs + if verlt "$PACKAGE_VERSION" "2.8"; then + mkdir -p "$WORKSPACE/tap/no-log" + echo "1..1" > "$WORKSPACE/tap/no-log/tests.log" + echo "ok 1 - Test suite doesn't support logging" >> "$WORKSPACE/tap/no-log/tests.log" + fi fi # Clean the build directory