[PATCH] osmo-ttcn3-hacks[master]: IPA_Emulation: Make dependencies to RSL/MGCP/SCCP/GSUP condi...

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/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Tue Feb 20 15:19:14 UTC 2018


Review at  https://gerrit.osmocom.org/6608

IPA_Emulation: Make dependencies to RSL/MGCP/SCCP/GSUP conditional

Let's use the preprocessor to avoid IPA_Emulation pulling *all*
dependencies into each and any of our projects.  The code readability
suffers a bit from the many #ifdefs, but compilation speed increases
if we don't have to pull in all those (recursive) dependencies.

After all, a BTS test case will never need SCCP, GSUP or MGCP.

Change-Id: Ic0231adbd2171214de133d26b3fbf36130ee8aa0
---
M bsc-nat/gen_links.sh
M bsc-nat/regen_makefile.sh
M bsc/gen_links.sh
M bsc/regen_makefile.sh
D hlr/Makefile
M hlr/gen_links.sh
M hlr/regen_makefile.sh
R library/IPA_Emulation.ttcnpp
M msc/gen_links.sh
M msc/regen_makefile.sh
M regen-makefile.sh
M selftest/Selftest.ttcn
M selftest/gen_links.sh
M selftest/regen_makefile.sh
M sgsn/gen_links.sh
M sgsn/regen_makefile.sh
16 files changed, 130 insertions(+), 267 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/08/6608/1

diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh
index d27c092..e9280e6 100755
--- a/bsc-nat/gen_links.sh
+++ b/bsc-nat/gen_links.sh
@@ -55,5 +55,5 @@
 gen_links $DIR $FILES
 
 DIR=../library
-FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcn L3_Templates.ttcn BSSMAP_Templates.ttcn BSSMAP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc RSL_Types.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn BSSAP_CodecPort.ttcn GSUP_Types.ttcn"
+FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn BSSMAP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn BSSAP_CodecPort.ttcn"
 gen_links $DIR $FILES
diff --git a/bsc-nat/regen_makefile.sh b/bsc-nat/regen_makefile.sh
index a3c6243..3d17cfe 100755
--- a/bsc-nat/regen_makefile.sh
+++ b/bsc-nat/regen_makefile.sh
@@ -2,6 +2,8 @@
 
 MAIN=IPA_Test.ttcn
 
-FILES="*.ttcn SCCP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc"
+FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc"
+
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_SCCP -DIPA_EMULATION_MGCP"
 
 ../regen-makefile.sh $MAIN $FILES
diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh
index c80ae64..a173aac 100755
--- a/bsc/gen_links.sh
+++ b/bsc/gen_links.sh
@@ -80,5 +80,5 @@
 gen_links $DIR $FILES
 
 DIR=../library
-FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcn L3_Templates.ttcn BSSMAP_Templates.ttcn BSSMAP_Emulation.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn BSSAP_Adapter.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn GSUP_Types.ttcn"
+FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn BSSMAP_Emulation.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn BSSAP_Adapter.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn "
 gen_links $DIR $FILES
diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh
index 0b8e1fa..e9eb808 100755
--- a/bsc/regen_makefile.sh
+++ b/bsc/regen_makefile.sh
@@ -2,6 +2,8 @@
 
 MAIN=BSC_Tests.ttcn
 
-FILES="*.ttcn IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc *.c"
+FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc *.c"
+
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP"
 
 ../regen-makefile.sh $MAIN $FILES
