Commit e5b9466b authored by thomasl's avatar thomasl

More targets implemented

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6823 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent eaa9d0fc
...@@ -115,7 +115,7 @@ set(CMAKE_BUILD_TYPE "RelWithDebInfo") ...@@ -115,7 +115,7 @@ set(CMAKE_BUILD_TYPE "RelWithDebInfo")
# #
set(CMAKE_C_FLAGS set(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} -msse4.2 -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -fPIC") "${CMAKE_C_FLAGS} -msse4.2 -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -fPIC ")
# add autotools definitions that were maybe used! # add autotools definitions that were maybe used!
set(CMAKE_C_FLAGS set(CMAKE_C_FLAGS
"${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP" "${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP"
...@@ -172,6 +172,7 @@ if (${ENABLE_ITTI}) ...@@ -172,6 +172,7 @@ if (${ENABLE_ITTI})
${ITTI_DIR}/timer.c ${ITTI_DIR}/timer.c
) )
set(ITTI_LIB ITTI) set(ITTI_LIB ITTI)
set(GTPU_need_ITTI ${OPENAIRCN_DIR}/GTPV1-U/gtpv1u_eNB.c)
set(EXMIMO_IOT) set(EXMIMO_IOT)
endif (${ENABLE_ITTI}) endif (${ENABLE_ITTI})
...@@ -357,6 +358,7 @@ add_boolean_option(ENABLE_USE_PCAP_FOR_SGI False "SGI option") ...@@ -357,6 +358,7 @@ 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_USE_RAW_SOCKET_FOR_SGI False "As per name")
add_boolean_option(ENABLE_VCD_FIFO True "Seems legacy: always true now") add_boolean_option(ENABLE_VCD_FIFO True "Seems legacy: always true now")
add_boolean_option(ENB_MODE True "???") add_boolean_option(ENB_MODE True "???")
add_boolean_option(EPC_BUILD False "???")
add_boolean_option(HARD_RT False "???") add_boolean_option(HARD_RT False "???")
add_boolean_option(JUMBO_FRAME True "???") 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(LARGE_SCALE False "specific to oaisim: defines max eNB=2 and max UE=120")
...@@ -430,9 +432,7 @@ if(ENB_MODE) ...@@ -430,9 +432,7 @@ if(ENB_MODE)
include_directories("${OPENAIR2_DIR}/UTIL/LOG") include_directories("${OPENAIR2_DIR}/UTIL/LOG")
include_directories("${OPENAIRCN_DIR}/COMMON") include_directories("${OPENAIRCN_DIR}/COMMON")
include_directories("${OPENAIRCN_DIR}/UTILS") include_directories("${OPENAIRCN_DIR}/UTILS")
message("openair2 first")
else() else()
message(openair-cn first)
include_directories("${OPENAIRCN_DIR}/COMMON") include_directories("${OPENAIRCN_DIR}/COMMON")
include_directories("${OPENAIRCN_DIR}/UTILS") include_directories("${OPENAIRCN_DIR}/UTILS")
include_directories("${OPENAIR2_DIR}/COMMON") include_directories("${OPENAIR2_DIR}/COMMON")
...@@ -453,7 +453,6 @@ include_directories("${OPENAIR3_DIR}/RAL-LTE/INTERFACE-802.21/INCLUDE") ...@@ -453,7 +453,6 @@ include_directories("${OPENAIR3_DIR}/RAL-LTE/INTERFACE-802.21/INCLUDE")
include_directories("${OPENAIR3_DIR}/RAL-LTE/LTE_RAL_ENB/INCLUDE") include_directories("${OPENAIR3_DIR}/RAL-LTE/LTE_RAL_ENB/INCLUDE")
include_directories("${OPENAIR3_DIR}/RAL-LTE/LTE_RAL_UE/INCLUDE") include_directories("${OPENAIR3_DIR}/RAL-LTE/LTE_RAL_UE/INCLUDE")
include_directories("${OPENAIR_DIR}/common/utils") include_directories("${OPENAIR_DIR}/common/utils")
include_directories("${OPENAIR_DIR}/common/utils/collection/hashtable")
include_directories("${OPENAIR_DIR}/common/utils/itti") include_directories("${OPENAIR_DIR}/common/utils/itti")
include_directories("${OPENAIRCN_DIR}/NAS/EURECOM-NAS/src/api/network") include_directories("${OPENAIRCN_DIR}/NAS/EURECOM-NAS/src/api/network")
include_directories("${OPENAIRCN_DIR}/NAS/EURECOM-NAS/src/include") include_directories("${OPENAIRCN_DIR}/NAS/EURECOM-NAS/src/include")
...@@ -495,28 +494,13 @@ include_directories("${OPENAIRCN_DIR}/SGI") ...@@ -495,28 +494,13 @@ include_directories("${OPENAIRCN_DIR}/SGI")
include_directories("${OPENAIRCN_DIR}/S6A") include_directories("${OPENAIRCN_DIR}/S6A")
include_directories("${OPENAIR_DIR}") include_directories("${OPENAIR_DIR}")
# define where are the source files
##################################
#add_subdirectory (${OPENAIR_DIR} .)
# define libraries
#add_library(MathFunctions mysqrt.cxx)
function(add_whole_dir dir lib_name)
file(GLOB mylist ${dir})
add_library(${lib_name} ${mylist})
endfunction(add_whole_dir)
function(add_whole_tree dir lib_name)
file(GLOB_RECURSE mylist "${dir}/*.c")
add_library(${lib_name} ${mylist})
endfunction(add_whole_tree)
# Utilities Library # Utilities Library
################ ################
add_library(HASHTABLE add_library(HASHTABLE
${OPENAIR_DIR}/common/utils/collection/hashtable/hashtable.c ${OPENAIRCN_DIR}/UTILS/HASHTABLE/hashtable.c
${OPENAIR_DIR}/common/utils/collection/hashtable/obj_hashtable.c ${OPENAIRCN_DIR}/UTILS/HASHTABLE/obj_hashtable.c
) )
include_directories(${OPENAIRCN_DIR}/UTILS/HASHTABLE)
set(UTIL_SRC set(UTIL_SRC
${OPENAIR2_DIR}/UTIL/CLI/cli.c ${OPENAIR2_DIR}/UTIL/CLI/cli.c
...@@ -585,7 +569,8 @@ add_library(SECU_CN ${SECU_CN_SRC}) ...@@ -585,7 +569,8 @@ add_library(SECU_CN ${SECU_CN_SRC})
# Scheduler # Scheduler
################################" ################################"
add_whole_dir(${OPENAIR1_DIR}/SCHED/*.c SCHED_LIB) file(GLOB SCHED_SRC ${OPENAIR1_DIR}/SCHED/*.c)
add_library(SCHED_LIB ${SCHED_SRC})
# Layer 1 # Layer 1
############################# #############################
...@@ -877,7 +862,6 @@ target_compile_definitions(xt_GTPURH_lib PRIVATE ...@@ -877,7 +862,6 @@ target_compile_definitions(xt_GTPURH_lib PRIVATE
-DIPTVERSION=${IPTVERSION} -DIPTABLES_VERSION_STRING=${IPTABLES_VERSION_STRING} -DIPTVERSION=${IPTVERSION} -DIPTABLES_VERSION_STRING=${IPTABLES_VERSION_STRING}
) )
set(SGI_DIR ${OPENAIRCN_DIR}/SGI) set(SGI_DIR ${OPENAIRCN_DIR}/SGI)
set(SGI_SRC set(SGI_SRC
${SGI_DIR}/sgi_task.c ${SGI_DIR}/sgi_task.c
...@@ -899,7 +883,6 @@ if (ENABLE_USE_NETFILTER_FOR_SGI) ...@@ -899,7 +883,6 @@ if (ENABLE_USE_NETFILTER_FOR_SGI)
endif() endif()
add_library(SGI ${SGI_SRC}) add_library(SGI ${SGI_SRC})
set(SCTP_SRC set(SCTP_SRC
${OPENAIRCN_DIR}/SCTP/sctp_common.c ${OPENAIRCN_DIR}/SCTP/sctp_common.c
${OPENAIRCN_DIR}/SCTP/sctp_eNB_task.c ${OPENAIRCN_DIR}/SCTP/sctp_eNB_task.c
...@@ -928,6 +911,7 @@ add_library(S11 ...@@ -928,6 +911,7 @@ add_library(S11
${S11_DIR}/s11_sgw_session_manager.c ${S11_DIR}/s11_sgw_session_manager.c
${S11_DIR}/s11_sgw_bearer_manager.c ${S11_DIR}/s11_sgw_bearer_manager.c
) )
include_directories(${S11_DIR})
set(S6A_DIR ${OPENAIRCN_DIR}/S6A) set(S6A_DIR ${OPENAIRCN_DIR}/S6A)
add_library(S6A add_library(S6A
...@@ -940,7 +924,6 @@ add_library(S6A ...@@ -940,7 +924,6 @@ add_library(S6A
${S6A_DIR}/s6a_up_loc.c ${S6A_DIR}/s6a_up_loc.c
) )
set(SGW_DIR ${OPENAIRCN_DIR}/SGW-LITE) set(SGW_DIR ${OPENAIRCN_DIR}/SGW-LITE)
add_library (SGW add_library (SGW
${SGW_DIR}/spgw_config.c ${SGW_DIR}/spgw_config.c
...@@ -951,7 +934,6 @@ add_library (SGW ...@@ -951,7 +934,6 @@ add_library (SGW
${SGW_DIR}/pgw_lite_paa.c ${SGW_DIR}/pgw_lite_paa.c
) )
set(MME_DIR ${OPENAIRCN_DIR}/MME_APP) set(MME_DIR ${OPENAIRCN_DIR}/MME_APP)
add_library(MME_APP add_library(MME_APP
${MME_DIR}/mme_app_capabilities.c ${MME_DIR}/mme_app_capabilities.c
...@@ -964,7 +946,6 @@ add_library(MME_APP ...@@ -964,7 +946,6 @@ add_library(MME_APP
${MME_DIR}/s6a_2_nas_cause.c ${MME_DIR}/s6a_2_nas_cause.c
) )
set(NAS_SRC ${OPENAIRCN_DIR}/NAS/EURECOM-NAS/src/) set(NAS_SRC ${OPENAIRCN_DIR}/NAS/EURECOM-NAS/src/)
set(libnas_api_OBJS set(libnas_api_OBJS
${NAS_SRC}api/mme/mme_api.c ${NAS_SRC}api/mme/mme_api.c
...@@ -973,7 +954,6 @@ set(libnas_api_OBJS ...@@ -973,7 +954,6 @@ set(libnas_api_OBJS
${NAS_SRC}api/network/network_api.c ${NAS_SRC}api/network/network_api.c
) )
set(libnas_emm_OBJS set(libnas_emm_OBJS
${NAS_SRC}emm/Attach.c ${NAS_SRC}emm/Attach.c
${NAS_SRC}emm/Authentication.c ${NAS_SRC}emm/Authentication.c
...@@ -1207,13 +1187,17 @@ set(libnas_usim_OBJS ...@@ -1207,13 +1187,17 @@ set(libnas_usim_OBJS
${NAS_SRC}api/usim/usim_api.c ${NAS_SRC}api/usim/usim_api.c
) )
set(libnas_OBJS add_library(NAS_UE
${OPENAIRCN_DIR}/NAS/nas_ue_task.c ${OPENAIRCN_DIR}/NAS/nas_ue_task.c
)
set(libnas_OBJS
${OPENAIRCN_DIR}/NAS/nas_itti_messaging.c ${OPENAIRCN_DIR}/NAS/nas_itti_messaging.c
# ${OPENAIRCN_DIR}/NAS/nas_main.c
${NAS_SRC}nas_parser.c ${NAS_SRC}nas_parser.c
${NAS_SRC}nas_proc.c ${NAS_SRC}nas_proc.c
${NAS_SRC}nas_user.c ${NAS_SRC}nas_user.c
${NAS_SRC}nas_network.c
${libnas_utils_OBJS} ${libnas_utils_OBJS}
${libnas_user_OBJS} ${libnas_user_OBJS}
${libnas_usim_OBJS} ${libnas_usim_OBJS}
...@@ -1229,7 +1213,7 @@ set(libnas_OBJS ...@@ -1229,7 +1213,7 @@ set(libnas_OBJS
add_library(NAS ${libnas_OBJS}) add_library(NAS ${libnas_OBJS})
if(NAS_UE) if(NAS_UE)
set(NAS_LIB NAS) set(NAS_LIB NAS NAS_UE)
endif() endif()
include_directories(${NAS_SRC}) include_directories(${NAS_SRC})
...@@ -1350,6 +1334,9 @@ if (${XFORMS}) ...@@ -1350,6 +1334,9 @@ if (${XFORMS})
set(XFORMS_LIBRARIES "forms") set(XFORMS_LIBRARIES "forms")
endif (${XFORMS}) endif (${XFORMS})
# Hack on a test of asn1c version (already dirty)
add_definitions(-DASN1_MINIMUM_VERSION=924)
################################# #################################
# add executables for operation # add executables for operation
#################################"" #################################""
...@@ -1369,7 +1356,7 @@ add_executable(lte-softmodem ...@@ -1369,7 +1356,7 @@ add_executable(lte-softmodem
${OPENAIR_TARGETS}/SIMU/USER/init_lte.c ${OPENAIR_TARGETS}/SIMU/USER/init_lte.c
${OPENAIR_TARGETS}/COMMON/create_tasks.c ${OPENAIR_TARGETS}/COMMON/create_tasks.c
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
${GTPV1U_DIR}/gtpv1u_eNB.c ${GTPU_need_ITTI}
${HW_SOURCE} ${HW_SOURCE}
${RTAI_SOURCE} ${RTAI_SOURCE}
${XFORMS_SOURCE} ${XFORMS_SOURCE}
...@@ -1390,10 +1377,11 @@ add_executable(oai_epc ...@@ -1390,10 +1377,11 @@ add_executable(oai_epc
${OPENAIRCN_DIR}/OAI_EPC/oai_epc.c ${OPENAIRCN_DIR}/OAI_EPC/oai_epc.c
${GTPV1U_DIR}/gtpv1u_task.c ${GTPV1U_DIR}/gtpv1u_task.c
${OPENAIRCN_DIR}/SCTP/sctp_primitives_server.c ${OPENAIRCN_DIR}/SCTP/sctp_primitives_server.c
${OPENAIRCN_DIR}/NAS/nas_main.c
) )
target_link_libraries (oai_epc target_link_libraries (oai_epc
-Wl,--start-group -Wl,--start-group
S1AP_LIB S1AP_EPC GTPV1U GTPV2C SCTP_SERVER UDP_SERVER SECU_CN SECU_OSA SGI S6A SGW MME_APP LFDS ${NAS_LIB} ${ITTI_LIB} CN_UTILS HASHTABLE 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 -Wl,--end-group
pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
) )
...@@ -1407,7 +1395,7 @@ add_executable(oai_sgw ...@@ -1407,7 +1395,7 @@ add_executable(oai_sgw
) )
target_link_libraries (oai_sgw target_link_libraries (oai_sgw
-Wl,--start-group -Wl,--start-group
GTPV1U SECU_CN SECU_OSA SGI S6A SGW UTIL LFDS ${ITTI_LIB} GTPV1U SECU_CN SECU_OSA SGI S6A SGW CN_UTILS LFDS ${ITTI_LIB}
-Wl,--end-group -Wl,--end-group
pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore pthread m sctp rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
) )
...@@ -1417,14 +1405,14 @@ target_link_libraries (oai_sgw ...@@ -1417,14 +1405,14 @@ target_link_libraries (oai_sgw
add_executable(usim_data add_executable(usim_data
${OPENAIRCN_DIR}/NAS/EURECOM-NAS/tools/usim_data.c ${OPENAIRCN_DIR}/NAS/EURECOM-NAS/tools/usim_data.c
) )
target_link_libraries (usim_data nettle crypto m) target_link_libraries (usim_data ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m)
# ??? # ???
##################### #####################
add_executable(ue_data add_executable(ue_data
${OPENAIRCN_DIR}/NAS/EURECOM-NAS/tools/ue_data.c ${OPENAIRCN_DIR}/NAS/EURECOM-NAS/tools/ue_data.c
) )
target_link_libraries (ue_data nettle crypto m) target_link_libraries (ue_data ${NAS_LIB} UTIL ${ITTI_LIB} LFDS pthread rt nettle crypto m)
###################################" ###################################"
# Addexecutables for tests # Addexecutables for tests
...@@ -1433,28 +1421,29 @@ target_link_libraries (ue_data nettle crypto m) ...@@ -1433,28 +1421,29 @@ target_link_libraries (ue_data nettle crypto m)
# A all in one network simulator # A all in one network simulator
################ ################
add_executable(oaisim add_executable(oaisim
${rrc_h} ${rrc_h}
${s1ap_h} ${s1ap_h}
${OPENAIR_BIN_DIR}/messages_xml.h ${OPENAIR_BIN_DIR}/messages_xml.h
${OPENAIR_TARGETS}/SIMU/USER/channel_sim.c ${OPENAIR_TARGETS}/SIMU/USER/channel_sim.c
${OPENAIR_TARGETS}/SIMU/USER/init_lte.c ${OPENAIR_TARGETS}/SIMU/USER/init_lte.c
${OPENAIR_TARGETS}/SIMU/USER/oaisim_config.c ${OPENAIR_TARGETS}/SIMU/USER/oaisim_config.c
${OPENAIR_TARGETS}/SIMU/USER/sinr_sim.c ${OPENAIR_TARGETS}/SIMU/USER/sinr_sim.c
${OPENAIR_TARGETS}/SIMU/USER/cor_SF_sim.c ${OPENAIR_TARGETS}/SIMU/USER/cor_SF_sim.c
${OPENAIR_TARGETS}/SIMU/USER/oaisim_functions.c ${OPENAIR_TARGETS}/SIMU/USER/oaisim_functions.c
${OPENAIR_TARGETS}/SIMU/USER/event_handler.c ${OPENAIR_TARGETS}/SIMU/USER/event_handler.c
${OPENAIR_TARGETS}/SIMU/USER/oaisim.c ${OPENAIR_TARGETS}/SIMU/USER/oaisim.c
${OPENAIR2_DIR}/RRC/NAS/nas_config.c ${OPENAIR2_DIR}/RRC/NAS/nas_config.c
${OPENAIR2_DIR}/RRC/NAS/rb_config.c ${OPENAIR2_DIR}/RRC/NAS/rb_config.c
${OPENAIR2_DIR}/UTIL/OMG/sumo.c ${OPENAIR2_DIR}/UTIL/OMG/sumo.c
${OPENAIR_TARGETS}/COMMON/create_tasks.c ${GTPU_need_ITTI}
${HW_SOURCE} ${OPENAIR_TARGETS}/COMMON/create_tasks.c
${XFORMS_SOURCE} ${HW_SOURCE}
${XFORMS_SOURCE}
) )
target_include_directories(oaisim PUBLIC ${OPENAIR_TARGETS}/SIMU/USER) target_include_directories(oaisim PUBLIC ${OPENAIR_TARGETS}/SIMU/USER)
target_link_libraries (oaisim target_link_libraries (oaisim
-Wl,--start-group -Wl,--start-group
RRC_LIB S1AP_LIB S1AP_ENB GTPV1U SECU_CN UTIL SCTP_CLIENT UDP SCHED_LIB PHY LFDS L2 ${RAL_LIB} ${NAS_LIB} SIMU SIMU_ETH SECU_OSA ${ITTI_LIB} ${MIH_LIB} RRC_LIB S1AP_LIB S1AP_ENB GTPV1U SECU_CN UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY LFDS L2 ${RAL_LIB} ${NAS_LIB} SIMU SIMU_ETH SECU_OSA ${ITTI_LIB} ${MIH_LIB}
-Wl,--end-group ) -Wl,--end-group )
target_link_libraries (oaisim ${LIBXML2_LIBRARIES} ${LAPACK_LIBRARIES}) target_link_libraries (oaisim ${LIBXML2_LIBRARIES} ${LAPACK_LIBRARIES})
target_link_libraries (oaisim pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${option_USRP} target_link_libraries (oaisim pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${option_USRP}
...@@ -1495,7 +1484,7 @@ foreach(myExe s1ap ...@@ -1495,7 +1484,7 @@ foreach(myExe s1ap
${OPENAIRCN_DIR}/TEST/test_${myExe}.c ${OPENAIRCN_DIR}/TEST/test_${myExe}.c
) )
target_link_libraries (test_${myExe} target_link_libraries (test_${myExe}
-Wl,--start-group UTIL LFDS -Wl,--end-group fdproto fdcore -Wl,--start-group SECU_CN UTIL LFDS -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
) )
endforeach(myExe) endforeach(myExe)
...@@ -1570,7 +1559,6 @@ EXECUTE_PROCESS(COMMAND uname -r ...@@ -1570,7 +1559,6 @@ EXECUTE_PROCESS(COMMAND uname -r
OUTPUT_VARIABLE os_release OUTPUT_VARIABLE os_release
OUTPUT_STRIP_TRAILING_WHITESPACE) OUTPUT_STRIP_TRAILING_WHITESPACE)
SET(module_build_path /lib/modules/${os_release}/build) SET(module_build_path /lib/modules/${os_release}/build)
message("Kernel build path = ${module_build_path}")
function(make_driver name dir) function(make_driver name dir)
file(MAKE_DIRECTORY ${OPENAIR_BIN_DIR}/${name}) file(MAKE_DIRECTORY ${OPENAIR_BIN_DIR}/${name})
......
...@@ -80,17 +80,14 @@ Options ...@@ -80,17 +80,14 @@ Options
The configuration file to install The configuration file to install
-I | --install-external-packages -I | --install-external-packages
Installs required packages such as LibXML, asn1.1 compiler, freediameter, ... Installs required packages such as LibXML, asn1.1 compiler, freediameter, ...
This option will require root password
-g | --run-with-gdb -g | --run-with-gdb
Add debugging symbols to compilation directives Add debugging symbols to compilation directives
-eNB --eNB
Makes the eNB LTE softmodem Makes the eNB LTE softmodem
-UE --UE
Makes the UE softmodem Makes the UE softmodem
-oaisim --EPC
Makes the oaisim simulator
-unit_simulators
Makes the unitary tests Layer 1 simulators
-EPC
Makes the EPC Makes the EPC
-r | --3gpp-release -r | --3gpp-release
default is Rel10, default is Rel10,
...@@ -98,13 +95,22 @@ Options ...@@ -98,13 +95,22 @@ Options
-w | --hardware -w | --hardware
EXMIMO (Default), USRP, None EXMIMO (Default), USRP, None
Adds this RF board support (in external packages installation and in compilation) Adds this RF board support (in external packages installation and in compilation)
--oaisim
Makes the oaisim simulator
--phy_simulators
Makes the unitary tests Layer 1 simulators
--core_simulators
Makes the core security features unitary simulators
-s | --check -s | --check
runs a set of auto-tests based on simulators and several compilation tests runs a set of auto-tests based on simulators and several compilation tests
-V | --vcd -V | --vcd
Adds a debgging facility to the binary files: GUI with major internal synchronization events Adds a debgging facility to the binary files: GUI with major internal synchronization events
-x | --xforms -x | --xforms
Adds a software oscilloscope feature to the produced binaries Adds a software oscilloscope feature to the produced binaries
Typical Options for a quick startup with a COTS UE and Eurecom RF board: build_oai.bash -I -g -eNB -EPC -x' --install-system-files
Install OpenArInterface required files in Linux system
(will ask root password)
Typical Options for a quick startup with a COTS UE and Eurecom RF board: build_oai.bash -I -g -eNB -EPC -x --install-system-files'
} }
########################### ###########################
...@@ -142,20 +148,16 @@ clean_all_files() { ...@@ -142,20 +148,16 @@ clean_all_files() {
################################### ###################################
compilations() { compilations() {
cd $OPENAIR_DIR/cmake_targets/$1 cd $OPENAIR_DIR/cmake_targets/$1/build
{ {
[ "$CLEAN" = "1" ] && rm -rf build
mkdir -p build
cd build
rm -f $3 rm -f $3
cmake ..
make -j4 $2 make -j4 $2
} > $5 2>&1 } > $dlog/$2.$REL.txt 2>&1
if [ -s $3 ] ; then if [ -s $3 ] ; then
cp $3 $4 cp $3 $dbin/$2.$REL
echo_success "$6" echo_success "$2 compiled"
else else
echo_error "$7" echo_error "$2 compilation failed"
fi fi
} }
...@@ -164,6 +166,22 @@ run_tests() { ...@@ -164,6 +166,22 @@ run_tests() {
grep 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() { run_compilation_autotests() {
tdir=$OPENAIR_DIR/cmake_targets/autotests tdir=$OPENAIR_DIR/cmake_targets/autotests
mkdir -p $tdir/bin $tdir/log mkdir -p $tdir/bin $tdir/log
...@@ -173,71 +191,48 @@ run_compilation_autotests() { ...@@ -173,71 +191,48 @@ run_compilation_autotests() {
fi fi
compilations \ compilations \
test.0101 oaisim \ test.0101 oaisim \
oaisim $tdir/bin/oaisim.r8 \ oaisim $tdir/bin/oaisim.r8
$tdir/log/test0101.txt \
"test 0101:oaisim Rel8 passed" \
"test 0101:oaisim Rel8 failed"
compilations \ compilations \
test.0102 oaisim \ test.0102 oaisim \
oaisim $tdir/bin/oaisim.r8.nas \ oaisim $tdir/bin/oaisim.r8.nas
$tdir/log/test0102.oaisim.txt \
"test 0102:oaisim Rel8 nas passed" \
"test 0102:oaisim Rel8 nas failed"
compilations \ compilations \
test.0103 oaisim \ test.0103 oaisim \
oaisim $tdir/bin/oaisim.r8.rf \ oaisim $tdir/bin/oaisim.r8.rf
$tdir/log/test0103.txt \
"test 0103:oaisim rel8 rf passed" \
"test 0103:oaisim rel8 rf failed"
compilations \ compilations \
test.0104 dlsim \ test.0104 dlsim \
dlsim $tdir/bin/dlsim \ dlsim $tdir/bin/dlsim
$tdir/log/test0104.txt \
"test 0104:dlsim passed" \
"test 0104:dlsim failed"
compilations \ compilations \
test.0104 ulsim \ test.0104 ulsim \
ulsim $tdir/bin/ulsim \ ulsim $tdir/bin/ulsim
$tdir/log/test0105.txt \
"test 0105: ulsim passed" \
"test 0105: ulsim failed"
compilations \ compilations \
test.0106 oaisim \ test.0106 oaisim \
oaisim $tdir/bin/oaisim.r8.itti \ oaisim $tdir/bin/oaisim.r8.itti
$tdir/log/test0106.txt \
"test 0103:oaisim rel8 itti passed" \
"test 0103:oaisim rel8 itti failed"
compilations \ compilations \
test.0107 oaisim \ test.0107 oaisim \
oaisim $tdir/bin/oaisim.r10 \ oaisim $tdir/bin/oaisim.r10
$tdir/log/test0107.txt \
"test 0103:oaisim rel10 passed" \
"test 0103:oaisim rel10 failed"
compilations \ compilations \
test.0108 oaisim \ test.0108 oaisim \
oaisim $tdir/bin/oaisim.r10.itti \ oaisim $tdir/bin/oaisim.r10.itti
$tdir/log/test0108.txt \
"test 0108:oaisim rel10 itti passed" \
"test 0108:oaisim rel10 itti failed"
compilations \ compilations \
test.0114 oaisim \ test.0114 oaisim \
oaisim $tdir/bin/oaisim.r8.itti.ral \ 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 \ compilations \
test.0115 oaisim \ test.0115 oaisim \
oaisim $tdir/bin/oaisim.r10.itti.ral \ 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 \ compilations \
test.0102 nasmesh \ test.0102 nasmesh \
CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko \ CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko
$tdir/log/test0120.txt \
"test 0120: nasmesh.ko passed" \
"test 0120: nasmesk.ko failed"
} }
########################################## ##########################################
...@@ -414,11 +409,17 @@ check_install_oai_software() { ...@@ -414,11 +409,17 @@ check_install_oai_software() {
$SUDO apt-get install -y libgnutls-dev nettle-dev nettle-bin $SUDO apt-get install -y libgnutls-dev nettle-dev nettle-bin
fi fi
install_freediameter_from_source install_freediameter_from_source
check_install_asn1c install_asn1c_from_source
} }
check_install_asn1c(){ install_asn1c_from_source(){
$SUDO $OPENAIR_TARGETS/SCRIPTS/install_asn1c_0.9.24.modified.bash mkdir /tmp/asn1c-r1516
cd /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
./configure
make
$SUDO make install
} }
################################################# #################################################
...@@ -429,17 +430,19 @@ compile_hss() { ...@@ -429,17 +430,19 @@ compile_hss() {
if [ "$CLEAN" = "1" ]; then if [ "$CLEAN" = "1" ]; then
echo_info "build a clean HSS" echo_info "build a clean HSS"
rm -rfv obj* m4 .autom4* configure rm -rf obj* m4 .autom4* configure
fi fi
echo_success "Invoking autogen" echo_success "Invoking autogen"
./autogen.sh || return 1 ./autogen.sh || return 1
mkdir -p objs ; cd objs mkdir -p objs ; cd objs
echo_success "Invoking configure" echo_success "Invoking configure"
./configure || return 1 ../configure || return 1
if [ -f Makefile ]; then if [ -f Makefile ]; then
echo_success "Compiling..." echo_success "Compiling..."
make -j4 make -j4
# seems a bug in hss compilation: run make twice to work around
make -j4
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo_error "Build failed, exiting" echo_error "Build failed, exiting"
return 1 return 1
...@@ -452,62 +455,27 @@ compile_hss() { ...@@ -452,62 +455,27 @@ compile_hss() {
return 1 return 1
} }
compile_nas_tools() {
export NVRAM_DIR=$OPENAIR_TARGETS/bin
cd $NVRAM_DIR
if [ ! -f /tmp/nas_cleaned ]; then
echo_success "make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS/tools veryveryclean"
make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS/tools veryveryclean
fi
echo_success "make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS/tools all"
make --directory=$OPENAIRCN_DIR/NAS/EURECOM-NAS/tools all
rm .ue.nvram
rm .usim.nvram
touch /tmp/nas_cleaned
}
TDB() { TDB() {
if [ $2 = "USRP" ]; then if [ $2 = "USRP" ]; then
echo_info " 8.2 [USRP] " echo_info " 8.2 [USRP] "
fi fi
# ENB_S1
if [ $3 = 0 ]; then
cd $OPENAIR2_DIR && make clean && make nasmesh_netlink.ko #|| exit 1
cd $OPENAIR2_DIR/NAS/DRIVER/MESH/RB_TOOL && make clean && make # || exit 1
fi
}
# arg1 is ENB_S1 'boolean'
install_oaisim() {
if [ $1 = 0 ]; then
cd $OPENAIR2_DIR && make clean && make nasmesh_netlink.ko #|| exit 1
cd $OPENAIR2_DIR/NAS/DRIVER/MESH/RB_TOOL && make clean && make # || exit 1
else
compile_ue_ip_nw_driver
install_nas_tools
fi
}
install_nas_tools() { install_nas_tools() {
cd $OPENAIR_TARGETS/bin cd $1
if [ ! -f .ue.nvram ]; then if [ ! -f .ue.nvram ]; then
echo_success "generate .ue_emm.nvram .ue.nvram" echo_success "generate .ue_emm.nvram .ue.nvram"
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --gen ./ue_data --gen
fi fi
if [ ! -f .usim.nvram ]; then if [ ! -f .usim.nvram ]; then
echo_success "generate .usim.nvram" echo_success "generate .usim.nvram"
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --gen ./usim_data --gen
fi fi
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/ue_data --print ./ue_data --print
$OPENAIRCN_DIR/NAS/EURECOM-NAS/bin/usim_data --print ./usim_data --print
} }
install_nasmesh(){ install_nasmesh(){
...@@ -537,8 +505,6 @@ create_hss_database(){ ...@@ -537,8 +505,6 @@ create_hss_database(){
echo_fatal "Usage: $0 dbuser dbpass hssuser hsspass databasename" echo_fatal "Usage: $0 dbuser dbpass hssuser hsspass databasename"
rv=1 rv=1
fi fi
set_openair_env
# removed % # removed %
#Q1="GRANT ALL PRIVILEGES ON *.* TO '$3'@'%' IDENTIFIED BY '$4' WITH GRANT OPTION;" #Q1="GRANT ALL PRIVILEGES ON *.* TO '$3'@'%' IDENTIFIED BY '$4' WITH GRANT OPTION;"
...@@ -553,7 +519,6 @@ create_hss_database(){ ...@@ -553,7 +519,6 @@ create_hss_database(){
echo_success "$3 permissions succeeded" echo_success "$3 permissions succeeded"
fi fi
Q1="CREATE DATABASE IF NOT EXISTS ${BTICK}$5${BTICK};" Q1="CREATE DATABASE IF NOT EXISTS ${BTICK}$5${BTICK};"
SQL="${Q1}" SQL="${Q1}"
$MYSQL -u $3 --password=$4 -e "$SQL" $MYSQL -u $3 --password=$4 -e "$SQL"
...@@ -564,7 +529,6 @@ create_hss_database(){ ...@@ -564,7 +529,6 @@ create_hss_database(){
echo_success "$5 creation succeeded" echo_success "$5 creation succeeded"
fi fi
# test if tables have been created # test if tables have been created
mysql -u $3 --password=$4 -e "desc $5.users" > /dev/null 2>&1 mysql -u $3 --password=$4 -e "desc $5.users" > /dev/null 2>&1
...@@ -577,7 +541,6 @@ create_hss_database(){ ...@@ -577,7 +541,6 @@ create_hss_database(){
echo_success "$5 tables creation succeeded" echo_success "$5 tables creation succeeded"
fi fi
fi fi
return 0 return 0
} }
...@@ -585,14 +548,12 @@ create_hss_database(){ ...@@ -585,14 +548,12 @@ create_hss_database(){
# set_openair_env # set_openair_env
############################### ###############################
set_openair_env(){ set_openair_env(){
fullpath=`readlink -f $BASH_SOURCE` fullpath=`readlink -f $BASH_SOURCE`
[ -f "/.$fullpath" ] || fullpath=`readlink -f $PWD/$fullpath` [ -f "/.$fullpath" ] || fullpath=`readlink -f $PWD/$fullpath`
openair_path=${fullpath%/cmake_targets/*} openair_path=${fullpath%/cmake_targets/*}
openair_path=${openair_path%/targets/*} openair_path=${openair_path%/targets/*}
openair_path=${openair_path%/openair-cn/*} openair_path=${openair_path%/openair-cn/*}
openair_path=${openair_path%/openair[123]/*} openair_path=${openair_path%/openair[123]/*}
export OPENAIR_DIR=$openair_path export OPENAIR_DIR=$openair_path
export OPENAIR_HOME=$openair_path export OPENAIR_HOME=$openair_path
export OPENAIR1_DIR=$openair_path/openair1 export OPENAIR1_DIR=$openair_path/openair1
...@@ -600,6 +561,5 @@ set_openair_env(){ ...@@ -600,6 +561,5 @@ set_openair_env(){
export OPENAIR3_DIR=$openair_path/openair3 export OPENAIR3_DIR=$openair_path/openair3
export OPENAIRCN_DIR=$openair_path/openair-cn export OPENAIRCN_DIR=$openair_path/openair-cn
export OPENAIR_TARGETS=$openair_path/targets export OPENAIR_TARGETS=$openair_path/targets
} }
...@@ -54,84 +54,80 @@ do ...@@ -54,84 +54,80 @@ do
CLEAN=1 CLEAN=1
clean_all_files clean_all_files
echo_info "Erased all previously producted files" echo_info "Erased all previously producted files"
shift; shift;;
;;
--clean-kernel) --clean-kernel)
clean_kernel clean_kernel
echo_info "Erased iptables config and removed modules from kernel" echo_info "Erased iptables config and removed modules from kernel"
shift; shift;;
;;
-C | --config-file) -C | --config-file)
CONFIG_FILE=$2 CONFIG_FILE=$2
echo_info "Will install the config file $CONFIG_FILE" echo_info "Will install the config file $CONFIG_FILE"
shift 2; shift 2;;
;;
-I | --install-external-packages) -I | --install-external-packages)
INSTALL_EXTERNAL INSTALL_EXTERNAL
echo_info "Will install external packages" echo_info "Will install external packages"
shift; shift;;
;;
-g | --run-with-gdb) -g | --run-with-gdb)
GDB=1 GDB=1
echo_info "Will Compile with gdb symbols" echo_info "Will Compile with gdb symbols"
shift; shift;;
;; --eNB)
-eNB)
eNB=1 eNB=1
echo_info "Will compile eNB" echo_info "Will compile eNB"
shift;; shift;;
-UE) --UE)
UE=1 UE=1
echo_info "Will compile UE" echo_info "Will compile UE"
shift;; shift;;
-unit_simulators) --EPC)
SIMUS=1
echo_info "Will compile dlsim, ulsim, ..."
shift;;
-oaisim)
oaisim=1
echo_info "Will compile oaisim and drivers nasmesh, ..."
shift;;
-EPC)
EPC=1 EPC=1
echo_info "Will compile EPC" echo_info "Will compile EPC"
shift;; shift;;
-h | --help)
print_help
exit 1
;;
-r | --3gpp-release) -r | --3gpp-release)
REL=$2 REL=$2
echo_info "setting release to: $REL" echo_info "setting release to: $REL"
shift 2 ; shift 2;;
;; -w | --hardware)
HW="$2" #"${i#*=}"
echo_info "setting hardware to: $HW"
shift 2;;
--oaisim)
oaisim=1
echo_info "Will compile oaisim and drivers nasmesh, ..."
shift;;
--phy_simulators)
SIMUS_PHY=1
echo_info "Will compile dlsim, ulsim, ..."
shift;;
--core_simulators)
SIMUS_CORE=1
echo_info "Will compile security unitary tests"
shift;;
-s | --check) -s | --check)
OAI_TEST=1 OAI_TEST=1
echo_info "Will run auto-tests" echo_info "Will run auto-tests"
shift; shift;;
;;
-V | --vcd) -V | --vcd)
echo_info "setting gtk-wave output" echo_info "setting gtk-wave output"
VCD_TIMING=1 VCD_TIMING=1
EXE_ARGUMENTS="$EXE_ARGUMENTS -V" EXE_ARGUMENTS="$EXE_ARGUMENTS -V"
shift ; shift;;
;;
-w | --hardware)
HW="$2" #"${i#*=}"
echo_info "setting hardware to: $HW"
shift 2 ;
;;
-x | --xforms) -x | --xforms)
XFORMS=1 XFORMS=1
EXE_ARGUMENTS="$EXE_ARGUMENTS -d" EXE_ARGUMENTS="$EXE_ARGUMENTS -d"
echo_info "Will generate the software oscilloscope features" echo_info "Will generate the software oscilloscope features"
shift; shift;;
;; --install-system-files)
*) INSTALL_SYSTEM_FILES=1
echo_info "Will copy OpenAirInterface files in Linux directories"
shift;;
-h | --help)
print_help
exit 1;;
*)
print_help print_help
echo_fatal "Unknown option $1" echo_fatal "Unknown option $1"
break ; break;;
;;
esac esac
done done
...@@ -163,8 +159,11 @@ echo_info "3. building the compilation directives ..." ...@@ -163,8 +159,11 @@ echo_info "3. building the compilation directives ..."
DIR=$OPENAIR_HOME/cmake_targets DIR=$OPENAIR_HOME/cmake_targets
# Create the cmake directives for selected options # Create and configure the building directories
mkdir -p $DIR/lte_build_oai #####################################"
# For eNB, UE, ...
mkdir -p $DIR/lte_build_oai/build
cmake_file=$DIR/lte_build_oai/CMakeLists.txt cmake_file=$DIR/lte_build_oai/CMakeLists.txt
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
echo "set(XFORMS $XFORMS )" >> $cmake_file echo "set(XFORMS $XFORMS )" >> $cmake_file
...@@ -173,16 +172,43 @@ echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file ...@@ -173,16 +172,43 @@ echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
echo 'set(PACKAGE_NAME "\"lte-softmodem\"")' >> $cmake_file echo 'set(PACKAGE_NAME "\"lte-softmodem\"")' >> $cmake_file
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
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
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
mkdir -p $DIR/epc_build_oai/build
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
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
cd build
rm -f *sim
cmake ..
if [ "$eNB" = "1" -o "UE" = "1" ] ; then if [ "$eNB" = "1" -o "UE" = "1" ] ; then
# LTE softmodem compilation # LTE softmodem compilation
echo_info "Compiling LTE softmodem" echo_info "Compiling LTE softmodem"
compilations \ compilations \
lte_build_oai lte-softmodem \ lte_build_oai lte-softmodem \
lte-softmodem $dbin/lte-softmodem.$REL \ lte-softmodem lte-softmodem.$REL
$dlog/lte-softmodem.$REL.txt \
"lte-softmodem compiled" \
"lte-softmodem compilation failed"
fi fi
if [ "$UE" = 1 ] ; then if [ "$UE" = 1 ] ; then
...@@ -190,31 +216,35 @@ if [ "$UE" = 1 ] ; then ...@@ -190,31 +216,35 @@ if [ "$UE" = 1 ] ; then
echo_info "Compiling UE specific part" echo_info "Compiling UE specific part"
compilations \ compilations \
lte_build_oai ue_ip \ lte_build_oai ue_ip \
CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko \ CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko
$dlog/ue_ip.txt \ compilations \
"ue_ip driver compiled" \ lte_build_oai usim_data \
"ue_ip driver compilation failed" usim_data $dbin/usim_data.$REL
compilations \
lte_build_oai ue_data \
ue_data $dbin/ue_data.$REL
fi fi
if [ "SIMUS" = "1" ] ; then if [ "$SIMUS_PHY" = "1" ] ; then
# lte unitary simulators compilation # lte unitary simulators compilation
echo_info "Compiling unitary tests simulators" echo_info "Compiling unitary tests simulators"
simlist="dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim" simlist="dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim"
log=$dlog/lte-simulators.log
cd $OPENAIR_DIR/cmake_targets/lte-simulators
[ "$CLEAN" = "1" ] && rm -rf build
mkdir -p build
cd build
rm -f *sim
cmake .. > $log 2>&1
for f in $simlist ; do for f in $simlist ; do
make -j4 $f > $log 2>&1 compilations \
if [ -s $f ] ; then lte-simulators $f \
echo_success "$f compiled" $f $dbin/$f.$REL
cp $f $OPENAIR_DIR/cmake_targets/bin done
else fi
echo_error "$f compilation failed"
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"
for f in $simlist ; do
compilations \
lte-simulators test_$f \
test_$f $dbin/test_$f.$REL
done done
fi fi
...@@ -223,93 +253,61 @@ if [ "$HW" = "EXMIMO" ] ; then ...@@ -223,93 +253,61 @@ if [ "$HW" = "EXMIMO" ] ; then
echo_info "Compiling Express MIMO 2 board drivers" echo_info "Compiling Express MIMO 2 board drivers"
compilations \ compilations \
lte_build_oai openair_rf \ lte_build_oai openair_rf \
CMakeFiles/openair_rf/openair_rf.ko $dbin/openair_rf.ko \ CMakeFiles/openair_rf/openair_rf.ko $dbin/openair_rf.ko
$dlog/openair_rf.txt 2>&1 \
"EXMIMO driver compiled" \
"EXMIMO driver compilation failed"
compilations \ compilations \
lte_build_oai updatefw \ lte_build_oai updatefw \
updatefw $dbin/updatefw \ updatefw $dbin/updatefw
$dlog/updatefw.txt 2>&1 \
"EXMIMO firmware loader compiled" \
"EXMIMO firmware loader compilation failed"
fi fi
if [ "$oaisim" = "1" ] ; then if [ "$oaisim" = "1" ] ; then
# oasim compilation echo_info "Compiling oaisim"
echo_info "Compiling oaisim simulator"
cmake_file=$DIR/oaisim_build_oai/CMakeLists.txt
cp $DIR/oaisim_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
compilations \ compilations \
oaisim_build_oai oaisim \ oaisim_build_oai oaisim \
oaisim $dbin/oaisim.$REL \ oaisim $dbin/oaisim.$REL
$dlog/oaisim.$REL.txt 2>&1 \ compilations \
"oaisim compiled" \ oaisim_build_oai oaisim_mme \
"oaisim compilation failed" oaisim_mme $dbin/oaisim_mme.$REL
#oai_nw_drv #oai_nw_drv
compilations \ compilations \
oaisim_build_oai oai_nw_drv \ oaisim_build_oai oai_nw_drv \
CMakeFiles/oai_nw_drv/oai_nw_drv.ko $dbin/oai_nw_drv.ko \ CMakeFiles/oai_nw_drv/oai_nw_drv.ko $dbin/oai_nw_drv.ko
$dlog/oai_nw_drv.txt \
"oai_nw_drv driver compiled" \
"oai_nw_drv driver compilation failed"
# nasmesh driver compilation # nasmesh driver compilation
compilations \ compilations \
oaisim_build_oai nasmesh \ oaisim_build_oai nasmesh \
CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko \ CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
$dlog/nasmesh.txt \
"nasmesh driver compiled" \
"nasmesh driver compilation failed"
fi fi
# EPC compilation # EPC compilation
################## ##################
if [ "$EPC" = "1" ] ; then if [ "$EPC" = "1" ] ; then
echo_info "Compiling EPC" echo_info "Compiling 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
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
compilations \ compilations \
epc_build_oai oai_epc \ epc_build_oai oai_epc \
oai_epc $dbin/oai_epc.$REL \ oai_epc $dbin/oai_epc.$REL
$dlog/oai_epc.$REL.txt \ compilations \
"oai_epc compiled" \ epc_build_oai oai_sgw \
"oai_epc compilation failed" oai_sgw $dbin/oai_sgw.$REL
compilations \ compilations \
epc_build_oai xt_GTPUAH_lib \ epc_build_oai xt_GTPUAH_lib \
libxt_GTPUAH_lib.so $dbin \ libxt_GTPUAH_lib.so $dbin
$dlog/xt_GTPUAH.txt \
"library xt_GTPUAH compiled" \
"library xt_GTPUAH compilation failed"
compilations \ compilations \
epc_build_oai xt_GTPURH_lib \ epc_build_oai xt_GTPURH_lib \
libxt_GTPURH_lib.so $dbin \ libxt_GTPURH_lib.so $dbin
$dlog/xt_GTPURH.txt \
"library xt_GTPURH compiled" \
"library xt_GTPURH compilation failed"
compilations \ compilations \
epc_build_oai xt_GTPURH \ epc_build_oai xt_GTPURH \
CMakeFiles/xt_GTPURH/xt_GTPURH.ko $dbin \ CMakeFiles/xt_GTPURH/xt_GTPURH.ko $dbin
$dlog/xt_GTPURH.txt \
"module xt_GTPURH driver compiled" \
"module xt_GTPURH driver compilation failed"
compilations \ compilations \
epc_build_oai xt_GTPUAH \ epc_build_oai xt_GTPUAH \
CMakeFiles/xt_GTPUAH/xt_GTPUAH.ko $dbin \ CMakeFiles/xt_GTPUAH/xt_GTPUAH.ko $dbin
$dlog/xt_GTPUAH.txt \
"module xt_GTPUAH driver compiled" \ compile_hss
"module xt_GTPUAH compilation failed" fi
if [ "$INSTALL_SYSTEM_FILES" = "1" ] ;then
echo_info "Copying iptables libraries into system directory: /lib/xtables" 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_GTPURH_lib.so /lib/xtables/libxt_GTPURH.so
$SUDO ln -s $dbin/libxt_GTPUAH_lib.so /lib/xtables/libxt_GTPUAH.so $SUDO ln -s $dbin/libxt_GTPUAH_lib.so /lib/xtables/libxt_GTPUAH.so
compile_hss
fi fi
# Install config file # Install config file
...@@ -403,7 +401,6 @@ if [ $RUN -ne 0 ]; then ...@@ -403,7 +401,6 @@ if [ $RUN -ne 0 ]; then
'ENB') 'ENB')
if [ $TARGET == "SOFTMODEM" ]; then if [ $TARGET == "SOFTMODEM" ]; then
if [ $HW == "EXMIMO" ]; then if [ $HW == "EXMIMO" ]; then
$SUDO chmod 777 $OPENAIR_TARGETS/RT/USER/init_exmimo2.sh
$SUDO $OPENAIR_TARGETS/RT/USER/init_exmimo2.sh $SUDO $OPENAIR_TARGETS/RT/USER/init_exmimo2.sh
fi fi
echo "############# running ltesoftmodem #############" echo "############# running ltesoftmodem #############"
......
...@@ -21,6 +21,7 @@ set ( ENABLE_USE_GTPU_IN_KERNEL True ) ...@@ -21,6 +21,7 @@ set ( ENABLE_USE_GTPU_IN_KERNEL True )
set ( ENABLE_USE_MME False ) set ( ENABLE_USE_MME False )
set ( ENABLE_VCD_FIFO False ) set ( ENABLE_VCD_FIFO False )
set ( ENB_MODE False ) set ( ENB_MODE False )
set ( EPC_BUILD True )
set ( EXMIMO_IOT False ) set ( EXMIMO_IOT False )
set ( HARD_RT False ) set ( HARD_RT False )
set ( JUMBO_FRAME False ) set ( JUMBO_FRAME False )
...@@ -37,7 +38,7 @@ set ( MIH_C_MEDIEVAL_EXTENSIONS False ) ...@@ -37,7 +38,7 @@ set ( MIH_C_MEDIEVAL_EXTENSIONS False )
set ( MSG_PRINT False ) set ( MSG_PRINT False )
set ( MU_RECEIVER False ) set ( MU_RECEIVER False )
set ( NAS_ADDRESS_FIX False ) set ( NAS_ADDRESS_FIX False )
set ( NAS_MME False ) set ( NAS_MME True )
set ( NAS_NETLINK False ) set ( NAS_NETLINK False )
set ( NAS_UE False ) set ( NAS_UE False )
set ( NB_ANTENNAS_RX "2" ) set ( NB_ANTENNAS_RX "2" )
......
...@@ -9,5 +9,6 @@ set(MU_RECIEVER Flase) ...@@ -9,5 +9,6 @@ set(MU_RECIEVER Flase)
set(RANDOM_BF False) set(RANDOM_BF False)
set(PBS_SIM False) set(PBS_SIM False)
set(PERFECT_CE False) set(PERFECT_CE False)
set(NAS_UE False)
include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt) include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment