Commit Graph

9 Commits

Author SHA1 Message Date
Neels Hofmeyr 6648fe8f1e jenkins.sh: don't build twice
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
2016-09-09 06:43:30 +00:00
Neels Hofmeyr e75a6297da jenkins.sh: cosmetic: mark start of main build
Add function 'marker' so we don't repeat the five echos, use in build_dep and
before main build.

Change-Id: I58ab958414eb9e9b0fd7e214103578e5b4aa6ff2
2016-08-29 15:55:34 +02:00
Neels Hofmeyr 6458c30db4 jenkins.sh: build both with checked-in and regenerated asn1 code
Change-Id: Ifc3e1ae25b66203b0e8def0a9a0b6971b9c3ce93
2016-07-12 00:44:18 +02:00
Neels Hofmeyr 0961408e1b jenkins.sh: echo HEADs' hashes, echo each project name prominently
Change-Id: I967b11b289630ba6ae1b102c1d6692625f83b875
2016-07-12 00:44:18 +02:00
Neels Hofmeyr de0acd2ff2 jenkins.sh: fix, remove code dup
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
2016-07-12 00:44:18 +02:00
Alexander Huemer 156fa393fc attempt to fix parallel build, improve AM logic
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>
2016-05-15 23:28:14 +00:00
Holger Hans Peter Freyther 75f8116132 jenkins: Disable parallel make as it is broken right now
sed -i 's,^#include "ranap_ies_defs.h",#include <osmocom/ranap/ranap_ies_defs.h>,' ranap_encoder.c ranap_decoder.c
sed -i 's,^#include "ranap_common.h",#include <osmocom/ranap/ranap_common.h>,' ranap_encoder.c ranap_decoder.c ranap_ies_defs.h
sed -i 's,^#include "ranap_common.h",#include <osmocom/ranap/ranap_common.h>,' ranap_encoder.c ranap_decoder.c ranap_ies_defs.h
mv ranap_ies_defs.h ../include/osmocom/ranap/
sed: can't read ranap_ies_defs.h: No such file or directory
Makefile:916: recipe for target 'ranap_decoder.c' failed
2016-05-03 13:08:55 +02:00
Holger Hans Peter Freyther 02601c8785 contrib: Put asn1c into the PATH as well 2016-04-27 22:36:20 +02:00
Holger Hans Peter Freyther 64f5639eae contrib: Add build script used on the jenkins to build it
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.
2016-04-27 22:06:46 +02:00