diff --git a/hlr/Makefile b/hlr/Makefile
deleted file mode 100644
index 3f0952a..0000000
--- a/hlr/Makefile
+++ /dev/null
@@ -1,193 +0,0 @@
-# This Makefile was generated by the Makefile Generator
-# of the TTCN-3 Test Executor version CRL 113 200/6 R3A
-# for Harald Welte (laforge at nataraja) on Thu Dec 28 17:35:00 2017
-
-# Copyright (c) 2000-2017 Ericsson Telecom AB
-
-# The following make commands are available:
-# - make, make all      Builds the executable test suite.
-# - make archive        Archives all source files.
-# - make check          Checks the semantics of TTCN-3 and ASN.1modules.
-# - make port           Generates port skeletons.
-# - make clean          Removes all generated files.
-# - make compile        Translates TTCN-3 and ASN.1 modules to C++.
-# - make dep            Creates/updates dependency list.
-# - make executable     Builds the executable test suite.
-# - make library        Builds the library archive.
-# - make objects        Builds the object files without linking the executable.
-# - make shared_objects Builds the shared object files without linking the executable.
-#
-# Set these variables...
-#
-
-# The path of your TTCN-3 Test Executor installation:
-# Uncomment this line to override the environment variable.
-ifndef TTCN3_DIR
-TTCN3_DIR = /usr
-endif
-
-# Your platform: (SOLARIS, SOLARIS8, LINUX, FREEBSD or WIN32)
-PLATFORM = LINUX
-
-# Your C++ compiler:
-# (if you change the platform, you may need to change the compiler)
-CXX = g++ 
-
-# Flags for the C++ preprocessor (and makedepend as well):
-CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -I$(TTCN3_DIR)/include -I/usr/include/titan
-
-# Flags for the C++ compiler:
-CXXFLAGS = -Wall -fPIC  
-
-# Flags for the linker:
-LDFLAGS = -L /usr/lib/titan -fPIC
-
-ifeq ($(PLATFORM), WIN32)
-# Silence linker warnings.
-LDFLAGS += -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc
-endif
-
-# Utility to create library files
-AR = ar
-ARFLAGS = 
-
-# Flags for the TTCN-3 and ASN.1 compiler:
-COMPILER_FLAGS = -L 
-
-# Execution mode: (either ttcn3 or ttcn3-parallel)
-TTCN3_LIB = ttcn3-parallel-dynamic
-
-# The path of your libxml2 installation:
-# If you do not have your own one, leave it unchanged.
-XMLDIR = $(TTCN3_DIR)
-
-# Directory to store the archived source files:
-# Note: you can set any directory except ./archive
-ARCHIVE_DIR = backup
-
-#
-# You may change these variables. Add your files if necessary...
-#
-
-# TTCN-3 modules of this project:
-TTCN3_MODULES = GSUP_Test.ttcn GSM_Types.ttcn GSUP_Types.ttcn General_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_Emulation.ttcn IPA_Types.ttcn IPL4asp_Functions.ttcn IPL4asp_PortType.ttcn IPL4asp_Types.ttcn MGCP_CodecPort.ttcn MGCP_Types.ttcn MTP3asp_PortType.ttcn MTP3asp_Types.ttcn Osmocom_CTRL_Types.ttcn Osmocom_Types.ttcn RSL_Types.ttcn SDP_Types.ttcn Socket_API_Definitions.ttcn TCCConversion_Functions.ttcn TCCInterface_Functions.ttcn
-
-# ASN.1 modules of this project:
-ASN1_MODULES =
-
-# C++ source & header files generated from the TTCN-3 & ASN.1 modules of
-# this project:
-GENERATED_SOURCES = GSUP_Test.cc GSM_Types.cc GSUP_Types.cc General_Types.cc IPA_CodecPort.cc IPA_CodecPort_CtrlFunct.cc IPA_Emulation.cc IPA_Types.cc IPL4asp_Functions.cc IPL4asp_PortType.cc IPL4asp_Types.cc MGCP_CodecPort.cc MGCP_Types.cc MTP3asp_PortType.cc MTP3asp_Types.cc Osmocom_CTRL_Types.cc Osmocom_Types.cc RSL_Types.cc SDP_Types.cc Socket_API_Definitions.cc TCCConversion_Functions.cc TCCInterface_Functions.cc
-GENERATED_HEADERS = GSUP_Test.hh GSM_Types.hh GSUP_Types.hh General_Types.hh IPA_CodecPort.hh IPA_CodecPort_CtrlFunct.hh IPA_Emulation.hh IPA_Types.hh IPL4asp_Functions.hh IPL4asp_PortType.hh IPL4asp_Types.hh MGCP_CodecPort.hh MGCP_Types.hh MTP3asp_PortType.hh MTP3asp_Types.hh Osmocom_CTRL_Types.hh Osmocom_Types.hh RSL_Types.hh SDP_Types.hh Socket_API_Definitions.hh TCCConversion_Functions.hh TCCInterface_Functions.hh
-
-# C/C++ Source & header files of Test Ports, external functions and
-# other modules:
-USER_SOURCES = IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SDP_EncDec.cc MGCP_CodecPort_CtrlFunctDef.cc SDP_parse_.tab.c lex.SDP_parse_.c
-USER_HEADERS = IPL4asp_PT.hh SDP_parse_.tab.h
-
-# Shared object files of this project:
-SHARED_OBJECTS = GSUP_Test.so GSM_Types.so GSUP_Types.so General_Types.so IPA_CodecPort.so IPA_CodecPort_CtrlFunct.so IPA_Emulation.so IPA_Types.so IPL4asp_Functions.so IPL4asp_PortType.so IPL4asp_Types.so MGCP_CodecPort.so MGCP_Types.so MTP3asp_PortType.so MTP3asp_Types.so Osmocom_CTRL_Types.so Osmocom_Types.so RSL_Types.so SDP_Types.so Socket_API_Definitions.so TCCConversion_Functions.so TCCInterface_Functions.so IPA_CodecPort_CtrlFunctDef.so IPL4asp_PT.so IPL4asp_discovery.so TCCConversion.so TCCInterface.so SDP_EncDec.so MGCP_CodecPort_CtrlFunctDef.so SDP_parse_.tab.so lex.SDP_parse_.so
-
-# Object files of this project that are needed for the executable test suite:
-OBJECTS = $(GENERATED_OBJECTS) $(USER_OBJECTS)
-
-GENERATED_OBJECTS = GSUP_Test.o GSM_Types.o GSUP_Types.o General_Types.o IPA_CodecPort.o IPA_CodecPort_CtrlFunct.o IPA_Emulation.o IPA_Types.o IPL4asp_Functions.o IPL4asp_PortType.o IPL4asp_Types.o MGCP_CodecPort.o MGCP_Types.o MTP3asp_PortType.o MTP3asp_Types.o Osmocom_CTRL_Types.o Osmocom_Types.o RSL_Types.o SDP_Types.o Socket_API_Definitions.o TCCConversion_Functions.o TCCInterface_Functions.o
-
-USER_OBJECTS = IPA_CodecPort_CtrlFunctDef.o IPL4asp_PT.o IPL4asp_discovery.o TCCConversion.o TCCInterface.o SDP_EncDec.o MGCP_CodecPort_CtrlFunctDef.o SDP_parse_.tab.o lex.SDP_parse_.o
-
-# Other files of the project (Makefile, configuration files, etc.)
-# that will be added to the archived source files:
-OTHER_FILES = Makefile
-
-# The name of the executable test suite:
-EXECUTABLE = GSUP_Test
-
-
-
-LIBRARY = lib$(EXECUTABLE).so
-
-TARGET = $(EXECUTABLE)
-
-#
-# Do not modify these unless you know what you are doing...
-# Platform specific additional libraries:
-#
-SOLARIS_LIBS = -lsocket -lnsl -lxml2
-SOLARIS8_LIBS = -lsocket -lnsl -lxml2
-LINUX_LIBS = -lxml2
-FREEBSD_LIBS = -lxml2
-WIN32_LIBS = -lxml2
-
-#
-# Rules for building the executable...
-#
-
-all: $(TARGET) ;
-
-shared_objects: $(SHARED_OBJECTS) ;
-
-executable: $(EXECUTABLE) ;
-
-library: $(LIBRARY) ;
-
-objects: $(OBJECTS) compile;
-
-$(EXECUTABLE): $(SHARED_OBJECTS)
-	if $(CXX) $(LDFLAGS) -o $@ -Wl,--no-as-needed $(SHARED_OBJECTS) \
-	-L$(TTCN3_DIR)/lib -l$(TTCN3_LIB) \
-	-L$(OPENSSL_DIR)/lib -lcrypto \
-	-L$(XMLDIR)/lib $($(PLATFORM)_LIBS); \
-	then : ; else $(TTCN3_DIR)/bin/titanver $(OBJECTS); exit 1; fi
-
-$(LIBRARY): $(OBJECTS)
-	$(CXX) -shared -o $@ $(OBJECTS)
-
-.cc.o .c.o:
-	$(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
-
-%.so: %.o
-	$(CXX) -shared -o $@ $<
-
-$(GENERATED_SOURCES) $(GENERATED_HEADERS): compile
-	@if [ ! -f $@ ]; then rm -f compile; $(MAKE) compile; fi
-
-check: $(TTCN3_MODULES) $(ASN1_MODULES)
-	$(TTCN3_DIR)/bin/ttcn3_compiler -s $(COMPILER_FLAGS) \
-	$(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES)
-
-port: $(TTCN3_MODULES)  $(ASN1_MODULES)
-	$(TTCN3_DIR)/bin/ttcn3_compiler -t $(COMPILER_FLAGS) \
-	$(TTCN3_MODULES) $(PREPROCESSED_TTCN3_MODULES) $(ASN1_MODULES)
-
-compile: $(TTCN3_MODULES)  $(ASN1_MODULES)
-	$(TTCN3_DIR)/bin/ttcn3_compiler $(COMPILER_FLAGS) \
-	$(TTCN3_MODULES) $(ASN1_MODULES) - $?
-	touch $@
-
-clean:
-	-rm -f $(EXECUTABLE) $(LIBRARY) $(OBJECTS) $(GENERATED_HEADERS) \
-	$(GENERATED_SOURCES) $(SHARED_OBJECTS) compile \
-	tags *.log
-
-dep: $(GENERATED_SOURCES) $(USER_SOURCES) ;
-	makedepend $(CPPFLAGS) -DMAKEDEPEND_RUN $(GENERATED_SOURCES) $(USER_SOURCES)
-
-archive:
-	mkdir -p $(ARCHIVE_DIR)
-	tar -cvhf - $(TTCN3_MODULES) $(ASN1_MODULES) \
-	$(USER_HEADERS) $(USER_SOURCES) $(OTHER_FILES) \
-	| gzip >$(ARCHIVE_DIR)/`basename $(TARGET) .exe`-`date '+%y%m%d-%H%M'`.tgz
-
-diag:
-	$(TTCN3_DIR)/bin/ttcn3_compiler -v 2>&1
-	$(TTCN3_DIR)/bin/mctr_cli -v 2>&1
-	$(CXX) -v 2>&1
-	@echo TTCN3_DIR=$(TTCN3_DIR)
-	@echo OPENSSL_DIR=$(OPENSSL_DIR)
-	@echo XMLDIR=$(XMLDIR)
-	@echo PLATFORM=$(PLATFORM)
-
-#
-# Add your rules here if necessary...
-#
-
diff --git a/hlr/gen_links.sh b/hlr/gen_links.sh
index 02da0ea..8e07974 100755
--- a/hlr/gen_links.sh
+++ b/hlr/gen_links.sh
@@ -24,15 +24,7 @@
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
 gen_links $DIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.SDP/src
-FILES="SDP_EncDec.cc SDP_Types.ttcn SDP_parse_.tab.c SDP_parse_.tab.h SDP_parse_parser.h SDP_parser.l
-SDP_parser.y lex.SDP_parse_.c"
-gen_links $DIR $FILES
-
-DIR=../MTP3asp_CNL113337/src
-FILES="MTP3asp_PortType.ttcn  MTP3asp_Types.ttcn"
-gen_links $DIR $FILES
-
 DIR=../library
-FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcn RSL_Types.ttcn MGCP_Types.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn GSUP_Types.ttcn"
+FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn
+IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp Osmocom_CTRL_Types.ttcn GSUP_Types.ttcn"
 gen_links $DIR $FILES
diff --git a/hlr/regen_makefile.sh b/hlr/regen_makefile.sh
index 37991a6..45fc93e 100755
--- a/hlr/regen_makefile.sh
+++ b/hlr/regen_makefile.sh
@@ -2,6 +2,8 @@
 
 MAIN="GSUP_Test.ttcn"
 
-FILES="*.ttcn IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SDP_EncDec.cc MGCP_CodecPort_CtrlFunctDef.cc *.c"
+FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc"
+
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_GSUP"
 
 ../regen-makefile.sh $MAIN $FILES
diff --git a/library/IPA_Emulation.ttcn b/library/IPA_Emulation.ttcnpp
similarity index 91%
rename from library/IPA_Emulation.ttcn
rename to library/IPA_Emulation.ttcnpp
index 53a86ec..3508091 100644
--- a/library/IPA_Emulation.ttcn
+++ b/library/IPA_Emulation.ttcnpp
@@ -20,13 +20,24 @@
 import from IPA_CodecPort_CtrlFunct all;
 import from IPL4asp_Types all;
 import from IPL4asp_PortType all;
-import from MTP3asp_Types all;
-import from MTP3asp_PortType all;
-import from RSL_Types all;
 import from Socket_API_Definitions all;
 
+#ifdef IPA_EMULATION_SCCP
+import from MTP3asp_Types all;
+import from MTP3asp_PortType all;
+#endif
+
+#ifdef IPA_EMULATION_RSL
+import from RSL_Types all;
+#endif
+
+#ifdef IPA_EMULATION_MGCP
 import from MGCP_Types all;
+#endif
+
+#ifdef IPA_EMULATION_GSUP
 import from GSUP_Types all;
+#endif
 
 import from Osmocom_CTRL_Types all;
 
@@ -69,6 +80,7 @@
 	payload := pl
 }
 
