build_oai script and cmake updated - rf device and transport protocol libraries are dynamically linked Note: EXMIMO not supported yet (even though compilation is successful)
This commit is contained in:
@@ -36,7 +36,7 @@ set (OPENAIR1_DIR ${OPENAIR_DIR}/openair1)
|
|||||||
set (OPENAIR2_DIR ${OPENAIR_DIR}/openair2)
|
set (OPENAIR2_DIR ${OPENAIR_DIR}/openair2)
|
||||||
set (OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
|
set (OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
|
||||||
set (OPENAIR_TARGETS ${OPENAIR_DIR}/targets)
|
set (OPENAIR_TARGETS ${OPENAIR_DIR}/targets)
|
||||||
set (OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
|
set (OPENAIR3_DIR ${OPENAIR_DIR}/openair3)
|
||||||
set (OPENAIR_CMAKE ${OPENAIR_DIR}/cmake_targets)
|
set (OPENAIR_CMAKE ${OPENAIR_DIR}/cmake_targets)
|
||||||
set (OPENAIR_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
|
set (OPENAIR_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
|
||||||
|
|
||||||
@@ -407,8 +407,47 @@ add_list1_option(NB_ANTENNAS_RX "2" "Number of antennas in reception" "1" "2" "4
|
|||||||
add_list1_option(NB_ANTENNAS_TX "2" "Number of antennas in transmission" "1" "2" "4")
|
add_list1_option(NB_ANTENNAS_TX "2" "Number of antennas in transmission" "1" "2" "4")
|
||||||
add_list1_option(NB_ANTENNAS_TXRX "2" "Number of antennas in ????" "1" "2" "4")
|
add_list1_option(NB_ANTENNAS_TXRX "2" "Number of antennas in ????" "1" "2" "4")
|
||||||
|
|
||||||
add_list2_option(RF_BOARD "EXMIMO" "RF head type" "False" "EXMIMO" "OAI_USRP" "ETHERNET" "OAI_BLADERF" "CPRIGW")
|
add_list2_option(RF_BOARD "NO_VALUE" "RF head type" "False" "EXMIMO" "OAI_USRP" "OAI_BLADERF" "CPRIGW" "NO_VALUE")# make cleanup false rf_head_type cprigw???
|
||||||
|
|
||||||
|
add_list2_option(TRANSP_PRO "NO_VALUE" "ETHERNET" "NO_VALUE")
|
||||||
|
|
||||||
|
|
||||||
|
# include RF devices / transport protocols library modules
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
include_directories("${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/")
|
||||||
|
include_directories ("${OPENAIR_TARGETS}/ARCH/EXMIMO/DEFS/")
|
||||||
|
#set (option_HWEXMIMOLIB_lib "-l ")
|
||||||
|
set(HWLIB_EXMIMO_SOURCE
|
||||||
|
${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
|
||||||
|
${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c
|
||||||
|
)
|
||||||
|
add_library(oai_exmimodevif MODULE ${HWLIB_EXMIMO_SOURCE} )
|
||||||
|
|
||||||
|
include_directories("${OPENAIR_TARGETS}/ARCH/USRP/USERSPACE/LIB/")
|
||||||
|
set (option_HWUSRPLIB_lib "-l uhd")
|
||||||
|
set(HWLIB_USRP_SOURCE
|
||||||
|
${OPENAIR_TARGETS}/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
|
||||||
|
)
|
||||||
|
add_library(oai_usrpdevif MODULE ${HWLIB_USRP_SOURCE} )
|
||||||
|
|
||||||
|
include_directories("${OPENAIR_TARGETS}/ARCH/BLADERF/USERSPACE/LIB/")
|
||||||
|
set (option_HWBLADERFLIB_lib "-l bladerf")
|
||||||
|
set(HWLIB_BLADERF_SOURCE
|
||||||
|
${OPENAIR_TARGETS}/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
|
||||||
|
)
|
||||||
|
add_library(oai_bladerfdevif MODULE ${HWLIB_BLADERF_SOURCE} )
|
||||||
|
|
||||||
|
include_directories("${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/")
|
||||||
|
set(TPLIB_ETHERNET_SOURCE
|
||||||
|
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
|
||||||
|
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
|
||||||
|
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
|
||||||
|
)
|
||||||
|
add_library(oai_eth_transpro MODULE ${TPLIB_ETHERNET_SOURCE} )
|
||||||
|
|
||||||
|
# RF devices / transport protocols settings
|
||||||
|
######################################################################
|
||||||
if (${RF_BOARD} STREQUAL "EXMIMO")
|
if (${RF_BOARD} STREQUAL "EXMIMO")
|
||||||
set(DRIVER2013)
|
set(DRIVER2013)
|
||||||
include_directories ("${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/")
|
include_directories ("${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/")
|
||||||
@@ -416,6 +455,7 @@ if (${RF_BOARD} STREQUAL "EXMIMO")
|
|||||||
set(HW_SOURCE ${HW_SOURCE}
|
set(HW_SOURCE ${HW_SOURCE}
|
||||||
${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
|
${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
|
||||||
${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c)
|
${OPENAIR_TARGETS}/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c)
|
||||||
|
set(option_HW_lib "-rdynamic -ldl")
|
||||||
|
|
||||||
elseif (${RF_BOARD} STREQUAL "OAI_USRP")
|
elseif (${RF_BOARD} STREQUAL "OAI_USRP")
|
||||||
include_directories("${OPENAIR_TARGETS}/ARCH/USRP/USERSPACE/LIB/")
|
include_directories("${OPENAIR_TARGETS}/ARCH/USRP/USERSPACE/LIB/")
|
||||||
@@ -423,7 +463,7 @@ elseif (${RF_BOARD} STREQUAL "OAI_USRP")
|
|||||||
set(HW_SOURCE ${HW_SOURCE}
|
set(HW_SOURCE ${HW_SOURCE}
|
||||||
${OPENAIR_TARGETS}/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp)
|
${OPENAIR_TARGETS}/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp)
|
||||||
LINK_DIRECTORIES("/opt/lib")
|
LINK_DIRECTORIES("/opt/lib")
|
||||||
set(option_HW_lib "uhd")
|
set(option_HW_lib "-luhd -rdynamic -ldl")
|
||||||
set(LOWLATENCY False)
|
set(LOWLATENCY False)
|
||||||
|
|
||||||
elseif (${RF_BOARD} STREQUAL "OAI_BLADERF")
|
elseif (${RF_BOARD} STREQUAL "OAI_BLADERF")
|
||||||
@@ -434,26 +474,33 @@ elseif (${RF_BOARD} STREQUAL "OAI_BLADERF")
|
|||||||
${OPENAIR_TARGETS}/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
|
${OPENAIR_TARGETS}/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
|
||||||
)
|
)
|
||||||
LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu")
|
LINK_DIRECTORIES("/usr/lib/x86_64-linux-gnu")
|
||||||
set(option_HW_lib "bladeRF")
|
set(option_HW_lib "bladeRF -rdynamic -ldl")
|
||||||
#set(LOWLATENCY False)
|
#set(LOWLATENCY False)
|
||||||
|
|
||||||
elseif (${RF_BOARD} STREQUAL "ETHERNET")
|
elseif (${RF_BOARD} STREQUAL "CPRIGW") #to ask
|
||||||
include_directories ("${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB")
|
|
||||||
set(HW_SOURCE ${HW_SOURCE}
|
|
||||||
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
|
|
||||||
)
|
|
||||||
set(LOWLATENCY True)
|
|
||||||
|
|
||||||
elseif (${RF_BOARD} STREQUAL "CPRIGW")
|
|
||||||
set(HW_SOURCE ${HW_SOURCE}
|
set(HW_SOURCE ${HW_SOURCE}
|
||||||
${OPENAIR_TARGETS}/ARCH/CPRIGW/USERSPACE/LIB/cprigw_lib.c
|
${OPENAIR_TARGETS}/ARCH/CPRIGW/USERSPACE/LIB/cprigw_lib.c
|
||||||
)
|
)
|
||||||
include_directories("${OPENAIR_TARGETS}/ARCH/CPRIGW/USERSPACE/LIB/")
|
include_directories("${OPENAIR_TARGETS}/ARCH/CPRIGW/USERSPACE/LIB/")
|
||||||
set(option_HW_lib "-rdynamic dl")
|
set(option_HW_lib "-rdynamic dl")
|
||||||
|
|
||||||
endif (${RF_BOARD} STREQUAL "EXMIMO")
|
endif (${RF_BOARD} STREQUAL "EXMIMO")
|
||||||
|
|
||||||
include_directories ("${OPENAIR_TARGETS}/ARCH/COMMON")
|
if (${TRANSP_PRO} STREQUAL "ETHERNET")
|
||||||
|
|
||||||
|
include_directories ("${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB")
|
||||||
|
set(TRANSPORT_SOURCE ${TRANSPORT_SOURCE}
|
||||||
|
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
|
||||||
|
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
|
||||||
|
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
|
||||||
|
)
|
||||||
|
set(option_TP_lib "-rdynamic -ldl")
|
||||||
|
set(LOWLATENCY True)
|
||||||
|
|
||||||
|
endif (${TRANSP_PRO} STREQUAL "ETHERNET")
|
||||||
|
##########################################################
|
||||||
|
|
||||||
|
include_directories ("${OPENAIR_TARGETS}/ARCH/COMMON")
|
||||||
|
|
||||||
##############################################################
|
##############################################################
|
||||||
# ???!!! TO BE DOCUMENTED OPTIONS !!!???
|
# ???!!! TO BE DOCUMENTED OPTIONS !!!???
|
||||||
@@ -1407,6 +1454,7 @@ add_definitions(-DASN1_MINIMUM_VERSION=924)
|
|||||||
|
|
||||||
# lte-softmodem is both eNB and UE implementation
|
# lte-softmodem is both eNB and UE implementation
|
||||||
###################################################
|
###################################################
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,${OPENAIR_CMAKE}/lte_build_oai/build/")
|
||||||
add_executable(lte-softmodem
|
add_executable(lte-softmodem
|
||||||
${rrc_h}
|
${rrc_h}
|
||||||
${s1ap_h}
|
${s1ap_h}
|
||||||
@@ -1424,6 +1472,7 @@ add_executable(lte-softmodem
|
|||||||
${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
|
${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
|
||||||
${GTPU_need_ITTI}
|
${GTPU_need_ITTI}
|
||||||
${HW_SOURCE}
|
${HW_SOURCE}
|
||||||
|
${TRANSPORT_SOURCE}
|
||||||
${RTAI_SOURCE}
|
${RTAI_SOURCE}
|
||||||
${XFORMS_SOURCE}
|
${XFORMS_SOURCE}
|
||||||
${XFORMS_SOURCE_SOFTMODEM}
|
${XFORMS_SOURCE_SOFTMODEM}
|
||||||
@@ -1436,11 +1485,12 @@ target_link_libraries (lte-softmodem
|
|||||||
|
|
||||||
|
|
||||||
target_link_libraries (lte-softmodem ${LIBXML2_LIBRARIES})
|
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_HW_lib} ${XFORMS_LIBRARIES} )
|
target_link_libraries (lte-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${option_HW_lib} ${option_TP_lib} ${XFORMS_LIBRARIES} )
|
||||||
target_link_libraries (lte-softmodem ${LIBBOOST_LIBRARIES})
|
target_link_libraries (lte-softmodem ${LIBBOOST_LIBRARIES})
|
||||||
|
|
||||||
# lte-softmodem-nos1 is both eNB and UE implementation
|
# lte-softmodem-nos1 is both eNB and UE implementation
|
||||||
###################################################
|
###################################################
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,${OPENAIR_CMAKE}/lte_noS1_build_oai/build/")
|
||||||
add_executable(lte-softmodem-nos1
|
add_executable(lte-softmodem-nos1
|
||||||
${rrc_h}
|
${rrc_h}
|
||||||
${s1ap_h}
|
${s1ap_h}
|
||||||
@@ -1458,6 +1508,7 @@ add_executable(lte-softmodem-nos1
|
|||||||
#${OPENAIR2_DIR}/RRC/NAS/rb_config.c
|
#${OPENAIR2_DIR}/RRC/NAS/rb_config.c
|
||||||
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
|
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
|
||||||
${HW_SOURCE}
|
${HW_SOURCE}
|
||||||
|
${TRANSPORT_SOURCE}
|
||||||
${RTAI_SOURCE}
|
${RTAI_SOURCE}
|
||||||
${XFORMS_SOURCE}
|
${XFORMS_SOURCE}
|
||||||
${XFORMS_SOURCE_SOFTMODEM}
|
${XFORMS_SOURCE_SOFTMODEM}
|
||||||
@@ -1468,16 +1519,15 @@ target_link_libraries (lte-softmodem-nos1
|
|||||||
-Wl,--end-group )
|
-Wl,--end-group )
|
||||||
|
|
||||||
target_link_libraries (lte-softmodem-nos1 ${LIBXML2_LIBRARIES})
|
target_link_libraries (lte-softmodem-nos1 ${LIBXML2_LIBRARIES})
|
||||||
target_link_libraries (lte-softmodem-nos1 pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${option_HW_lib} ${XFORMS_LIBRARIES} )
|
target_link_libraries (lte-softmodem-nos1 pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${option_HW_lib} ${option_TP_lib} ${XFORMS_LIBRARIES} )
|
||||||
target_link_libraries (lte-softmodem-nos1 ${LIBBOOST_LIBRARIES})
|
target_link_libraries (lte-softmodem-nos1 ${LIBBOOST_LIBRARIES})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# rrh
|
# rrh
|
||||||
################################
|
################################
|
||||||
set(DRIVER2013)
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,${OPENAIR_CMAKE}/rrh_gw/build/")
|
||||||
|
#Note: only one RF type (USRP) is currently supported for RRH
|
||||||
#Note: only on RF type is currently supported for RRH
|
|
||||||
add_executable(rrh_gw
|
add_executable(rrh_gw
|
||||||
${OPENAIR_TARGETS}/RT/USER/rrh_gw.c
|
${OPENAIR_TARGETS}/RT/USER/rrh_gw.c
|
||||||
${OPENAIR_TARGETS}/RT/USER/eNB_transport_IQ.c
|
${OPENAIR_TARGETS}/RT/USER/eNB_transport_IQ.c
|
||||||
@@ -1485,21 +1535,24 @@ add_executable(rrh_gw
|
|||||||
${OPENAIR_TARGETS}/RT/USER/rt_wrapper.c
|
${OPENAIR_TARGETS}/RT/USER/rt_wrapper.c
|
||||||
${OPENAIR_TARGETS}/ARCH/COMMON/common_lib.c
|
${OPENAIR_TARGETS}/ARCH/COMMON/common_lib.c
|
||||||
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
|
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
|
||||||
|
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
|
||||||
|
${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
|
||||||
${HW_SOURCE}
|
${HW_SOURCE}
|
||||||
|
${TRANSPORT_SOURCE}
|
||||||
)
|
)
|
||||||
# assert and common_lib.h
|
# assert and common_lib.h
|
||||||
target_include_directories(rrh_gw PRIVATE ${OPENAIR_DIR}/common/utils/itti ${OPENAIR_TARGETS}/ARCH/COMMON ${OPENAIR_TARGETS}/ARCH/ETHERNET/USERSPACE/LIB/ )
|
target_include_directories(rrh_gw PRIVATE ${OPENAIR_DIR}/common/utils/itti ${OPENAIR_TARGETS}/ARCH/COMMON )
|
||||||
|
|
||||||
target_link_libraries(rrh_gw
|
target_link_libraries(rrh_gw
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
UTIL LFDS
|
UTIL LFDS
|
||||||
-Wl,--end-group )
|
-Wl,--end-group )
|
||||||
target_link_libraries (rrh_gw rt pthread m )
|
target_link_libraries (rrh_gw rt pthread m )
|
||||||
target_link_libraries (rrh_gw ${option_HW_lib} ${LIBBOOST_LIBRARIES} )
|
target_link_libraries (rrh_gw ${option_HW_lib} ${option_TP_lib} ${LIBBOOST_LIBRARIES} )
|
||||||
|
|
||||||
#Message("-- default_HW_lib=ETHERNET") # only in case of RRH
|
|
||||||
Message("-- option_HW_lib=${option_HW_lib}")
|
Message("-- option_HW_lib=${option_HW_lib}")
|
||||||
Message("-- HW_SOURCE=${HW_SOURCE}")
|
Message("-- HW_SOURCE=${HW_SOURCE}")
|
||||||
|
Message("-- option_TP_lib=${option_TP_lib}")
|
||||||
|
Message("-- TRANSPORT_SOURCE=${TRANSPORT_SOURCE}")
|
||||||
|
|
||||||
# USIM process
|
# USIM process
|
||||||
#################
|
#################
|
||||||
@@ -1550,6 +1603,7 @@ add_executable(oaisim
|
|||||||
${GTPU_need_ITTI}
|
${GTPU_need_ITTI}
|
||||||
${OPENAIR_TARGETS}/COMMON/create_tasks.c
|
${OPENAIR_TARGETS}/COMMON/create_tasks.c
|
||||||
${HW_SOURCE}
|
${HW_SOURCE}
|
||||||
|
${TRANSPORT_SOURCE}
|
||||||
${XFORMS_SOURCE}
|
${XFORMS_SOURCE}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1561,7 +1615,7 @@ target_link_libraries (oaisim
|
|||||||
-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_HW_lib}
|
target_link_libraries (oaisim pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${option_HW_lib} ${option_TP_lib}
|
||||||
${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${OPENPGM_LIBRARIES})
|
${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${OPENPGM_LIBRARIES})
|
||||||
#Force link with forms, regardless XFORMS option
|
#Force link with forms, regardless XFORMS option
|
||||||
target_link_libraries (oaisim forms)
|
target_link_libraries (oaisim forms)
|
||||||
@@ -1588,6 +1642,7 @@ add_executable(oaisim_nos1
|
|||||||
${OPENAIR2_DIR}/UTIL/OMG/sumo.c
|
${OPENAIR2_DIR}/UTIL/OMG/sumo.c
|
||||||
${OPENAIR_TARGETS}/COMMON/create_tasks.c
|
${OPENAIR_TARGETS}/COMMON/create_tasks.c
|
||||||
${HW_SOURCE}
|
${HW_SOURCE}
|
||||||
|
${TRANSPORT_SOURCE}
|
||||||
${XFORMS_SOURCE}
|
${XFORMS_SOURCE}
|
||||||
)
|
)
|
||||||
target_include_directories(oaisim_nos1 PUBLIC ${OPENAIR_TARGETS}/SIMU/USER)
|
target_include_directories(oaisim_nos1 PUBLIC ${OPENAIR_TARGETS}/SIMU/USER)
|
||||||
@@ -1597,7 +1652,7 @@ target_link_libraries (oaisim_nos1
|
|||||||
-Wl,--end-group )
|
-Wl,--end-group )
|
||||||
|
|
||||||
target_link_libraries (oaisim_nos1 ${LIBXML2_LIBRARIES} ${LAPACK_LIBRARIES})
|
target_link_libraries (oaisim_nos1 ${LIBXML2_LIBRARIES} ${LAPACK_LIBRARIES})
|
||||||
target_link_libraries (oaisim_nos1 pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${option_HW_lib}
|
target_link_libraries (oaisim_nos1 pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${option_HW_lib} ${option_TP_lib}
|
||||||
${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${OPENPGM_LIBRARIES})
|
${ATLAS_LIBRARIES} ${XFORMS_LIBRARIES} ${OPENPGM_LIBRARIES})
|
||||||
#Force link with forms, regardless XFORMS option
|
#Force link with forms, regardless XFORMS option
|
||||||
target_link_libraries (oaisim_nos1 forms)
|
target_link_libraries (oaisim_nos1 forms)
|
||||||
|
|||||||
+131
-34
@@ -46,7 +46,8 @@ XFORMS="False"
|
|||||||
PRINT_STATS="False"
|
PRINT_STATS="False"
|
||||||
VCD_TIMING="False"
|
VCD_TIMING="False"
|
||||||
REL="Rel10"
|
REL="Rel10"
|
||||||
HW="EXMIMO"
|
HW="NO_VALUE"
|
||||||
|
TP="NO_VALUE"
|
||||||
NOS1=0
|
NOS1=0
|
||||||
EPC=0
|
EPC=0
|
||||||
VERBOSE_COMPILE=0
|
VERBOSE_COMPILE=0
|
||||||
@@ -88,10 +89,13 @@ Options
|
|||||||
default is Rel10,
|
default is Rel10,
|
||||||
Rel8 limits the implementation to 3GPP Release 8 version
|
Rel8 limits the implementation to 3GPP Release 8 version
|
||||||
-w | --hardware
|
-w | --hardware
|
||||||
EXMIMO (Default), USRP, BLADERF, ETHERNET, None
|
EXMIMO, USRP, BLADERF
|
||||||
Adds this RF board support (in external packages installation and in compilation)
|
Adds this RF board support (in external packages installation and in compilation)
|
||||||
|
-t | --transport protocol
|
||||||
|
ETHERNET , None
|
||||||
|
Adds this trasport protocol support in compilation
|
||||||
--oaisim
|
--oaisim
|
||||||
Makes the oaisim simulator. Hardware will be defaulted to "NONE".
|
Makes the oaisim simulator. Hardware will be defaulted to "NO_VALUE".
|
||||||
--phy_simulators
|
--phy_simulators
|
||||||
Makes the unitary tests Layer 1 simulators
|
Makes the unitary tests Layer 1 simulators
|
||||||
--core_simulators
|
--core_simulators
|
||||||
@@ -169,7 +173,7 @@ function main() {
|
|||||||
shift;;
|
shift;;
|
||||||
-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)
|
-w | --hardware)
|
||||||
HW="$2" #"${i#*=}"
|
HW="$2" #"${i#*=}"
|
||||||
@@ -180,7 +184,11 @@ function main() {
|
|||||||
if [ "$HW" == "BLADERF" ] ; then
|
if [ "$HW" == "BLADERF" ] ; then
|
||||||
HW="OAI_BLADERF"
|
HW="OAI_BLADERF"
|
||||||
fi
|
fi
|
||||||
echo_info "setting hardware to: $HW"
|
echo_info "Setting hardware to: $HW"
|
||||||
|
shift 2;;
|
||||||
|
-t | --transport_protocol)
|
||||||
|
TP="$2" #"${i#*=}"
|
||||||
|
echo_info "Setting transport protocol to: $TP"
|
||||||
shift 2;;
|
shift 2;;
|
||||||
--oaisim)
|
--oaisim)
|
||||||
oaisim=1
|
oaisim=1
|
||||||
@@ -204,7 +212,7 @@ function main() {
|
|||||||
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;;
|
||||||
@@ -227,7 +235,7 @@ function main() {
|
|||||||
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;;
|
||||||
-h | --help)
|
-h | --help)
|
||||||
print_help
|
print_help
|
||||||
@@ -239,6 +247,35 @@ function main() {
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
############################################
|
||||||
|
# check validity of HW and TP parameters for RRH and eNB
|
||||||
|
#############################################
|
||||||
|
|
||||||
|
if [ "$eNB" = "1" ] ; then
|
||||||
|
if [ "$HW" = "NO_VALUE" -a "$TP" = "NO_VALUE" ] ; then
|
||||||
|
echo_fatal "A hardware target or a transport protocol must be defined!!"
|
||||||
|
fi
|
||||||
|
if [ "$HW" != "NO_VALUE" -a "$TP" != "NO_VALUE" ] ; then
|
||||||
|
echo_fatal "Currentlt lte-softmodem can not support simultaniously local and remote RF heads!!"
|
||||||
|
fi
|
||||||
|
if [ "$HW" = "NO_VALUE" ] ; then
|
||||||
|
echo_info "No RF device has been selected: (HW=$HW)"
|
||||||
|
fi
|
||||||
|
if [ "$TP" = "NO_VALUE" ] ; then
|
||||||
|
echo_info "No transport protocol has been selected: (TP=$TP)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$RRH" = "1" ] ; then
|
||||||
|
if [ "$TP" = "NO_VALUE" ] ; then
|
||||||
|
echo_fatal "A transport protocol must be defined!!"
|
||||||
|
fi
|
||||||
|
if [ "$HW" = "NO_VALUE" ] ; then
|
||||||
|
echo_info "No RF device has been selected: (HW=$HW)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
############################################
|
############################################
|
||||||
# setting and printing OAI envs, we should check here
|
# setting and printing OAI envs, we should check here
|
||||||
############################################
|
############################################
|
||||||
@@ -277,7 +314,7 @@ function main() {
|
|||||||
check_install_usrp_uhd_driver
|
check_install_usrp_uhd_driver
|
||||||
fi
|
fi
|
||||||
if [ "$HW" == "OAI_BLADERF" ] ; then
|
if [ "$HW" == "OAI_BLADERF" ] ; then
|
||||||
echo_info "installing packages for BALDERF support"
|
echo_info "installing packages for BLADERF support"
|
||||||
check_install_bladerf_driver
|
check_install_bladerf_driver
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -288,16 +325,18 @@ function main() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$oaisim" = "1" ] ; then
|
if [ "$oaisim" = "1" ] ; then
|
||||||
if [ "$HW" != "ETHERNET" ] ; then
|
# if [ "$HW" == "ETHERNET" ] ; then # to ask
|
||||||
HW="NONE"
|
# HW="NONE"
|
||||||
|
#fi
|
||||||
|
if [ $HW != "EXMIMO" -a $HW != "OAI_USRP" -a $HW != "OAI_BLADERF" ] ; then
|
||||||
|
HW="NO_VALUE"
|
||||||
fi
|
fi
|
||||||
if [ "$XFORMS" == "True" ] ; then
|
if [ "$XFORMS" == "True" ] ; then
|
||||||
PRINT_STATS="True"
|
PRINT_STATS="True"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo_info "3. building the compilation directives ..."
|
||||||
echo_info "3. building the compilation directives ..."
|
|
||||||
|
|
||||||
DIR=$OPENAIR_DIR/cmake_targets
|
DIR=$OPENAIR_DIR/cmake_targets
|
||||||
if [ "$NOS1" = "1" ] ; then
|
if [ "$NOS1" = "1" ] ; then
|
||||||
@@ -324,7 +363,9 @@ function main() {
|
|||||||
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 ( RF_BOARD \"${HW}\")" >> $cmake_file
|
echo "set ( RF_BOARD \"${HW}\")" >> $cmake_file
|
||||||
echo "set(PACKAGE_NAME \"${lte_exec}\")" >> $cmake_file
|
echo "set ( TRANSP_PRO \"${TP}\")" >> $cmake_file
|
||||||
|
echo "set ( SHRLIBDEV ${SHRLIBDEV})" >> $cmake_file
|
||||||
|
echo "set(PACKAGE_NAME \"${lte_exec}\")" >> $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
|
||||||
cmake ..
|
cmake ..
|
||||||
@@ -529,31 +570,87 @@ function main() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# RRH compilation
|
# RRH compilation
|
||||||
##################
|
#####################
|
||||||
if [ "$RRH" = "1" ] ; then
|
if [ "$RRH" = "1" ] ; then
|
||||||
echo_info "Compiling RRH"
|
rrh_exec=rrh_gw
|
||||||
if [ $HW == "ETHERNET" ] ; then
|
rrh_build_dir=rrh_gw
|
||||||
echo_info "RF frontend for RRH is not defined. This mode is used for testing (loopback)."
|
|
||||||
elif [ $HW != "EXMIMO" -a $HW != "OAI_USRP" -a $HW != "OAI_BLADERF" ] ; then
|
|
||||||
echo_fatal "Hardware not defined ($HW)"
|
|
||||||
fi
|
|
||||||
cmake_file=$DIR/rrh_gw/CMakeLists.txt
|
|
||||||
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
|
|
||||||
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
|
||||||
echo "set(ENABLE_ITTI False )" >> $cmake_file
|
|
||||||
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
|
|
||||||
echo 'set(PACKAGE_NAME "\"rrh_gw\"")' >> $cmake_file
|
|
||||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
|
||||||
|
|
||||||
[ "$CLEAN" = "1" ] && rm -rf $DIR/rrh_gw/build
|
echo_info "Compiling $rrh_exec ..."
|
||||||
mkdir -p $DIR/rrh_gw/build
|
|
||||||
cd $DIR/rrh_gw/build
|
cmake_file=$DIR/$rrh_build_dir/CMakeLists.txt
|
||||||
cmake ..
|
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
|
||||||
compilations \
|
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
||||||
rrh_gw rrh_gw \
|
echo "set(ENABLE_ITTI False )" >> $cmake_file
|
||||||
rrh_gw $dbin/rrh_gw
|
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
|
||||||
|
echo "set(TRANSP_PRO \"${TP}\")" >> $cmake_file
|
||||||
|
echo "set(SHRLIBDEV ${SHRLIBDEV})" >> $cmake_file
|
||||||
|
echo 'set(PACKAGE_NAME "\"rrh_gw\"")' >> $cmake_file
|
||||||
|
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||||
|
[ "$CLEAN" = "1" ] && rm -rf $DIR/rrh_gw/build
|
||||||
|
mkdir -p $DIR/$rrh_build_dir/build
|
||||||
|
cd $DIR/$rrh_build_dir/build
|
||||||
|
cmake ..
|
||||||
|
compilations \
|
||||||
|
rrh_gw rrh_gw \
|
||||||
|
rrh_gw $dbin/rrh_gw
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# build RF device and transport protocol libraries
|
||||||
|
#####################################
|
||||||
|
if [ "$eNB" = "1" -o "$RRH" = "1" ] ; then
|
||||||
|
|
||||||
|
if [ "$eNB" = "1" ] ; then
|
||||||
|
build_dir=$lte_build_dir
|
||||||
|
else
|
||||||
|
build_dir=$rrh_build_dir
|
||||||
|
fi
|
||||||
|
|
||||||
|
# build RF device libraries (currently EXMIMO is not complied with the rest of HW targets)
|
||||||
|
if [ "$HW" != "NO_VALUE" ] ; then
|
||||||
|
rm -f liboai_device.so
|
||||||
|
if [ -d "/usr/include/uhd" ] ; then
|
||||||
|
compilations \
|
||||||
|
$build_dir oai_usrpdevif \
|
||||||
|
liboai_usrpdevif.so $dbin/liboai_usrpdevif.so.$REL
|
||||||
|
fi
|
||||||
|
if [ -f "/usr/include/libbladeRF.h" ] ; then
|
||||||
|
compilations \
|
||||||
|
$build_dir oai_bladerfdevif \
|
||||||
|
liboai_bladerfdevif.so $dbin/liboai_bladerfdevif.so.$REL
|
||||||
|
fi
|
||||||
|
|
||||||
|
#add exmimo compilation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$HW" == "EXMIMO" ] ; then
|
||||||
|
ln -s liboai_exmimodevif.so liboai_device.so
|
||||||
|
echo_info "liboai_device.so is linked to EXMIMO device library"
|
||||||
|
elif [ "$HW" == "OAI_USRP" ] ; then
|
||||||
|
ln -s liboai_usrpdevif.so liboai_device.so
|
||||||
|
echo_info "liboai_device.so is linked to USRP device library"
|
||||||
|
elif [ "$HW" == "OAI_BLADERF" ] ; then
|
||||||
|
ln -s liboai_bladerfdevif.so liboai_device.so
|
||||||
|
echo_info "liboai_device.so is linked to BLADERF device library"
|
||||||
|
else
|
||||||
|
echo_info "liboai_device.so is not linked to any device library"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# build trasport protocol libraries (currently only ETHERNET is available)
|
||||||
|
if [ "$TP" != "NO_VALUE" ] ; then
|
||||||
|
rm -f liboai_transpro.so
|
||||||
|
compilations \
|
||||||
|
$build_dir oai_eth_transpro \
|
||||||
|
liboai_eth_transpro.so $dbin/liboai_eth_transpro.so.$REL
|
||||||
|
if [ "$TP" == "ETHERNET" ] ; then
|
||||||
|
ln -s liboai_eth_transpro.so liboai_transpro.so
|
||||||
|
echo_info "liboai_transpro.so is linked with ETHERNET library"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# EPC compilation
|
# EPC compilation
|
||||||
##################
|
##################
|
||||||
if [ "$EPC" = "1" ] ; then
|
if [ "$EPC" = "1" ] ; then
|
||||||
|
|||||||
Reference in New Issue
Block a user