Commit 385fca8d authored by frtabu's avatar frtabu

fix noS1 compil problem

parent 85551188
...@@ -614,6 +614,7 @@ add_boolean_option(NAS_NETLINK False "useless ??? Must be True to compile nasmes ...@@ -614,6 +614,7 @@ add_boolean_option(NAS_NETLINK False "useless ??? Must be True to compile nasmes
add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????") add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????")
add_boolean_option(USE_MME False "this flag is used only one time in lte-softmodem.c") add_boolean_option(USE_MME False "this flag is used only one time in lte-softmodem.c")
add_list_string_option(PACKAGE_NAME "NotDefined" "As per attribute name")
add_boolean_option(MESSAGE_CHART_GENERATOR False "For generating sequence diagrams") add_boolean_option(MESSAGE_CHART_GENERATOR False "For generating sequence diagrams")
add_boolean_option(MESSAGE_CHART_GENERATOR_RLC_MAC False "trace RLC-MAC exchanges in sequence diagrams") add_boolean_option(MESSAGE_CHART_GENERATOR_RLC_MAC False "trace RLC-MAC exchanges in sequence diagrams")
add_boolean_option(MESSAGE_CHART_GENERATOR_PHY False "trace some PHY exchanges in sequence diagrams") add_boolean_option(MESSAGE_CHART_GENERATOR_PHY False "trace some PHY exchanges in sequence diagrams")
...@@ -623,6 +624,11 @@ add_boolean_option(PHY_TX_THREAD False "enable UE_EXPANSION w ...@@ -623,6 +624,11 @@ add_boolean_option(PHY_TX_THREAD False "enable UE_EXPANSION w
add_boolean_option(PRE_SCD_THREAD False "enable UE_EXPANSION with max 256 UE") add_boolean_option(PRE_SCD_THREAD False "enable UE_EXPANSION with max 256 UE")
add_boolean_option(UESIM_EXPANSION False "enable UESIM_EXPANSION with max 256 UE") add_boolean_option(UESIM_EXPANSION False "enable UESIM_EXPANSION with max 256 UE")
########################
# Include order
##########################
add_boolean_option(ENB_MODE True "Swap the include directories between openair2 and openair3" )
########################## ##########################
# SCHEDULING/REAL-TIME/PERF options # SCHEDULING/REAL-TIME/PERF options
########################## ##########################
...@@ -723,13 +729,19 @@ include_directories("${OPENAIR_BIN_DIR}") ...@@ -723,13 +729,19 @@ include_directories("${OPENAIR_BIN_DIR}")
#include_directories("${include_dirs_all}") #include_directories("${include_dirs_all}")
# Legacy exact order # Legacy exact order
if(ENB_MODE)
include_directories("${OPENAIR2_DIR}/COMMON") include_directories("${OPENAIR2_DIR}/COMMON")
include_directories("${OPENAIR2_DIR}/UTIL") include_directories("${OPENAIR2_DIR}/UTIL")
include_directories("${OPENAIR2_DIR}/UTIL/LOG") include_directories("${OPENAIR2_DIR}/UTIL/LOG")
include_directories("${OPENAIR3_DIR}/COMMON") include_directories("${OPENAIR3_DIR}/COMMON")
include_directories("${OPENAIR3_DIR}/UTILS") include_directories("${OPENAIR3_DIR}/UTILS")
else()
include_directories("${OPENAIR3_DIR}/COMMON")
include_directories("${OPENAIR3_DIR}/UTILS")
include_directories("${OPENAIR2_DIR}/COMMON")
include_directories("${OPENAIR2_DIR}/UTIL")
include_directories("${OPENAIR2_DIR}/UTIL/LOG")
endif()
include_directories("${NFAPI_DIR}/nfapi/public_inc") include_directories("${NFAPI_DIR}/nfapi/public_inc")
include_directories("${NFAPI_DIR}/common/public_inc") include_directories("${NFAPI_DIR}/common/public_inc")
include_directories("${NFAPI_DIR}/pnf/public_inc") include_directories("${NFAPI_DIR}/pnf/public_inc")
...@@ -1383,10 +1395,6 @@ add_library(L2_UE ...@@ -1383,10 +1395,6 @@ add_library(L2_UE
${L2_SRC_UE} ${L2_SRC_UE}
${MAC_SRC_UE} ${MAC_SRC_UE}
) )
if (NOT ${NOS1})
target_compile_definitions(L2_UE PUBLIC )
endif()
add_dependencies(L2_UE rrc_flag s1ap_flag x2_flag) add_dependencies(L2_UE rrc_flag s1ap_flag x2_flag)
include_directories(${NFAPI_USER_DIR}) include_directories(${NFAPI_USER_DIR})
...@@ -1674,9 +1682,6 @@ if(NAS_UE) ...@@ -1674,9 +1682,6 @@ if(NAS_UE)
${libnas_ue_esm_sap_OBJS} ${libnas_ue_esm_sap_OBJS}
) )
add_dependencies(LIB_NAS_UE rrc_flag) add_dependencies(LIB_NAS_UE rrc_flag)
if (NOT ${NOS1})
target_compile_definitions(LIB_NAS_UE PUBLIC )
endif()
set(NAS_UE_LIB LIB_NAS_UE) set(NAS_UE_LIB LIB_NAS_UE)
include_directories(${NAS_SRC}UE) include_directories(${NAS_SRC}UE)
...@@ -2048,9 +2053,6 @@ add_executable(lte-uesoftmodem ...@@ -2048,9 +2053,6 @@ add_executable(lte-uesoftmodem
) )
add_dependencies(lte-uesoftmodem rrc_flag s1ap_flag x2_flag) add_dependencies(lte-uesoftmodem rrc_flag s1ap_flag x2_flag)
if (NOT ${NOS1})
target_compile_definitions(lte-uesoftmodem PRIVATE )
endif()
target_link_libraries (lte-uesoftmodem target_link_libraries (lte-uesoftmodem
-Wl,--start-group -Wl,--start-group
RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_UE PHY_RU LFDS L2_UE SIMU RRC_LIB S1AP_LIB S1AP_ENB X2AP_LIB X2AP_ENB GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT UDP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON PHY_UE PHY_RU LFDS L2_UE SIMU
...@@ -2149,7 +2151,6 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr ...@@ -2149,7 +2151,6 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr
add_executable(${myExe} add_executable(${myExe}
${OPENAIR1_DIR}/SIMULATION/LTE_PHY/${myExe}.c ${OPENAIR1_DIR}/SIMULATION/LTE_PHY/${myExe}.c
${OPENAIR_DIR}/common/utils/backtrace.c
${XFORMS_SOURCE} ${XFORMS_SOURCE}
${T_SOURCE} ${T_SOURCE}
${CONFIG_SOURCES} ${CONFIG_SOURCES}
...@@ -2287,7 +2288,7 @@ endfunction(make_driver name dir src) ...@@ -2287,7 +2288,7 @@ endfunction(make_driver name dir src)
# nashmesh module # nashmesh module
################ ################
list(APPEND nasmesh_src device.c common.c ioctl.c classifier.c tool.c mesh.c) list(APPEND nasmesh_src device.c common.c ioctl.c classifier.c tool.c mesh.c)
set(module_cc_opt "${module_cc_opt} -DNAS_NETLINK -DPDCP_USE_NETLINK -D${MKVER}") set(module_cc_opt "${module_cc_opt} -DNAS_NETLINK -DPDCP_USE_NETLINK")
# legacy Makefile was using NAS_NETLINK flag, but other drivers the hereafter flag # legacy Makefile was using NAS_NETLINK flag, but other drivers the hereafter flag
# so, this cmake use OAI_NW_DRIVER_USE_NETLINK everywhere # so, this cmake use OAI_NW_DRIVER_USE_NETLINK everywhere
if (OAI_NW_DRIVER_USE_NETLINK) if (OAI_NW_DRIVER_USE_NETLINK)
......
...@@ -46,12 +46,13 @@ UE_EXPANSION="False" ...@@ -46,12 +46,13 @@ UE_EXPANSION="False"
UESIM_EXPANSION="False" UESIM_EXPANSION="False"
PRINT_STATS="False" PRINT_STATS="False"
VCD_TIMING="False" VCD_TIMING="False"
DEADLINE_SCHEDULER_FLAG_USER="" DEADLINE_SCHEDULER_FLAG_USER="False"
FORCE_DEADLINE_SCHEDULER_FLAG_USER=""
CPU_AFFINITY_FLAG_USER="False" #Only valid when lowlatecy flag is set to False CPU_AFFINITY_FLAG_USER="False" #Only valid when lowlatecy flag is set to False
REL="Rel14" REL="Rel14"
HW="None" HW="None"
TP="None" TP="None"
NOS1="False" NOS1=0
EPC=0 EPC=0
VERBOSE_COMPILE=0 VERBOSE_COMPILE=0
CFLAGS_PROCESSOR_USER="" CFLAGS_PROCESSOR_USER=""
...@@ -251,142 +252,143 @@ function main() { ...@@ -251,142 +252,143 @@ function main() {
echo_fatal "Unknown HW type $HW: exit..." echo_fatal "Unknown HW type $HW: exit..."
esac esac
echo_info "Setting hardware to: $HW" echo_info "Setting hardware to: $HW"
shift 2;; shift 2;;
-t | --transport_protocol) -t | --transport_protocol)
TP="$2" #"${i#*=}" TP="$2" #"${i#*=}"
if [ "$TP" != "ETHERNET" -a "$TP" != "None" ] ; then if [ "$TP" != "ETHERNET" -a "$TP" != "None" ] ; then
echo_fatal "Unknown TP type $TP will exit..." echo_fatal "Unknown TP type $TP will exit..."
else else
echo_info "Setting transport protocol to: $TP" echo_info "Setting transport protocol to: $TP"
fi fi
shift 2;; shift 2;;
--phy_simulators) --phy_simulators)
SIMUS_PHY=1 SIMUS_PHY=1
echo_info "Will compile dlsim, ulsim, ..." echo_info "Will compile dlsim, ulsim, ..."
shift;; shift;;
--core_simulators) --core_simulators)
SIMUS_CORE=1 SIMUS_CORE=1
echo_info "Will compile security unitary tests" echo_info "Will compile security unitary tests"
shift;; 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;;
--run-group) --run-group)
RUN_GROUP=1 RUN_GROUP=1
TEST_CASE_GROUP=$2 TEST_CASE_GROUP=$2
echo_info "executing test cases only in group: $TEST_CASE_GROUP" echo_info "executing test cases only in group: $TEST_CASE_GROUP"
shift 2;; shift 2;;
-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;;
-x | --xforms) -x | --xforms)
XFORMS="True" XFORMS="True"
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)
INSTALL_SYSTEM_FILES=1 INSTALL_SYSTEM_FILES=1
echo_info "Will copy OpenAirInterface files in Linux directories" echo_info "Will copy OpenAirInterface files in Linux directories"
shift;; shift;;
--noS1) --noS1)
NOS1="True" NOS1=1
echo_info "Will compile without S1 interface" echo_info "Will compile without S1 interface"
shift;; shift;;
--verbose-compile) --verbose-compile)
VERBOSE_COMPILE=1 VERBOSE_COMPILE=1
echo_info "Will compile with verbose instructions" echo_info "Will compile with verbose instructions"
shift;; shift;;
--cflags_processor) --cflags_processor)
CFLAGS_PROCESSOR_USER=$2 CFLAGS_PROCESSOR_USER=$2
echo_info "Setting CPU FLAGS from USER to: $CFLAGS_PROCESSOR_USER" echo_info "Setting CPU FLAGS from USER to: $CFLAGS_PROCESSOR_USER"
shift 2;; shift 2;;
--build-doxygen) --build-doxygen)
BUILD_DOXYGEN=1 BUILD_DOXYGEN=1
echo_info "Will build doxygen support" echo_info "Will build doxygen support"
shift;; shift;;
--disable-deadline) --disable-deadline)
DEADLINE_SCHEDULER_FLAG_USER="False" FORCE_DEADLINE_SCHEDULER_FLAG_USER="False"
echo_info "Disabling the usage of deadline scheduler" echo_info "Disabling the usage of deadline scheduler"
shift 1;; shift 1;;
--enable-deadline) --enable-deadline)
DEADLINE_SCHEDULER_FLAG_USER="True" FORCE_DEADLINE_SCHEDULER_FLAG_USER="True"
echo_info "Enabling the usage of deadline scheduler" echo_info "Enabling the usage of deadline scheduler"
shift 1;; shift 1;;
--disable-cpu-affinity) --disable-cpu-affinity)
CPU_AFFINITY_FLAG_USER="False" CPU_AFFINITY_FLAG_USER="False"
echo_info "Disabling CPU Affinity (only valid when not using deadline scheduler)" echo_info "Disabling CPU Affinity (only valid when not using deadline scheduler)"
shift 1;; shift 1;;
--disable-T-Tracer) --disable-T-Tracer)
T_TRACER="False" T_TRACER="False"
echo_info "Disabling the T tracer" echo_info "Disabling the T tracer"
shift 1;; shift 1;;
--disable-hardware-dependency) --disable-hardware-dependency)
echo_info "Disabling hardware dependency for compiling software" echo_info "Disabling hardware dependency for compiling software"
DISABLE_HARDWARE_DEPENDENCY="True" DISABLE_HARDWARE_DEPENDENCY="True"
shift 1;; shift 1;;
--ue-autotest-trace) --ue-autotest-trace)
UE_AUTOTEST_TRACE="True" UE_AUTOTEST_TRACE="True"
echo_info "Enabling autotest specific trace for UE" echo_info "Enabling autotest specific trace for UE"
shift 1;; shift 1;;
--ue-trace) --ue-trace)
UE_DEBUG_TRACE="True" UE_DEBUG_TRACE="True"
echo_info "Enabling UE trace for debug" echo_info "Enabling UE trace for debug"
shift 1;; shift 1;;
--ue-timing) --ue-timing)
UE_TIMING_TRACE="True" UE_TIMING_TRACE="True"
echo_info "Enabling UE timing trace" echo_info "Enabling UE timing trace"
shift 1;; shift 1;;
--disable-log) --disable-log)
DISABLE_LOG_X="True" DISABLE_LOG_X="True"
echo_info "Disabling all LOG_* traces" echo_info "Disabling all LOG_* traces"
shift 1;; shift 1;;
--uhd-images-dir) --uhd-images-dir)
UHD_IMAGES_DIR=$2 UHD_IMAGES_DIR=$2
echo_info "Downloading UHD images in the indicated location" echo_info "Downloading UHD images in the indicated location"
shift 2;; shift 2;;
--build-eclipse) --build-eclipse)
BUILD_ECLIPSE=1 BUILD_ECLIPSE=1
CMAKE_CMD="$CMAKE_CMD"' -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE -G"Eclipse CDT4 - Unix Makefiles"' CMAKE_CMD="$CMAKE_CMD"' -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=TRUE -G"Eclipse CDT4 - Unix Makefiles"'
echo_info "Enabling build eclipse project support" echo_info "Enabling build eclipse project support"
shift 1;; shift 1;;
--build-telnetsrv) --build-telnetsrv)
BUILD_TELNETSRV=1 BUILD_TELNETSRV=1
echo_info "Build embedded telnet server" echo_info "Build embedded telnet server"
shift ;; shift ;;
--build-msc) --build-msc)
MSC_GEN=1 MSC_GEN=1
echo_info "Build MSC tracing utility" echo_info "Build MSC tracing utility"
shift ;; shift ;;
--usrp-recplay) --usrp-recplay)
USRP_REC_PLAY="True" USRP_REC_PLAY="True"
echo_info "Enabling USRP record playback mode" echo_info "Enabling USRP record playback mode"
shift 1;; shift 1;;
--ue-nas-use-tun) --ue-nas-use-tun)
UE_NAS_USE_TUN="True" UE_NAS_USE_TUN="True"
echo_info "Enabling UE NAS TUN device usage instead of ue_ip.ko" echo_info "Enabling UE NAS TUN device usage instead of ue_ip.ko"
shift 1;; shift 1;;
--basic-simulator) --basic-simulator)
BASIC_SIMULATOR=1 BASIC_SIMULATOR=1
echo_info "Compiling the basic simulator" echo_info "Compiling the basic simulator"
shift 1;; shift 1;;
--rfsimulator) --rfsimulator)
RFSIMULATOR=true RFSIMULATOR=true
echo_info "Compiling the RF simulator" echo_info "Compiling the RF simulator"
shift 1;; shift 1;;
-h | --help) -h | --help)
print_help print_help
exit 1;; exit 1;;
*) *)
print_help print_help
echo_fatal "Unknown option $1" echo_fatal "Unknown option $1"
break;; break;;
esac esac
done done
CMAKE_CMD="$CMAKE_CMD .."
echo_info "CMAKE_CMD=$CMAKE_CMD" CMAKE_CMD="$CMAKE_CMD .."
echo_info "CMAKE_CMD=$CMAKE_CMD"
######################################################### #########################################################
# check validity of HW and TP parameters for eNB # check validity of HW and TP parameters for eNB
######################################################### #########################################################
...@@ -407,97 +409,100 @@ function main() { ...@@ -407,97 +409,100 @@ function main() {
echo_info "RF HW set to $HW" echo_info "RF HW set to $HW"
# If the user doesn't specify the Linux scheduler to use, we set a value # If the user doesn't specify the Linux scheduler to use, we set a value
if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "" ]; then if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "" ]; then
case "$HW" in case "$HW" in
"EXMIMO") "EXMIMO")
DEADLINE_SCHEDULER_FLAG_USER="True" DEADLINE_SCHEDULER_FLAG_USER="True"
;; ;;
*) *)
DEADLINE_SCHEDULER_FLAG_USER="False" DEADLINE_SCHEDULER_FLAG_USER="False"
;; ;;
esac esac
fi fi
#Disable CPU Affinity for deadline scheduler
#Disable CPU Affinity for deadline scheduler if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "True" ] ; then
if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "True" ] ; then CPU_AFFINITY_FLAG_USER="False"
CPU_AFFINITY_FLAG_USER="False" fi
fi
echo_info "Flags for Deadline scheduler: $DEADLINE_SCHEDULER_FLAG_USER"
echo_info "Flags for Deadline scheduler: $DEADLINE_SCHEDULER_FLAG_USER" echo_info "Flags for CPU Affinity: $CPU_AFFINITY_FLAG_USER"
echo_info "Flags for CPU Affinity: $CPU_AFFINITY_FLAG_USER"
if [ -n "$UHD_IMAGES_DIR" ] && [ -z "$INSTALL_EXTERNAL" ]; then
if [ -n "$UHD_IMAGES_DIR" ] && [ -z "$INSTALL_EXTERNAL" ]; then echo_error "UHD images download settings will not be applied without -I present"
echo_error "UHD images download settings will not be applied without -I present" exit
exit fi
fi ############################################
############################################ # setting and printing OAI envs, we should check here
# setting and printing OAI envs, we should check here ############################################
############################################
echo_info "2. Setting the OAI PATHS ..."
echo_info "2. Setting the OAI PATHS ..."
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
cecho "OPENAIR_DIR = $OPENAIR_DIR" $green
# for conf files copy in this bash script
# for conf files copy in this bash script if [ -d /usr/lib/freeDiameter ]; then
if [ -d /usr/lib/freeDiameter ]; then export FREEDIAMETER_PREFIX=/usr
export FREEDIAMETER_PREFIX=/usr else
if [ -d /usr/local/lib/freeDiameter ]; then
export FREEDIAMETER_PREFIX=/usr/local
else else
if [ -d /usr/local/lib/freeDiameter ]; then echo_warning "FreeDiameter prefix not found, install freeDiameter if EPC, HSS"
export FREEDIAMETER_PREFIX=/usr/local
else
echo_warning "FreeDiameter prefix not found, install freeDiameter if EPC, HSS"
fi
fi fi
fi
if [ "$CLEAN_ALL" = "1" ] ; then
clean_all_files if [ "$CLEAN_ALL" = "1" ] ; then
echo_info "Erased all previously producted files" clean_all_files
fi echo_info "Erased all previously producted files"
fi
dbin=$OPENAIR_DIR/targets/bin
dlog=$OPENAIR_DIR/cmake_targets/log dbin=$OPENAIR_DIR/targets/bin
mkdir -p $dbin $dlog dlog=$OPENAIR_DIR/cmake_targets/log
mkdir -p $dbin $dlog
if [ "$INSTALL_EXTERNAL" = "1" ] ; then
echo_info "Installing packages" if [ "$INSTALL_EXTERNAL" = "1" ] ; then
check_install_oai_software echo_info "Installing packages"
if [ "$HW" == "OAI_USRP" ] ; then check_install_oai_software
echo_info "installing packages for USRP support" if [ "$HW" == "OAI_USRP" ] ; then
check_install_usrp_uhd_driver echo_info "installing packages for USRP support"
if [ ! "$DISABLE_HARDWARE_DEPENDENCY" == "True" ]; then check_install_usrp_uhd_driver
install_usrp_uhd_driver $UHD_IMAGES_DIR if [ ! "$DISABLE_HARDWARE_DEPENDENCY" == "True" ]; then
fi install_usrp_uhd_driver $UHD_IMAGES_DIR
fi fi
if [ "$HW" == "OAI_BLADERF" ] ; then fi
echo_info "installing packages for BLADERF support" if [ "$HW" == "OAI_BLADERF" ] ; then
check_install_bladerf_driver echo_info "installing packages for BLADERF support"
if [ ! "$DISABLE_HARDWARE_DEPENDENCY" == "True" ]; then check_install_bladerf_driver
flash_firmware_bladerf if [ ! "$DISABLE_HARDWARE_DEPENDENCY" == "True" ]; then
fi flash_firmware_bladerf
fi fi
if [ "$HW" == "OAI_IRIS" ] ; then
echo_info "installing packages for IRIS support"
check_install_soapy
#if [ ! "$DISABLE_HARDWARE_DEPENDENCY" == "True" ]; then
# flash_firmware_iris
#fi
fi
echo_info "installing protobuf/protobuf-c for flexran agent support"
install_protobuf_from_source
install_protobuf_c_from_source
fi fi
if [ "$HW" == "OAI_IRIS" ] ; then
if [ "$INSTALL_OPTIONAL" = "1" ] ; then echo_info "installing packages for IRIS support"
echo_info "Installing optional packages" check_install_soapy
check_install_additional_tools #if [ ! "$DISABLE_HARDWARE_DEPENDENCY" == "True" ]; then
# flash_firmware_iris
#fi
fi fi
echo_info "3. building the compilation directives ..." echo_info "installing protobuf/protobuf-c for flexran agent support"
install_protobuf_from_source
install_protobuf_c_from_source
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_DIR/cmake_targets DIR=$OPENAIR_DIR/cmake_targets
if [ "$T_TRACER" = "False" ] ; then if [ "$T_TRACER" = "False" ] ; then
noLOGDirsuffix="_noLOG" noLOGDirsuffix="_noLOG"
fi fi
if [ "$NOS1" = "True" ] ; then if [ "$NOS1" = "1" ] ; then
noS1Dir="_noS1" noS1Dir="_noS1"
bin_suffix="-nos1" bin_suffix="-nos1"
else else
...@@ -506,73 +511,73 @@ function main() { ...@@ -506,73 +511,73 @@ function main() {
fi fi
lte_build_dir="lte${noS1Dir}_build_oai${noLOGDirsuffix}" lte_build_dir="lte${noS1Dir}_build_oai${noLOGDirsuffix}"
# configuration module libraries, one currently available, using libconfig
# configuration module libraries, one currently available, using libconfig config_libconfig_shlib=params_libconfig
config_libconfig_shlib=params_libconfig
# first generate the CMakefile in the right directory
# first generate the CMakefile in the right directory if [ "$eNB" = "1" -o "$UE" = "1" -o "$HW" = "EXMIMO" ] ; then
if [ "$eNB" = "1" -o "$UE" = "1" -o "$HW" = "EXMIMO" ] ; then
# LTE softmodem compilation
# LTE softmodem compilation [ "$CLEAN" = "1" ] && rm -rf $DIR/$lte_build_dir/build
[ "$CLEAN" = "1" ] && rm -rf $DIR/$lte_build_dir/build mkdir -p $DIR/$lte_build_dir/build
mkdir -p $DIR/$lte_build_dir/build cmake_file=$DIR/$lte_build_dir/CMakeLists.txt
cmake_file=$DIR/$lte_build_dir/CMakeLists.txt echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
echo "cmake_minimum_required(VERSION 3.0)" > $cmake_file # if [ "$NOS1" = "1" ] ; then
if [ "$NOS1" = "True" ] ; then # cat $DIR/$lte_build_dir/CMakeLists.template >> $cmake_file
cat $DIR/$lte_build_dir/CMakeLists.template >> $cmake_file # fi
fi echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file
echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file echo "set ( XFORMS $XFORMS )" >> $cmake_file
echo "set ( UE_EXPANSION $UE_EXPANSION )" >> $cmake_file echo "set ( UE_EXPANSION $UE_EXPANSION )" >> $cmake_file
# echo "set ( PHY_TX_THREAD $UE_EXPANSION )" >> $cmake_file # echo "set ( PHY_TX_THREAD $UE_EXPANSION )" >> $cmake_file
echo "set ( PRE_SCD_THREAD $UE_EXPANSION )" >> $cmake_file echo "set ( PRE_SCD_THREAD $UE_EXPANSION )" >> $cmake_file
echo "set ( UESIM_EXPANSION $UESIM_EXPANSION )" >> $cmake_file echo "set ( UESIM_EXPANSION $UESIM_EXPANSION )" >> $cmake_file
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
echo "set ( XFORMS $XFORMS )" >> $cmake_file echo "set ( RF_BOARD \"${HW}\")" >> $cmake_file
echo "set ( RF_BOARD \"${HW}\")" >> $cmake_file echo "set ( TRANSP_PRO \"${TP}\")" >> $cmake_file
echo "set ( TRANSP_PRO \"${TP}\")" >> $cmake_file echo "set(PACKAGE_NAME \"${lte_exec}\")" >> $cmake_file
echo "set (DEADLINE_SCHEDULER \"${DEADLINE_SCHEDULER_FLAG_USER}\" )" >>$cmake_file echo "set (DEADLINE_SCHEDULER \"${DEADLINE_SCHEDULER_FLAG_USER}\" )" >>$cmake_file
echo "set (CPU_AFFINITY \"${CPU_AFFINITY_FLAG_USER}\" )" >>$cmake_file echo "set (CPU_AFFINITY \"${CPU_AFFINITY_FLAG_USER}\" )" >>$cmake_file
echo "set ( T_TRACER $T_TRACER )" >> $cmake_file echo "set ( T_TRACER $T_TRACER )" >> $cmake_file
echo "set (UE_AUTOTEST_TRACE $UE_AUTOTEST_TRACE)" >> $cmake_file echo "set (UE_AUTOTEST_TRACE $UE_AUTOTEST_TRACE)" >> $cmake_file
echo "set (UE_DEBUG_TRACE $UE_DEBUG_TRACE)" >> $cmake_file echo "set (UE_DEBUG_TRACE $UE_DEBUG_TRACE)" >> $cmake_file
echo "set (UE_TIMING_TRACE $UE_TIMING_TRACE)" >> $cmake_file echo "set (UE_TIMING_TRACE $UE_TIMING_TRACE)" >> $cmake_file
echo "set (DISABLE_LOG_X $DISABLE_LOG_X)" >> $cmake_file echo "set (DISABLE_LOG_X $DISABLE_LOG_X)" >> $cmake_file
echo "set (USRP_REC_PLAY $USRP_REC_PLAY)" >> $cmake_file echo "set (USRP_REC_PLAY $USRP_REC_PLAY)" >> $cmake_file
echo "set (UE_NAS_USE_TUN $UE_NAS_USE_TUN)" >> $cmake_file echo "set (UE_NAS_USE_TUN $UE_NAS_USE_TUN)" >> $cmake_file
echo "set (NOS1 $NOS1)" >> $cmake_file echo "set (NOS1 $NOS1)" >> $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_dir/build cd $DIR/$lte_build_dir/build
eval $CMAKE_CMD eval $CMAKE_CMD
fi fi
if [ "$eNB" = "1" ] ; then if [ "$eNB" = "1" ] ; then
lte_exec=lte-softmodem${bin_suffix} lte_exec=lte-softmodem${bin_suffix}
compilations \ compilations \
$lte_build_dir $lte_exec \ $lte_build_dir $lte_exec \
$lte_exec $dbin/$lte_exec.$REL $lte_exec $dbin/$lte_exec.$REL
# mandatory shared lib # mandatory shared lib
compilations \ compilations \
$lte_build_dir $config_libconfig_shlib \ $lte_build_dir $config_libconfig_shlib \
lib$config_libconfig_shlib.so $dbin/lib$config_libconfig_shlib.so lib$config_libconfig_shlib.so $dbin/lib$config_libconfig_shlib.so
compilations \ compilations \
$lte_build_dir coding \ $lte_build_dir coding \
libcoding.so $dbin/libcoding.so libcoding.so $dbin/libcoding.so
if [ "$NOS1" = "True" ] ; then if [ "$NOS1" = "1" ] ; then
compilations \ compilations \
$lte_build_dir nasmesh \ $lte_build_dir nasmesh \
CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
compilations \ compilations \
$lte_build_dir rb_tool \ $lte_build_dir rb_tool \
rb_tool $dbin/rb_tool rb_tool $dbin/rb_tool
cp $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $dbin cp $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $dbin
fi
fi fi
fi
if [ "$UE" = "1" ] ; then
if [ "$UE" = 1 ] ; then
lte_exec=lte-uesoftmodem${bin_suffix} lte_exec=lte-uesoftmodem${bin_suffix}
compilations \ compilations \
$lte_build_dir $lte_exec \ $lte_build_dir $lte_exec \
...@@ -586,7 +591,7 @@ function main() { ...@@ -586,7 +591,7 @@ function main() {
$lte_build_dir coding \ $lte_build_dir coding \
libcoding.so $dbin/libcoding.so libcoding.so $dbin/libcoding.so
if [ "$NOS1" = "True" ] ; then if [ "$NOS1" = "0" ] ; then
compilations \ compilations \
$lte_build_dir nasmesh \ $lte_build_dir nasmesh \
CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko CMakeFiles/nasmesh/nasmesh.ko $dbin/nasmesh.ko
...@@ -595,112 +600,110 @@ function main() { ...@@ -595,112 +600,110 @@ function main() {
rb_tool $dbin/rb_tool rb_tool $dbin/rb_tool
cp $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $dbin cp $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 $dbin
else else
# ue_ip driver compilation # ue_ip driver compilation
echo_info "Compiling UE specific part" echo_info "Compiling UE specific part"
if [ "$UE_NAS_USE_TUN" = "False" ] ; then compilations \
compilations \ $lte_build_dir ue_ip \
$lte_build_dir ue_ip \ CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko
CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko
fi # mkdir -p $DIR/at_commands/build
# cd $DIR/at_commands/build
# mkdir -p $DIR/at_commands/build # eval $CMAKE_CMD
# cd $DIR/at_commands/build # compilations \
# eval $CMAKE_CMD # at_commands at_nas_ue \
# compilations \ # at_nas_ue $dbin/at_nas_ue
# at_commands at_nas_ue \
# at_nas_ue $dbin/at_nas_ue
[ "$CLEAN" = "1" ] && rm -rf $DIR/nas_sim_tools/build
mkdir -p $DIR/nas_sim_tools/build
cd $DIR/nas_sim_tools/build
eval $CMAKE_CMD
compilations \
nas_sim_tools usim \
usim $dbin/usim
compilations \
nas_sim_tools nvram \
nvram $dbin/nvram
compilations \
nas_sim_tools conf2uedata \
conf2uedata $dbin/conf2uedata
# generate USIM data
if [ -f $dbin/conf2uedata ]; then
install_nas_tools $conf_nvram_path $gen_nvram_path
echo_info "Copying UE specific part to $DIR/$lte_build_dir/build"
cp -Rvf $dbin/.ue_emm.nvram0 $DIR/$lte_build_dir/build
cp -Rvf $dbin/.ue.nvram0 $DIR/$lte_build_dir/build
cp -Rvf $dbin/.usim.nvram0 $DIR/$lte_build_dir/build
else
echo_warning "not generated UE NAS files: binaries not found"
fi
fi
fi
if [ "$SIMUS_PHY" = "1" -o "$SIMUS_CORE" = "1" ] ; then [ "$CLEAN" = "1" ] && rm -rf $DIR/nas_sim_tools/build
cd $OPENAIR_DIR/cmake_targets/lte-simulators mkdir -p $DIR/nas_sim_tools/build
[ "$CLEAN" = "1" ] && rm -rf build cd $DIR/nas_sim_tools/build
mkdir -p build
cd build
rm -f *sim
eval $CMAKE_CMD
fi
if [ "$SIMUS_PHY" = "1" ] ; then eval $CMAKE_CMD
# lte unitary simulators compilation compilations \
echo_info "Compiling unitary tests simulators" nas_sim_tools usim \
# TODO: fix: dlsim_tm4 pucchsim prachsim pdcchsim pbchsim mbmssim usim $dbin/usim
#simlist="dlsim_tm4 dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim" compilations \
simlist="dlsim ulsim" nas_sim_tools nvram \
for f in $simlist ; do nvram $dbin/nvram
compilations \ compilations \
lte-simulators $f \ nas_sim_tools conf2uedata \
$f $dbin/$f.$REL conf2uedata $dbin/conf2uedata
done
compilations \ # generate USIM data
lte-simulators coding \ if [ -f $dbin/conf2uedata ]; then
libcoding.so $dbin/libcoding.so install_nas_tools $conf_nvram_path $gen_nvram_path
# compilations \ echo_info "Copying UE specific part to $DIR/$lte_build_dir/build"
# lte-simulators $config_libconfig_shlib \ cp -Rvf $dbin/.ue_emm.nvram0 $DIR/$lte_build_dir/build
# lib$config_libconfig_shlib.so $dbin/lib$config_libconfig_shlib.so cp -Rvf $dbin/.ue.nvram0 $DIR/$lte_build_dir/build
cp -Rvf $dbin/.usim.nvram0 $DIR/$lte_build_dir/build
else
echo_warning "not generated UE NAS files: binaries not found"
fi fi
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_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
fi fi
if [ "$SIMUS_PHY" = "1" -o "$SIMUS_CORE" = "1" ] ; then
cd $OPENAIR_DIR/cmake_targets/lte-simulators
[ "$CLEAN" = "1" ] && rm -rf build
mkdir -p build
cd build
rm -f *sim
eval $CMAKE_CMD
fi
if [ "$SIMUS_PHY" = "1" ] ; then
# lte unitary simulators compilation
echo_info "Compiling unitary tests simulators"
# TODO: fix: dlsim_tm4 pucchsim prachsim pdcchsim pbchsim mbmssim
#simlist="dlsim_tm4 dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim"
simlist="dlsim ulsim"
for f in $simlist ; do
compilations \
lte-simulators $f \
$f $dbin/$f.$REL
done
compilations \
lte-simulators coding \
libcoding.so $dbin/libcoding.so
# compilations \
# lte-simulators $config_libconfig_shlib \
# lib$config_libconfig_shlib.so $dbin/lib$config_libconfig_shlib.so
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_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
fi
# EXMIMO drivers & firmware loader
###############
if [ "$HW" = "EXMIMO" ] ; then
# EXMIMO drivers & firmware loader echo_info "Compiling Express MIMO 2 board drivers"
############### compilations \
if [ "$HW" = "EXMIMO" ] ; then $lte_build_dir openair_rf \
CMakeFiles/openair_rf/openair_rf.ko $dbin/openair_rf.ko
echo_info "Compiling Express MIMO 2 board drivers" compilations \
compilations \ $lte_build_dir updatefw \
$lte_build_dir openair_rf \ updatefw $dbin/updatefw
CMakeFiles/openair_rf/openair_rf.ko $dbin/openair_rf.ko echo_info "Compiling oarf tools. The logfile for compilation is here: $dlog/oarf.txt"
compilations \ make -C $OPENAIR_DIR/cmake_targets/$lte_build_dir/build oarf > $dlog/oarf.txt 2>&1
$lte_build_dir updatefw \ cp $OPENAIR_DIR/cmake_targets/$lte_build_dir/build/*.oct $dbin
updatefw $dbin/updatefw if [ -s $dbin/oarf_config_exmimo.oct ] ; then
echo_info "Compiling oarf tools. The logfile for compilation is here: $dlog/oarf.txt" echo_success "oarf tools compiled"
make -C $OPENAIR_DIR/cmake_targets/$lte_build_dir/build oarf > $dlog/oarf.txt 2>&1 else
cp $OPENAIR_DIR/cmake_targets/$lte_build_dir/build/*.oct $dbin echo_error "oarf tools compilation failed"
if [ -s $dbin/oarf_config_exmimo.oct ] ; then
echo_success "oarf tools compiled"
else
echo_error "oarf tools compilation failed"
fi
cp $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 $dbin
fi fi
cp $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 $dbin
fi
# Telnet server compilation # Telnet server compilation
##################### #####################
if [ "$BUILD_TELNETSRV" = "1" ] ; then if [ "$BUILD_TELNETSRV" = "1" ] ; then
...@@ -799,168 +802,166 @@ function main() { ...@@ -799,168 +802,166 @@ function main() {
$lte_build_dir rfsimulator \ $lte_build_dir rfsimulator \
librfsimulator.so $dbin/librfsimulator.so.$REL librfsimulator.so $dbin/librfsimulator.so.$REL
fi fi
# Doxygen Support
#####################
# Doxygen Support if [ "$BUILD_DOXYGEN" = "1" ] ;then
##################### doxygen_log=$OPENAIR_DIR/cmake_targets/log/doxygen.log
if [ "$BUILD_DOXYGEN" = "1" ] ;then echo_info "Building doxygen based documentation. The documentation file is located here: $OPENAIR_DIR/targets/DOCS/html/index.html"
doxygen_log=$OPENAIR_DIR/cmake_targets/log/doxygen.log echo_info "Doxygen Generation log is located here: $doxygen_log"
echo_info "Building doxygen based documentation. The documentation file is located here: $OPENAIR_DIR/targets/DOCS/html/index.html" echo_info "Generating doxygen files....please wait"
echo_info "Doxygen Generation log is located here: $doxygen_log" (
echo_info "Generating doxygen files....please wait" [ "$CLEAN" = "1" ] && rm -rf $OPENAIR_DIR/cmake_targets/doxygen/build
( mkdir -p $OPENAIR_DIR/cmake_targets/doxygen/build
[ "$CLEAN" = "1" ] && rm -rf $OPENAIR_DIR/cmake_targets/doxygen/build cd $OPENAIR_DIR/cmake_targets/doxygen/build
mkdir -p $OPENAIR_DIR/cmake_targets/doxygen/build eval $CMAKE_CMD
cd $OPENAIR_DIR/cmake_targets/doxygen/build make doc
eval $CMAKE_CMD ) >& $doxygen_log
make doc fi
) >& $doxygen_log
# Auto-tests
#####################
if [ "$OAI_TEST" = "1" ]; then
echo_info "10. Running OAI pre commit tests (pre-ci) ..."
echo_error "These scripts ASSUME that user is in /etc/sudoers and can execute commands without PASSWORD prompt"
echo_error "Add the following lines in /etc/sudoers file to make your __user_name__ sudo without password prompt"
echo_error " __your_user_name__ ALL = (ALL:ALL) NOPASSWD: ALL"
echo_error " __your_user_name__ ALL = (ALL) NOPASSWD: ALL "
echo_info "The log file for the autotest script for debugging is located here: $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log "
echo_info "The results of autotests results is located here: $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml "
echo_info "You can hit CTRL-C any time to terminate the autotests..."
echo "Current User Name: $USER"
read -s -p "Enter Password: " mypassword
echo -e "\n"
rm -fr $OPENAIR_DIR/cmake_targets/autotests/log
mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
if [ "$RUN_GROUP" -eq "1" ]; then
$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP" -p $mypassword >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log &
else
$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -p $mypassword >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log &
fi fi
wait
# Auto-tests else
##################### echo_info "10. Bypassing the Tests ..."
if [ "$OAI_TEST" = "1" ]; then fi
echo_info "10. Running OAI pre commit tests (pre-ci) ..."
echo_error "These scripts ASSUME that user is in /etc/sudoers and can execute commands without PASSWORD prompt" # basic simulator
echo_error "Add the following lines in /etc/sudoers file to make your __user_name__ sudo without password prompt" #####################
echo_error " __your_user_name__ ALL = (ALL:ALL) NOPASSWD: ALL" if [ "$BASIC_SIMULATOR" = "1" ]; then
echo_error " __your_user_name__ ALL = (ALL) NOPASSWD: ALL " echo_info "Build basic simulator"
echo_info "The log file for the autotest script for debugging is located here: $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log " [ "$CLEAN" = "1" ] && rm -rf $OPENAIR_DIR/cmake_targets/basic_simulator
echo_info "The results of autotests results is located here: $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml " [ "$CLEAN" = "1" ] && rm -rf $OPENAIR_DIR/cmake_targets/nas_sim_tools/build
echo_info "You can hit CTRL-C any time to terminate the autotests..." mkdir -p $OPENAIR_DIR/cmake_targets/basic_simulator
echo "Current User Name: $USER" mkdir -p $OPENAIR_DIR/cmake_targets/basic_simulator/enb
read -s -p "Enter Password: " mypassword mkdir -p $OPENAIR_DIR/cmake_targets/basic_simulator/ue
echo -e "\n" mkdir -p $OPENAIR_DIR/cmake_targets/nas_sim_tools/build
rm -fr $OPENAIR_DIR/cmake_targets/autotests/log
mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log # enb
if [ "$RUN_GROUP" -eq "1" ]; then
$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP" -p $mypassword >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & cmake_file=$OPENAIR_DIR/cmake_targets/basic_simulator/enb/CMakeLists.txt
else echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -p $mypassword >& $OPENAIR_DIR/cmake_targets/autotests/log/autotests.log & echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file
fi echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
wait echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
echo "set ( XFORMS $XFORMS )" >> $cmake_file
echo "set ( RF_BOARD \"OAI_USRP\")" >> $cmake_file
echo "set ( TRANSP_PRO \"None\")" >> $cmake_file
echo "set(PACKAGE_NAME \"simulator_enb\")" >> $cmake_file
echo "set (DEADLINE_SCHEDULER \"False\" )" >> $cmake_file
echo "set (CPU_AFFINITY \"False\" )" >> $cmake_file
echo "set ( T_TRACER \"True\" )" >> $cmake_file
echo "set (UE_AUTOTEST_TRACE $UE_AUTOTEST_TRACE)" >> $cmake_file
echo "set (UE_DEBUG_TRACE $UE_DEBUG_TRACE)" >> $cmake_file
echo "set (UE_TIMING_TRACE $UE_TIMING_TRACE)" >> $cmake_file
echo "set (DISABLE_LOG_X $DISABLE_LOG_X)" >> $cmake_file
echo "set (USRP_REC_PLAY $USRP_REC_PLAY)" >> $cmake_file
echo "set (BASIC_SIMULATOR \"True\" )" >> $cmake_file
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)' >> $cmake_file
echo_info "Build eNB"
echo_info "logs are in $dlog/basic_simulator_enb.txt"
set +e
{
cd $OPENAIR_DIR/cmake_targets/basic_simulator/enb
cmake .
make -j`nproc` lte-softmodem
make -j`nproc` coding params_libconfig tcp_bridge_oai
ln -sf libtcp_bridge_oai.so liboai_device.so
cd ../..
} > $dlog/basic_simulator_enb.txt 2>&1
set -e
if [ -s $OPENAIR_DIR/cmake_targets/basic_simulator/enb/lte-softmodem -a \
-s $OPENAIR_DIR/cmake_targets/basic_simulator/enb/libcoding.so -a \
-s $OPENAIR_DIR/cmake_targets/basic_simulator/enb/libparams_libconfig.so -a \
-s $OPENAIR_DIR/cmake_targets/basic_simulator/enb/libtcp_bridge_oai.so ] ; then
echo_success "eNB compiled"
check_warnings "$dlog/basic_simulator_enb.txt"
else else
echo_info "10. Bypassing the Tests ..." echo_error "eNB compilation failed"
exit 1
fi fi
# basic simulator # ue
#####################
if [ "$BASIC_SIMULATOR" = "1" ]; then echo_info "Compile conf2uedata"
echo_info "Build basic simulator" cd $OPENAIR_DIR/cmake_targets/nas_sim_tools/build
[ "$CLEAN" = "1" ] && rm -rf $OPENAIR_DIR/cmake_targets/basic_simulator eval $CMAKE_CMD
[ "$CLEAN" = "1" ] && rm -rf $OPENAIR_DIR/cmake_targets/nas_sim_tools/build compilations \
mkdir -p $OPENAIR_DIR/cmake_targets/basic_simulator nas_sim_tools conf2uedata \
mkdir -p $OPENAIR_DIR/cmake_targets/basic_simulator/enb conf2uedata $dbin/conf2uedata
mkdir -p $OPENAIR_DIR/cmake_targets/basic_simulator/ue
mkdir -p $OPENAIR_DIR/cmake_targets/nas_sim_tools/build cmake_file=$OPENAIR_DIR/cmake_targets/basic_simulator/ue/CMakeLists.txt
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
# enb echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
cmake_file=$OPENAIR_DIR/cmake_targets/basic_simulator/enb/CMakeLists.txt echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
echo "cmake_minimum_required(VERSION 3.0)" > $cmake_file echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file echo "set ( XFORMS $XFORMS )" >> $cmake_file
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file echo "set ( RF_BOARD \"OAI_USRP\")" >> $cmake_file
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file echo "set ( TRANSP_PRO \"None\")" >> $cmake_file
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file echo "set(PACKAGE_NAME \"simulator_ue\")" >> $cmake_file
echo "set ( XFORMS $XFORMS )" >> $cmake_file echo "set (DEADLINE_SCHEDULER \"False\" )" >> $cmake_file
echo "set ( RF_BOARD \"OAI_USRP\")" >> $cmake_file echo "set (CPU_AFFINITY \"False\" )" >> $cmake_file
echo "set ( TRANSP_PRO \"None\")" >> $cmake_file echo "set ( T_TRACER \"True\" )" >> $cmake_file
echo "set(PACKAGE_NAME \"simulator_enb\")" >> $cmake_file echo "set (UE_AUTOTEST_TRACE $UE_AUTOTEST_TRACE)" >> $cmake_file
echo "set (DEADLINE_SCHEDULER \"False\" )" >> $cmake_file echo "set (UE_DEBUG_TRACE $UE_DEBUG_TRACE)" >> $cmake_file
echo "set (CPU_AFFINITY \"False\" )" >> $cmake_file echo "set (UE_TIMING_TRACE $UE_TIMING_TRACE)" >> $cmake_file
echo "set ( T_TRACER \"True\" )" >> $cmake_file echo "set (DISABLE_LOG_X $DISABLE_LOG_X)" >> $cmake_file
echo "set (UE_AUTOTEST_TRACE $UE_AUTOTEST_TRACE)" >> $cmake_file echo "set (USRP_REC_PLAY $USRP_REC_PLAY)" >> $cmake_file
echo "set (UE_DEBUG_TRACE $UE_DEBUG_TRACE)" >> $cmake_file echo "set (LINUX True )" >> $cmake_file
echo "set (UE_TIMING_TRACE $UE_TIMING_TRACE)" >> $cmake_file echo "set (PDCP_USE_NETLINK True )" >> $cmake_file
echo "set (DISABLE_LOG_X $DISABLE_LOG_X)" >> $cmake_file echo "set (BASIC_SIMULATOR \"True\" )" >> $cmake_file
echo "set (USRP_REC_PLAY $USRP_REC_PLAY)" >> $cmake_file # echo "set (UE_NAS_USE_TUN \"True\" )" >> $cmake_file
echo "set (BASIC_SIMULATOR \"True\" )" >> $cmake_file echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)' >> $cmake_file
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)' >> $cmake_file
echo_info "Build UE"
echo_info "Build eNB" echo_info "logs are in $dlog/basic_simulator_ue.txt"
echo_info "logs are in $dlog/basic_simulator_enb.txt" set +e
set +e {
{ cd $OPENAIR_DIR/cmake_targets/basic_simulator/ue
cd $OPENAIR_DIR/cmake_targets/basic_simulator/enb cmake .
cmake . make -j`nproc` lte-uesoftmodem
make -j`nproc` lte-softmodem make -j`nproc` coding params_libconfig tcp_bridge_oai
make -j`nproc` coding params_libconfig tcp_bridge_oai ln -sf libtcp_bridge_oai.so liboai_device.so
ln -sf libtcp_bridge_oai.so liboai_device.so cd ../..
cd ../.. } > $dlog/basic_simulator_ue.txt 2>&1
} > $dlog/basic_simulator_enb.txt 2>&1 set -e
set -e if [ -s $OPENAIR_DIR/cmake_targets/basic_simulator/ue/lte-uesoftmodem -a \
if [ -s $OPENAIR_DIR/cmake_targets/basic_simulator/enb/lte-softmodem -a \ -s $OPENAIR_DIR/cmake_targets/basic_simulator/ue/libcoding.so -a \
-s $OPENAIR_DIR/cmake_targets/basic_simulator/enb/libcoding.so -a \ -s $OPENAIR_DIR/cmake_targets/basic_simulator/ue/libparams_libconfig.so -a \
-s $OPENAIR_DIR/cmake_targets/basic_simulator/enb/libparams_libconfig.so -a \ -s $OPENAIR_DIR/cmake_targets/basic_simulator/ue/libtcp_bridge_oai.so ] ; then
-s $OPENAIR_DIR/cmake_targets/basic_simulator/enb/libtcp_bridge_oai.so ] ; then echo_success "UE compiled"
echo_success "eNB compiled" check_warnings "$dlog/basic_simulator_ue.txt"
check_warnings "$dlog/basic_simulator_enb.txt" else
else echo_error "UE compilation failed"
echo_error "eNB compilation failed" exit 1
exit 1
fi
# ue
echo_info "Compile conf2uedata"
cd $OPENAIR_DIR/cmake_targets/nas_sim_tools/build
eval $CMAKE_CMD
compilations \
nas_sim_tools conf2uedata \
conf2uedata $dbin/conf2uedata
cmake_file=$OPENAIR_DIR/cmake_targets/basic_simulator/ue/CMakeLists.txt
echo "cmake_minimum_required(VERSION 3.0)" > $cmake_file
echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
echo "set ( XFORMS $XFORMS )" >> $cmake_file
echo "set ( RF_BOARD \"OAI_USRP\")" >> $cmake_file
echo "set ( TRANSP_PRO \"None\")" >> $cmake_file
echo "set(PACKAGE_NAME \"simulator_ue\")" >> $cmake_file
echo "set (DEADLINE_SCHEDULER \"False\" )" >> $cmake_file
echo "set (CPU_AFFINITY \"False\" )" >> $cmake_file
echo "set ( T_TRACER \"True\" )" >> $cmake_file
echo "set (UE_AUTOTEST_TRACE $UE_AUTOTEST_TRACE)" >> $cmake_file
echo "set (UE_DEBUG_TRACE $UE_DEBUG_TRACE)" >> $cmake_file
echo "set (UE_TIMING_TRACE $UE_TIMING_TRACE)" >> $cmake_file
echo "set (DISABLE_LOG_X $DISABLE_LOG_X)" >> $cmake_file
echo "set (USRP_REC_PLAY $USRP_REC_PLAY)" >> $cmake_file
echo "set (LINUX True )" >> $cmake_file
echo "set (PDCP_USE_NETLINK True )" >> $cmake_file
echo "set (BASIC_SIMULATOR \"True\" )" >> $cmake_file
echo "set (UE_NAS_USE_TUN \"True\" )" >> $cmake_file
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)' >> $cmake_file
echo_info "Build UE"
echo_info "logs are in $dlog/basic_simulator_ue.txt"
set +e
{
cd $OPENAIR_DIR/cmake_targets/basic_simulator/ue
cmake .
make -j`nproc` lte-uesoftmodem
make -j`nproc` coding params_libconfig tcp_bridge_oai
ln -sf libtcp_bridge_oai.so liboai_device.so
cd ../..
} > $dlog/basic_simulator_ue.txt 2>&1
set -e
if [ -s $OPENAIR_DIR/cmake_targets/basic_simulator/ue/lte-uesoftmodem -a \
-s $OPENAIR_DIR/cmake_targets/basic_simulator/ue/libcoding.so -a \
-s $OPENAIR_DIR/cmake_targets/basic_simulator/ue/libparams_libconfig.so -a \
-s $OPENAIR_DIR/cmake_targets/basic_simulator/ue/libtcp_bridge_oai.so ] ; then
echo_success "UE compiled"
check_warnings "$dlog/basic_simulator_ue.txt"
else
echo_error "UE compilation failed"
exit 1
fi
echo_info "Generate UE SIM data"
$OPENAIR_DIR/targets/bin/conf2uedata -c $OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o $OPENAIR_DIR/cmake_targets/basic_simulator/ue
fi fi
echo_info "Generate UE SIM data"
$OPENAIR_DIR/targets/bin/conf2uedata -c $OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o $OPENAIR_DIR/cmake_targets/basic_simulator/ue
fi
} }
main "$@" main "$@"
...@@ -160,10 +160,8 @@ typedef struct pdcp_data_req_header_s { ...@@ -160,10 +160,8 @@ typedef struct pdcp_data_req_header_s {
sdu_size_t data_size; sdu_size_t data_size;
signed int inst; signed int inst;
ip_traffic_type_t traffic_type; ip_traffic_type_t traffic_type;
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint32_t sourceL2Id; uint32_t sourceL2Id;
uint32_t destinationL2Id; uint32_t destinationL2Id;
#endif
} pdcp_data_req_header_t; } pdcp_data_req_header_t;
typedef struct pdcp_data_ind_header_s { typedef struct pdcp_data_ind_header_s {
...@@ -171,10 +169,8 @@ typedef struct pdcp_data_ind_header_s { ...@@ -171,10 +169,8 @@ typedef struct pdcp_data_ind_header_s {
sdu_size_t data_size; sdu_size_t data_size;
signed int inst; signed int inst;
ip_traffic_type_t dummy_traffic_type; ip_traffic_type_t dummy_traffic_type;
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint32_t sourceL2Id; uint32_t sourceL2Id;
uint32_t destinationL2Id; uint32_t destinationL2Id;
#endif
} pdcp_data_ind_header_t; } pdcp_data_ind_header_t;
extern struct net_device *nasdev[NB_INSTANCES_MAX]; extern struct net_device *nasdev[NB_INSTANCES_MAX];
......
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