summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/jenkins_amd64.sh33
-rwxr-xr-xcontrib/jenkins_arch.sh33
-rwxr-xr-xcontrib/jenkins_arm.sh28
3 files changed, 94 insertions, 0 deletions
diff --git a/contrib/jenkins_amd64.sh b/contrib/jenkins_amd64.sh
new file mode 100755
index 00000000..d336f0a0
--- /dev/null
+++ b/contrib/jenkins_amd64.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+# jenkins build helper script for libosmocore. This is how we build on jenkins.osmocom.org
+
+. $(dirname "$0")/jenkins_common.sh
+
+ENABLE_SANITIZE="--enable-sanitize"
+
+if [ "x$label" = "xFreeBSD_amd64" ]; then
+ ENABLE_SANITIZE=""
+fi
+
+src_dir="$PWD"
+build() {
+ build_dir="$1"
+
+ prep_build "$src_dir" "$build_dir"
+
+ "$src_dir"/configure --enable-static $ENABLE_SANITIZE CFLAGS="-Werror" CPPFLAGS="-Werror"
+ $MAKE V=1 $PARALLEL_MAKE check \
+ || cat-testlogs.sh
+}
+
+# verify build in dir other than source tree
+build builddir
+# verify build in source tree
+build .
+
+# do distcheck only once, which is fine from built source tree, since distcheck
+# is well separated from the source tree state.
+$MAKE distcheck \
+ || cat-testlogs.sh
+
+osmo-clean-workspace.sh
diff --git a/contrib/jenkins_arch.sh b/contrib/jenkins_arch.sh
new file mode 100755
index 00000000..bac92780
--- /dev/null
+++ b/contrib/jenkins_arch.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+# this is a dispatcher script which will call the arch-specific
+# script based on the arch specified as command line argument
+
+arch="$1"
+
+if [ "x$arch" == "x" ]; then
+ echo "Error: You have to specify the architecture as first argument, e.g. $0 amd64"
+ exit 2
+fi
+
+if [ ! -d "./contrib" ]; then
+ echo "Run ./contrib/jenkins_arch.sh from the root of the libosmocore tree"
+ exit 1
+fi
+
+set -x -e
+
+case "$arch" in
+
+ amd64)
+ ./contrib/jenkins_amd64.sh
+ ;;
+
+ arch)
+ ./contrib/jenkins_arch.sh
+ ;;
+
+ *)
+ set +x
+ echo "Unexpected architecture '$arch'"
+ ;;
+esac
diff --git a/contrib/jenkins_arm.sh b/contrib/jenkins_arm.sh
new file mode 100755
index 00000000..acdbe3cc
--- /dev/null
+++ b/contrib/jenkins_arm.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+. $(dirname "$0")/jenkins_common.sh
+
+src_dir="$PWD"
+build() {
+ build_dir="$1"
+
+ prep_build "$src_dir" "$build_dir"
+
+ "$src_dir"/configure --enable-static \
+ --prefix=/usr/local/arm-none-eabi \
+ --host=arm-none-eabi \
+ --enable-embedded \
+ --disable-doxygen \
+ --disable-shared \
+ CFLAGS="-Os -ffunction-sections -fdata-sections -nostartfiles -nodefaultlibs -Werror"
+
+ $MAKE $PARALLEL_MAKE \
+ || cat-testlogs.sh
+}
+
+# verify build in dir other than source tree
+build builddir
+# verify build in source tree
+build .
+
+osmo-clean-workspace.sh