+#ifdef IPA_EMULATION_RSL
 /* like ASP_IPA_Unitdata, but with RSL_Message abstract type instead of octetstring */
 type record ASP_RSL_Unitdata {
 	IpaStreamId	streamId,
@@ -85,49 +97,63 @@
 	rsl := rsl
 }
 
-
 template IpaStreamId t_IpaSidRSL := ( IPAC_PROTO_RSL_TRX0, IPAC_PROTO_RSL_TRX1,
 				      IPAC_PROTO_RSL_TRX2, IPAC_PROTO_RSL_TRX3 );
+#endif
 
 /* Client port for general IPA messages, not further decoded */
 type port IPA_SP_PT message {
 	inout ASP_IPA_Unitdata, ASP_IPA_Event;
 } with { extension "internal" }
 
+#ifdef IPA_EMULATION_MGCP
 /* Client port for MGCP inside IPA */
 type port IPA_MGCP_PT message {
 	inout MgcpCommand, MgcpResponse;
 } with { extension "internal" }
+#endif
 
+#ifdef IPA_EMULATION_RSL
 /* Client port for A-bis RSL inside IPA */
 type port IPA_RSL_PT message {
 	inout ASP_RSL_Unitdata, ASP_IPA_Event;
 } with { extension "internal" }
+#endif
 
 /* Client port for CTRL inside IPA */
 type port IPA_CTRL_PT message {
 	inout CtrlMessage, ASP_IPA_Event;
 } with { extension "internal" }
 
