From df277258f1d5fbf8ce80c2748c4fb0783359790f Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 20 Feb 2018 15:49:30 +0100 Subject: [PATCH] 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 --- bsc-nat/gen_links.sh | 2 +- bsc-nat/regen_makefile.sh | 4 +- bsc/gen_links.sh | 2 +- bsc/regen_makefile.sh | 4 +- hlr/Makefile | 193 ------------------ hlr/gen_links.sh | 12 +- hlr/regen_makefile.sh | 4 +- ...PA_Emulation.ttcn => IPA_Emulation.ttcnpp} | 127 +++++++++--- msc/gen_links.sh | 4 +- msc/regen_makefile.sh | 4 +- regen-makefile.sh | 6 +- selftest/Selftest.ttcn | 5 - selftest/gen_links.sh | 7 +- selftest/regen_makefile.sh | 4 +- sgsn/gen_links.sh | 15 +- sgsn/regen_makefile.sh | 4 +- 16 files changed, 130 insertions(+), 267 deletions(-) delete mode 100644 hlr/Makefile rename library/{IPA_Emulation.ttcn => IPA_Emulation.ttcnpp} (91%) diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh index d27c09279..e9280e684 100755 --- a/bsc-nat/gen_links.sh +++ b/bsc-nat/gen_links.sh @@ -55,5 +55,5 @@ FILES="RTP_EncDec.cc RTP_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 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 a3c624312..3d17cfe11 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 c80ae6493..a173aac11 100755 --- a/bsc/gen_links.sh +++ b/bsc/gen_links.sh @@ -80,5 +80,5 @@ FILES="TELNETasp_PT.cc TELNETasp_PT.hh TELNETasp_PortType.ttcn" 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 0b8e1fa8e..e9eb8084e 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 3f0952ae2..000000000 --- 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@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 02da0ea42..8e07974ea 100755 --- a/hlr/gen_links.sh +++ b/hlr/gen_links.sh @@ -24,15 +24,7 @@ DIR=$BASEDIR/titan.TestPorts.IPL4asp/src 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 37991a604..45fc93e12 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 53a86ecd1..3508091b7 100644 --- a/library/IPA_Emulation.ttcn +++ b/library/IPA_Emulation.ttcnpp @@ -20,13 +20,24 @@ import from IPA_CodecPort all; 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 @@ template ASP_IPA_Unitdata t_ASP_IPA_UD(IpaStreamId sid, octetstring pl, 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 @@ template ASP_RSL_Unitdata tr_ASP_RSL_UD(IpaStreamId sid, template RSL_Message rs 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 @@ function f_bind(charstring local_host, IPL4asp_Types.PortNumber local_port, 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 @@ template ASP_MTP3_TRANSFERind ts_MTP3_XFER_ind(integer opc, octetstring data) := sls := 0, data := data } +#endif private template IpaCcmRespPart t_IdRespPart(IpaCcmIdTag tag, charstring payload) := { @@ -206,15 +234,19 @@ private template IpaCcmRespPart t_IdRespPart(IpaCcmIdTag tag, charstring payload } 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 @@ private function f_from_asp(IPL4asp_Types.ConnectionId connId, ASP_IPA_Unitdata 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 @@ function main_server(charstring local_host, IPL4asp_Types.PortNumber local_port) 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_mgcp_to_user(octetstring msg) runs on IPA_Emulation_CT { } } -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 @@ private function f_mgcp_to_ud(octetstring payload) runs on IPA_Emulation_CT retu 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 @@ private function ScanEvents() runs on IPA_Emulation_CT { 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 @@ private function ScanEvents() runs on IPA_Emulation_CT { 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 @@ private function ScanEvents() runs on IPA_Emulation_CT { 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 @@ private function ScanEvents() runs on IPA_Emulation_CT { 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 9d3c28e8e..b2e2ff073 100755 --- a/msc/gen_links.sh +++ b/msc/gen_links.sh @@ -76,9 +76,9 @@ gen_links $DIR $FILES 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 dacd10b5e..84b16f7ea 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 7edd7839a..57eebff58 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 @@ sed -i -e 's/LDFLAGS = /LDFLAGS = -L \/usr\/lib\/titan /' Makefile # 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 1c340b7d2..1ff17fe7b 100644 --- a/selftest/Selftest.ttcn +++ b/selftest/Selftest.ttcn @@ -5,7 +5,6 @@ import from Osmocom_Types all; 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 @@ import from GSM_RR_Types all; 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 @@ type component IPA_selftest_CT { 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 611ba5cea..b0b2688a1 100755 --- a/selftest/gen_links.sh +++ b/selftest/gen_links.sh @@ -46,11 +46,6 @@ 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" 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 eefda4970..d79b921be 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 c39877959..1dedda2d8 100755 --- a/sgsn/gen_links.sh +++ b/sgsn/gen_links.sh @@ -36,17 +36,6 @@ DIR=$BASEDIR/titan.TestPorts.TELNETasp/src 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 @@ -63,7 +52,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" gen_links $DIR $FILES @@ -80,8 +68,7 @@ FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter 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 069116492..a85f79c59 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