Instead of building the same .c files twice, rather verify that the
'make regen' target produces identical .c files as are checked in.
Change-Id: I18e7677d8596f61b883e9db57b4bdd2a5c154ec3
Have a bash function to build each dependency with the same commands. There is
a tradeoff: having each dependency build with the same function means you can't
easily tweak one of the dependencies. OTOH having a unified function means a)
more readable script, b) that we're sure not to forget some steps and c) no
need to do the same edit n times.
Set the PKG_CONFIG_PATH globally. Also a tradeoff: if a future addition
wouldn't need the same PKG_CONFIG_PATH, this would make things ugly. But that
is actually quite unlikely, and the readability improvement is substantial.
Use env variables to remember local paths. That means we always are sure to cd
to the same absolute base path, which a 'cd ..' can't guarantee; also, we avoid
possible typos for e.g. "$deps/install".
Build sysmocom/sctp branch of libosmo-netif, as needed for libosmo-sccp's
sysmocom/iu branch.
Build aper-prefix branch of asn1c, as needed by 'regen'.
'make regen' first, to generate the .c from asn1, needed by the build.
Change-Id: Ia7b4b9788b9c951f8be00cc5ae72a9c0a776fe64
The formerly existing make rule caused a race condition in parallel builds and
wrongly stated the .c files as targets, which caused make to execute the
rule twice (once for each target). This was actually only fallout of the
attempt to express the fact that those two files are generated by the rule.
The generated file ranap_ies_defs.h was moved by one make job, another
job then tried to access the file in the old location and failed.
parallel build verified with:
$ for i in $(seq 1 10)
do
echo "XXXX iteration $i"
git clean -xfd
autoreconf -i
./configure
make -j${i} || break
done
Coauthored by Andreas Rottmann <mail@rotty.xx.vu>
Change-Id: I439edcb4b7742de861c99ed401114f51061f8088
Reviewed-on: https://gerrit.osmocom.org/65
Tested-by: Jenkins Builder
Reviewed-by: Harald Welte <laforge@gnumonks.org>
This tests compilation, runs the tests, regenerates the ASN1 code,
compiles it and tests it as well. The make distcheck target is not
working right now.