+#ifdef IPA_EMULATION_GSUP
 /* Client port for CTRL inside IPA */
 type port IPA_GSUP_PT message {
 	inout GSUP_PDU, ASP_IPA_Event;
 } with { extension "internal" }
+#endif
 
 
 type component IPA_Emulation_CT {
 	/* down-facing port to IPA codec port */
 	port IPA_CODEC_PT IPA_PORT;
+#ifdef IPA_EMULATION_SCCP
 	/* up-facing port to SCCP */
 	port MTP3asp_SP_PT MTP3_SP_PORT;
+#endif
+#ifdef IPA_EMULATION_MGCP
 	/* up-facing port for MGCP */
 	port IPA_MGCP_PT IPA_MGCP_PORT;
+#endif
+#ifdef IPA_EMULATION_RSL
 	/* up-facing port for RSL */
 	port IPA_RSL_PT IPA_RSL_PORT;
+#endif
 	/* up-facing port for CTRL */
 	port IPA_CTRL_PT IPA_CTRL_PORT;
+#ifdef IPA_EMULATION_GSUP
 	/* up-facing port for GSUP */
 	port IPA_GSUP_PT IPA_GSUP_PORT;
+#endif
 
 	/* up-facing port for other streams */
 	port IPA_SP_PT IPA_SP_PORT;
@@ -190,6 +216,7 @@
 	g_is_bsc_mgw := false;
 }
 
