jjb: Add babeltrace stable-2.0 jobs
authorMichael Jeanson <mjeanson@efficios.com>
Tue, 1 Aug 2017 19:28:35 +0000 (15:28 -0400)
committerMichael Jeanson <mjeanson@efficios.com>
Tue, 1 Aug 2017 19:28:35 +0000 (15:28 -0400)
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
jobs/babeltrace.yaml
scripts/babeltrace/build.sh

index 12d80acceb8f86b6c88de4be58138d384d583fbe..c650db589d4b7435ff5cdc6de45befd324d3986e 100644 (file)
       - stable-1.3
       - stable-1.4
       - stable-1.5
+      - stable-2.0
       - master
     jobs:
       - 'babeltrace_{version}_{buildtype}':
           conf: !!python/tuple [std]
       - 'babeltrace_{version}_{buildtype}':
           buildtype: solarisbuild
-          arch: !!python/tuple [solaris10, solaris11]
+          arch: !!python/tuple [sol10-i386, sol11-i386]
           build: !!python/tuple [std]
           conf: !!python/tuple [std, static]
       - 'babeltrace_{version}_{buildtype}':
           arch: !!python/tuple [macosx]
           build: !!python/tuple [std]
           conf: !!python/tuple [std]
-          version:
+          version: # macOS support was introduced in 1.4
             - stable-1.4
             - stable-1.5
+            - stable-2.0
             - master
       - 'babeltrace_{version}_winbuild':
           arch: !!python/tuple [cygwin, cygwin64, msys2-mingw32, msys2-mingw64]
           build: !!python/tuple [std]
           conf: !!python/tuple [std]
-          version:
+          version: # Mingw support was introduced in 2.0
+            - stable-2.0
             - master
       - 'babeltrace_{version}_winbuild':
           arch: !!python/tuple [cygwin, cygwin64]
           build: !!python/tuple [std]
           conf: !!python/tuple [std]
-          version:
+          version: # Cygwin support was introduced in 1.5
             - stable-1.5
       - 'babeltrace_{version}_cppcheck'
       - 'babeltrace_{version}_scan-build'
           version: master
       - 'babeltrace_{version}_glib-2.22.5':
           version: master
+
+
+- project:
+    name: babeltrace-jgalar-staging
+    user: jgalar
+    github_user: jgalar
+    github_name: babeltrace
+    version:
+      - stable-1.3-staging
+      - stable-1.4-staging
+      - stable-1.5-staging
+      - stable-2.0-staging
+      - master-staging
+    jobs:
       - 'dev_{user}_babeltrace_{version}_glib-2.22.5':
-          user: jgalar
-          github_user: jgalar
-          github_name: babeltrace
           version:
             - master-staging
       - 'dev_{user}_babeltrace_{version}_{buildtype}':
-          user: jgalar
-          github_user: jgalar
-          github_name: babeltrace
           buildtype: build
-          version:
-            - master-staging
-            - stable-1.3-staging
-            - stable-1.4-staging
-            - stable-1.5-staging
           arch: !!python/tuple [x86-32, x86-64]
           build: !!python/tuple [std, oot, dist]
           conf: !!python/tuple [std, static, python-bindings]
       - 'dev_{user}_babeltrace_{version}_{buildtype}':
-          user: jgalar
-          github_user: jgalar
-          github_name: babeltrace
           buildtype: macosxbuild
-          version:
-            - master-staging
+          version: # macOS support was introduced in 1.4
             - stable-1.4-staging
             - stable-1.5-staging
+            - stable-2.0-staging
+            - master-staging
           arch: !!python/tuple [macosx]
           build: !!python/tuple [std]
           conf: !!python/tuple [std]
