blob: 62e6516350128207f682325fd708efbbcce01e94 [file] [log] [blame]
Harald Welteb53e2bf2020-08-21 16:33:42 +02001#!/usr/bin/env bash
2# jenkins build helper script for osmo-smlc. This is how we build on jenkins.osmocom.org
3#
4# environment variables:
5# * WITH_MANUALS: build manual PDFs if set to "1"
6# * PUBLISH: upload manuals after building if set to "1" (ignored without WITH_MANUALS = "1")
7#
8
9if ! [ -x "$(command -v osmo-build-dep.sh)" ]; then
10 echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !"
11 exit 2
12fi
13
14
15set -ex
16
17base="$PWD"
18deps="$base/deps"
19inst="$deps/install"
20export deps inst
21
22osmo-clean-workspace.sh
23
24mkdir "$deps" || true
25
26osmo-build-dep.sh libosmocore "" '--disable-doxygen --enable-gnutls'
27
28verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]")
29
30export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH"
31export LD_LIBRARY_PATH="$inst/lib"
32export PATH="$inst/bin:$PATH"
33
Harald Welteb6ebda32020-08-22 09:33:47 +020034osmo-build-dep.sh libosmo-abis
Harald Welteb53e2bf2020-08-21 16:33:42 +020035osmo-build-dep.sh libosmo-netif
36osmo-build-dep.sh libosmo-sccp
37
38# Additional configure options and depends
39CONFIG=""
40if [ "$WITH_MANUALS" = "1" ]; then
41 osmo-build-dep.sh osmo-gsm-manuals
42 CONFIG="--enable-manuals"
43fi
44
45set +x
46echo
47echo
48echo
49echo " =============================== osmo-smlc ==============================="
50echo
51set -x
52
53cd "$base"
54autoreconf --install --force
55./configure --enable-sanitize --enable-external-tests --enable-werror $CONFIG
56$MAKE $PARALLEL_MAKE
57LD_LIBRARY_PATH="$inst/lib" $MAKE check \
58 || cat-testlogs.sh
59LD_LIBRARY_PATH="$inst/lib" \
60 DISTCHECK_CONFIGURE_FLAGS="--enable-vty-tests --enable-external-tests --enable-werror $CONFIG" \
Vadim Yanitskiyaccb1d12022-08-28 17:39:40 +070061 $MAKE $PARALLEL_MAKE distcheck \
Harald Welteb53e2bf2020-08-21 16:33:42 +020062 || cat-testlogs.sh
63
64if [ "$WITH_MANUALS" = "1" ] && [ "$PUBLISH" = "1" ]; then
65 make -C "$base/doc/manuals" publish
66fi
67
Vadim Yanitskiyaccb1d12022-08-28 17:39:40 +070068$MAKE $PARALLEL_MAKE maintainer-clean
Harald Welteb53e2bf2020-08-21 16:33:42 +020069osmo-clean-workspace.sh