+#ifdef IPA_EMULATION_SCCP
 template ASP_MTP3_TRANSFERind ts_MTP3_XFER_ind(integer opc, octetstring data) := {
 	sio := { '10'B, '00'B, '0011'B },
 	opc := opc,
@@ -197,6 +224,7 @@
 	sls := 0,
 	data := data
 }
+#endif
 
 
 private template IpaCcmRespPart t_IdRespPart(IpaCcmIdTag tag, charstring payload) := {
@@ -206,15 +234,19 @@
 }
 
 private function f_send_IPA_EVT(template ASP_IPA_Event evt) runs on IPA_Emulation_CT {
+#ifdef IPA_EMULATION_RSL
 	if (IPA_RSL_PORT.checkstate("Connected")) {
 		IPA_RSL_PORT.send(evt);
 	}
+#endif
 	if (IPA_CTRL_PORT.checkstate("Connected")) {
 		IPA_CTRL_PORT.send(evt);
 	}
+#ifdef IPA_EMULATION_GSUP
 	if (IPA_GSUP_PORT.checkstate("Connected")) {
 		IPA_GSUP_PORT.send(evt);
 	}
+#endif
 	/* FIXME: to other ports */
 }
 
@@ -331,11 +363,13 @@
 	return ret;
 }
 
+#ifdef IPA_EMULATION_RSL
 private function f_from_rsl(IPL4asp_Types.ConnectionId connId, ASP_RSL_Unitdata rsl_tx) return IPA_Send {
 	var octetstring payload := enc_RSL_Message(rsl_tx.rsl);
 	var IPA_Send ret := valueof(t_IPA_Send(connId, rsl_tx.streamId, payload));
 	return ret;
 }
+#endif
 
 /* main function to use for a client-side IPA implementation */
 function main_client(charstring remote_host, IPL4asp_Types.PortNumber remote_port,
@@ -354,6 +388,20 @@
 	ScanEvents();
 }
 
+private function f_ctrl_to_user(octetstring msg) runs on IPA_Emulation_CT {
+	var charstring msg_ch := oct2char(msg);
+	IPA_CTRL_PORT.send(dec_CtrlMessage(msg_ch));
+}
+
+#ifdef IPA_EMULATION_GSUP
+private function f_gsup_to_user(octetstring msg) runs on IPA_Emulation_CT {
+	var GSUP_PDU gsup := dec_GSUP_PDU(msg);
+	f_gsup_postprocess_decoded(gsup);
+	IPA_GSUP_PORT.send(gsup);
+}
+#endif
+
+#ifdef IPA_EMULATION_MGCP
 private function f_mgcp_to_user(octetstring msg) runs on IPA_Emulation_CT {
 	var charstring msg_ch := oct2char(msg);
 	if (g_is_bsc_mgw) {
@@ -365,17 +413,6 @@
 	}
 }
 
-private function f_ctrl_to_user(octetstring msg) runs on IPA_Emulation_CT {
-	var charstring msg_ch := oct2char(msg);
-	IPA_CTRL_PORT.send(dec_CtrlMessage(msg_ch));
-}
-
-private function f_gsup_to_user(octetstring msg) runs on IPA_Emulation_CT {
-	var GSUP_PDU gsup := dec_GSUP_PDU(msg);
-	f_gsup_postprocess_decoded(gsup);
-	IPA_GSUP_PORT.send(gsup);
-}
-
 private function f_mgcp_to_ud(octetstring payload) runs on IPA_Emulation_CT return ASP_IPA_Unitdata {
 	if (mp_ipa_mgcp_uses_osmo_ext) {
 		return valueof(t_ASP_IPA_UD(IPAC_PROTO_MGCP_OLD, payload));
@@ -383,20 +420,29 @@
 		return valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_MGCP));
 	}
 }
