Holger Hans Peter Freyther | 64f5639 | 2016-04-27 22:06:46 +0200 | [diff] [blame] | 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | set -ex |
| 4 | |
Neels Hofmeyr | de0acd2 | 2016-07-11 17:10:49 +0200 | [diff] [blame] | 5 | base="$PWD" |
| 6 | deps="$base/deps" |
| 7 | inst="$deps/install" |
Holger Hans Peter Freyther | 64f5639 | 2016-04-27 22:06:46 +0200 | [diff] [blame] | 8 | |
Neels Hofmeyr | de0acd2 | 2016-07-11 17:10:49 +0200 | [diff] [blame] | 9 | mkdir "$deps" || true |
| 10 | rm -rf "$inst" |
| 11 | |
Neels Hofmeyr | e75a629 | 2016-08-27 13:59:54 +0200 | [diff] [blame] | 12 | marker() { |
Neels Hofmeyr | 0961408 | 2016-07-11 19:27:22 +0200 | [diff] [blame] | 13 | set +x |
| 14 | echo |
| 15 | echo |
| 16 | echo |
Neels Hofmeyr | e75a629 | 2016-08-27 13:59:54 +0200 | [diff] [blame] | 17 | echo " =============================== $@ ===============================" |
Neels Hofmeyr | 0961408 | 2016-07-11 19:27:22 +0200 | [diff] [blame] | 18 | echo |
| 19 | set -x |
Neels Hofmeyr | e75a629 | 2016-08-27 13:59:54 +0200 | [diff] [blame] | 20 | } |
| 21 | |
| 22 | build_dep() { |
| 23 | project="$1" |
| 24 | branch="$2" |
| 25 | marker $project |
Neels Hofmeyr | de0acd2 | 2016-07-11 17:10:49 +0200 | [diff] [blame] | 26 | 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 Hofmeyr | 0961408 | 2016-07-11 19:27:22 +0200 | [diff] [blame] | 37 | git rev-parse HEAD |
Neels Hofmeyr | de0acd2 | 2016-07-11 17:10:49 +0200 | [diff] [blame] | 38 | autoreconf --install --force |
| 39 | ./configure --prefix="$inst" |
| 40 | $MAKE $PARALLEL_MAKE install |
| 41 | } |
| 42 | |
| 43 | build_dep libosmocore |
| 44 | |
| 45 | # All below builds want this PKG_CONFIG_PATH |
| 46 | export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH" |
| 47 | |
| 48 | build_dep libosmo-abis |
| 49 | build_dep libosmo-netif sysmocom/sctp |
| 50 | build_dep libosmo-sccp sysmocom/iu |
| 51 | build_dep libasn1c |
| 52 | |
| 53 | # the asn1c binary is used by the 'regen' target below |
| 54 | build_dep asn1c aper-prefix |
| 55 | |
Neels Hofmeyr | e75a629 | 2016-08-27 13:59:54 +0200 | [diff] [blame] | 56 | marker osmo-iuh |
Neels Hofmeyr | de0acd2 | 2016-07-11 17:10:49 +0200 | [diff] [blame] | 57 | cd "$base" |
Neels Hofmeyr | 6458c30 | 2016-07-11 21:56:15 +0200 | [diff] [blame] | 58 | |
Holger Hans Peter Freyther | 64f5639 | 2016-04-27 22:06:46 +0200 | [diff] [blame] | 59 | autoreconf --install --force |
Neels Hofmeyr | de0acd2 | 2016-07-11 17:10:49 +0200 | [diff] [blame] | 60 | ./configure |
Neels Hofmeyr | 6648fe8 | 2016-08-29 15:50:14 +0200 | [diff] [blame^] | 61 | |
| 62 | # Verify that checked-in asn1 code is identical to regenerated asn1 code |
Neels Hofmeyr | de0acd2 | 2016-07-11 17:10:49 +0200 | [diff] [blame] | 63 | PATH="$inst/bin:$PATH" $MAKE $PARALLEL_MAKE -C src regen |
Neels Hofmeyr | 6648fe8 | 2016-08-29 15:50:14 +0200 | [diff] [blame^] | 64 | |
| 65 | # attempt to settle the file system |
| 66 | sleep 1 |
| 67 | |
| 68 | git status |
| 69 | git diff | cat |
| 70 | |
| 71 | if ! git diff-files --quiet ; then |
| 72 | echo "ERROR: 'make -C src regen' does not match committed asn1 code" |
| 73 | exit 1 |
| 74 | fi |
| 75 | |
Neels Hofmeyr | de0acd2 | 2016-07-11 17:10:49 +0200 | [diff] [blame] | 76 | $MAKE $PARALLEL_MAKE |
| 77 | LD_LIBRARY_PATH="$inst/lib" $MAKE check |
Holger Hans Peter Freyther | 64f5639 | 2016-04-27 22:06:46 +0200 | [diff] [blame] | 78 | # distcheck is broken |
Neels Hofmeyr | de0acd2 | 2016-07-11 17:10:49 +0200 | [diff] [blame] | 79 | #LD_LIBRARY_PATH=$PWD/deps/install/lib $MAKE distcheck |