index 2310b3653890630da8bc0b4dfafeafb688ed8baf..6bc76c3a06590ca07fc865952ea94dca5458d32c 100755 (executable)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+# Version compare functions
+vercomp () {
+    set +u
+    if [[ "$1" == "$2" ]]; then
+        return 0
+    fi
+    local IFS=.
+    local i ver1=($1) ver2=($2)
+    # fill empty fields in ver1 with zeros
+    for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do
+        ver1[i]=0
+    done
+    for ((i=0; i<${#ver1[@]}; i++)); do
+        if [[ -z ${ver2[i]} ]]; then
+            # fill empty fields in ver2 with zeros
+            ver2[i]=0
+        fi
+        if ((10#${ver1[i]} > 10#${ver2[i]})); then
+            return 1
+        fi
+        if ((10#${ver1[i]} < 10#${ver2[i]})); then
+            return 2
+        fi
+    done
+    set -u
+    return 0
+}
+
+verlte() {
+    vercomp "$1" "$2"; local res="$?"
+    [ "$res" -eq "0" ] || [ "$res" -eq "2" ]
+}
+
+verlt() {
+    vercomp "$1" "$2"; local res="$?"
+    [ "$res" -eq "2" ]
+}
+
+vergte() {
+    vercomp "$1" "$2"; local res="$?"
+    [ "$res" -eq "0" ] || [ "$res" -eq "1" ]
+}
+
+vergt() {
+    vercomp "$1" "$2"; local res="$?"
+    [ "$res" -eq "1" ]
+}
+
+verne() {
+    vercomp "$1" "$2"; local res="$?"
+    [ "$res" -ne "0" ]
+}
+
 # Required parameters
 arch=${arch:-}
 conf=${conf:-}
@@ -34,47 +87,62 @@ export TMPDIR
 
 # Set platform variables
 case "$arch" in
-solaris10)
-    MAKE=gmake
-    TAR=gtar
-    NPROC=gnproc
-    BISON=bison
-    YACC="$BISON -y"
+sol10-i386)
+    export MAKE=gmake
+    export TAR=gtar
+    export NPROC=gnproc
+    export BISON=bison
+    export YACC="$BISON -y"
     export PATH="/opt/csw/bin:/usr/ccs/bin:$PATH"
+    export CPPFLAGS="-I/opt/csw/include"
+    export LDFLAGS="-L/opt/csw/lib -R/opt/csw/lib"
+    export PKG_CONFIG_PATH="/opt/csw/lib/pkgconfig"
     ;;
-solaris11)
-    MAKE=gmake
-    TAR=gtar
-    NPROC=nproc
-    BISON="/opt/csw/bin/bison"
-    YACC="$BISON -y"
+sol11-i386)
+    export MAKE=gmake
+    export TAR=gtar
+    export NPROC=nproc
+    export BISON="/opt/csw/bin/bison"
+    export YACC="$BISON -y"
     export PATH="$PATH:/usr/perl5/bin"
+    export LD_ALTEXEC=/usr/sfw/bin/gld
+    export LD=/usr/sfw/bin/gld
     ;;
 macosx)
-    MAKE=make
-    TAR=tar
-    NPROC="getconf _NPROCESSORS_ONLN"
-    BISON="bison"
-    YACC="$BISON -y"
+    export MAKE=make
+    export TAR=tar
+    export NPROC="getconf _NPROCESSORS_ONLN"
+    export BISON="bison"
+    export YACC="$BISON -y"
     export PATH="/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
     export CFLAGS="-I/opt/local/include"
     export LDFLAGS="-L/opt/local/lib"
     ;;
 *)
-    MAKE=make
-    TAR=tar
-    NPROC=nproc
-    BISON=bison
-    YACC="$BISON -y"
+    export MAKE=make
+    export TAR=tar
+    export NPROC=nproc
     ;;
 esac
 
+# Enter the source directory
+cd "$SRCDIR"
+
+# Run bootstrap in the source directory prior to configure
+./bootstrap
+
+# Get source version from configure script
+eval "$(grep '^PACKAGE_VERSION=' ./configure)"
+
 # Set configure options for each build configuration
 CONF_OPTS=""
 case "$conf" in
 static)
     echo "Static build"
     CONF_OPTS="--enable-static --disable-shared"
+    if vergte "$PACKAGE_VERSION" "2.0"; then
+        CONF_OPTS="${CONF_OPTS} --enable-built-in-plugins"
+    fi
     ;;
 python-bindings)
     echo "Build with python bindings"
@@ -82,6 +150,10 @@ python-bindings)
     export PYTHON="python3"
     export PYTHON_CONFIG="/usr/bin/python3-config"
     CONF_OPTS="--enable-python-bindings"
+
+    if vergte "$PACKAGE_VERSION" "2.0"; then
+        CONF_OPTS="${CONF_OPTS} --enable-python-bindings-doc --enable-python-bindings-tests --enable-python-plugins"
+    fi
     ;;
 *)
     echo "Standard build"
@@ -89,13 +161,6 @@ python-bindings)
     ;;
 esac
 
-# Enter the source directory
-cd "$SRCDIR"
-
-# Run bootstrap in the source directory prior to configure
-./bootstrap
-
-
 # Build type
 # oot : out-of-tree build
 # dist: build via make dist
@@ -110,7 +175,7 @@ case "$build" in
         BUILD_PATH="$WORKSPACE/oot"
         mkdir -p "$BUILD_PATH"
         cd "$BUILD_PATH"
-        MAKE=$MAKE BISON="$BISON" YACC="$YACC" "$SRCDIR/configure" --prefix="$PREFIX" $CONF_OPTS
+        "$SRCDIR/configure" --prefix="$PREFIX" $CONF_OPTS
         ;;
 
     dist)
@@ -118,7 +183,7 @@ case "$build" in
         BUILD_PATH="$(mktemp -d)"
 
         # Initial configure and generate tarball
-        MAKE=$MAKE BISON="$BISON" YACC="$YACC" "$SRCDIR/configure"
+        "$SRCDIR/configure"
         $MAKE dist
 
         mkdir -p "$BUILD_PATH"
@@ -128,18 +193,18 @@ case "$build" in
         # Ignore level 1 of tar
         $TAR xvf ./*.tar.* --strip 1
 
-        MAKE=$MAKE BISON="$BISON" YACC="$YACC" "$BUILD_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
+        "$BUILD_PATH/configure" --prefix="$PREFIX" $CONF_OPTS
         ;;
 
     clang)
         echo "LLVM clang build"
         export CC=clang
         clang -v
-       MAKE=$MAKE BISON="$BISON" YACC="$YACC" "$SRCDIR/configure" --prefix="$PREFIX" $CONF_OPTS
+       "$SRCDIR/configure" --prefix="$PREFIX" $CONF_OPTS
         ;;
     *)
         echo "Standard in-tree build"
-        MAKE=$MAKE BISON="$BISON" YACC="$YACC" "$SRCDIR/configure" --prefix="$PREFIX" $CONF_OPTS
+        "$SRCDIR/configure" --prefix="$PREFIX" $CONF_OPTS
         ;;
 esac
 
This page took 0.027504 seconds and 4 git commands to generate.