blob: c24bec23ebf0f5caf8612525b7b3801be04e7e8f [file] [log] [blame]
Holger Hans Peter Freyther64f56392016-04-27 22:06:46 +02001#!/usr/bin/env bash
2
3set -ex
4
Neels Hofmeyrde0acd22016-07-11 17:10:49 +02005base="$PWD"
6deps="$base/deps"
7inst="$deps/install"
Holger Hans Peter Freyther64f56392016-04-27 22:06:46 +02008
Neels Hofmeyrde0acd22016-07-11 17:10:49 +02009mkdir "$deps" || true
10rm -rf "$inst"
11
Neels Hofmeyre75a6292016-08-27 13:59:54 +020012marker() {
Neels Hofmeyr09614082016-07-11 19:27:22 +020013 set +x
14 echo
15 echo
16 echo
Neels Hofmeyre75a6292016-08-27 13:59:54 +020017 echo " =============================== $@ ==============================="
Neels Hofmeyr09614082016-07-11 19:27:22 +020018 echo
19 set -x
Neels Hofmeyre75a6292016-08-27 13:59:54 +020020}
21
22build_dep() {
23 project="$1"
24 branch="$2"
25 marker $project
Neels Hofmeyrde0acd22016-07-11 17:10:49 +020026 if [ -z "$project" ]; then
27 echo "internal failure"
28 exit 1
29 fi
30 cd "$deps"
31 rm -rf "$project"
32 osmo-deps.sh "$project"
33 cd "$project"
34 if [ -n "$branch" ]; then
35 git checkout "$branch"
36 fi
Neels Hofmeyr09614082016-07-11 19:27:22 +020037 git rev-parse HEAD
Neels Hofmeyrde0acd22016-07-11 17:10:49 +020038 autoreconf --install --force
39 ./configure --prefix="$inst"
40 $MAKE $PARALLEL_MAKE install
41}
42
43build_dep libosmocore
44
45# All below builds want this PKG_CONFIG_PATH
46export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH"
47
48build_dep libosmo-abis
49build_dep libosmo-netif sysmocom/sctp
50build_dep libosmo-sccp sysmocom/iu
51build_dep libasn1c
52
53# the asn1c binary is used by the 'regen' target below
54build_dep asn1c aper-prefix
55
Neels Hofmeyre75a6292016-08-27 13:59:54 +020056marker osmo-iuh
Neels Hofmeyrde0acd22016-07-11 17:10:49 +020057cd "$base"
Neels Hofmeyr6458c302016-07-11 21:56:15 +020058# Build using the checked-in asn1 code
59autoreconf --install --force
60./configure
61$MAKE $PARALLEL_MAKE
62LD_LIBRARY_PATH="$inst/lib" $MAKE check
63# distcheck is broken
64#LD_LIBRARY_PATH=$PWD/deps/install/lib $MAKE distcheck
65make clean
66
67# Build with regenerated asn1 code
Holger Hans Peter Freyther64f56392016-04-27 22:06:46 +020068autoreconf --install --force
Neels Hofmeyrde0acd22016-07-11 17:10:49 +020069./configure
70PATH="$inst/bin:$PATH" $MAKE $PARALLEL_MAKE -C src regen
71$MAKE $PARALLEL_MAKE
72LD_LIBRARY_PATH="$inst/lib" $MAKE check
Holger Hans Peter Freyther64f56392016-04-27 22:06:46 +020073# distcheck is broken
Neels Hofmeyrde0acd22016-07-11 17:10:49 +020074#LD_LIBRARY_PATH=$PWD/deps/install/lib $MAKE distcheck