[PATCH] osmo-iuh[master]: build: fix ranap gen, use same for gen hnbap and rua gen

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Mon Aug 29 16:05:27 UTC 2016


Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/782

to look at the new patch set (#2).

build: fix ranap gen, use same for gen hnbap and rua gen

fix extraneous rebuild for each make invocation: touch the ranap.stamp file in
src/ as the make target suggests.

fix for 'make distcheck': ranap gen: move generated sources to builddir, not
srcdir. Thus we also -I the builddir include to pick up those headers.

hnbap and rua have the same situation as ranap (they generate numerous files
from a single make rule). Use the same makefile semantics for those two
(commit for ranap gen omitted the same changes for hnbap and rua).

The generated headers are thus moved to include/osmocom/*/, so adjust #include
statements accordingly (*_common.h, *_ies_defs.h).

Also move hnbap_common.h to include/osmocom/hnbap and rua_common.h to
include/osmocom/rua, since the *_ies_defs.h want to include them; and since
*_ies_defs.h are now in include/osmocom/*, we want a '<foo>' include now.

Also adjust gitignore.

Change-Id: I32213666fcdfc144008fa7d46497c0938d093e86
---
M .gitignore
M include/osmocom/hnbap/Makefile.am
R include/osmocom/hnbap/hnbap_common.h
M include/osmocom/ranap/Makefile.am
M include/osmocom/rua/Makefile.am
R include/osmocom/rua/rua_common.h
M src/.gitignore
M src/Makefile.am
M src/hnbap_common.c
M src/hnbgw_hnbap.c
M src/hnbgw_rua.c
M src/rua_common.c
M src/rua_msg_factory.c
M src/tests/hnb-test.c
M src/tests/test-hnbap.c
15 files changed, 50 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-iuh refs/changes/82/782/2

diff --git a/.gitignore b/.gitignore
index b2538a7..e1430f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,5 +35,9 @@
 tags
 libosmo-ranap.pc
 m4
+gen_hnbap.stamp
+gen_rua.stamp
 gen_ranap.stamp
+include/osmocom/hnbap/hnbap_ies_defs.h
+include/osmocom/rua/rua_ies_defs.h
 include/osmocom/ranap/ranap_ies_defs.h
diff --git a/include/osmocom/hnbap/Makefile.am b/include/osmocom/hnbap/Makefile.am
index 7ab5d7f..83654cb 100644
--- a/include/osmocom/hnbap/Makefile.am
+++ b/include/osmocom/hnbap/Makefile.am
@@ -1,4 +1,5 @@
 noinst_HEADERS = \
+	hnbap_common.h hnbap_ies_defs.h \
 	AccessResult.h \
 	Access-stratum-release-indicator.h \
 	AdditionalNeighbourInfoList.h \
diff --git a/src/hnbap_common.h b/include/osmocom/hnbap/hnbap_common.h
similarity index 100%
rename from src/hnbap_common.h
rename to include/osmocom/hnbap/hnbap_common.h
diff --git a/include/osmocom/ranap/Makefile.am b/include/osmocom/ranap/Makefile.am
index 13f1e1c..4728ac8 100644
--- a/include/osmocom/ranap/Makefile.am
+++ b/include/osmocom/ranap/Makefile.am
@@ -3,8 +3,8 @@
 # the build process wants this header file, it should first build
 # src/ranap_encoder.c and src/ranap_decoder.c.
 # This rule sucks:
-ranap_ies_defs.h: $(top_builddir)/src/ranap_encoder.c
-	make -C $(top_builddir)/src/ ranap_encoder.c
+ranap_ies_defs.h:
+	$(MAKE) -C $(top_builddir)/src/ gen_ranap.stamp
 
 ranap_HEADERS = \
 	ranap_ies_defs.h \
diff --git a/include/osmocom/rua/Makefile.am b/include/osmocom/rua/Makefile.am
index 059dfb8..8e8896d 100644
--- a/include/osmocom/rua/Makefile.am
+++ b/include/osmocom/rua/Makefile.am
@@ -1,4 +1,5 @@
 noinst_HEADERS = \
+	rua_common.h rua_ies_defs.h \
 	RUA_Ansi-41-IDNNS.h \
 	RUA_Cause.h \
 	RUA_CauseMisc.h \
diff --git a/src/rua_common.h b/include/osmocom/rua/rua_common.h
similarity index 100%
rename from src/rua_common.h
rename to include/osmocom/rua/rua_common.h
diff --git a/src/.gitignore b/src/.gitignore
index 9384c58..55bca01 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -1,13 +1,10 @@
 hnbap_decoder.c
 hnbap_encoder.c
-hnbap_ies_defs.h
 
 rua_decoder.c
 rua_encoder.c
-rua_ies_defs.h
 
 ranap_decoder.c
 ranap_encoder.c
-ranap_ies_defs.h
 
 hnbgw
diff --git a/src/Makefile.am b/src/Makefile.am
index 17e60e2..ffdfef8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -3,25 +3,48 @@
 # Build {hnbap,rua,ranap}_{encoder,decoder}.c using asn1tostruct
 ASN1_ROOT = $(top_builddir)/asn1/
 ASN1TOSTRUCT = $(ASN1_ROOT)/utils/asn1tostruct.py
-BUILT_SOURCES = hnbap_decoder.c hnbap_encoder.c rua_decoder.c rua_encoder.c gen_ranap.stamp
+BUILT_SOURCES = hnbap_decoder.c hnbap_encoder.c rua_decoder.c rua_encoder.c \
+	gen_hnbap.stamp gen_rua.stamp gen_ranap.stamp
 
-hnbap_encoder.c hnbap_decoder.c hnbap_ies_defs.h: $(ASN1_ROOT)/hnbap/HNBAP-PDU-Contents.asn $(ASN1TOSTRUCT)
+gen_hnbap.stamp: $(ASN1_ROOT)/hnbap/HNBAP-PDU-Contents.asn $(ASN1TOSTRUCT)
 	$(ASN1TOSTRUCT) -f $<
+#	We also need to replace the include in the newly generated .c files:
+	sed -i 's,^#include "hnbap_ies_defs.h",#include <osmocom/hnbap/hnbap_ies_defs.h>,' hnbap_encoder.c hnbap_decoder.c
+	sed -i 's,^#include "hnbap_common.h",#include <osmocom/hnbap/hnbap_common.h>,' hnbap_encoder.c hnbap_decoder.c hnbap_ies_defs.h
+	mv hnbap_ies_defs.h $(top_builddir)/include/osmocom/hnbap/
+#	this is ugly ^. hnbap_ies_defs.h is generated from asn1tostruct.py here, but
+#	it should live in include/osmocom/hnbap/.
+	touch $(top_builddir)/src/$@
 
-rua_encoder.c rua_decoder.c rua_ies_defs.h: $(ASN1_ROOT)/rua/RUA-PDU-Contents.asn $(ASN1TOSTRUCT)
+hnbap_decoder.c hnbap_encoder.c: gen_hnbap.stamp
+
+gen_rua.stamp: $(ASN1_ROOT)/rua/RUA-PDU-Contents.asn $(ASN1TOSTRUCT)
 	$(ASN1TOSTRUCT) -p RUA_ -f $<
+#	We also need to replace the include in the newly generated .c files:
+	sed -i 's,^#include "rua_ies_defs.h",#include <osmocom/rua/rua_ies_defs.h>,' rua_encoder.c rua_decoder.c
+	sed -i 's,^#include "rua_common.h",#include <osmocom/rua/rua_common.h>,' rua_encoder.c rua_decoder.c rua_ies_defs.h
+	mv rua_ies_defs.h $(top_builddir)/include/osmocom/rua/
+#	this is ugly ^. rua_ies_defs.h is generated from asn1tostruct.py here, but
+#	it should live in include/osmocom/rua/.
+	touch $(top_builddir)/src/$@
+
+rua_decoder.c rua_encoder.c: gen_rua.stamp
 
 gen_ranap.stamp: $(ASN1_ROOT)/ranap/RANAP-PDU-Contents.asn $(ASN1TOSTRUCT)
 	$(ASN1TOSTRUCT) -p RANAP_ -f $<
 #	We also need to replace the include in the newly generated .c files:
 	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
-	mv ranap_ies_defs.h $(top_srcdir)/include/osmocom/ranap/
+	mv ranap_ies_defs.h $(top_builddir)/include/osmocom/ranap/
 #	this is ugly ^. ranap_ies_defs.h is generated from asn1tostruct.py here, but
 #	it should live in include/osmocom/ranap/.
-	touch $(top_builddir)/$@
+	touch $(top_builddir)/src/$@
 
-AM_CFLAGS = -I$(top_srcdir)/include $(OSMOCORE_CFLAGS) $(OSMOVTY_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMONETIF_CFLAGS) $(ASN1C_CFLAGS) $(OSMOSIGTRAN_CFLAGS)
+ranap_decoder.c ranap_encoder.c: gen_ranap.stamp
+
+AM_CFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include \
+	    $(OSMOCORE_CFLAGS) $(OSMOVTY_CFLAGS) $(OSMOGSM_CFLAGS) \
+	    $(OSMONETIF_CFLAGS) $(ASN1C_CFLAGS) $(OSMOSIGTRAN_CFLAGS)
 COMMON_LDADD = -lsctp
 
 # build the shared RANAP library
@@ -37,9 +60,7 @@
 #
 bin_PROGRAMS = osmo-hnbgw
 
-noinst_HEADERS = hnbap_common.h hnbap_ies_defs.h \
-		 rua_common.h rua_ies_defs.h \
-		 context_map.h hnbgw.h hnbgw_cn.h \
+noinst_HEADERS = context_map.h hnbgw.h hnbgw_cn.h \
 		 hnbgw_hnbap.h hnbgw_rua.h hnbgw_ranap.h
 
 osmo_hnbgw_SOURCES = hnbap_encoder.c hnbap_decoder.c hnbap_common.c \
diff --git a/src/hnbap_common.c b/src/hnbap_common.c
index f321a1c..2cd6519 100644
--- a/src/hnbap_common.c
+++ b/src/hnbap_common.c
@@ -24,7 +24,7 @@
 #include <osmocom/core/msgb.h>
 
 #include <osmocom/hnbap/HNBAP-PDU.h>
-#include "hnbap_common.h"
+#include <osmocom/hnbap/hnbap_common.h>
 #include "hnbgw.h"
 
 static const struct value_string hnbap_cause_radio_vals[] = {
diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c
index 8a0bc9b..da82608 100644
--- a/src/hnbgw_hnbap.c
+++ b/src/hnbgw_hnbap.c
@@ -28,11 +28,11 @@
 #include <string.h>
 
 #include "asn1helpers.h"
+#include <osmocom/hnbap/hnbap_common.h>
 #include <osmocom/ranap/iu_helpers.h>
 
 #include "hnbgw.h"
-#include "hnbap_common.h"
-#include "hnbap_ies_defs.h"
+#include <osmocom/hnbap/hnbap_ies_defs.h>
 
 #define IU_MSG_NUM_IES		32
 #define IU_MSG_NUM_EXT_IES	32
diff --git a/src/hnbgw_rua.c b/src/hnbgw_rua.c
index a6f0100..fc22bfc 100644
--- a/src/hnbgw_rua.c
+++ b/src/hnbgw_rua.c
@@ -34,8 +34,8 @@
 
 #include "hnbgw.h"
 #include "hnbgw_ranap.h"
-#include "rua_common.h"
-#include "rua_ies_defs.h"
+#include <osmocom/rua/rua_common.h>
+#include <osmocom/rua/rua_ies_defs.h>
 #include "context_map.h"
 
 static int hnbgw_rua_tx(struct hnb_context *ctx, struct msgb *msg)
diff --git a/src/rua_common.c b/src/rua_common.c
index fcb873e..a5ab044 100644
--- a/src/rua_common.c
+++ b/src/rua_common.c
@@ -23,7 +23,7 @@
 
 #include <osmocom/core/msgb.h>
 
-#include "rua_common.h"
+#include <osmocom/rua/rua_common.h>
 #include "hnbgw.h"
 
 extern int asn1_xer_print;
diff --git a/src/rua_msg_factory.c b/src/rua_msg_factory.c
index b664509..0bce326 100644
--- a/src/rua_msg_factory.c
+++ b/src/rua_msg_factory.c
@@ -1,8 +1,8 @@
 #include <stdint.h>
 #include <osmocom/netif/stream.h>
 
-#include "rua_common.h"
-#include "rua_ies_defs.h"
+#include <osmocom/rua/rua_common.h>
+#include <osmocom/rua/rua_ies_defs.h>
 #include "rua_msg_factory.h"
 #include "asn1helpers.h"
 #include "hnbgw.h"
diff --git a/src/tests/hnb-test.c b/src/tests/hnb-test.c
index af87376..2c41199 100644
--- a/src/tests/hnb-test.c
+++ b/src/tests/hnb-test.c
@@ -52,8 +52,8 @@
 
 #include "hnb-test.h"
 #include "hnb-test-layers.h"
-#include "hnbap_common.h"
-#include "hnbap_ies_defs.h"
+#include <osmocom/hnbap/hnbap_common.h>
+#include <osmocom/hnbap/hnbap_ies_defs.h>
 #include "rua_msg_factory.h"
 #include "asn1helpers.h"
 #include <osmocom/ranap/iu_helpers.h>
diff --git a/src/tests/test-hnbap.c b/src/tests/test-hnbap.c
index c6e7d94..ef46070 100644
--- a/src/tests/test-hnbap.c
+++ b/src/tests/test-hnbap.c
@@ -22,8 +22,8 @@
 #include <osmocom/ranap/iu_helpers.h>
 #include "asn1helpers.h"
 
-#include "hnbap_common.h"
-#include "hnbap_ies_defs.h"
+#include <osmocom/hnbap/hnbap_common.h>
+#include <osmocom/hnbap/hnbap_ies_defs.h>
 #include "test_common.h"
 
 #include <assert.h>

-- 
To view, visit https://gerrit.osmocom.org/782
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I32213666fcdfc144008fa7d46497c0938d093e86
Gerrit-PatchSet: 2
Gerrit-Project: osmo-iuh
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list