+#endif
 
 /* main loop function for both client and server. 'thread' of the component */
 private function ScanEvents() runs on IPA_Emulation_CT {
 	var IPA_RecvFrom ipa_rx;
-	var ASP_IPA_Unitdata ipa_ud;
-	var ASP_MTP3_TRANSFERreq mtp_req;
 	var ASP_Event asp_evt;
 	var Socket_API_Definitions.PortEvent port_evt;
+	var octetstring payload;
+	var CtrlMessage ctrl_msg;
+	var ASP_IPA_Unitdata ipa_ud;
+#ifdef IPA_EMULATION_SCCP
+	var ASP_MTP3_TRANSFERreq mtp_req;
+#endif
+#ifdef IPA_EMULATION_MGCP
 	var MgcpCommand mgcp_cmd;
 	var MgcpResponse mgcp_rsp;
-	var CtrlMessage ctrl_msg;
+#endif
+#ifdef IPA_EMULATION_GSUP
 	var GSUP_PDU gsup_msg;
-	var octetstring payload;
+#endif
+#ifdef IPA_EMULATION_RSL
 	var ASP_RSL_Unitdata rsl;
+#endif
 
 	/* Set function for dissecting the binary */
 	var f_IPL4_getMsgLen vl_f := refers(f_IPL4_fixedMsgLen);
@@ -411,31 +457,49 @@
 				var PDU_IPA_CCM ccm := dec_PDU_IPA_CCM(ipa_rx.msg);
 				log("CCM Rx:", ccm);
 				f_ccm_rx(ccm);
-			} case (IPAC_PROTO_SCCP) {
+			}
+#ifdef IPA_EMULATION_SCCP
+			case (IPAC_PROTO_SCCP) {
 				var ASP_MTP3_TRANSFERind mtp;
 				mtp := valueof(ts_MTP3_XFER_ind(0, ipa_rx.msg));
 				MTP3_SP_PORT.send(mtp);
-			} case (IPAC_PROTO_MGCP_OLD) {
+			}
+#endif
+#ifdef IPA_EMULATION_MGCP
+			case (IPAC_PROTO_MGCP_OLD) {
 				f_mgcp_to_user(ipa_rx.msg);
-			} case (t_IpaSidRSL) {
+			}
+#endif
+#ifdef IPA_EMULATION_RSL
+			case (t_IpaSidRSL) {
 				rsl := {
 					streamId := ipa_rx.streamId,
 					rsl := dec_RSL_Message(ipa_rx.msg)
 				};
 				IPA_RSL_PORT.send(rsl);
-			} case (IPAC_PROTO_OSMO) {
+			}
+#endif
+			case (IPAC_PROTO_OSMO) {
 				select (ipa_rx.streamIdExt) {
+#ifdef IPA_EMULATION_MGCP
 					case (IPAC_PROTO_EXT_MGCP) {
 						f_mgcp_to_user(ipa_rx.msg);
-					} case (IPAC_PROTO_EXT_CTRL) {
+					}
+#endif
+					case (IPAC_PROTO_EXT_CTRL) {
 						f_ctrl_to_user(ipa_rx.msg);
-					} case (IPAC_PROTO_EXT_GSUP) {
+					}
+#ifdef IPA_EMULATION_GSUP
+					case (IPAC_PROTO_EXT_GSUP) {
 						f_gsup_to_user(ipa_rx.msg);
-					} case else {
+					}
+#endif
+					case else {
 						IPA_SP_PORT.send(f_to_asp(ipa_rx));
 					}
 				}
-			} case else {
+			}
+			case else {
 				IPA_SP_PORT.send(f_to_asp(ipa_rx));
 				}
 			}
@@ -465,13 +529,16 @@
 			self.stop;
 		}
 
+#ifdef IPA_EMULATION_SCCP
 		/* Received SCCP -> down into IPA */
 		[] MTP3_SP_PORT.receive(ASP_MTP3_TRANSFERreq: ?) -> value mtp_req {
 			var IPA_Send ipa_tx := valueof(t_IPA_Send(g_ipa_conn_id, IPAC_PROTO_SCCP,
 							mtp_req.data));
 			IPA_PORT.send(ipa_tx);
 		}
+#endif
 
+#ifdef IPA_EMULATION_MGCP
 		/* Received MGCP -> down into IPA */
 		[] IPA_MGCP_PORT.receive(MgcpCommand:?) -> value mgcp_cmd {
 			payload := char2oct(enc_MgcpCommand(mgcp_cmd));
@@ -483,6 +550,7 @@
 			ipa_ud := f_mgcp_to_ud(payload);
 			IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud));
 		}
+#endif
 
 		[] IPA_CTRL_PORT.receive(CtrlMessage:?) -> value ctrl_msg {
 			payload := char2oct(enc_CtrlMessage(ctrl_msg));
@@ -490,18 +558,21 @@
 			IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud));
 		}
 
+#ifdef IPA_EMULATION_GSUP
 		[] IPA_GSUP_PORT.receive(GSUP_PDU:?) -> value gsup_msg {
 			f_gsup_preprocess_encoded(gsup_msg);
 			payload := enc_GSUP_PDU(gsup_msg);
 			ipa_ud := valueof(t_ASP_IPA_UD(IPAC_PROTO_OSMO, payload, IPAC_PROTO_EXT_GSUP));
 			IPA_PORT.send(f_from_asp(g_ipa_conn_id, ipa_ud));
 		}
+#endif
 
+#ifdef IPA_EMULATION_RSL
 		/* Received RSL -> down into IPA */
 		[] IPA_RSL_PORT.receive(ASP_RSL_Unitdata:?) -> value rsl {
 			IPA_PORT.send(f_from_rsl(g_ipa_conn_id, rsl));
 		}
