diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 2a60080b9a..a7c9c8c857 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -23,7 +23,7 @@
# OpenAirInterface Dev : openair4g-devel@eurecom.fr
#
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-# Author: laurent THOMAS
+# Author: laurent THOMAS, Lionel GAUTIER
###############################################################################
cmake_minimum_required (VERSION 2.8)
@@ -45,6 +45,16 @@ project (OpenAirInterface)
###########################################
# macros to define options as there is numerous options in oai
################################################
+macro(add_option name val helpstr)
+ if(DEFINED ${name})
+ set(value ${${name}})
+ else(DEFINED ${name})
+ set(value ${val})
+ endif()
+ set(${name} ${value} CACHE STRING "${helpstr}")
+ add_definitions("-D${name}=${value}")
+endmacro(add_option)
+
macro(add_boolean_option name val helpstr)
if(DEFINED ${name})
set(value ${${name}})
@@ -204,7 +214,9 @@ add_list2_option(RRC_ASN1_VERSION "Rel10" "ASN.1 version of RRC interface" "Rel8
if (${RRC_ASN1_VERSION} STREQUAL "Rel8")
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn)
-elseif (${RRC_ASN1_VERSION} STREQUAL "Rel10")
+elseif (${RRC_ASN1_VERSION} STREQUAL "CBA")
+ set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20-lola.asn)
+else()
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn)
endif (${RRC_ASN1_VERSION} STREQUAL "Rel8")
@@ -335,77 +347,160 @@ endif (${RF_BOARD} STREQUAL "EXMIMO")
include_directories ("${OPENAIR_TARGETS}/ARCH/COMMON")
-####################
-# to be documented options
-###################
-add_boolean_option(ADDR_CONF False "specific to oaisim")
+
+##############################################################
+# ???!!! TO BE DOCUMENTED OPTIONS !!!???
+##############################################################
add_boolean_option(ASSERT True "???")
+add_boolean_option(ENABLE_SECURITY True "Enable LTE integrity and ciphering between RRC UE and eNB")
+add_boolean_option(ENABLE_USE_MME True "eNB connected to MME (INTERFACE S1-C), not standalone eNB")
+add_boolean_option(NO_RRM True "DO WE HAVE A RADIO RESSOURCE MANAGER: NO")
+add_boolean_option(USER_MODE True "????")
+
+add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????")
add_boolean_option(DISABLE_USE_NAS False "???")
-add_boolean_option(DRIVER2013 True "????")
-add_boolean_option(ENABLE_FXP True "????")
-add_boolean_option(ENABLE_NAS_UE_LOGGING True "????")
-add_boolean_option(ENABLE_NEW_MULTICAST False "specific to oaisim")
add_boolean_option(ENABLE_PDCP_NETLINK_FIFO False "????")
-add_boolean_option(ENABLE_PGM_TRANSPORT False "specific to oaisim")
-add_boolean_option(ENABLE_RAL False "????")
-add_boolean_option(ENABLE_SECURITY True "???")
add_boolean_option(ENABLE_STANDALONE_EPC True "Compile MME, SGW and PGW in a single executable")
-add_boolean_option(ENABLE_USE_CPU_EXECUTION_TIME True "Add data in vcd traces: disable it if perf issues")
add_boolean_option(ENABLE_USE_GTPU_IN_KERNEL True "as per name")
-add_boolean_option(ENABLE_USE_MME True "???")
add_boolean_option(ENABLE_USE_NETFILTER_FOR_SGI False "SGI option")
add_boolean_option(ENABLE_USE_PCAP_FOR_SGI False "SGI option")
add_boolean_option(ENABLE_USE_RAW_SOCKET_FOR_SGI False "As per name")
-add_boolean_option(ENABLE_VCD_FIFO True "Seems legacy: always true now")
-add_boolean_option(ENB_MODE True "???")
add_boolean_option(EPC_BUILD False "???")
-add_boolean_option(HARD_RT False "???")
-add_boolean_option(JUMBO_FRAME True "???")
-add_boolean_option(LARGE_SCALE False "specific to oaisim: defines max eNB=2 and max UE=120")
-add_boolean_option(LINK_PDCP_TO_GTPV1U True "????")
-add_boolean_option(LINUX_LIST False "???")
-add_boolean_option(LINUX True "???")
-add_boolean_option(LOCALIZATION False "???")
-add_boolean_option(LOG_NO_THREAD True "Disable thread for log, seems always set to true")
+add_boolean_option(LINK_PDCP_TO_GTPV1U False "????")
add_boolean_option(LOWLATENCY True "Use the Linux scheduler SCHED_DEADLINE: kernel >= 3.14")
-add_boolean_option(MAC_CONTEXT True "specific to oaisim")
-add_integer_option(MAX_NUM_CCs 1 "????")
-add_boolean_option(MIH_C_MEDIEVAL_EXTENSIONS True "????")
-add_boolean_option(MU_RECEIVER False "????")
add_boolean_option(NAS_ADDRESS_FIX False "specific to oaisim: for nasmesh driver")
-add_boolean_option(NAS_MME False "NAS_UE and NAS_MME are incompatible options")
add_boolean_option(NAS_NETLINK False "???? Must be True to compile nasmesh driver without rtai")
-add_boolean_option(NAS_UE True "NAS_UE and NAS_MME are incompatible options")
-add_boolean_option(NEW_FFT True "????")
-add_boolean_option(NO_RRM True "????")
-add_boolean_option(OAI_EMU False "specific to oaisim")
add_boolean_option(OAISIM False "specific to oaisim")
-add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????")
add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????")
-add_boolean_option(OPENAIR1 True "????")
-add_boolean_option(OPENAIR2 True "????")
-add_boolean_option(OPENAIR_EMU False "specific to oaisim")
-add_boolean_option(OPENAIR_LTE True "Seems legacy: keep it to true")
-add_boolean_option(PBS_SIM False "????")
-add_boolean_option(PC_DSP True "????")
-add_boolean_option(PC_TARGET True "????")
-add_boolean_option(PERFECT_CE False "????")
-add_boolean_option(PHY_ABSTRACTION False "specific to oaisim")
-add_boolean_option(PHY_CONTEXT True "not clear: must remain False for dlsim")
-add_boolean_option(PHY_EMUL False "not clear: must remain False for dlsim")
-add_boolean_option(PHYSIM True "??? set in lte-softmodem, for L1 simulators dlsim, ulsim, ...?")
-add_boolean_option(PUCCH True "????")
-add_boolean_option(RANDOM_BF False "????")
-add_boolean_option(RLC_STOP_ON_LOST_PDU False "Fatal assert in this case")
-add_boolean_option(SECU False "???")
-add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator")
-add_boolean_option(SPECTRA False "???")
-add_boolean_option(UE_BUILD True "????")
-add_boolean_option(USE_3GPP_ADDR_AS_LINK_ADDR False "As per attribute name")
+add_boolean_option(UE_BUILD False "????")
add_boolean_option(USE_MME False "this flag is used only one time in lte-softmodem.c")
-add_boolean_option(USER_MODE True "????")
add_list_string_option(PACKAGE_NAME "NotDefined" "As per attribute name")
+########################
+# Include order
+##########################
+add_boolean_option(ENB_MODE True "Swap the include directories between openair2 and openair-cn" )
+
+##########################
+# Emulation options
+##########################
+add_boolean_option(ENABLE_PGM_TRANSPORT False "specific to oaisim, emulation through ethernet, reliable multicast")
+add_boolean_option(ADDR_CONF False "specific to oaisim, IP autoconf of user-plane IP interface")
+add_boolean_option(OPENAIR_EMU False "specific to oaisim")
+add_boolean_option(OAI_EMU False "specific to oaisim")
+add_boolean_option(PHY_ABSTRACTION False "specific to oaisim")
+
+##########################
+# SCHEDULING/REAL-TIME/PERF options
+##########################
+add_boolean_option(ENABLE_USE_CPU_EXECUTION_TIME True "Add data in vcd traces: disable it if perf issues")
+add_boolean_option(ENABLE_VCD_FIFO True "Seems legacy: always true now, time measurements of proc calls and var displays")
+add_boolean_option(HARD_RT False "???")
+add_boolean_option(LINUX False "used in weird memcpy() in pdcp.c ???")
+add_boolean_option(LINUX_LIST False "used only in lists.c: either use OAI implementation of lists or Linux one (should be True, but it is False")
+add_boolean_option(LOG_NO_THREAD True "Disable thread for log, seems always set to true")
+add_boolean_option(OPENAIR_LTE True "Seems legacy: keep it to true")
+
+##########################
+# PHY options
+##########################
+add_boolean_option(DRIVER2013 True "????")
+add_boolean_option(ENABLE_FXP True "????")
+add_boolean_option(ENABLE_NEW_MULTICAST False "specific to oaisim")
+add_boolean_option(LARGE_SCALE False "specific to oaisim: defines max eNB=2 and max UE=120")
+add_boolean_option(LOCALIZATION False "???")
+add_integer_option(MAX_NUM_CCs 1 "????")
+add_boolean_option(MU_RECEIVER False "????")
+add_boolean_option(NEW_FFT True "????")
+add_boolean_option(OPENAIR1 True "????")
+add_boolean_option(PBS_SIM False "????")
+add_boolean_option(PC_DSP True "????")
+add_boolean_option(PC_TARGET True "????")
+add_boolean_option(PERFECT_CE False "????")
+add_boolean_option(PHYSIM True "for L1 simulators (dlsim, ulsim, ...)")
+add_boolean_option(PHY_CONTEXT True "not clear: must remain False for dlsim")
+add_boolean_option(PHY_EMUL False "not clear: must remain False for dlsim")
+add_boolean_option(PUCCH True "????")
+add_boolean_option(RANDOM_BF False "????")
+add_boolean_option(SMBV False "Rohde&Schwarz SMBV100A vector signal generator")
+
+##########################
+# 802.21 options
+##########################
+add_boolean_option(ENABLE_RAL False "ENABLE 802.21 INTERFACE")
+add_boolean_option(USE_3GPP_ADDR_AS_LINK_ADDR False "As per attribute name")
+
+##########################
+# NAS LAYER OPTIONS
+##########################
+add_boolean_option(ENABLE_NAS_UE_LOGGING True "????")
+add_boolean_option(NAS_BUILT_IN_EPC False "MME NAS layer not present in this executable")
+add_boolean_option(NAS_BUILT_IN_UE True "UE NAS layer present in this executable")
+add_boolean_option(NAS_UE True "NAS UE INSTANCE (<> NAS_MME)")
+add_boolean_option(NAS_MME False "NAS_UE and NAS_MME are incompatible options")
+
+
+##########################
+# ACCESS STRATUM LAYER2 OPTIONS
+##########################
+add_boolean_option(MAC_CONTEXT True "specific to oaisim")
+add_boolean_option(JUMBO_FRAME True "ENABLE LARGE SDU in ACCESS STRATUM (larger than common MTU)")
+
+##########################
+# RLC LAYER OPTIONS
+##########################
+add_boolean_option(OPENAIR2 True "Access Stratum layer 2 built in executable")
+add_boolean_option(TRACE_RLC_PAYLOAD False "Fatal assert in this case")
+add_boolean_option(RLC_STOP_ON_LOST_PDU False "Fatal assert in this case")
+
+add_boolean_option(TRACE_RLC_AM_BO False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_AM_FREE_SDU False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_AM_HOLE False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_AM_PDU False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_AM_RESEGMENT False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_AM_RX False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_AM_RX_DECODE False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_AM_TX False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_AM_TX_STATUS False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_AM_STATUS_CREATION False "TRACE for RLC AM, TO BE CHANGED IN A MORE GENERAL FLAG")
+
+add_boolean_option(STOP_ON_IP_TRAFFIC_OVERLOAD False "")
+add_boolean_option(TRACE_RLC_UM_DAR False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_UM_DISPLAY_ASCII_DATA False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_UM_PDU False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_UM_RX False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_UM_SEGMENT False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG")
+add_boolean_option(TRACE_RLC_UM_TX_STATUS False "TRACE for RLC UM, TO BE CHANGED IN A MORE GENERAL FLAG")
+
+
+##########################
+# PDCP LAYER OPTIONS
+##########################
+add_boolean_option(PDCP_USE_NETLINK False "For eNB, PDCP communicate with a NETLINK socket if connected to network driver, else could use a RT-FIFO")
+add_boolean_option(PDCP_USE_NETLINK_QUEUES False "When PDCP_USE_NETLINK is true, incoming IP packets are stored in queues")
+add_boolean_option(LINK_ENB_PDCP_TO_IP_DRIVER False "For eNB, PDCP communicate with a IP driver")
+add_boolean_option(LINK_ENB_PDCP_TO_GTPV1U True "For eNB, PDCP communicate with GTP-U protocol (eNB<->S-GW)")
+
+##########################
+# RRC LAYER OPTIONS
+##########################
+add_boolean_option(RRC_DEFAULT_RAB_IS_AM False "Otherwise it is UM, configure params are actually set in rrc_eNB.c:rrc_eNB_generate_defaultRRCConnectionReconfiguration(...)")
+
+
+##########################
+# S1AP LAYER OPTIONS
+##########################
+add_boolean_option(S1AP_LIMIT_STREAM_ID_TO_1 True "FIXME: Despite Eurecom has implemented the spec concerning management of stream ids, there are always issues with other EPCs than EURECOM")
+
+##########################
+# PROJECTS (IST, FRENCH COLL., etc)
+# SPECIFIC OPTIONS
+##########################
+add_boolean_option(SPECTRA False "???")
+add_boolean_option(MIH_C_MEDIEVAL_EXTENSIONS True "EXTENSIONS TO MIH 802.21 IN CONTEXT OF IST PROJECT CALLED MEDIEVAL")
+
+
+
add_boolean_option(EMOS False "????")
if(${EMOS})
add_definitions("-D_FILE_OFFSET_BITS=64")
@@ -712,6 +807,7 @@ set(L2_SRC
${RRC_DIR}/rrc_UE.c
${RRC_DIR}/rrc_eNB.c
${RRC_DIR}/rrc_eNB_S1AP.c
+ ${RRC_DIR}/rrc_eNB_UE_context.c
${RRC_DIR}/rrc_common.c
${RRC_DIR}/L2_interface.c
)
@@ -1291,7 +1387,6 @@ include_directories(${CRYPTO_INCLUDE_DIRS})
if (${RF_BOARD} STREQUAL "USRP")
find_package(Boost REQUIRED)
include_directories(${LIBBOOST_INCLUDE_DIR})
- target_link_libraries (lte-softmodem ${LIBBOOST_LIBRARIES})
endif (${RF_BOARD} STREQUAL "USRP")
pkg_search_module(OPENPGM openpgm-5.1)
@@ -1368,10 +1463,11 @@ target_link_libraries (lte-softmodem
-Wl,--end-group )
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
target_link_libraries (lte-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${option_USRP} ${XFORMS_LIBRARIES} )
+target_link_libraries (lte-softmodem ${LIBBOOST_LIBRARIES})
# EPC is ??? nodes implementation in one process
################################
-add_executable(oai_epc
+add_executable(mme_gw
${OPENAIR_BIN_DIR}/messages_xml.h
${OPENAIRCN_DIR}/OAI_EPC/oai_epc_log.c
${OPENAIRCN_DIR}/OAI_EPC/oai_epc.c
@@ -1379,13 +1475,35 @@ add_executable(oai_epc
${OPENAIRCN_DIR}/SCTP/sctp_primitives_server.c
${OPENAIRCN_DIR}/NAS/nas_main.c
)
-target_link_libraries (oai_epc
+target_link_libraries (mme_gw
-Wl,--start-group
NAS S1AP_LIB S1AP_EPC GTPV1U GTPV2C SCTP_SERVER UDP_SERVER SECU_CN SECU_OSA SGI S6A SGW MME_APP LFDS ${ITTI_LIB} CN_UTILS HASHTABLE
-Wl,--end-group
pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
)
+# Default parameters
+site_name(SITE_HSS_HOSTNAME)
+site_name(SITE_MME_HOSTNAME)
+add_option(MME_HOSTNAME ${SITE_MME_HOSTNAME} "HSS Fully qualified domain name")
+add_option(HSS_HOSTNAME ${SITE_HSS_HOSTNAME} "HSS Fully qualified domain name")
+add_option(HSS_IP 127.0.1.1 "HSS IP address, default is local")
+add_option(REALM openair4G.eur "Realm TODO: extract this default value from SITE_MME_FQDN")
+add_option(MME_FQDN ${SITE_MME_HOSTNAME}.${REALM} "MME Fully qualified domain name")
+add_option(HSS_FQDN ${SITE_HSS_HOSTNAME}.${REALM} "HSS Fully qualified domain name")
+add_option(TRANSPORT_option No_SCTP "No_TCP or No_SCTP")
+add_option(TRANSPORT_PREFER_TCP_option Prefer_TCP "Prefer_TCP or null string ")
+
+configure_file(
+ ${OPENAIRCN_DIR}/UTILS/CONF/s6a.conf.in
+ ${CMAKE_CURRENT_BINARY_DIR}/epc_s6a.conf)
+configure_file(
+ ${OPENAIR_TARGETS}/PROJECTS/GENERIC-LTE-EPC/CONF/epc.local.enb.conf.in
+ ${CMAKE_CURRENT_BINARY_DIR}/epc.local.enb.conf)
+configure_file(
+ ${OPENAIR_TARGETS}/PROJECTS/GENERIC-LTE-EPC/CONF/epc.conf.in
+ ${CMAKE_CURRENT_BINARY_DIR}/epc.conf)
+
# oai_sgw is SGW node implementation
################################
add_executable(oai_sgw
@@ -1402,17 +1520,17 @@ target_link_libraries (oai_sgw
# USIM process
#################
-add_executable(usim_data
+add_executable(usim
${OPENAIRCN_DIR}/NAS/EURECOM-NAS/tools/usim_data.c
)
-target_link_libraries (usim_data ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m)
+target_link_libraries (usim ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m)
# ???
#####################
-add_executable(ue_data
+add_executable(nvram
${OPENAIRCN_DIR}/NAS/EURECOM-NAS/tools/ue_data.c
)
-target_link_libraries (ue_data ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m)
+target_link_libraries (nvram ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m)
###################################"
# Addexecutables for tests
@@ -1472,8 +1590,6 @@ foreach(myExe s1ap
secu_kenb
aes128_ctr_encrypt
aes128_ctr_decrypt
- secu
- secu_knas_stream_int
secu_knas_encrypt_eea2
secu_knas secu_knas_encrypt_eea1
kdf
@@ -1497,12 +1613,16 @@ endforeach(myExe)
# ???
###########################
add_executable(oaisim_mme
+ ${OPENAIR_BIN_DIR}/messages_xml.h
${OPENAIRCN_DIR}/OAISIM_MME/oai_mme_log.c
${OPENAIRCN_DIR}/OAISIM_MME/oaisim_mme.c
+ ${OPENAIRCN_DIR}/NAS/nas_main.c
)
target_link_libraries (oaisim_mme
- ${ITTI_LIB} ${NAS_LIB} S1AP_LIB S1AP_ENB
- S11 S6A UTILS UDP MME_APP SECU_CN LFDS fdproto fdcore
+ -Wl,--start-group
+ NAS S1AP_LIB S1AP_EPC GTPV1U GTPV2C SCTP_SERVER UDP_SERVER SECU_CN SECU_OSA SGI S6A S11 SGW MME_APP LFDS ${ITTI_LIB} CN_UTILS HASHTABLE
+ -Wl,--end-group
+ pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
)
##################################################
diff --git a/cmake_targets/autotests/run_compilation_autotests.bash b/cmake_targets/autotests/run_compilation_autotests.bash
index e717d5be81..28a97538a6 100755
--- a/cmake_targets/autotests/run_compilation_autotests.bash
+++ b/cmake_targets/autotests/run_compilation_autotests.bash
@@ -1,12 +1,28 @@
#!/bin/bash
-if [ -s $OPENAIR_DIR/cmake_targets/build_helper.bash ] ; then
- source $OPENAIR_DIR/cmake_targets/build_helper.bash
+if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper.bash ] ; then
+ source $OPENAIR_DIR/cmake_targets/tools/build_helper.bash
else
echo "Error: no file in the file tree: is OPENAIR_DIR variable set?"
exit 1
fi
+test_compile() {
+ mkdir -p $tdir/$1/build
+ cd $tdir/$1/build
+ {
+ cmake ..
+ rm -f $3
+ make -j4 $2
+ } > $tdir/log/$1.txt 2>&1
+ if [ -s $3 ] ; then
+ cp $3 $tdir/bin/$3.$1
+ echo_success "$1 test compiled"
+ else
+ echo_error "$1 test compilation failed"
+ fi
+}
+
tdir=$OPENAIR_DIR/cmake_targets/autotests
mkdir -p $tdir/bin $tdir/log
@@ -15,71 +31,49 @@ if [ "$updated" != "" ] ; then
echo_warning "some files are not in svn: $updated"
fi
-compilations \
- autotests/test.0101 oaisim \
- oaisim $tdir/bin/oaisim.r8 \
- $tdir/log/test0101.txt \
- "test 0101:oaisim Rel8 passed" \
- "test 0101:oaisim Rel8 failed"
+cd $tdir
-compilations \
- autotests/test.0102 oaisim \
- oaisim $tdir/bin/oaisim.r8.nas \
- $tdir/log/test0102.oaisim.txt \
- "test 0102:oaisim Rel8 nas passed" \
- "test 0102:oaisim Rel8 nas failed"
-compilations \
- autotests/test.0103 oaisim \
- oaisim $tdir/bin/oaisim.r8.rf \
- $tdir/log/test0103.txt \
- "test 0103:oaisim rel8 rf passed" \
- "test 0103:oaisim rel8 rf failed"
-compilations \
- autotests/test.0104 dlsim \
- dlsim $tdir/bin/dlsim \
- $tdir/log/test0104.txt \
- "test 0104:dlsim passed" \
- "test 0104:dlsim failed"
-compilations \
- autotests/test.0104 ulsim \
- ulsim $tdir/bin/ulsim \
- $tdir/log/test0105.txt \
- "test 0105: ulsim passed" \
- "test 0105: ulsim failed"
-compilations \
- autotests/test.0106 oaisim \
- oaisim $tdir/bin/oaisim.r8.itti \
- $tdir/log/test0106.txt \
- "test 0103:oaisim rel8 itti passed" \
- "test 0103:oaisim rel8 itti failed"
-compilations \
- autotests/test.0107 oaisim \
- oaisim $tdir/bin/oaisim.r10 \
- $tdir/log/test0107.txt \
- "test 0103:oaisim rel10 passed" \
- "test 0103:oaisim rel10 failed"
-compilations \
- autotests/test.0108 oaisim \
- oaisim $tdir/bin/oaisim.r10.itti \
- $tdir/log/test0108.txt \
- "test 0108:oaisim rel10 itti passed" \
- "test 0108:oaisim rel10 itti failed"
-compilations \
- autotests/test.0114 oaisim \
- oaisim $tdir/bin/oaisim.r8.itti.ral \
- $tdir/log/test0114.txt \
- "test 0114:oaisim rel8 itti ral passed" \
- "test 0114:oaisim rel8 itti ral failed"
-compilations \
- autotests/test.0115 oaisim \
- oaisim $tdir/bin/oaisim.r10.itti.ral \
- $tdir/log/test0115.txt \
- "test 0114:oaisim rel10 itti ral passed" \
- "test 0114:oaisim rel10 itti ral failed"
-compilations \
- autotests/test.0102 nasmesh \
- CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko \
- $tdir/log/test0120.txt \
- "test 0120: nasmesh.ko passed" \
- "test 0120: nasmesk.ko failed"
+test_compile \
+ test.0101 oaisim \
+ oaisim $tdir/bin/oaisim.r8
+
+test_compile \
+ test.0102 oaisim \
+ oaisim $tdir/bin/oaisim.r8.nas
+
+test_compile \
+ test.0103 lte-softmodem \
+ lte-softmodem $tdir/bin/lte-softmodem.r8.rf
+
+test_compile \
+ test.0104 dlsim \
+ dlsim $tdir/bin/dlsim
+
+test_compile \
+ test.0104 ulsim \
+ ulsim $tdir/bin/ulsim
+
+test_compile \
+ test.0106 oaisim \
+ oaisim $tdir/bin/oaisim.r8.itti
+
+test_compile \
+ test.0107 oaisim \
+ oaisim $tdir/bin/oaisim.r10
+
+test_compile \
+ test.0108 oaisim \
+ oaisim $tdir/bin/oaisim.r10.itti
+
+test_compile \
+ test.0114 oaisim \
+ oaisim $tdir/bin/oaisim.r8.itti.ral
+
+test_compile \
+ test.0115 oaisim \
+ oaisim $tdir/bin/oaisim.r10.itti.ral
+
+test_compile \
+ test.0120 nasmesh \
+ CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko
diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash
index 92f742d09c..5b2b523524 100755
--- a/cmake_targets/autotests/run_exec_autotests.bash
+++ b/cmake_targets/autotests/run_exec_autotests.bash
@@ -1,7 +1,7 @@
#!/bin/bash
-if [ -s $OPENAIR_DIR/cmake_targets/build_helper.bash ] ; then
- source $OPENAIR_DIR/cmake_targets/build_helper.bash
+if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper.bash ] ; then
+ source $OPENAIR_DIR/cmake_targets/tools/build_helper.bash
else
echo "Error: no file in the file tree: is OPENAIR_DIR variable set?"
exit 1
diff --git a/cmake_targets/autotests/test.0101/CMakeLists.txt b/cmake_targets/autotests/test.0101/CMakeLists.txt
index a3dbc10482..50c56b2d70 100644
--- a/cmake_targets/autotests/test.0101/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0101/CMakeLists.txt
@@ -1,75 +1,111 @@
cmake_minimum_required(VERSION 2.8)
-set(ADDR_CONF False)
-set(ASSERT True)
-set(DEBUG_OMG False)
-set(DISABLE_XER_PRINT False)
-set(DRIVER2013 False)
-set(ENABLE_FXP True)
-set(ENABLE_ITTI False)
-set(ENABLE_NAS_UE_LOGGING False)
-set(ENABLE_NEW_MULTICAST True)
-set(ENABLE_PDCP_NETLINK_FIFO False)
-set(ENABLE_PGM_TRANSPORT True)
-set(ENABLE_RAL False)
-set(ENABLE_SECURITY False)
-set(ENABLE_USE_CPU_EXECUTION_TIME True)
-set(ENABLE_USE_MME False)
-set(ENABLE_VCD_FIFO True)
-set(HARD_RT False)
-set(JUMBO_FRAME True)
-set(LARGE_SCALE False)
-set(LINK_PDCP_TO_GTPV1U False)
-set(LINUX_LIST False)
-set(LINUX True)
-set(LOCALIZATION False)
-set(LOG_NO_THREAD True)
-set(LOWLATENCY False)
-set(MAC_CONTEXT 1)
-set(MAX_NUM_CCs 1)
-set(MIH_C_MEDIEVAL_EXTENSIONS True)
-set(MSG_PRINT False)
-set(MU_RECEIVER False)
-set(NAS_ADDRESS_FIX true)
-set(NAS_NETLINK True)
-set(NAS_UE True)
-set(NEW_FFT True)
-set(NO_RRM True)
-set(OAI_EMU True)
-set(OAI_EMU True)
-set(OAI_NW_DRIVER_TYPE_ETHERNET False)
-set(OPENAIR1 False)
-set(OPENAIR2 True)
-set(OPENAIR_EMU True)
-set(OPENAIR_LTE True)
-set (PACKAGE_NAME "oaisim")
-set(PACKAGE_NAME "oaisim")
-set(PBS_SIM False)
-set(PC_DSP False)
-set(PC_TARGET False)
-set(PDCP_MSG_PRINT False)
-set(PERFECT_CE False)
-set(PHY_ABSTRACTION True)
-set(PHY_ABSTRACTION True)
-set(PHY_EMUL False)
-set(PHYSIM False)
-set(PUCCH True)
-set(RANDOM_BF False)
-set(RF_BOARD "NoBoard")
-set(RLC_STOP_ON_LOST_PDU False)
-set(RRC_ASN1_VERSION False)
-set(RRC_ASN1_VERSION "Rel8")
-set(RRC_MSG_PRINT False)
-set(RTAI False)
-set(SECU False)
-set(SMBV False)
-set(SPECTRA False)
-set(TEST_OMG False)
-set(UE_BUILD False)
-set(USE_3GPP_ADDR_AS_LINK_ADDR False)
-set(USE_MME False)
-set(USER_MODE True)
-set(XER_PRINT True)
-set(XFORMS False)
-
+set ( ADDR_CONF False )
+set ( ASSERT True )
+set ( DEBUG_OMG False )
+set ( DISABLE_USE_NAS False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 False )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI False )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PDCP_NETLINK_FIFO False )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False )
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_GTPU_IN_KERNEL False )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_NETFILTER_FOR_SGI False )
+set ( ENABLE_USE_PCAP_FOR_SGI False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False )
+set ( ENABLE_VCD_FIFO True )
+set ( ENB_MODE True )
+set ( EPC_BUILD False )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False )
+set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
+set ( LINK_PDCP_TO_GTPV1U False )
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD True )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MIH_C_MEDIEVAL_EXTENSIONS True )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX False )
+set ( NAS_BUILT_IN_EPC False )
+set ( NAS_BUILT_IN_UE False )
+set ( NAS_MME False )
+set ( NAS_NETLINK False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX 2 )
+set ( NB_ANTENNAS_TX 2 )
+set ( NB_ANTENNAS_TXRX 2 )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
+set ( OAI_NW_DRIVER_USE_NETLINK False )
+set ( OAISIM True )
+set ( OPENAIR1 False )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PBS_SIM False )
+set ( PC_DSP False )
+set ( PC_TARGET False )
+set ( PDCP_MSG_PRINT False )
+set ( PDCP_USE_NETLINK False )
+set ( PDCP_USE_NETLINK_QUEUES False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT 1 )
+set ( PHY_EMUL False )
+set ( PHYSIM False )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD False )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_ASN1_VERSION Rel8 )
+set ( RRC_DEFAULT_RAB_IS_AM False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
+set ( S1AP_VERSION R10 )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
+set ( TEST_OMG False )
+set ( TRACE_RLC_AM_BO False )
+set ( TRACE_RLC_AM_FREE_SDU False )
+set ( TRACE_RLC_AM_HOLE False )
+set ( TRACE_RLC_AM_PDU True )
+set ( TRACE_RLC_AM_RESEGMENT False )
+set ( TRACE_RLC_AM_RX_DECODE False )
+set ( TRACE_RLC_AM_RX False )
+set ( TRACE_RLC_AM_STATUS_CREATION False )
+set ( TRACE_RLC_AM_TX False )
+set ( TRACE_RLC_AM_TX_STATUS False )
+set ( TRACE_RLC_PAYLOAD False )
+set ( TRACE_RLC_UM_DAR False )
+set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
+set ( TRACE_RLC_UM_PDU True )
+set ( TRACE_RLC_UM_RX False )
+set ( TRACE_RLC_UM_SEGMENT False )
+set ( TRACE_RLC_UM_TX_STATUS False )
+set ( UE_BUILD False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME False )
+set ( USER_MODE True )
+set ( XER_PRINT True )
+set ( XFORMS False )
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/test.0102/CMakeLists.txt b/cmake_targets/autotests/test.0102/CMakeLists.txt
index e219ba896a..32e3f4a0b1 100644
--- a/cmake_targets/autotests/test.0102/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0102/CMakeLists.txt
@@ -1,75 +1,111 @@
cmake_minimum_required(VERSION 2.8)
-set(ADDR_CONF False)
-set(ASSERT True)
-set(DEBUG_OMG False)
-set(DISABLE_XER_PRINT False)
-set(DRIVER2013 False)
-set(ENABLE_FXP True)
-set(ENABLE_ITTI False)
-set(ENABLE_NAS_UE_LOGGING False)
-set(ENABLE_NEW_MULTICAST True)
-set(ENABLE_PDCP_NETLINK_FIFO True)
-set(ENABLE_PGM_TRANSPORT True)
-set(ENABLE_RAL False)
-set(ENABLE_SECURITY False)
-set(ENABLE_USE_CPU_EXECUTION_TIME True)
-set(ENABLE_USE_MME False)
-set(ENABLE_VCD_FIFO True)
-set(HARD_RT False)
-set(JUMBO_FRAME True)
-set(LARGE_SCALE False)
-set(LINK_PDCP_TO_GTPV1U False)
-set(LINUX_LIST False)
-set(LINUX True)
-set(LOCALIZATION False)
-set(LOG_NO_THREAD True)
-set(LOWLATENCY False)
-set(MAC_CONTEXT 1)
-set(MAX_NUM_CCs 1)
-set(MIH_C_MEDIEVAL_EXTENSIONS True)
-set(MSG_PRINT False)
-set(MU_RECEIVER False)
-set(NAS_ADDRESS_FIX true)
-set(NAS_NETLINK True)
-set(NAS_UE True)
-set(NEW_FFT True)
-set(NO_RRM True)
-set(OAI_EMU True)
-set(OAI_EMU True)
-set(OAI_NW_DRIVER_TYPE_ETHERNET False)
-set(OPENAIR1 False)
-set(OPENAIR2 True)
-set(OPENAIR_EMU True)
-set(OPENAIR_LTE True)
-set (PACKAGE_NAME "oaisim")
-set(PACKAGE_NAME "oaisim")
-set(PBS_SIM False)
-set(PC_DSP False)
-set(PC_TARGET False)
-set(PDCP_MSG_PRINT False)
-set(PERFECT_CE False)
-set(PHY_ABSTRACTION True)
-set(PHY_ABSTRACTION True)
-set(PHY_EMUL False)
-set(PHYSIM False)
-set(PUCCH True)
-set(RANDOM_BF False)
-set(RF_BOARD "NoBoard")
-set(RLC_STOP_ON_LOST_PDU False)
-set(RRC_ASN1_VERSION False)
-set(RRC_ASN1_VERSION "Rel8")
-set(RRC_MSG_PRINT False)
-set(RTAI False)
-set(SECU False)
-set(SMBV False)
-set(SPECTRA False)
-set(TEST_OMG False)
-set(UE_BUILD False)
-set(USE_3GPP_ADDR_AS_LINK_ADDR False)
-set(USE_MME False)
-set(USER_MODE True)
-set(XER_PRINT True)
-set(XFORMS False)
-
+set ( ADDR_CONF False )
+set ( ASSERT True )
+set ( DEBUG_OMG False )
+set ( DISABLE_USE_NAS False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 False )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI False )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PDCP_NETLINK_FIFO False )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False )
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_GTPU_IN_KERNEL False )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_NETFILTER_FOR_SGI False )
+set ( ENABLE_USE_PCAP_FOR_SGI False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False )
+set ( ENABLE_VCD_FIFO True )
+set ( ENB_MODE True )
+set ( EPC_BUILD False )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False )
+set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
+set ( LINK_PDCP_TO_GTPV1U False )
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD True )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MIH_C_MEDIEVAL_EXTENSIONS True )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX False )
+set ( NAS_BUILT_IN_EPC False )
+set ( NAS_BUILT_IN_UE False )
+set ( NAS_MME False )
+set ( NAS_NETLINK False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX 2 )
+set ( NB_ANTENNAS_TX 2 )
+set ( NB_ANTENNAS_TXRX 2 )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
+set ( OAI_NW_DRIVER_USE_NETLINK False )
+set ( OAISIM True )
+set ( OPENAIR1 False )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PBS_SIM False )
+set ( PC_DSP False )
+set ( PC_TARGET False )
+set ( PDCP_MSG_PRINT False )
+set ( PDCP_USE_NETLINK_QUEUES False )
+set ( PDCP_USE_NETLINK True )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT 1 )
+set ( PHY_EMUL False )
+set ( PHYSIM False )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD False )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_ASN1_VERSION Rel8 )
+set ( RRC_DEFAULT_RAB_IS_AM False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
+set ( S1AP_VERSION R10 )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
+set ( TEST_OMG False )
+set ( TRACE_RLC_AM_BO False )
+set ( TRACE_RLC_AM_FREE_SDU False )
+set ( TRACE_RLC_AM_HOLE False )
+set ( TRACE_RLC_AM_PDU True )
+set ( TRACE_RLC_AM_RESEGMENT False )
+set ( TRACE_RLC_AM_RX_DECODE False )
+set ( TRACE_RLC_AM_RX False )
+set ( TRACE_RLC_AM_STATUS_CREATION False )
+set ( TRACE_RLC_AM_TX False )
+set ( TRACE_RLC_AM_TX_STATUS False )
+set ( TRACE_RLC_PAYLOAD False )
+set ( TRACE_RLC_UM_DAR False )
+set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
+set ( TRACE_RLC_UM_PDU True )
+set ( TRACE_RLC_UM_RX False )
+set ( TRACE_RLC_UM_SEGMENT False )
+set ( TRACE_RLC_UM_TX_STATUS False )
+set ( UE_BUILD False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME False )
+set ( USER_MODE True )
+set ( XER_PRINT True )
+set ( XFORMS False )
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/test.0103/CMakeLists.txt b/cmake_targets/autotests/test.0103/CMakeLists.txt
index 7c06bb7422..2710d5f43a 100644
--- a/cmake_targets/autotests/test.0103/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0103/CMakeLists.txt
@@ -1,72 +1,112 @@
cmake_minimum_required(VERSION 2.8)
-set(ADDR_CONF False)
-set(ASSERT False)
-set(DEBUG_OMG False)
-set(DISABLE_XER_PRINT False)
-set(DRIVER2013 True)
-set(ENABLE_FXP True)
-set(ENABLE_ITTI False)
-set(ENABLE_NAS_UE_LOGGING False)
-set(ENABLE_NEW_MULTICAST False)
-set(ENABLE_PDCP_NETLINK_FIFO False)
-set(ENABLE_PGM_TRANSPORT False)
-set(ENABLE_RAL False)
-set(ENABLE_SECURITY False)
-set(ENABLE_USE_CPU_EXECUTION_TIME True)
-set(ENABLE_USE_MME False)
-set(ENABLE_VCD_FIFO True)
-set(HARD_RT False)
-set(JUMBO_FRAME True)
-set(LARGE_SCALE False)
-set(LINK_PDCP_TO_GTPV1U False)
-set(LINUX_LIST False)
-set(LINUX True)
-set(LOCALIZATION False)
-set(LOG_NO_THREAD True)
-set(LOWLATENCY True)
-set(MAC_CONTEXT 1)
-set(MAX_NUM_CCs 1)
-set(MIH_C_MEDIEVAL_EXTENSIONS False)
-set(MSG_PRINT False)
-set(MU_RECEIVER False)
-set(NAS_ADDRESS_FIX False)
-set(NAS_NETLINK False)
-set(NAS_UE False)
-set(NEW_FFT True)
-set(NO_RRM True)
-set(OAI_EMU False)
-set(OAI_NW_DRIVER_TYPE_ETHERNET False)
-set(OPENAIR1 True)
-set(OPENAIR2 True)
-set(OPENAIR_EMU False)
-set(OPENAIR_LTE True)
-set(PACKAGE_NAME "oaisim")
-set(PBS_SIM False)
-set(PC_DSP True)
-set(PC_TARGET True)
-set(PDCP_MSG_PRINT False)
-set(PERFECT_CE False)
-set(PHY_ABSTRACTION False)
-set(PHY_CONTEXT False)
-set(PHY_EMUL False)
-set(PHYSIM True)
-set(PUCCH True)
-set(RANDOM_BF False)
-set(RF_BOARD "EXMIMO")
-set(RLC_STOP_ON_LOST_PDU False)
-set(RRC_ASN1_VERSION Rel8)
-set(RRC_MSG_PRINT False)
-set(RTAI False)
-set(SECU False)
-set(SMBV False)
-set(SPECTRA False)
-set(TEST_OMG False)
-set(UE_BUILD False)
-set(USE_3GPP_ADDR_AS_LINK_ADDR False)
-set(USE_MME False)
-set(USER_MODE True)
-set(XER_PRINT True)
-set(XFORMS False)
+set ( ADDR_CONF False )
+set ( ASSERT True )
+set ( DEBUG_OMG False )
+set ( DISABLE_USE_NAS False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 True )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI False )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST False )
+set ( ENABLE_PDCP_NETLINK_FIFO False )
+set ( ENABLE_PGM_TRANSPORT False )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False )
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_GTPU_IN_KERNEL False )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_NETFILTER_FOR_SGI False )
+set ( ENABLE_USE_PCAP_FOR_SGI False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False )
+set ( ENABLE_VCD_FIFO True )
+set ( ENB_MODE True )
+set ( EPC_BUILD False )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False )
+set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
+set ( LINK_PDCP_TO_GTPV1U False )
+set ( LINUX False )
+set ( LINUX_LIST False )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD True )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MIH_C_MEDIEVAL_EXTENSIONS True )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX False )
+set ( NAS_BUILT_IN_EPC False )
+set ( NAS_BUILT_IN_UE False )
+set ( NAS_MME False )
+set ( NAS_NETLINK False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX 2 )
+set ( NB_ANTENNAS_TX 2 )
+set ( NB_ANTENNAS_TXRX 2 )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU False )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
+set ( OAI_NW_DRIVER_USE_NETLINK False )
+set ( OAISIM False )
+set ( OPENAIR1 True )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PBS_SIM False )
+set ( PC_DSP True )
+set ( PC_TARGET True )
+set ( PDCP_MSG_PRINT False )
+set ( PDCP_USE_NETLINK False )
+set ( PDCP_USE_NETLINK_QUEUES False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION False )
+set ( PHY_CONTEXT 1 )
+set ( PHY_EMUL False )
+set ( PHYSIM True )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD EXMIMO )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_ASN1_VERSION Rel8 )
+set ( RRC_DEFAULT_RAB_IS_AM False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
+set ( S1AP_VERSION R10 )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
+set ( TEST_OMG False )
+set ( TRACE_RLC_AM_BO False )
+set ( TRACE_RLC_AM_FREE_SDU False )
+set ( TRACE_RLC_AM_HOLE False )
+set ( TRACE_RLC_AM_PDU False )
+set ( TRACE_RLC_AM_RESEGMENT False )
+set ( TRACE_RLC_AM_RX_DECODE False )
+set ( TRACE_RLC_AM_RX False )
+set ( TRACE_RLC_AM_STATUS_CREATION False )
+set ( TRACE_RLC_AM_TX False )
+set ( TRACE_RLC_AM_TX_STATUS False )
+set ( TRACE_RLC_PAYLOAD False )
+set ( TRACE_RLC_UM_DAR False )
+set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
+set ( TRACE_RLC_UM_PDU False )
+set ( TRACE_RLC_UM_RX False )
+set ( TRACE_RLC_UM_SEGMENT False )
+set ( TRACE_RLC_UM_TX_STATUS False )
+set ( UE_BUILD False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME False )
+set ( USER_MODE True )
+set ( XER_PRINT False )
+set ( XFORMS False )
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/test.0106/CMakeLists.txt b/cmake_targets/autotests/test.0106/CMakeLists.txt
index e9369d626f..c4ef942fc4 100644
--- a/cmake_targets/autotests/test.0106/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0106/CMakeLists.txt
@@ -57,7 +57,7 @@ set(PUCCH True)
set(RANDOM_BF False)
set(RF_BOARD "NoBoard")
set(RLC_STOP_ON_LOST_PDU False)
-set(RRC_ASN1_VERSION False)
+set(RRC_ASN1_VERSION Rel8)
set(RRC_ASN1_VERSION "Rel8")
set(RRC_MSG_PRINT False)
set(RTAI False)
diff --git a/cmake_targets/autotests/test.0107/CMakeLists.txt b/cmake_targets/autotests/test.0107/CMakeLists.txt
index 3c82ec99c6..180bd867f4 100644
--- a/cmake_targets/autotests/test.0107/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0107/CMakeLists.txt
@@ -1,75 +1,112 @@
cmake_minimum_required(VERSION 2.8)
-set(ADDR_CONF False)
-set(ASSERT True)
-set(DEBUG_OMG False)
-set(DISABLE_XER_PRINT False)
-set(DRIVER2013 False)
-set(ENABLE_FXP True)
-set(ENABLE_ITTI False)
-set(ENABLE_NAS_UE_LOGGING False)
-set(ENABLE_NEW_MULTICAST True)
-set(ENABLE_PDCP_NETLINK_FIFO False)
-set(ENABLE_PGM_TRANSPORT True)
-set(ENABLE_RAL False)
-set(ENABLE_SECURITY False)
-set(ENABLE_USE_CPU_EXECUTION_TIME True)
-set(ENABLE_USE_MME False)
-set(ENABLE_VCD_FIFO True)
-set(HARD_RT False)
-set(JUMBO_FRAME True)
-set(LARGE_SCALE False)
-set(LINK_PDCP_TO_GTPV1U False)
-set(LINUX_LIST False)
-set(LINUX True)
-set(LOCALIZATION False)
-set(LOG_NO_THREAD True)
-set(LOWLATENCY False)
-set(MAC_CONTEXT 1)
-set(MAX_NUM_CCs 1)
-set(MIH_C_MEDIEVAL_EXTENSIONS True)
-set(MSG_PRINT False)
-set(MU_RECEIVER False)
-set(NAS_ADDRESS_FIX true)
-set(NAS_NETLINK True)
-set(NAS_UE True)
-set(NEW_FFT True)
-set(NO_RRM True)
-set(OAI_EMU True)
-set(OAI_EMU True)
-set(OAI_NW_DRIVER_TYPE_ETHERNET False)
-set(OPENAIR1 False)
-set(OPENAIR2 True)
-set(OPENAIR_EMU True)
-set(OPENAIR_LTE True)
-set (PACKAGE_NAME "oaisim")
-set(PACKAGE_NAME "oaisim")
-set(PBS_SIM False)
-set(PC_DSP False)
-set(PC_TARGET False)
-set(PDCP_MSG_PRINT False)
-set(PERFECT_CE False)
-set(PHY_ABSTRACTION True)
-set(PHY_ABSTRACTION True)
-set(PHY_EMUL False)
-set(PHYSIM False)
-set(PUCCH True)
-set(RANDOM_BF False)
-set(RF_BOARD "NoBoard")
-set(RLC_STOP_ON_LOST_PDU True)
-set(RRC_ASN1_VERSION False)
-set(RRC_ASN1_VERSION "Rel10")
-set(RRC_MSG_PRINT False)
-set(RTAI False)
-set(SECU False)
-set(SMBV False)
-set(SPECTRA False)
-set(TEST_OMG False)
-set(UE_BUILD False)
-set(USE_3GPP_ADDR_AS_LINK_ADDR False)
-set(USE_MME False)
-set(USER_MODE True)
-set(XER_PRINT True)
-set(XFORMS False)
+set ( ADDR_CONF False )
+set ( ASSERT True )
+set ( DEBUG_OMG False )
+set ( DISABLE_USE_NAS False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 False )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI False )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PDCP_NETLINK_FIFO False )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False )
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_GTPU_IN_KERNEL False )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_NETFILTER_FOR_SGI False )
+set ( ENABLE_USE_PCAP_FOR_SGI False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False )
+set ( ENABLE_VCD_FIFO True )
+set ( ENB_MODE True )
+set ( EPC_BUILD False )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False )
+set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
+set ( LINK_PDCP_TO_GTPV1U False )
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD True )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MIH_C_MEDIEVAL_EXTENSIONS True )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX False )
+set ( NAS_BUILT_IN_EPC False )
+set ( NAS_BUILT_IN_UE False )
+set ( NAS_MME False )
+set ( NAS_NETLINK False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX 2 )
+set ( NB_ANTENNAS_TX 2 )
+set ( NB_ANTENNAS_TXRX 2 )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
+set ( OAI_NW_DRIVER_USE_NETLINK False )
+set ( OAISIM True )
+set ( OPENAIR1 False )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PBS_SIM False )
+set ( PC_DSP False )
+set ( PC_TARGET False )
+set ( PDCP_MSG_PRINT False )
+set ( PDCP_USE_NETLINK False )
+set ( PDCP_USE_NETLINK_QUEUES False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT 1 )
+set ( PHY_EMUL False )
+set ( PHYSIM False )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD False )
+set ( RLC_STOP_ON_LOST_PDU True )
+set ( RRC_ASN1_VERSION Rel10 )
+set ( RRC_DEFAULT_RAB_IS_AM False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
+set ( S1AP_VERSION R10 )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
+set ( TEST_OMG False )
+set ( TRACE_RLC_AM_BO False )
+set ( TRACE_RLC_AM_FREE_SDU False )
+set ( TRACE_RLC_AM_HOLE False )
+set ( TRACE_RLC_AM_PDU True )
+set ( TRACE_RLC_AM_RESEGMENT False )
+set ( TRACE_RLC_AM_RX_DECODE False )
+set ( TRACE_RLC_AM_RX False )
+set ( TRACE_RLC_AM_STATUS_CREATION False )
+set ( TRACE_RLC_AM_TX False )
+set ( TRACE_RLC_AM_TX_STATUS False )
+set ( TRACE_RLC_PAYLOAD False )
+set ( TRACE_RLC_UM_DAR False )
+set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
+set ( TRACE_RLC_UM_PDU True )
+set ( TRACE_RLC_UM_RX False )
+set ( TRACE_RLC_UM_SEGMENT False )
+set ( TRACE_RLC_UM_TX_STATUS False )
+set ( UE_BUILD False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME False )
+set ( USER_MODE True )
+set ( XER_PRINT True )
+set ( XFORMS False )
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/test.0108/CMakeLists.txt b/cmake_targets/autotests/test.0108/CMakeLists.txt
index d6ac75556e..0b16fc722a 100644
--- a/cmake_targets/autotests/test.0108/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0108/CMakeLists.txt
@@ -57,7 +57,7 @@ set(PUCCH True)
set(RANDOM_BF False)
set(RF_BOARD "NoBoard")
set(RLC_STOP_ON_LOST_PDU True)
-set(RRC_ASN1_VERSION False)
+set(RRC_ASN1_VERSION Rel10)
set(RRC_ASN1_VERSION "Rel10")
set(RRC_MSG_PRINT False)
set(RTAI False)
diff --git a/cmake_targets/autotests/test.0114/CMakeLists.txt b/cmake_targets/autotests/test.0114/CMakeLists.txt
index 2bc90e5c2d..426c824bff 100644
--- a/cmake_targets/autotests/test.0114/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0114/CMakeLists.txt
@@ -57,7 +57,7 @@ set(PUCCH True)
set(RANDOM_BF False)
set(RF_BOARD "NoBoard")
set(RLC_STOP_ON_LOST_PDU True)
-set(RRC_ASN1_VERSION False)
+set(RRC_ASN1_VERSION Rel8)
set(RRC_ASN1_VERSION "Rel8")
set(RRC_MSG_PRINT False)
set(RTAI False)
diff --git a/cmake_targets/autotests/test.0115/CMakeLists.txt b/cmake_targets/autotests/test.0115/CMakeLists.txt
index 285d13eceb..b6124779a5 100644
--- a/cmake_targets/autotests/test.0115/CMakeLists.txt
+++ b/cmake_targets/autotests/test.0115/CMakeLists.txt
@@ -1,75 +1,112 @@
cmake_minimum_required(VERSION 2.8)
-set(ADDR_CONF False)
-set(ASSERT True)
-set(DEBUG_OMG False)
-set(DISABLE_XER_PRINT False)
-set(DRIVER2013 False)
-set(ENABLE_FXP True)
-set(ENABLE_ITTI True)
-set(ENABLE_NAS_UE_LOGGING False)
-set(ENABLE_NEW_MULTICAST True)
-set(ENABLE_PDCP_NETLINK_FIFO True)
-set(ENABLE_PGM_TRANSPORT True)
-set(ENABLE_RAL True)
-set(ENABLE_SECURITY False)
-set(ENABLE_USE_CPU_EXECUTION_TIME True)
-set(ENABLE_USE_MME False)
-set(ENABLE_VCD_FIFO True)
-set(HARD_RT False)
-set(JUMBO_FRAME True)
-set(LARGE_SCALE False)
-set(LINK_PDCP_TO_GTPV1U False)
-set(LINUX_LIST False)
-set(LINUX True)
-set(LOCALIZATION False)
-set(LOG_NO_THREAD True)
-set(LOWLATENCY False)
-set(MAC_CONTEXT 1)
-set(MAX_NUM_CCs 1)
-set(MIH_C_MEDIEVAL_EXTENSIONS True)
-set(MSG_PRINT False)
-set(MU_RECEIVER False)
-set(NAS_ADDRESS_FIX true)
-set(NAS_NETLINK True)
-set(NAS_UE True)
-set(NEW_FFT True)
-set(NO_RRM True)
-set(OAI_EMU True)
-set(OAI_EMU True)
-set(OAI_NW_DRIVER_TYPE_ETHERNET True)
-set(OPENAIR1 False)
-set(OPENAIR2 True)
-set(OPENAIR_EMU True)
-set(OPENAIR_LTE True)
-set (PACKAGE_NAME "oaisim")
-set(PACKAGE_NAME "oaisim")
-set(PBS_SIM False)
-set(PC_DSP False)
-set(PC_TARGET False)
-set(PDCP_MSG_PRINT False)
-set(PERFECT_CE False)
-set(PHY_ABSTRACTION True)
-set(PHY_ABSTRACTION True)
-set(PHY_EMUL False)
-set(PHYSIM False)
-set(PUCCH True)
-set(RANDOM_BF False)
-set(RF_BOARD "NoBoard")
-set(RLC_STOP_ON_LOST_PDU True)
-set(RRC_ASN1_VERSION False)
-set(RRC_ASN1_VERSION "Rel10")
-set(RRC_MSG_PRINT False)
-set(RTAI False)
-set(SECU False)
-set(SMBV False)
-set(SPECTRA False)
-set(TEST_OMG False)
-set(UE_BUILD False)
-set(USE_3GPP_ADDR_AS_LINK_ADDR False)
-set(USE_MME False)
-set(USER_MODE True)
-set(XER_PRINT False)
-set(XFORMS False)
+set ( ADDR_CONF False )
+set ( ASSERT True )
+set ( DEBUG_OMG False )
+set ( DISABLE_USE_NAS False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 False )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI True )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PDCP_NETLINK_FIFO False )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL True )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False )
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_GTPU_IN_KERNEL False )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_NETFILTER_FOR_SGI False )
+set ( ENABLE_USE_PCAP_FOR_SGI False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False )
+set ( ENABLE_VCD_FIFO True )
+set ( ENB_MODE True )
+set ( EPC_BUILD False )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False )
+set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
+set ( LINK_PDCP_TO_GTPV1U False )
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD True )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MIH_C_MEDIEVAL_EXTENSIONS True )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX False )
+set ( NAS_BUILT_IN_EPC False )
+set ( NAS_BUILT_IN_UE False )
+set ( NAS_MME False )
+set ( NAS_NETLINK False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX 2 )
+set ( NB_ANTENNAS_TX 2 )
+set ( NB_ANTENNAS_TXRX 2 )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
+set ( OAI_NW_DRIVER_USE_NETLINK False )
+set ( OAISIM True )
+set ( OPENAIR1 False )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PBS_SIM False )
+set ( PC_DSP False )
+set ( PC_TARGET False )
+set ( PDCP_MSG_PRINT False )
+set ( PDCP_USE_NETLINK_QUEUES False )
+set ( PDCP_USE_NETLINK True )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT 1 )
+set ( PHY_EMUL False )
+set ( PHYSIM False )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD False )
+set ( RLC_STOP_ON_LOST_PDU True )
+set ( RRC_ASN1_VERSION Rel10 )
+set ( RRC_DEFAULT_RAB_IS_AM False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
+set ( S1AP_VERSION R10 )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
+set ( TEST_OMG False )
+set ( TRACE_RLC_AM_BO False )
+set ( TRACE_RLC_AM_FREE_SDU False )
+set ( TRACE_RLC_AM_HOLE False )
+set ( TRACE_RLC_AM_PDU True )
+set ( TRACE_RLC_AM_RESEGMENT False )
+set ( TRACE_RLC_AM_RX_DECODE False )
+set ( TRACE_RLC_AM_RX False )
+set ( TRACE_RLC_AM_STATUS_CREATION False )
+set ( TRACE_RLC_AM_TX False )
+set ( TRACE_RLC_AM_TX_STATUS False )
+set ( TRACE_RLC_PAYLOAD False )
+set ( TRACE_RLC_UM_DAR False )
+set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
+set ( TRACE_RLC_UM_PDU True )
+set ( TRACE_RLC_UM_RX False )
+set ( TRACE_RLC_UM_SEGMENT False )
+set ( TRACE_RLC_UM_TX_STATUS False )
+set ( UE_BUILD False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME False )
+set ( USER_MODE True )
+set ( XER_PRINT False )
+set ( XFORMS False )
include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/test.0120/CMakeLists.txt b/cmake_targets/autotests/test.0120/CMakeLists.txt
new file mode 100644
index 0000000000..32e3f4a0b1
--- /dev/null
+++ b/cmake_targets/autotests/test.0120/CMakeLists.txt
@@ -0,0 +1,111 @@
+cmake_minimum_required(VERSION 2.8)
+
+set ( ADDR_CONF False )
+set ( ASSERT True )
+set ( DEBUG_OMG False )
+set ( DISABLE_USE_NAS False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 False )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI False )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PDCP_NETLINK_FIFO False )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False )
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_GTPU_IN_KERNEL False )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_NETFILTER_FOR_SGI False )
+set ( ENABLE_USE_PCAP_FOR_SGI False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False )
+set ( ENABLE_VCD_FIFO True )
+set ( ENB_MODE True )
+set ( EPC_BUILD False )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False )
+set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
+set ( LINK_PDCP_TO_GTPV1U False )
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD True )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MIH_C_MEDIEVAL_EXTENSIONS True )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX False )
+set ( NAS_BUILT_IN_EPC False )
+set ( NAS_BUILT_IN_UE False )
+set ( NAS_MME False )
+set ( NAS_NETLINK False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX 2 )
+set ( NB_ANTENNAS_TX 2 )
+set ( NB_ANTENNAS_TXRX 2 )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
+set ( OAI_NW_DRIVER_USE_NETLINK False )
+set ( OAISIM True )
+set ( OPENAIR1 False )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PBS_SIM False )
+set ( PC_DSP False )
+set ( PC_TARGET False )
+set ( PDCP_MSG_PRINT False )
+set ( PDCP_USE_NETLINK_QUEUES False )
+set ( PDCP_USE_NETLINK True )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT 1 )
+set ( PHY_EMUL False )
+set ( PHYSIM False )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD False )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_ASN1_VERSION Rel8 )
+set ( RRC_DEFAULT_RAB_IS_AM False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
+set ( S1AP_VERSION R10 )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
+set ( TEST_OMG False )
+set ( TRACE_RLC_AM_BO False )
+set ( TRACE_RLC_AM_FREE_SDU False )
+set ( TRACE_RLC_AM_HOLE False )
+set ( TRACE_RLC_AM_PDU True )
+set ( TRACE_RLC_AM_RESEGMENT False )
+set ( TRACE_RLC_AM_RX_DECODE False )
+set ( TRACE_RLC_AM_RX False )
+set ( TRACE_RLC_AM_STATUS_CREATION False )
+set ( TRACE_RLC_AM_TX False )
+set ( TRACE_RLC_AM_TX_STATUS False )
+set ( TRACE_RLC_PAYLOAD False )
+set ( TRACE_RLC_UM_DAR False )
+set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
+set ( TRACE_RLC_UM_PDU True )
+set ( TRACE_RLC_UM_RX False )
+set ( TRACE_RLC_UM_SEGMENT False )
+set ( TRACE_RLC_UM_TX_STATUS False )
+set ( UE_BUILD False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME False )
+set ( USER_MODE True )
+set ( XER_PRINT True )
+set ( XFORMS False )
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/build_oai.bash b/cmake_targets/build_oai.bash
index efbae8aee2..d377b0a5bd 100755
--- a/cmake_targets/build_oai.bash
+++ b/cmake_targets/build_oai.bash
@@ -37,7 +37,7 @@
################################
ORIGIN_PATH=$PWD
THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
-source $THIS_SCRIPT_PATH/build_helper.bash
+source $THIS_SCRIPT_PATH/tools/build_helper.bash
#EMULATION_DEV_INTERFACE="eth0"
#EMULATION_MULTICAST_GROUP=1
@@ -60,14 +60,14 @@ do
clean_kernel
echo_info "Erased iptables config and removed modules from kernel"
shift;;
- -C | --config-file)
- CONFIG_FILE=$2
- echo_info "Will install the config file $CONFIG_FILE"
- shift 2;;
-I | --install-external-packages)
INSTALL_EXTERNAL=1
echo_info "Will install external packages"
shift;;
+ --install-optional-packages)
+ INSTALL_OPTIONAL=1
+ echo_info "Will install optional packages"
+ shift;;
-g | --run-with-gdb)
GDB=1
echo_info "Will Compile with gdb symbols"
@@ -141,7 +141,7 @@ echo_info "2. Setting the OAI PATHS ..."
set_openair_env
cecho "OPENAIR_HOME = $OPENAIR_HOME" $green
-dbin=$OPENAIR_HOME/cmake_targets/bin
+dbin=$OPENAIR_HOME/targets/bin
dlog=$OPENAIR_HOME/cmake_targets/log
mkdir -p $dbin $dlog
@@ -149,13 +149,18 @@ if [ "$INSTALL_EXTERNAL" = "1" ] ; then
echo_info "Installing packages"
check_install_oai_software
echo_info "Making X.509 certificates"
- make_certs
+ make_certs eur
if [ "$HW" == "USRP" ] ; then
echo_info "installing packages for USRP support"
check_install_usrp_uhd_driver
fi
fi
+if [ "$INSTALL_OPTIONAL" = "1" ] ; then
+ echo_info "Installing optional packages"
+ check_install_additional_tools
+fi
+
echo_info "3. building the compilation directives ..."
DIR=$OPENAIR_HOME/cmake_targets
@@ -164,6 +169,7 @@ DIR=$OPENAIR_HOME/cmake_targets
#####################################"
# For eNB, UE, ...
+############
mkdir -p $DIR/lte_build_oai/build
cmake_file=$DIR/lte_build_oai/CMakeLists.txt
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
@@ -177,6 +183,7 @@ cd $DIR/lte_build_oai/build
cmake ..
# For EPC
+############
cmake_file=$DIR/epc_build_oai/CMakeLists.txt
cp $DIR/epc_build_oai/CMakeLists.template $cmake_file
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
@@ -186,6 +193,7 @@ cd $DIR/epc_build_oai/build
cmake ..
# For oaisim
+############
cmake_file=$DIR/oaisim_build_oai/CMakeLists.txt
cp $DIR/oaisim_build_oai/CMakeLists.template $cmake_file
echo "set(XFORMS $XFORMS )" >> $cmake_file
@@ -196,7 +204,20 @@ mkdir -p $DIR/oaisim_build_oai/build
cd $DIR/oaisim_build_oai/build
cmake ..
+# For oaisim_mme
+############
+cmake_file=$DIR/oaisim_mme_build_oai/CMakeLists.txt
+cp $DIR/oaisim_mme_build_oai/CMakeLists.template $cmake_file
+echo "set(XFORMS $XFORMS )" >> $cmake_file
+echo "set(RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
+echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
+echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
+mkdir -p $DIR/oaisim_build_oai/build
+cd $DIR/oaisim_build_oai/build
+cmake ..
+
# For unitary test simulators
+###################
cd $OPENAIR_DIR/cmake_targets/lte-simulators
[ "$CLEAN" = "1" ] && rm -rf build
mkdir -p build
@@ -210,6 +231,10 @@ if [ "$eNB" = "1" -o "UE" = "1" ] ; then
compilations \
lte_build_oai lte-softmodem \
lte-softmodem lte-softmodem.$REL
+ # nasmesh driver compilation
+ compilations \
+ oaisim_build_oai nasmesh \
+ CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
fi
if [ "$UE" = 1 ] ; then
@@ -219,11 +244,11 @@ if [ "$UE" = 1 ] ; then
lte_build_oai ue_ip \
CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko
compilations \
- lte_build_oai usim_data \
- usim_data $dbin/usim_data
+ lte_build_oai usim \
+ usim $dbin/usim
compilations \
- lte_build_oai ue_data \
- ue_data $dbin/ue_data
+ lte_build_oai nvram \
+ nvram $dbin/nvram
fi
if [ "$SIMUS_PHY" = "1" ] ; then
@@ -238,10 +263,11 @@ if [ "$SIMUS_PHY" = "1" ] ; then
fi
# Core simulators
+#############
if [ "$SIMUS_CORE" = "1" ] ; then
# lte unitary simulators compilation
echo_info "Compiling unitary tests simulators"
- simlist="secu_knas_encrypt_eia1 secu_kenb aes128_ctr_encrypt aes128_ctr_decrypt secu secu_knas_stream_int secu_knas_encrypt_eea2 secu_knas secu_knas_encrypt_eea1 kdf aes128_cmac_encrypt secu_knas_encrypt_eia2"
+ simlist="secu_knas_encrypt_eia1 secu_kenb aes128_ctr_encrypt aes128_ctr_decrypt secu_knas_encrypt_eea2 secu_knas secu_knas_encrypt_eea1 kdf aes128_cmac_encrypt secu_knas_encrypt_eia2"
for f in $simlist ; do
compilations \
lte-simulators test_$f \
@@ -250,6 +276,7 @@ if [ "$SIMUS_CORE" = "1" ] ; then
fi
# EXMIMO drivers & firmware loader
+###############
if [ "$HW" = "EXMIMO" ] ; then
echo_info "Compiling Express MIMO 2 board drivers"
compilations \
@@ -266,16 +293,12 @@ if [ "$oaisim" = "1" ] ; then
oaisim_build_oai oaisim \
oaisim $dbin/oaisim.$REL
compilations \
- oaisim_build_oai oaisim_mme \
+ oaisim_mme_build_oai oaisim_mme \
oaisim_mme $dbin/oaisim_mme.$REL
#oai_nw_drv
compilations \
oaisim_build_oai oai_nw_drv \
CMakeFiles/oai_nw_drv/oai_nw_drv.ko $dbin/oai_nw_drv.ko
- # nasmesh driver compilation
- compilations \
- oaisim_build_oai nasmesh \
- CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
fi
# EPC compilation
@@ -284,11 +307,12 @@ if [ "$EPC" = "1" ] ; then
echo_info "Compiling EPC"
compilations \
- epc_build_oai oai_epc \
- oai_epc $dbin/oai_epc.$REL
- compilations \
- epc_build_oai oai_sgw \
- oai_sgw $dbin/oai_sgw.$REL
+ epc_build_oai mme_gw \
+ mme_gw $dbin/mme_gw.$REL
+# Only integrated mme+sgw+pgw is operational today
+# compilations \
+# epc_build_oai oai_sgw \
+# oai_sgw $dbin/oai_sgw.$REL
compilations \
epc_build_oai xt_GTPUAH_lib \
libxt_GTPUAH_lib.so $dbin
@@ -306,27 +330,29 @@ if [ "$EPC" = "1" ] ; then
fi
if [ "$INSTALL_SYSTEM_FILES" = "1" ] ;then
+
echo_info "Copying iptables libraries into system directory: /lib/xtables"
$SUDO ln -s $dbin/libxt_GTPURH_lib.so /lib/xtables/libxt_GTPURH.so
$SUDO ln -s $dbin/libxt_GTPUAH_lib.so /lib/xtables/libxt_GTPUAH.so
-fi
-
-# Install config file
-###################
-if [ "$CONFIG_FILE" != "" ] ; then
-
- dconf=$DIR/conf
+ dconf=$OPENAIR_TARGETS/bin
mkdir -p $dconf
cp $ORIGIN_PATH/$CONFIG_FILE $dconf || echo_fatal "config file $ORIGIN_PATH/$CONFIG_FILE not found"
# generate USIM data
install_nas_tools $dbin $dconf
+ # Do EPC
+ cp $DIR/epc_build_oai/epc.*.conf $dconf
+ $SUDO cp $DIR/epc_build_oai/epc_s6a.conf /usr/local/etc/freeDiameter
+
# Do HSS
# bash doesn't like space char around = char
- sed -e 's/ *= */=/' $OPENAIRCN_DIR/OPENAIRHSS/conf/hss.local.conf > $dconf/hss.local.conf
- source $dconf/hss.local.conf
+ cp $DIR/hss_build/hss.conf $dbin
+ $SUDO cp $DIR/hss_build/hss_fd.conf $DIR/hss_build/acl.conf /usr/local/etc/freeDiameter
+
+ sed -e 's/ *= */=/' $OPENAIRCN_DIR/OPENAIRHSS/conf/hss.conf > $dconf/hss.conf.nospace
+ source $dconf/hss.conf.nospace
create_hss_database root linux "$MYSQL_user" "$MYSQL_pass" "$MYSQL_db"
fi
@@ -336,143 +362,7 @@ fi
if [ "$OAI_TEST" = "1" ]; then
echo_info "10. Running OAI pre commit tests (pre-ci) ..."
$OPENAIR_DIR/cmake_targets/autotests/run_compilation_autotests.bash
+ $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash
else
echo_info "10. Bypassing the Tests ..."
fi
-
-exit 0
-
-
-
-###########################################
-# configure and compile
-##########################################
-
-
- HSS_REALM=$(echo $Identity | sed 's/.*\.//')
- HSS_HOSTNAME=${Identity%.$HSS_REALM}
- NEW_HOSTNAME=`hostname -s`
- if [ "x$HSS_HOSTNAME" != "x$NEW_HOSTNAME" ]; then
- echo_warning "Changing identity of HSS from <$HSS_HOSTNAME.$HSS_REALM> to <$NEW_HOSTNAME.$HSS_REALM>"
- sed -ibak "s/$HSS_HOSTNAME/$NEW_HOSTNAME/" $OPENAIRCN_DIR/OPENAIRHSS/conf/hss_fd.conf
- fi
- check_hss_s6a_certificate $HSS_REALM
-
-######################################
-# fill the HSS DB
-######################################
- echo_info "6. create HSS database (for EURECOM SIM CARDS)"
- hss_db_created=1
- create_hss_database $OAI_DB_ADMIN_USER_NAME $OAI_DB_ADMIN_USER_PASSWORD $MYSQL_user $MYSQL_pass $MYSQL_db
- if [ $? -eq 1 ]; then
- echo_fatal "hss DB not created"
- fi
-}
-
-
-
-############################################
-# run
-############################################
-
-if [ $RUN -ne 0 ]; then
- echo_info "11. Running ..."
- cd $OPENAIR_TARGETS/bin
- case "$BUILD_LTE" in
- 'ENB')
- if [ $TARGET == "SOFTMODEM" ]; then
- if [ $HW == "EXMIMO" ]; then
- $SUDO $OPENAIR_TARGETS/RT/USER/init_exmimo2.sh
- fi
- echo "############# running ltesoftmodem #############"
- if [ $RUN_GDB -eq 0 ]; then
- $SUDO $OPENAIR_TARGETS/bin/lte-softmodem `echo $EXE_ARGUMENTS`
- else
- $SUDO setenv MALLOC_CHECK_ 2
- $SUDO touch ~/.gdb_lte_softmodem
- $SUDO echo "file $OPENAIR_TARGETS/bin/lte-softmodem" > ~/.gdb_lte_softmodem
- $SUDO echo "set args $EXE_ARGUMENTS" >> ~/.gdb_lte_softmodem
- $SUDO echo "run" >> ~/.gdb_lte_softmodem
- $SUDO gdb -nh -x ~/.gdb_lte_softmodem 2>&1
- fi
-
- elif [ $TARGET == "OAISIM" ]; then
-
- if [ $ENB_S1 -eq 0 ]; then
- install_nasmesh
- else
- # prepare NAS for UE
- if [ ! -f .ue.nvram ]; then
- echo_success "generate .ue_emm.nvram .ue.nvram"
- $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --gen
- fi
-
- if [ ! -f .usim.nvram ]; then
- echo_success "generate .usim.nvram"
- $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --gen
- fi
- $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --print
- $OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --print
-
- insmod $OPENAIR2_DIR/NETWORK_DRIVER/UE_IP/ue_ip.ko
-
- fi
-
- if [ $RUN_GDB -eq 0 ]; then
- $SUDO exec $OPENAIR_TARGETS/bin/oaisim `echo $EXE_ARGUMENTS`
- else
- $SUDO setenv MALLOC_CHECK_ 2
- $SUDO touch ~/.gdb_oaisim
- $SUDO echo "file $OPENAIR_TARGETS/bin/lte-oaisim" > ~/.gdb_oaisim
- $SUDO echo "set args $EXE_ARGUMENTS" >> ~/.gdb_oaisim
- $SUDO echo "run" >> ~/.gdb_oaisim
- $SUDO gdb -nh -x ~/.gdb_oaisim 2>&1
- fi
- fi
- ;;
-
-
- 'EPC')
- echo "############# running EPC #############"
- test_is_host_reachable $HSS_HOSTNAME.$REALM HSS
- if [ $RUN_GDB -eq 0 ]; then
- $SUDO $OPENAIR_TARGETS/bin/oai_epc `echo $EXE_ARGUMENTS`
- else
- touch ~/.gdb_epc
- chmod 777 ~/.gdb_epc
- echo "file $OPENAIR_TARGETS/bin/oai_epc" > ~/.gdb_epc
- echo "set args $EXE_ARGUMENTS" >> ~/.gdb_epc
- echo "run" >> ~/.gdb_epc
- $SUDO gdb -nh -x ~/.gdb_epc 2>&1
- fi
- ;;
-
-
- 'HSS')
- echo "############# running HSS #############"
- cd $OPENAIRCN_DIR/OPENAIRHSS/objs
- if [ $RUN_GDB -eq 0 ]; then
- $SUDO exec ./openair-hss -c ./conf/hss.conf
- else
- touch ~/.gdb_hss
- chmod 777 ~/.gdb_hss
- echo "file ./openair-hss" > ~/.gdb_hss
- echo "set args -c ./conf/hss.conf" >> ~/.gdb_hss
- echo "run" >> ~/.gdb_hss
- $SUDO gdb -nh -x ~/.gdb_hss 2>&1
- fi
- ;;
-
-
- 'NONE')
- ;;
-
-
- *)
- echo_error "Unknown option $BUILD_LTE: do not execute"
- ;;
- esac
-else
- echo_info "11. No run requested, end of script"
- exit 0
-fi
diff --git a/cmake_targets/epc_build_oai/CMakeLists.template b/cmake_targets/epc_build_oai/CMakeLists.template
index 0e84606f16..6f6316bfec 100644
--- a/cmake_targets/epc_build_oai/CMakeLists.template
+++ b/cmake_targets/epc_build_oai/CMakeLists.template
@@ -38,6 +38,7 @@ set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False )
set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX False )
+set ( NAS_BUILT_IN_EPC True )
set ( NAS_MME True )
set ( NAS_NETLINK False )
set ( NAS_UE False )
diff --git a/cmake_targets/hss_build/CMakeLists.txt b/cmake_targets/hss_build/CMakeLists.txt
new file mode 100755
index 0000000000..287c3a2ab5
--- /dev/null
+++ b/cmake_targets/hss_build/CMakeLists.txt
@@ -0,0 +1,300 @@
+################################################################################
+# OpenAirInterface
+# Copyright(c) 1999 - 2014 Eurecom
+#
+# OpenAirInterface is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# OpenAirInterface is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenAirInterface.The full GNU General Public License is
+# included in this distribution in the file called "COPYING". If not,
+# see .
+#
+# Contact Information
+# OpenAirInterface Admin: openair_admin@eurecom.fr
+# OpenAirInterface Tech : openair_tech@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+#
+# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+# Author: Lionel GAUTHIER
+###############################################################################
+cmake_minimum_required(VERSION 2.8)
+set(CMAKE_VERBOSE_MAKEFILE ON)
+
+
+project(HSS)
+
+
+ENABLE_LANGUAGE(C)
+#Sends the -std=c99 flag to the gcc compiler
+#add_definitions(-std=c99)
+
+ADD_DEFINITIONS(-D_GNU_SOURCE)
+
+set(OPENAIR_DIR $ENV{OPENAIR_DIR})
+set(OPENAIR1_DIR ${OPENAIR_DIR}/openair1)
+set(OPENAIR2_DIR ${OPENAIR_DIR}/openair2)
+set(OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
+set(OPENAIRCN_DIR ${OPENAIR_DIR}/openair-cn)
+set(OPENAIR_TARGETS ${OPENAIR_DIR}/targets)
+set(OPENAIR_CMAKE_SCRIPTS ${OPENAIR_DIR}/cmake_targets/tools)
+set(OPENAIRHSS_DIR ${OPENAIRCN_DIR}/OPENAIRHSS)
+set(OPENAIR_BIN_DIR ${OPENAIR_TARGETS}/bin)
+
+
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${OPENAIR_TARGETS}/CMAKE/MODULES/")
+include(cmake_useful)
+
+macro(add_option name val helpstr)
+ if(DEFINED ${name})
+ set(value ${${name}})
+ else(DEFINED ${name})
+ set(value ${val})
+ endif()
+ set(${name} ${value} CACHE STRING "${helpstr}")
+ add_definitions("-D${name}=${value}")
+endmacro(add_option)
+
+
+
+# compilation flags
+# added CMAKER conditional compilation to not bother legacy building system
+#############################################
+if(NOT CMAKE_BUILD_TYPE)
+set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
+endif()
+set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release RelWithDebInfo MinSizeRel)
+
+#
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.2 -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -DCMAKER")
+set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -DMALLOC_CHECK_=3")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ggdb -DMALLOC_CHECK_=3 -O2")
+
+
+INCLUDE(FindMySQL)
+IF( NOT MySQL_FOUND )
+ MESSAGE( SEND_ERROR "MySQL Client is required" )
+ENDIF( NOT MySQL_FOUND )
+
+INCLUDE(FindNettle)
+IF( NOT NETTLE_FOUND )
+ MESSAGE( SEND_ERROR "Nettle is required" )
+ENDIF( NOT NETTLE_FOUND )
+
+
+
+INCLUDE(FindFreeDiameter)
+IF( NOT FREEDIAMETER_FOUND )
+ MESSAGE( SEND_ERROR "FreeDiameter is required (use OAI installer)" )
+ENDIF( NOT FREEDIAMETER_FOUND )
+IF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
+ MESSAGE( SEND_ERROR "FreeDiameter is not enabled for OPENAIRHSS" )
+ENDIF( NOT FREEDIAMETER_HSS_S6A_ENABLED )
+add_definitions("-DFREEDIAMETER_VERSION=${FREEDIAMETER_VERSION}")
+
+find_package(BISON REQUIRED)
+find_package(FLEX REQUIRED)
+
+set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+find_package(Threads REQUIRED)
+
+#find_package(Subversion)
+#if(SUBVERSION_FOUND)
+# Subversion_WC_INFO(${OPENAIR_DIR} openair)
+# set (PACKAGE_VERSION "${openair_WC_REVISION} - ${openair_WC_LAST_CHANGED_DATE}")
+# Subversion_WC_LOG(${OPENAIR_DIR} openair)
+# message("Last changed log is ${openair_LAST_CHANGED_LOG}")
+# add_definitions("-DPACKAGE_VERSION=\"${PACKAGE_VERSION}\"")
+#else()
+set (PACKAGE_VERSION "No svn information")
+#endif()
+
+add_definitions("-DPACKAGE_NAME=\"OPENAIRHSS\"")
+
+
+################################################################################
+# ACCESS RESTRICTION LIB
+################################################################################
+set(ar_SRC
+ ${OPENAIRHSS_DIR}/access_restriction/access_restriction.c
+)
+set(ar_HDR
+ ${OPENAIRHSS_DIR}/access_restriction/access_restriction.h
+ ${OPENAIRHSS_DIR}/utils/conversion.h
+)
+
+add_library(hss_access_restriction ${ar_SRC} ${ar_HDR})
+target_include_directories(hss_access_restriction PRIVATE ${OPENAIRHSS_DIR}/utils)
+
+
+################################################################################
+# AUC LIB
+################################################################################
+set(auc_SRC
+ ${OPENAIRHSS_DIR}/auc/fx.c
+ ${OPENAIRHSS_DIR}/auc/kdf.c
+ ${OPENAIRHSS_DIR}/auc/random.c
+ ${OPENAIRHSS_DIR}/auc/rijndael.c
+ ${OPENAIRHSS_DIR}/auc/sequence_number.c
+)
+set(auc_HDR
+ ${OPENAIRHSS_DIR}/auc/auc.h
+)
+
+add_library(hss_auc ${auc_SRC} ${auc_HDR})
+
+
+################################################################################
+# DB LIB
+################################################################################
+set(db_SRC
+ ${OPENAIRHSS_DIR}/db/db_connector.c
+ ${OPENAIRHSS_DIR}/db/db_epc_equipment.c
+ ${OPENAIRHSS_DIR}/db/db_subscription_data.c
+)
+set(db_HDR
+ ${OPENAIRHSS_DIR}/db/db_proto.h
+ ${OPENAIRHSS_DIR}/utils/hss_config.h
+)
+
+add_library(hss_db ${db_SRC} ${db_HDR})
+target_include_directories(hss_db PRIVATE ${OPENAIRHSS_DIR}/utils)
+
+
+################################################################################
+# S6A LIB
+################################################################################
+set(s6a_SRC
+ ${OPENAIRHSS_DIR}/s6a/s6a_auth_info.c
+ ${OPENAIRHSS_DIR}/s6a/s6a_common.c
+ ${OPENAIRHSS_DIR}/s6a/s6a_error.c
+ ${OPENAIRHSS_DIR}/s6a/s6a_fd.c
+ ${OPENAIRHSS_DIR}/s6a/s6a_in_addr.c
+ ${OPENAIRHSS_DIR}/s6a/s6a_peers.c
+ ${OPENAIRHSS_DIR}/s6a/s6a_purge_ue.c
+ ${OPENAIRHSS_DIR}/s6a/s6a_subscription_data.c
+ ${OPENAIRHSS_DIR}/s6a/s6a_supported_features.c
+ ${OPENAIRHSS_DIR}/s6a/s6a_up_loc.c
+)
+set(s6a_HDR
+ ${OPENAIRHSS_DIR}/s6a/s6a_proto.h
+ ${OPENAIRHSS_DIR}/db/db_proto.h
+ ${OPENAIRHSS_DIR}/utils/hss_config.h
+ ${OPENAIRHSS_DIR}/auc/auc.h
+ ${OPENAIRHSS_DIR}/access_restriction/access_restriction.h
+)
+
+add_library(hss_s6a ${s6a_SRC} ${s6a_HDR})
+target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/utils)
+target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/db)
+target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/auc)
+target_include_directories(hss_s6a PRIVATE ${OPENAIRHSS_DIR}/access_restriction)
+target_include_directories(hss_s6a PRIVATE ${FREEDIAMETER_INCLUDE_DIR})
+
+################################################################################
+# UTILS LIB
+################################################################################
+# Create target for the parser
+ ADD_CUSTOM_TARGET(HSSParser echo "Creating hss_parser.c")
+
+set(UTILS_GENERATED_DIR ${OPENAIR_BIN_DIR})
+
+# Create custom command for flex/lex (note the outputs)
+ ADD_CUSTOM_COMMAND(
+ SOURCE ${OPENAIRHSS_DIR}/utils/hss_scanner.l
+ COMMAND ${FLEX_EXECUTABLE}
+ ARGS -o${UTILS_GENERATED_DIR}/hss_scanner.c ${OPENAIRHSS_DIR}/utils/hss_scanner.l
+ TARGET HSSParser
+ OUTPUTS ${UTILS_GENERATED_DIR}/hss_scanner.c)
+
+# Create custom command for bison/yacc (note the DEPENDS)
+ ADD_CUSTOM_COMMAND(
+ SOURCE ${OPENAIRHSS_DIR}/utils/hss_parser.y
+ COMMAND ${BISON_EXECUTABLE}
+ ARGS -y ${OPENAIRHSS_DIR}/utils/hss_parser.y
+ -o ${UTILS_GENERATED_DIR}/hss_parser.c
+ TARGET HSSParser
+ DEPENDS ${UTILS_GENERATED_DIR}/hss_scanner.c
+ OUTPUTS ${UTILS_GENERATED_DIR}/hss_parser.c)
+
+set(utils_SRC
+ ${UTILS_GENERATED_DIR}/hss_scanner.c
+ ${UTILS_GENERATED_DIR}/hss_parser.c
+ ${OPENAIRHSS_DIR}/utils/conversion.c
+ ${OPENAIRHSS_DIR}/utils/hss_config.c
+)
+set(utils_HDR
+ ${UTILS_GENERATED_DIR}/hss_parser.h
+ ${UTILS_GENERATED_DIR}/hss_scanner.h
+ ${OPENAIRHSS_DIR}/utils/conversion.h
+ ${OPENAIRHSS_DIR}/utils/hss_config.h
+ ${OPENAIRHSS_DIR}/utils/queue.h
+)
+# Since parser.c does not exists yet when cmake is run, mark
+# it as generated
+SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_parser.c GENERATED)
+SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_scanner.c GENERATED)
+SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_parser.h GENERATED)
+SET_SOURCE_FILES_PROPERTIES(${UTILS_GENERATED_DIR}/hss_scanner.h GENERATED)
+SET_SOURCE_FILES_PROPERTIES(${OPENAIRHSS_DIR}/utils/hss_config.c DEPENDS ${UTILS_GENERATED_DIR}/hss_parser.c)
+add_library(hss_utils ${utils_SRC} ${utils_HDR})
+
+################################################################################
+# EXECUTABLE openair-hss
+################################################################################
+include_directories( ${UTILS_GENERATED_DIR} ${OPENAIRHSS_DIR}/utils ${OPENAIRHSS_DIR}/s6a ${OPENAIRHSS_DIR}/db ${OPENAIRHSS_DIR}/auc ${OPENAIRHSS_DIR}/access_restriction)
+ADD_EXECUTABLE(openair-hss ${OPENAIRHSS_DIR}/hss_main.c)
+target_link_libraries (openair-hss
+ -Wl,-whole-archive
+ hss_access_restriction
+ hss_auc
+ hss_db
+ hss_s6a
+ hss_utils
+ -Wl,-no-whole-archive
+ ${MySQL_LIBRARY}
+ ${NETTLE_LIBRARIES}
+ ${FREEDIAMETER_LIBRARIES}
+ ${CMAKE_THREAD_LIBS_INIT} )
+
+# Default parameters
+site_name(SITE_HSS_FQDN)
+add_option(HSS_FQDN ${SITE_HSS_FQDN} "HSS Fully qualified domain name")
+add_option(REALM openair4G.eur "HSS realm TODO: extract this default value from SITE_HSS_FQDN")
+add_option(MYSQL_server "127.0.0.1" "Database server IP address")
+add_option(MYSQL_admin root "Database admin login")
+add_option(MYSQL_admin_pass linux "Database admin password")
+add_option(MYSQL_user hssadmin "Database username login")
+add_option(MYSQL_pass admin "Database username password")
+add_option(MYSQL_db oai_db "Database name")
+add_option(TRANSPORT_option No_SCTP "No_TCP or No_SCTP, FreeDiameter config option")
+add_option(TRANSPORT_PREFER_TCP_option Prefer_TCP "Prefer_TCP or null string, FreeDiameter config option")
+add_option(AppServThreads 2 "FreeDiameter AppServThreads config option")
+add_option(OPERATOR_key "11111111111111111111111111111111" "LTE operator clear text key (hex bytes)")
+add_option(REMOTE_PEER_WHITELIST "*.${REALM}" "Remote peer whitlist (separeted by spaces), for freediameter acl.conf config file")
+IF( FD_SERVER_IP_BIND_LIST )
+ set(ListenOn "ListenOn=\"${FD_SERVER_IP_BIND_LIST}\"" "//FreeDiameter server IP bind addresses list")
+ELSE( FD_SERVER_IP_BIND_LIST )
+ set(ListenOn "#ListenOn=\"\"" "//FreeDiameter server IP bind addresses list")
+ENDIF( FD_SERVER_IP_BIND_LIST )
+
+configure_file(
+ ${OPENAIRHSS_DIR}/conf/hss_fd.conf.in
+ ${CMAKE_CURRENT_BINARY_DIR}/hss_fd.conf)
+configure_file(
+ ${OPENAIRHSS_DIR}/conf/hss.conf.in
+ ${CMAKE_CURRENT_BINARY_DIR}/hss.conf)
+configure_file(
+ ${OPENAIRHSS_DIR}/conf/acl.conf.in
+ ${CMAKE_CURRENT_BINARY_DIR}/acl.conf)
+
+install (TARGETS openair-hss
+ DESTINATION ${OPENAIR_TARGETS}/bin)
+
diff --git a/cmake_targets/lte-r10-exmimo/CMakeLists.txt b/cmake_targets/lte-r10-exmimo/CMakeLists.txt
deleted file mode 100644
index 3ec92a170e..0000000000
--- a/cmake_targets/lte-r10-exmimo/CMakeLists.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-set(PACKAGE_NAME "lte-softmodem")
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
diff --git a/cmake_targets/lte-r10-usrp/CMakeLists.txt b/cmake_targets/lte-r10-usrp/CMakeLists.txt
deleted file mode 100644
index 2d2c6c9421..0000000000
--- a/cmake_targets/lte-r10-usrp/CMakeLists.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-set(PACKAGE_NAME "lte-softmodem")
-set(RF_BOARD "USRP")
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
diff --git a/cmake_targets/lte-r8/CMakeLists.txt b/cmake_targets/lte-r8/CMakeLists.txt
deleted file mode 100644
index 1a7c33c91f..0000000000
--- a/cmake_targets/lte-r8/CMakeLists.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-set(PACKAGE_NAME "lte-softmodem")
-set(RRC_ASN1_VERSION "Rel8")
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
diff --git a/cmake_targets/oaisim-r8/CMakeLists.txt b/cmake_targets/oaisim-r8/CMakeLists.txt
deleted file mode 100644
index 6f8f0393e2..0000000000
--- a/cmake_targets/oaisim-r8/CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-set (PACKAGE_NAME "oaisim")
-set(MAC_CONTEXT True)
-set(PHY_ABSTRACTION True)
-set(OPENAIR_EMU True)
-set(OAI_EMU True)
-set(NAS_ADDRESS_FIX true)
-set(RRC_ASN1_VERSION "Rel8")
-set(XER_PRINT True)
-
-
-set(RF_BOARD None)
-set(XFORMS False)
-
-include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
diff --git a/cmake_targets/oaisim_build_oai/CMakeLists.template b/cmake_targets/oaisim_build_oai/CMakeLists.template
index a348e31e20..40482459dc 100644
--- a/cmake_targets/oaisim_build_oai/CMakeLists.template
+++ b/cmake_targets/oaisim_build_oai/CMakeLists.template
@@ -15,8 +15,10 @@ set ( ENABLE_PDCP_NETLINK_FIFO False )
set ( ENABLE_PGM_TRANSPORT True )
set ( ENABLE_RAL False )
set ( ENABLE_SECURITY True )
+set ( ENABLE_STANDALONE_EPC False)
set ( ENABLE_USE_CPU_EXECUTION_TIME True )
set ( ENABLE_USE_MME True )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True)
set ( ENABLE_VCD_FIFO True )
set ( EXMIMO_IOT True )
set ( HARD_RT False )
@@ -52,11 +54,12 @@ set ( OPENAIR_EMU False )
set ( OPENAIR_LTE True )
set ( PACKAGE_NAME "oaisim" )
set ( PBS_SIM False )
+set ( PDCP_USE_NETLINK True )
set ( PC_DSP True )
set ( PC_TARGET True )
set ( PDCP_MSG_PRINT False )
set ( PERFECT_CE False )
-set ( PHY_ABSTRACTION False )
+set ( PHY_ABSTRACTION True )
set ( PHY_CONTEXT False )
set ( PHY_EMUL False )
set ( PHYSIM True )
diff --git a/cmake_targets/oaisim_mme_build_oai/CMakeLists.template b/cmake_targets/oaisim_mme_build_oai/CMakeLists.template
new file mode 100644
index 0000000000..9eb0a81ff9
--- /dev/null
+++ b/cmake_targets/oaisim_mme_build_oai/CMakeLists.template
@@ -0,0 +1,87 @@
+cmake_minimum_required(VERSION 2.8)
+
+set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
+set ( ADDR_CONF False )
+set ( ASSERT False )
+set ( DEBUG_OMG False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 False )
+set ( EMOS False )
+set ( ENABLE_FXP False )
+set ( ENABLE_ITTI True )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST False )
+set ( ENABLE_PDCP_NETLINK_FIFO False )
+set ( ENABLE_PGM_TRANSPORT False )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False )
+set ( ENABLE_USE_CPU_EXECUTION_TIME False )
+set ( ENABLE_USE_GTPU_IN_KERNEL True )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI True)
+set ( ENABLE_VCD_FIFO False )
+set ( ENB_MODE False )
+set ( EPC_BUILD True )
+set ( EXMIMO_IOT False )
+set ( HARD_RT False )
+set ( JUMBO_FRAME False )
+set ( LARGE_SCALE False )
+set ( LINK_PDCP_TO_GTPV1U False )
+set ( LINUX_LIST False )
+set ( LINUX False )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD False )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MIH_C_MEDIEVAL_EXTENSIONS False )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX False )
+set ( NAS_BUILT_IN_EPC True )
+set ( NAS_MME True )
+set ( NAS_NETLINK False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX "2" )
+set ( NB_ANTENNAS_TX "2" )
+set ( NB_ANTENNAS_TXRX "2" )
+set ( NEW_FFT False )
+set ( NO_RRM False )
+set ( OAI_EMU False )
+set ( OAISIM False )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET False )
+set ( OAI_NW_DRIVER_USE_NETLINK False )
+set ( OPENAIR1 False )
+set ( OPENAIR2 False )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE False )
+set ( PACKAGE_NAME "EPC" )
+set ( PBS_SIM False )
+set ( PC_DSP False )
+set ( PC_TARGET False )
+set ( PDCP_MSG_PRINT False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION False )
+set ( PHY_CONTEXT False )
+set ( PHY_EMUL False )
+set ( PHYSIM False )
+set ( PUCCH False )
+set ( RANDOM_BF False )
+set ( RF_BOARD "False" )
+set ( RRC_ASN1_VERSION "Rel10" )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( SECU False )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( TEST_OMG False )
+set ( UE_BUILD False )
+set ( UPDATE_RELEASE_9 True)
+set ( UPDATE_RELEASE_10 True)
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME "R10" )
+set ( USER_MODE True )
+set ( XER_PRINT False )
+set ( XFORMS False )
diff --git a/cmake_targets/build_helper.bash b/cmake_targets/tools/build_helper.bash
similarity index 74%
rename from cmake_targets/build_helper.bash
rename to cmake_targets/tools/build_helper.bash
index 9e07245835..ed511d8b1d 100755
--- a/cmake_targets/build_helper.bash
+++ b/cmake_targets/tools/build_helper.bash
@@ -76,11 +76,11 @@ Options
Erase all files made by previous compilation, installation"
--clean-kernel
Erase previously installed features in kernel: iptables, drivers, ...
--C | --config-file
- The configuration file to install
-I | --install-external-packages
Installs required packages such as LibXML, asn1.1 compiler, freediameter, ...
This option will require root password
+--install-optional-packages
+ Install useful but not mandatory packages such as valgrind
-g | --run-with-gdb
Add debugging symbols to compilation directives
--eNB
@@ -140,7 +140,8 @@ clean_kernel() {
clean_all_files() {
dir=$OPENAIR_DIR/cmake
- rm -rf $dir/log $dir/bin $dir/autotests/bin $dir/autotests/log $dir/autotests/*/buid $dir/build_*/build
+ rm -rf $dir/log $OPENAIR_TARGETS/bin $dir/autotests/bin $dir/autotests/log $dir/autotests/*/buid $dir/build_*/build
+ rm -rf $dir/oaisim_build_oai/CMakeLists.txt $dir/epc_build_oai/CMakeLists.txt $dir/hss_build/BUILD
}
###################################
@@ -154,122 +155,56 @@ compilations() {
make -j4 $2
} > $dlog/$2.$REL.txt 2>&1
if [ -s $3 ] ; then
- cp $3 $dbin/$2.$REL
+ cp $3 $dbin
echo_success "$2 compiled"
else
echo_error "$2 compilation failed"
fi
}
-run_tests() {
- $1 > $2 2>&1
- grep
-}
-
-test_compile() {
- mkdir -p $tdir/$1/build
- cd $tdir/$1/build
- {
- cmake ..
- rm -f $3
- make -j4 $2
- } > $tdir/log/$1.txt
- if [ -s $3 ] ; then
- cp $3 $tdir/bin/$3.$1
- echo_success "$1 test compiled"
- else
- echo_error "$1 test compilation failed"
- fi
-}
-
-run_compilation_autotests() {
- tdir=$OPENAIR_DIR/cmake_targets/autotests
- mkdir -p $tdir/bin $tdir/log
- updated=$(svn st -q $OPENAIR_DIR)
- if [ "$updated" != "" ] ; then
- echo_warning "some files are not in svn: $updated"
- fi
- test_compile \
- test.0101 oaisim \
- oaisim $tdir/bin/oaisim.r8
-
- test_compile \
- test.0102 oaisim \
- oaisim $tdir/bin/oaisim.r8.nas
-
- test_compile \
- test.0103 oaisim \
- oaisim $tdir/bin/oaisim.r8.rf
-
- test_compile \
- test.0104 dlsim \
- dlsim $tdir/bin/dlsim
-
- test_compile \
- test.0104 ulsim \
- ulsim $tdir/bin/ulsim
-
- test_compile \
- test.0106 oaisim \
- oaisim $tdir/bin/oaisim.r8.itti
-
- test_compile \
- test.0107 oaisim \
- oaisim $tdir/bin/oaisim.r10
-
- test_compile \
- test.0108 oaisim \
- oaisim $tdir/bin/oaisim.r10.itti
-
- test_compile \
- test.0114 oaisim \
- oaisim $tdir/bin/oaisim.r8.itti.ral
-
- test_compile \
- test.0115 oaisim \
- oaisim $tdir/bin/oaisim.r10.itti.ral
-
- test_compile \
- test.0102 nasmesh \
- CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko
-
-}
##########################################
# X.509 certificates
##########################################
make_one_cert() {
- $SUDO openssl genrsa -out $1.key.pem 1024
- $SUDO openssl req -new -batch -out $1.csr.pem -key $1.key.pem -subj /CN=$1.eur/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
- $SUDO openssl ca -cert cacert.pem -keyfile cakey.pem -in $1.csr.pem -out $1.cert.pem -outdir . -batch
+ fqdn=$1
+ name=$2
+ $SUDO openssl genrsa -out $name.key.pem 1024
+ $SUDO openssl req -new -batch -out $name.csr.pem -key $name.key.pem -subj /CN=$name.$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
+ $SUDO openssl ca -cert cacert.pem -keyfile cakey.pem -in $name.csr.pem -out $name.cert.pem -outdir . -batch
}
make_certs(){
-
+
+ fqdn=$1
+ certs_dir=/usr/local/etc/freeDiameter
# certificates are stored in diameter config directory
- if [ ! -d /usr/local/etc/freeDiameter ]; then
- echo "Creating non existing directory: /usr/local/etc/freeDiameter/"
- $SUDO mkdir -p /usr/local/etc/freeDiameter/ || echo_error "can't create: /usr/local/etc/freeDiameter/"
+ if [ ! -d $certs_dir ]; then
+ echo "Creating non existing directory: $certs_dir"
+ $SUDO mkdir -p $certs_dir || echo_error "can't create: $certs_dir"
fi
- cd /usr/local/etc/freeDiameter
+ cd $certs_dir
echo "creating the CA certificate"
echo_warning "erase all existing certificates as long as the CA is regenerated"
- $SUDO rm -f /usr/local/etc/freeDiameter/*.pem
+ $SUDO rm -f $certs_dir/*.pem
+ $SUDO mkdir -p $certs_dir/demoCA/
+ $SUDO sh -c "echo 01 > $certs_dir/demoCA/index.txt"
# CA self certificate
- $SUDO openssl req -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out cacert.pem -keyout cakey.pem -subj /CN=eur/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
+ $SUDO openssl req -new -batch -x509 -days 3650 -nodes -newkey rsa:1024 -out cacert.pem -keyout cakey.pem -subj /CN=$fqdn/C=FR/ST=PACA/L=Aix/O=Eurecom/OU=CM
# generate hss certificate and sign it
- make_one_cert hss
- make_one_cert mme
+ make_one_cert eur hss
+ make_one_cert eur mme
# legacy config is using a certificate named 'user'
- make_one_cert user
+ make_one_cert eur user
}
+
############################################
# External packages installers
############################################
@@ -316,18 +251,40 @@ install_freediameter_from_source() {
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ../
echo "Compiling freeDiameter"
make -j4
- make test
+ #make test
$SUDO make install
rm -rf /tmp/1.1.5.tar.gz /tmp/freeDiameter-1.1.5
}
check_install_usrp_uhd_driver(){
- if [ ! -f /etc/apt/sources.list.d/ettus.list ] ; then
- $SUDO bash -c 'echo "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/`lsb_release -cs` `lsb_release -cs` main" >> /etc/apt/sources.list.d/ettus.list'
+ v=$(lsb_release -cs)
+ $SUDO apt-add-repository "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/$v $v main"
$SUDO apt-get update
- fi
- $SUDO apt-get -y install python libboost-all-dev libusb-1.0-0-dev
- $SUDO apt-get -y install -t `lsb_release -cs` uhd
+ $SUDO apt-get -y install python python-tk libboost-all-dev libusb-1.0-0-dev
+ $SUDO apt-get -y install -t `lsb_release -cs` uhd --force-yes
+}
+
+check_install_additional_tools (){
+ $SUDO apt-get update
+ $SUDO apt-get install -y \
+ check \
+ dialog \
+ dkms \
+ gawk \
+ libboost-all-dev \
+ libpthread-stubs0-dev \
+ openvpn \
+ phpmyadmin \
+ pkg-config \
+ python-dev \
+ python-pexpect \
+ sshfs \
+ swig \
+ tshark \
+ uml-utilities \
+ unzip \
+ valgrind \
+ vlan
}
check_install_oai_software() {
@@ -338,17 +295,11 @@ check_install_oai_software() {
automake \
bison \
build-essential \
- check \
cmake \
cmake-curses-gui \
- dialog \
- dkms \
doxygen \
ethtool \
flex \
- g++ \
- gawk \
- gcc \
gccxml \
gdb \
graphviz \
@@ -362,19 +313,17 @@ check_install_oai_software() {
libatlas-dev \
libblas3gf \
libblas-dev \
- libboost-all-dev \
libconfig8-dev \
libforms-bin \
libforms-dev \
libgcrypt11-dev \
libgmp-dev \
libgtk-3-dev \
- libidn11-dev \
libidn2-0-dev \
+ libidn11-dev \
libmysqlclient-dev \
libpgm-5.1 \
libpgm-dev \
- libpthread-stubs0-dev \
libsctp1 \
libsctp-dev \
libssl-dev \
@@ -384,26 +333,13 @@ check_install_oai_software() {
libxml2 \
libxml2-dev \
linux-headers-`uname -r` \
- make \
mysql-client \
mysql-server \
openssh-client \
openssh-server \
openssl \
- openvpn \
- phpmyadmin \
- pkg-config \
python \
- python-dev \
- python-pexpect \
- sshfs \
- subversion \
- swig \
- tshark \
- uml-utilities \
- unzip \
- valgrind \
- vlan
+ subversion
if [ `lsb_release -rs` = '12.04' ] ; then
install_nettle_from_source
install_gnutls_from_source
@@ -418,10 +354,10 @@ install_asn1c_from_source(){
mkdir -p /tmp/asn1c-r1516
cd /tmp/asn1c-r1516
rm -rf /tmp/asn1c-r1516/*
- svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516
- patch -p0 < $OPENAIRCN_DIR/S1AP/MESSAGES/ASN1/asn1cpatch.p0
+ svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516 > /tmp/log_compile_asn1c
+ patch -p0 < $OPENAIRCN_DIR/S1AP/MESSAGES/ASN1/asn1cpatch.p0 >> /tmp/log_compile_asn1c
./configure
- make
+ make > /tmp/log_compile_asn1c 2>&1
$SUDO make install
}
@@ -429,45 +365,36 @@ install_asn1c_from_source(){
# 2. compile
################################################
compile_hss() {
- cd $OPENAIRCN_DIR/OPENAIRHSS
-
+ cd $OPENAIR_DIR/cmake_targets/hss_build
+ rm -f $OPENAIR_TARGETS/bin/openair-hss openair-hss
if [ "$CLEAN" = "1" ]; then
- echo_info "build a clean HSS"
- rm -rf obj* m4 .autom4* configure
+ echo "Cleaning HSS"
+ rm -rf BUILD
fi
-
- echo_success "Invoking autogen"
- ./autogen.sh || return 1
- mkdir -p objs ; cd objs
- echo_success "Invoking configure"
- ../configure || return 1
- if [ -f Makefile ]; then
- echo_success "Compiling..."
- make -j4
- # seems a bug in hss compilation: run make twice to work around
- make -j4
- if [ $? -ne 0 ]; then
- echo_error "Build failed, exiting"
- return 1
- else
- return 0
- fi
+ mkdir -p BUILD
+ cd ./BUILD
+ cmake $SOFTMODEM_DIRECTIVES ..
+ make -j $NUM_CPU openair-hss > $dlog/hss.txt 2>&1
+ if [ -s openair-hss ] ; then
+ cp openair-hss $OPENAIR_TARGETS/bin
+ echo_success "hss compiled"
else
- echo_error "Configure failed, aborting"
+ echo_error "hss compilation failed"
fi
- return 1
+ return $?
}
+
install_nas_tools() {
cd $1
if [ ! -f .ue.nvram ]; then
echo_success "generate .ue_emm.nvram .ue.nvram"
- ./ue_data --gen
+ ./nvram --gen
fi
if [ ! -f .usim.nvram ]; then
echo_success "generate .usim.nvram"
- ./usim_data --gen
+ ./usim --gen
fi
}
diff --git a/cmake_targets/tools/exmimo2_2arxg.lime b/cmake_targets/tools/exmimo2_2arxg.lime
new file mode 100644
index 0000000000..0c24ef9992
--- /dev/null
+++ b/cmake_targets/tools/exmimo2_2arxg.lime
@@ -0,0 +1,10 @@
+# this file contains the calibration values to compute the RSSI
+# we can use three different gain stages (high, low, med) as well as a gain factor for fine tuning
+# the three lines in this file gives the total rx gain in dB for the three gain stages if the rx gain is set to 30dB
+# this is for Express MIMO2 without any additional RF frontend
+# high gain
+103 107 106 104
+# med gain
+98 101 100 98
+# low gain (byp)
+94 97 96 94
diff --git a/cmake_targets/tools/init_exmimo2.sh b/cmake_targets/tools/init_exmimo2.sh
index 8a469d57e1..b7b52b4b36 100755
--- a/cmake_targets/tools/init_exmimo2.sh
+++ b/cmake_targets/tools/init_exmimo2.sh
@@ -24,7 +24,7 @@ load_module() {
sudo insmod $1
}
-load_module $OPENAIR_DIR/cmake_targets/bin/openair_rf.ko
+load_module $OPENAIR_DIR/targets/bin/openair_rf.ko
sleep 1
if [ ! -e /dev/openair0 ]; then
@@ -36,7 +36,7 @@ DEVICE=`echo $PCI | awk -F\" '{print $(NF-1)}' | awk '{print $2}'`
DEVICE_SWID=${DEVICE:2:2}
if [ $DEVICE_SWID == '0a' ]; then
echo "Using firware version 10"
- $OPENAIR_DIR/cmake_targets/bin/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10
+ $OPENAIR_DIR/targets/bin/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10
else
echo 'No corresponding firmware found'
return
diff --git a/cmake_targets/tools/run_enb_s1_exmimo b/cmake_targets/tools/run_enb_s1_exmimo
new file mode 100755
index 0000000000..19ad7eb3fc
--- /dev/null
+++ b/cmake_targets/tools/run_enb_s1_exmimo
@@ -0,0 +1,191 @@
+#!/bin/bash
+################################################################################
+# OpenAirInterface
+# Copyright(c) 1999 - 2014 Eurecom
+#
+# OpenAirInterface is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) anylater version.
+#
+#
+# OpenAirInterface is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenAirInterface.The full GNU General Public License is
+# included in this distribution in the file called "COPYING". If not,
+# see .
+#
+# Contact Information
+# OpenAirInterface Admin: openair_admin@eurecom.fr
+# OpenAirInterface Tech : openair_tech@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+#
+# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+#
+################################################################################
+# file run_enb_s1_exmimo
+# brief run script for eNB EXMIMO.
+# author Lionel GAUTHIER
+# company Eurecom
+# email: lionel.gauthier@eurecom.fr
+
+
+################################
+# include helper functions
+################################
+THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
+source $THIS_SCRIPT_PATH/build_helper
+
+
+function help()
+{
+ echo_error " "
+ echo_error "Usage: run_enb_s1_exmimo [OPTION]..."
+ echo_error "Run the eNB executable, hardware target is EXMIMO."
+ echo_error " "
+ echo_error "Options:"
+ echo_error "Mandatory arguments to long options are mandatory for short options too."
+ echo_error " -c, -C, --config-file eNB config file (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)"
+ echo_error " -g, --gdb Run with GDB."
+ echo_error " -h, --help Print this help."
+ echo_error " -K, --itti-dump-file ITTI dump file containing all ITTI events occuring during EPC runtime."
+ echo_error " -H, --hss HSS hostname."
+ echo_error " -M, --target-dl-mcs Downlink target MCS."
+ echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format."
+ echo_error " -S, --enable-missed-slot Continue execution in case of missed slot."
+ echo_error " -T, --target-ul-mcs Uplink target MCS."
+ echo_error " -x, --xforms Run XFORMS scope windows."
+}
+
+
+
+function main()
+{
+ local declare -i run_gdb=0
+ local declare exe_arguments=""
+
+ until [ -z "$1" ]
+ do
+ case "$1" in
+ -c | -C | --config-file)
+ CONFIG_FILE=$2
+ # may be relative path
+ if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then
+ CONFIG_FILE=$(dirname $(readlink -f $0))/$CONFIG_FILE
+ echo "setting config file to: $CONFIG_FILE"
+ CONFIG_FILE_ACCESS_OK=1
+ else
+ # may be absolute path
+ if [ -f $CONFIG_FILE ]; then
+ echo "setting config file to: $CONFIG_FILE"
+ else
+ echo_fatal "config file $CONFIG_FILE not found"
+ fi
+ fi
+ exe_arguments="$exe_arguments -O $CONFIG_FILE"
+ shift 2;
+ ;;
+ -g | --gdb)
+ run_gdb=1
+ echo "setting GDB flag to: $GDB"
+ shift;
+ ;;
+ -h | --help)
+ help
+ shift;
+ exit 0
+ ;;
+ -K | --itti-dump-file)
+ ITTI_DUMP_FILE=$2
+ # can omit file name if last arg on the line
+ if [ "x$ITTI_DUMP_FILE" = "x" ]; then
+ ITTI_DUMP_FILE="/tmp/enb_s1_exmimo_itti.log"
+ fi
+ echo "setting ITTI dump file to: $ITTI_DUMP_FILE"
+ exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE"
+ shift 2;
+ ;;
+ -M | --target-dl-mcs)
+ echo "setting target dl MCS to $2"
+ exe_arguments="$exe_arguments -m $2"
+ shift 2;
+ ;;
+ -V | --vcd)
+ "setting gtk-wave output"
+ exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd"
+ shift ;
+ ;;
+ -S | --enable-missed-slot)
+ echo "setting continue even if missed slot"
+ exe_arguments="$exe_arguments -S"
+ shift ;
+ ;;
+ -T | --target-ul-mcs)
+ echo "setting target ul MCS to $2"
+ exe_arguments="$exe_arguments -t $2"
+ shift 2;
+ ;;
+ -x | --xforms)
+ exe_arguments="$exe_arguments -d"
+ echo "setting xforms to: $XFORMS"
+ shift;
+ ;;
+ *)
+ echo "Unknown option $1"
+ help
+ exit 0
+ ;;
+ esac
+ done
+
+ check_for_root_rights
+
+ set_openair_env
+ cecho "OPENAIR_HOME = $OPENAIR_HOME" $green
+ cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green
+ cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green
+ cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green
+ cecho "OPENAIRCN_DIR = $OPENAIRCN_DIR" $green
+ cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green
+
+
+ if [ ! -e $OPENAIR_TARGETS/bin/lte-softmodem ]; then
+ echo_fatal "Cannot find $OPENAIR_TARGETS/bin/lte-softmodem executable"
+ fi
+ if [ ! -e $OPENAIR_TARGETS/bin/updatefw ]; then
+ echo_fatal "Cannot find $OPENAIR_TARGETS/bin/updatefw executable"
+ fi
+ if [ ! -e $OPENAIR_TARGETS/bin/openair_rf.ko ]; then
+ echo_fatal "Cannot find $OPENAIR_TARGETS/bin/openair_rf.ko kernel module"
+ fi
+
+ for i in `seq 0 64`; do
+ have_rtfX=`ls /dev/ |grep -c rtf$i`;
+ if [ "$have_rtfX" -eq 0 ] ; then
+ $SUDO mknod -m 666 /dev/rtf$i c 150 $i;
+ fi;
+ done
+
+ $THIS_SCRIPT_PATH/init_exmimo2.sh
+
+ if [ $run_gdb -eq 0 ]; then
+ exec $OPENAIR_TARGETS/bin/lte-softmodem `echo $exe_arguments` 2>&1 > /tmp/gdb_lte_softmodem.stdout.txt
+ else
+ touch ~/.gdb_lte_softmodem
+ chmod 777 ~/.gdb_lte_softmodem
+ echo "file $OPENAIR_TARGETS/bin/lte-softmodem" > ~/.gdb_lte_softmodem
+ echo "set args $exe_arguments" >> ~/.gdb_lte_softmodem
+ echo "run" >> ~/.gdb_lte_softmodem
+ cat ~/.gdb_lte_softmodem
+ gdb -n -x ~/.gdb_lte_softmodem 2>&1 > /tmp/gdb_lte_softmodem.stdout.txt
+ fi
+}
+
+
+
+main "$@"
+
diff --git a/cmake_targets/tools/run_epc b/cmake_targets/tools/run_epc
new file mode 100755
index 0000000000..bba6b9060c
--- /dev/null
+++ b/cmake_targets/tools/run_epc
@@ -0,0 +1,150 @@
+#!/bin/bash
+################################################################################
+# OpenAirInterface
+# Copyright(c) 1999 - 2014 Eurecom
+#
+# OpenAirInterface is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) anylater version.
+#
+#
+# OpenAirInterface is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenAirInterface.The full GNU General Public License is
+# included in this distribution in the file called "COPYING". If not,
+# see .
+#
+# Contact Information
+# OpenAirInterface Admin: openair_admin@eurecom.fr
+# OpenAirInterface Tech : openair_tech@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+#
+# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+#
+################################################################################
+# file run_epc
+# brief run script for EPC (MME+SGW-LITE).
+# author Lionel GAUTHIER
+# company Eurecom
+# email: lionel.gauthier@eurecom.fr
+
+
+################################
+# include helper functions
+################################
+THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
+source $THIS_SCRIPT_PATH/build_helper
+
+set_openair_env
+
+
+function help()
+{
+ echo_error " "
+ echo_error "Usage: run_epc [OPTION]..."
+ echo_error "Run the EPC executable (MME+SGW-LITE)."
+ echo_error " "
+ echo_error "Options:"
+ echo_error "Mandatory arguments to long options are mandatory for short options too."
+ echo_error " -g, --gdb Run with GDB."
+ echo_error " -h, --help Print this help."
+ echo_error " -K, --itti-dump-file ITTI dump file containing all ITTI events occuring during EPC runtime."
+ echo_error " -l, --local-enb EPC run on the same eNB host."
+ echo_error " -v, --verbosity-level Verbosity level (0,1,2)."
+ echo_error " 0 -> ASN1 XER printf off"
+ echo_error " 1 -> ASN1 XER printf on and ASN1 debug off"
+ echo_error " 2 -> ASN1 XER printf on and ASN1 debug on"
+}
+
+
+
+function main()
+{
+ local -i run_gdb=0
+ local exe_arguments=" "
+ local -i epc_local=0
+ local -r epc_default_config_file="$OPENAIR_TARGETS/bin/epc.conf"
+ local epc_config_file=$epc_default_config_file
+
+ until [ -z "$1" ]
+ do
+ case "$1" in
+ -g | --gdb)
+ run_gdb=1
+ echo "setting GDB flag to: $GDB"
+ shift;
+ ;;
+ -h | --help)
+ help
+ exit 0
+ ;;
+ -K | --itti-dump-file)
+ local itti_dump_file=$2
+ # can omit file name if last arg on the line
+ if [ "x$itti_dump_file" = "x" ]; then
+ itti_dump_file="/tmp/epc_itti.log"
+ else
+ shift 1;
+ fi
+ echo "setting ITTI dump file to: $itti_dump_file"
+ exe_arguments="$exe_arguments -K $itti_dump_file"
+ shift 1;
+ ;;
+ -l | ----local-enb)
+ epc_local=1
+ shift;
+ ;;
+ -v | --verbosity-level)
+ local verbosity_level=$2
+ echo "setting verbosity level to: $verbosity_level"
+ exe_arguments="-v $verbosity_level $exe_arguments"
+ shift 2;
+ ;;
+ *)
+ echo "Unknown option $1"
+ help
+ exit 0
+ ;;
+ esac
+ done
+
+ check_for_root_rights
+ set_openair_env
+ cecho "OPENAIR_HOME = $OPENAIR_HOME" $green
+ cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green
+ cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green
+ cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green
+ cecho "OPENAIRCN_DIR = $OPENAIRCN_DIR" $green
+ cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green
+
+
+ if [ ! -e $OPENAIR_TARGETS/bin/mme_gw ]; then
+ echo_fatal "Cannot find $OPENAIR_TARGETS/bin/mme_gw executable, have a look at the output of build_epc executable"
+ fi
+
+ if [ $epc_local -eq 1 ]; then
+ epc_config_file="$OPENAIR_TARGETS/bin/epc.local.enb.conf"
+ fi
+
+ exe_arguments="-O $epc_config_file $exe_arguments"
+
+ if [ $run_gdb -eq 0 ]; then
+ exec $OPENAIR_TARGETS/bin/mme_gw `echo $exe_arguments` 2>&1
+ else
+ touch ~/.gdb_mme_gw
+ chmod 777 ~/.gdb_mme_gw
+ echo "file $OPENAIR_TARGETS/bin/mme_gw" > ~/.gdb_mme_gw
+ echo "set args $exe_arguments " >> ~/.gdb_mme_gw
+ echo "run" >> ~/.gdb_mme_gw
+ cat ~/.gdb_mme_gw
+ gdb -n -x ~/.gdb_mme_gw
+ fi
+}
+
+
+main "$@"
diff --git a/cmake_targets/tools/run_hss b/cmake_targets/tools/run_hss
new file mode 100755
index 0000000000..6faa6870cf
--- /dev/null
+++ b/cmake_targets/tools/run_hss
@@ -0,0 +1,115 @@
+#!/bin/bash
+################################################################################
+# OpenAirInterface
+# Copyright(c) 1999 - 2014 Eurecom
+#
+# OpenAirInterface is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) anylater version.
+#
+#
+# OpenAirInterface is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenAirInterface.The full GNU General Public License is
+# included in this distribution in the file called "COPYING". If not,
+# see .
+#
+# Contact Information
+# OpenAirInterface Admin: openair_admin@eurecom.fr
+# OpenAirInterface Tech : openair_tech@eurecom.fr
+# OpenAirInterface Dev : openair4g-devel@eurecom.fr
+#
+# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
+#
+################################################################################
+# file run_hss
+# brief run script for HSS (!EXPERIMENTAL!).
+# author Lionel GAUTHIER
+# company Eurecom
+# email: lionel.gauthier@eurecom.fr
+
+
+################################
+# include helper functions
+################################
+THIS_SCRIPT_PATH=$(dirname $(readlink -f $0))
+source $THIS_SCRIPT_PATH/build_helper
+
+
+function help()
+{
+ echo_error " "
+ echo_error "Usage: run_hss [OPTION]..."
+ echo_error "Run the HSS executable (experimental)."
+ echo_error " "
+ echo_error "Options:"
+ echo_error "Mandatory arguments to long options are mandatory for short options too."
+ echo_error " -g, --gdb Run with GDB."
+ echo_error " -h, --help Print this help."
+}
+
+
+
+function main()
+{
+ local -i run_gdb=0
+ local exe_arguments=" -c ./hss.conf"
+
+ until [ -z "$1" ]
+ do
+ case "$1" in
+ -g | --gdb)
+ run_gdb=1
+ echo "setting GDB flag to: $GDB"
+ shift;
+ ;;
+ -h | --help)
+ help
+ exit 0
+ ;;
+ *)
+ echo "Unknown option $1"
+ help
+ exit 0
+ ;;
+ esac
+ done
+
+ check_for_root_rights
+
+ set_openair_env
+ cecho "OPENAIR_HOME = $OPENAIR_HOME" $green
+ cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green
+ cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green
+ cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green
+ cecho "OPENAIRCN_DIR = $OPENAIRCN_DIR" $green
+ cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green
+
+
+ if [ ! -e $OPENAIR_TARGETS/bin/openair-hss ]; then
+ echo_fatal "Cannot find $OPENAIR_TARGETS/bin/openair-hss executable"
+ fi
+
+ # for file config relative path
+ cd $OPENAIR_TARGETS/bin
+
+ if [ $run_gdb -eq 0 ]; then
+ exec $OPENAIR_TARGETS/bin/openair-hss `echo $exe_arguments` 2>&1
+ else
+ touch ~/.gdb_hss
+ chmod 777 ~/.gdb_hss
+ echo "file $OPENAIR_TARGETS/bin/openair-hss" > ~/.gdb_hss
+ echo "set args $exe_arguments " >> ~/.gdb_hss
+ echo "run" >> ~/.gdb_hss
+ cat ~/.gdb_hss
+ gdb -n -x ~/.gdb_hss 2>&1
+ fi
+}
+
+
+main "$@"