-
+#endif
 
 		/* Received MISC (OML/CTRL) -> down into IPA */
 		[] IPA_SP_PORT.receive(ASP_IPA_Unitdata: ?) -> value ipa_ud {
diff --git a/msc/gen_links.sh b/msc/gen_links.sh
index 9d3c28e..b2e2ff0 100755
--- a/msc/gen_links.sh
+++ b/msc/gen_links.sh
@@ -76,9 +76,9 @@
 
 DIR=../library
 FILES="General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn MNCC_Types.ttcn MNCC_EncDec.cc MNCC_CodecPort.ttcn mncc.h MNCC_Emulation.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc "
-FILES+="IPA_Types.ttcn IPA_Emulation.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc RSL_Types.ttcn GSUP_Types.ttcn GSUP_Emulation.ttcn "
+FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc GSUP_Types.ttcn GSUP_Emulation.ttcn "
 FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn L3_Templates.ttcn L3_Common.ttcn "
-FILES+="BSSMAP_Emulation.ttcn BSSAP_CodecPort.ttcn BSSMAP_Templates.ttcn BSSAP_Adapter.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_Emulation.ttcn IPA_Emulation.ttcn "
+FILES+="BSSMAP_Emulation.ttcn BSSAP_CodecPort.ttcn BSSMAP_Templates.ttcn BSSAP_Adapter.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_Emulation.ttcn "
 FILES+="RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunctDef.cc "
 FILES+="MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunctDef.cc "
 gen_links $DIR $FILES
diff --git a/msc/regen_makefile.sh b/msc/regen_makefile.sh
index dacd10b..84b16f7 100755
--- a/msc/regen_makefile.sh
+++ b/msc/regen_makefile.sh
@@ -1,5 +1,7 @@
 #!/bin/sh
 
-FILES="*.ttcn SCCP_EncDec.cc  SCTPasp_PT.cc  TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc *.c"
+FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc  SCTPasp_PT.cc  TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc *.c"
+
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_MGCP -DIPA_EMULATION_GSUP"
 
 ../regen-makefile.sh MSC_Tests.ttcn $FILES
diff --git a/regen-makefile.sh b/regen-makefile.sh
index 7edd783..57eebff 100755
--- a/regen-makefile.sh
+++ b/regen-makefile.sh
@@ -12,7 +12,7 @@
 
 test -x "$(which ttcn3_makefilegen 2>/dev/null)" || { echo "ERROR: ttcn3_makefilegen not in PATH"; exit 1; }
 
-ttcn3_makefilegen -l -f $*
+ttcn3_makefilegen -p -l -f $*
 sed -i -e 's/# TTCN3_DIR = /TTCN3_DIR = \/usr/' Makefile
 sed -i -e 's/LDFLAGS = /LDFLAGS = -L \/usr\/lib\/titan /' Makefile
 #sed -i -e 's/TTCN3_LIB = ttcn3-parallel/TTCN3_LIB = ttcn3/' Makefile
@@ -21,6 +21,10 @@
 # see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879816 for details
 sed -i -e 's/CPPFLAGS = -D$(PLATFORM) -I$(TTCN3_DIR)\/include/CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -I$(TTCN3_DIR)\/include -I\/usr\/include\/titan/' Makefile
 
+if [ "x$CPPFLAGS_TTCN3" != "x" ]; then
+	sed -i -e 's/CPPFLAGS_TTCN3 =/CPPFLAGS_TTCN3 = '"$CPPFLAGS_TTCN3"'/' Makefile
+fi
+
 # for TITAN 6.3.0
 if cat /etc/issue | grep "Arch Linux" >/dev/null 2>&1; then
         sed -i -e 's/TTCN3_DIR = $/TTCN3_DIR = \/usr\/ttcn3/' Makefile
diff --git a/selftest/Selftest.ttcn b/selftest/Selftest.ttcn
index 1c340b7..1ff17fe 100644
--- a/selftest/Selftest.ttcn
+++ b/selftest/Selftest.ttcn
@@ -5,7 +5,6 @@
 import from GSM_Types all;
 import from IPL4asp_Types all;
 import from IPL4asp_PortType all;
-import from MTP3asp_PortType all;
 
 import from BSSAP_Types all;
 //import from BSSAP_Adapter all;
@@ -25,8 +24,6 @@
 
 type component IPA_selftest_CT {
 	/* upper end of IPA_Emulation */
-	port MTP3asp_PT IPA_MTP3;
-	port IPA_MGCP_PT IPA_MGCP;
 	port IPA_RSL_PT IPA_RSL;
 	port IPA_CTRL_PT IPA_CTRL;
 	port IPA_SP_PT IPA_SP;
@@ -42,10 +39,8 @@
 function f_ipa_srv_init() runs on IPA_selftest_CT {
 	vc_IPA := IPA_Emulation_CT.create("IPA_Emulation");
 	map(vc_IPA:IPA_PORT, system: IPA_CODEC_PT);
-	connect(vc_IPA:IPA_MGCP_PORT, self:IPA_MGCP);
 	connect(vc_IPA:IPA_RSL_PORT, self:IPA_RSL);
 	connect(vc_IPA:IPA_CTRL_PORT, self:IPA_CTRL);
-	connect(vc_IPA:MTP3_SP_PORT, self:IPA_MTP3);
 	vc_IPA.start(IPA_Emulation.main_server("127.0.0.1", 55555));
 }
 
diff --git a/selftest/gen_links.sh b/selftest/gen_links.sh
index 611ba5c..b0b2688 100755
--- a/selftest/gen_links.sh
+++ b/selftest/gen_links.sh
@@ -46,11 +46,6 @@
 FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
 gen_links $DIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.SDP/src
-FILES="SDP_EncDec.cc SDP_Types.ttcn SDP_parse_.tab.c SDP_parse_.tab.h SDP_parse_parser.h SDP_parser.l
-SDP_parser.y lex.SDP_parse_.c"
-gen_links $DIR $FILES
-
 DIR=../library
-FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcn L3_Templates.ttcn BSSMAP_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn BSSAP_CodecPort.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn GSUP_Types.ttcn"
+FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn BSSAP_CodecPort.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn GSUP_Types.ttcn"
 gen_links $DIR $FILES
diff --git a/selftest/regen_makefile.sh b/selftest/regen_makefile.sh
index eefda49..d79b921 100755
--- a/selftest/regen_makefile.sh
+++ b/selftest/regen_makefile.sh
@@ -2,6 +2,8 @@
 
 MAIN=Selftest.ttcn
 
-FILES="*.ttcn IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SDP_EncDec.cc *.c"
+FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc"
+
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL"
 
 ../regen-makefile.sh $MAIN $FILES
diff --git a/sgsn/gen_links.sh b/sgsn/gen_links.sh
index c398779..1dedda2 100755
--- a/sgsn/gen_links.sh
+++ b/sgsn/gen_links.sh
@@ -36,17 +36,6 @@
 FILES="TELNETasp_PT.cc  TELNETasp_PT.hh  TELNETasp_PortType.ttcn"
 gen_links $DIR $FILES
 
-# required by IPA Emulation
-DIR=../MTP3asp_CNL113337/src
-FILES="MTP3asp_PortType.ttcn  MTP3asp_Types.ttcn"
-gen_links $DIR $FILES
-
-# required by MGCP Types, which is required by IPA Emulation
-DIR=$BASEDIR/titan.ProtocolModules.SDP/src
-FILES="SDP_EncDec.cc SDP_Types.ttcn SDP_parse_.tab.c SDP_parse_.tab.h SDP_parse_parser.h SDP_parser.l
-SDP_parser.y lex.SDP_parse_.c"
-gen_links $DIR $FILES
-
 DIR=$BASEDIR/titan.ProtocolModules.NS_v7.3.0/src
 FILES="NS_Types.ttcn"
 gen_links $DIR $FILES
@@ -62,7 +51,6 @@
 DIR=$BASEDIR/titan.ProtocolModules.SNDCP_v7.0.0/src
 FILES="SNDCP_Types.ttcn"
 gen_links $DIR $FILES
-
 
 DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
 FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
@@ -80,8 +68,7 @@
 FILES+="Osmocom_VTY_Functions.ttcn "
 FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn "
 # IPA_Emulation + dependencies
-FILES+="IPA_Types.ttcn IPA_Emulation.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn
-IPA_CodecPort_CtrlFunctDef.cc Native_Functions.ttcn Native_FunctionDefs.cc GSUP_Types.ttcn GSUP_Emulation.ttcn MGCP_Types.ttcn RSL_Types.ttcn "
+FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc Native_Functions.ttcn Native_FunctionDefs.cc GSUP_Types.ttcn GSUP_Emulation.ttcn "
 FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Emulation.ttcn
 GTP_Templates.ttcn IPCP_Types.ttcn "
 gen_links $DIR $FILES
diff --git a/sgsn/regen_makefile.sh b/sgsn/regen_makefile.sh
index 0691164..a85f79c 100755
--- a/sgsn/regen_makefile.sh
+++ b/sgsn/regen_makefile.sh
@@ -1,5 +1,7 @@
 #!/bin/sh
 
-FILES="*.ttcn BSSGP_EncDec.cc LLC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc SDP_EncDec.cc SDP_parse_.tab.c lex.SDP_parse_.c TELNETasp_PT.cc IPA_CodecPort_CtrlFunctDef.cc GTPU_EncDec.cc GTPC_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc"
+FILES="*.ttcn *.ttcnpp BSSGP_EncDec.cc LLC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IPA_CodecPort_CtrlFunctDef.cc GTPU_EncDec.cc GTPC_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc"
+
+export CPPFLAGS_TTCN3="-DIPA_EMULATION_GSUP"
 
 ../regen-makefile.sh SGSN_Tests.ttcn $FILES

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic0231adbd2171214de133d26b3fbf36130ee8aa0
Gerrit-PatchSet: 1
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>



More information about the gerrit-log mailing list