Move radio CMakeLists.txt to subdirectory
- move following radios: AW2S, BladeRF, IRIS, LMSSDR, RFsimulator, USRP - move following transports: Ethernet, benetel4g, benetel5g - for each: create independent cmake variable to switch compilation on/off, in order: OAI_AW2S, OAI_BLADERF, OAI_IRIS, OAI_LMSSDR, OAI_SIMU, OAI_USRP, OAI_ETHERNET, OAI_BENETEL4G, OAI_BENETEL5G - Remove RF_BOARD variable, allows to compile multiple boards at once - where applicable: remove USERSPACE/LIB in path, i.e., move files up to directories, as all are userspace libraries Note that with the above, it is now mandatory to enable a radio implementation before compiling it, e.g., for USRP: ./build_oai -w USRP cmake .. -DOAI_USRP=ON && ninja oai_usrpdevif
This commit is contained in:
+1
-131
@@ -55,30 +55,6 @@ check_option(${ASN1C_EXEC} -no-gen-JER ASN1C_EXEC)
|
||||
check_option(${ASN1C_EXEC} -no-gen-BER ASN1C_EXEC)
|
||||
check_option(${ASN1C_EXEC} -no-gen-OER ASN1C_EXEC)
|
||||
|
||||
#uhd 4.0 and iris installs by default in /usr/local
|
||||
include_directories("/usr/local/include/")
|
||||
#use native cmake method as this package is not in pkg-config
|
||||
add_list2_option(RF_BOARD "None" "RF head type" "None" "OAI_USRP" "OAI_BLADERF" "OAI_LMSSDR" "OAI_SIMU")
|
||||
if (${RF_BOARD} STREQUAL "OAI_USRP")
|
||||
find_package(Boost REQUIRED)
|
||||
|
||||
elseif (${RF_BOARD} STREQUAL "OAI_IRIS")
|
||||
include_directories("radio/IRIS/USERSPACE/LIB/")
|
||||
|
||||
set(HW_SOURCE ${HW_SOURCE}
|
||||
radio/IRIS/USERSPACE/LIB/iris_lib.cpp)
|
||||
LINK_DIRECTORIES("/usr/local/lib")
|
||||
set(option_HW_lib "-lSoapySDR -rdynamic -ldl")
|
||||
|
||||
elseif (${RF_BOARD} STREQUAL "OAI_AW2SORI")
|
||||
include_directories("radio/AW2SORI")
|
||||
set(HW_SOURCE ${HW_SOURCE}
|
||||
${OPENAIR_DIR}/radio/AW2SORI/ARCH/AW2SORI/oaiori.c)
|
||||
LINK_DIRECTORIES("/usr/local/lib")
|
||||
set(openair_HW_lib "-shared -fPIC -msse4 -g -ggdb -lori")
|
||||
|
||||
endif (${RF_BOARD} STREQUAL "OAI_USRP")
|
||||
|
||||
#########################################################
|
||||
# Base directories, compatible with legacy OAI building #
|
||||
#########################################################
|
||||
@@ -460,101 +436,6 @@ target_link_libraries(params_libconfig PRIVATE ${libconfig_LIBRARIES})
|
||||
add_library(shlib_loader OBJECT common/utils/load_module_shlib.c)
|
||||
target_link_libraries(shlib_loader PRIVATE CONFIG_LIB)
|
||||
|
||||
# include RF devices / transport protocols library modules
|
||||
######################################################################
|
||||
|
||||
set(HWLIB_USRP_SOURCE
|
||||
${OPENAIR_DIR}/radio/USRP/USERSPACE/LIB/usrp_lib.cpp
|
||||
)
|
||||
add_library(oai_usrpdevif MODULE ${HWLIB_USRP_SOURCE} )
|
||||
target_include_directories(oai_usrpdevif PRIVATE
|
||||
"${OPENAIR_DIR}/radio/USRP/USERSPACE/LIB/"
|
||||
${Boost_INCLUDE_DIR}
|
||||
)
|
||||
target_link_libraries(oai_usrpdevif uhd)
|
||||
|
||||
include_directories("${OPENAIR_DIR}/radio/BLADERF/USERSPACE/LIB/")
|
||||
set(HWLIB_BLADERF_SOURCE
|
||||
${OPENAIR_DIR}/radio/BLADERF/USERSPACE/LIB/bladerf_lib.c
|
||||
)
|
||||
add_library(oai_bladerfdevif MODULE ${HWLIB_BLADERF_SOURCE} )
|
||||
target_link_libraries(oai_bladerfdevif bladeRF)
|
||||
|
||||
include_directories("${OPENAIR_DIR}/radio/LMSSDR/USERSPACE/LIB/")
|
||||
|
||||
set(HWLIB_LMSSDR_SOURCE
|
||||
${OPENAIR_DIR}/radio/LMSSDR/USERSPACE/LIB/lms_lib.cpp
|
||||
)
|
||||
add_library(oai_lmssdrdevif MODULE ${HWLIB_LMSSDR_SOURCE} )
|
||||
target_include_directories(oai_lmssdrdevif PRIVATE /usr/local/include/lime)
|
||||
target_link_libraries(oai_lmssdrdevif LimeSuite )
|
||||
|
||||
|
||||
include_directories("${OPENAIR_DIR}/radio/ETHERNET/USERSPACE/LIB/")
|
||||
set(TPLIB_ETHERNET_SOURCE
|
||||
${OPENAIR_DIR}/radio/ETHERNET/USERSPACE/LIB/ethernet_lib.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/USERSPACE/LIB/eth_udp.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/USERSPACE/LIB/eth_raw.c
|
||||
)
|
||||
add_library(oai_eth_transpro MODULE ${TPLIB_ETHERNET_SOURCE} )
|
||||
|
||||
include_directories("${OPENAIR_DIR}/radio/AW2SORI/")
|
||||
link_directories("/usr/local/lib")
|
||||
set(HWLIB_AW2SORI_SOURCE
|
||||
${OPENAIR_DIR}/radio/AW2SORI/oaiori.c
|
||||
)
|
||||
add_library(aw2sori_transpro MODULE ${HWLIB_AW2SORI_SOURCE})
|
||||
target_compile_options(aw2sori_transpro PRIVATE -shared -fPIC -msse4 -g -ggdb -DLITE_COMPILATION)
|
||||
target_link_libraries(aw2sori_transpro libori.so)
|
||||
|
||||
include_directories("${OPENAIR_DIR}/radio/IRIS/USERSPACE/LIB/")
|
||||
set(option_HWIRISLIB_lib "-l SoapySDR")
|
||||
set(HWLIB_IRIS_SOURCE
|
||||
${OPENAIR_DIR}/radio/IRIS/USERSPACE/LIB/iris_lib.cpp
|
||||
)
|
||||
add_library(oai_irisdevif MODULE ${HWLIB_IRIS_SOURCE})
|
||||
target_include_directories(oai_irisdevif PRIVATE /usr/local/lib/SoapySDR/modules0.7/)
|
||||
target_link_libraries(oai_irisdevif SoapySDR)
|
||||
|
||||
# Benetel 4G library
|
||||
######################################################################
|
||||
|
||||
|
||||
include_directories ("/usr/include/dpdk")
|
||||
|
||||
set(HWLIB_BENETEL_4G_SOURCE
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/benetel.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/shared_buffers.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/low.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/low_dpdk.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/4g/dpdk_driver.c
|
||||
)
|
||||
add_library(benetel_4g MODULE ${HWLIB_BENETEL_4G_SOURCE} )
|
||||
|
||||
set_target_properties(benetel_4g PROPERTIES COMPILE_FLAGS "-fvisibility=hidden -I$ENV{RTE_SDK}/$ENV{RTE_TARGET}/include")
|
||||
|
||||
SET(DPDK_LIBS "-Wl,-rpath,$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -Wl,--whole-archive -L$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -ldpdk -Wl,--no-whole-archive")
|
||||
target_link_libraries(benetel_4g PRIVATE ${DPDK_LIBS})
|
||||
target_link_libraries(benetel_4g PRIVATE pthread dl rt m numa)
|
||||
|
||||
# Benetel 5G library
|
||||
######################################################################
|
||||
|
||||
set(HWLIB_BENETEL_5G_SOURCE
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/benetel.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/shared_buffers.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/low.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/low_dpdk.c
|
||||
${OPENAIR_DIR}/radio/ETHERNET/benetel/5g/dpdk_driver.c
|
||||
)
|
||||
add_library(benetel_5g MODULE ${HWLIB_BENETEL_5G_SOURCE} )
|
||||
|
||||
set_target_properties(benetel_5g PROPERTIES COMPILE_FLAGS "-fvisibility=hidden -I$ENV{RTE_SDK}/$ENV{RTE_TARGET}/include")
|
||||
|
||||
SET(DPDK_LIBS "-Wl,-rpath,$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -Wl,--whole-archive -L$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -ldpdk -Wl,--no-whole-archive")
|
||||
target_link_libraries(benetel_5g PRIVATE ${DPDK_LIBS})
|
||||
target_link_libraries(benetel_5g PRIVATE pthread dl rt m numa)
|
||||
|
||||
##########################################################
|
||||
|
||||
# LDPC offload library
|
||||
@@ -1976,13 +1857,6 @@ include_directories("${NFAPI_DIR}/nfapi/inc")
|
||||
include_directories("${NFAPI_DIR}/sim_common/inc")
|
||||
include_directories("${NFAPI_DIR}/pnf_sim/inc")
|
||||
|
||||
add_library(rfsimulator MODULE
|
||||
${OPENAIR_DIR}/radio/rfsimulator/simulator.c
|
||||
${OPENAIR_DIR}/radio/rfsimulator/apply_channelmod.c
|
||||
${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c
|
||||
)
|
||||
target_link_libraries(rfsimulator PRIVATE SIMU)
|
||||
|
||||
add_library(oai_iqplayer MODULE
|
||||
${OPENAIR_DIR}/radio/iqplayer/iqplayer_lib.c
|
||||
)
|
||||
@@ -2040,11 +1914,6 @@ add_executable(nfapi_test
|
||||
${OPENAIR_DIR}/openair2/NR_PHY_INTERFACE/nfapi_5g_test.c
|
||||
)
|
||||
|
||||
add_executable(replay_node
|
||||
${OPENAIR_DIR}/radio/rfsimulator/stored_node.c
|
||||
)
|
||||
target_link_libraries (replay_node minimal_lib)
|
||||
|
||||
add_executable(measurement_display
|
||||
${OPENAIR_DIR}/common/utils/threadPool/measurement_display.c)
|
||||
target_link_libraries (measurement_display minimal_lib)
|
||||
@@ -2583,3 +2452,4 @@ add_subdirectory(doc)
|
||||
add_subdirectory(openair1)
|
||||
add_subdirectory(openair2)
|
||||
add_subdirectory(openair3)
|
||||
add_subdirectory(radio)
|
||||
|
||||
+13
-25
@@ -282,19 +282,27 @@ function main() {
|
||||
case "$2" in
|
||||
"USRP" | "BLADERF" | "LMSSDR" | "IRIS" | "SIMU" | "AW2SORI")
|
||||
HW="OAI_"$2
|
||||
CMAKE_CMD="$CMAKE_CMD -DOAI_$2=ON"
|
||||
;;
|
||||
"None")
|
||||
HW="None"
|
||||
;;
|
||||
*)
|
||||
echo_fatal "Unknown HW type $HW: exit..."
|
||||
echo_fatal "Unknown HW type $2: exit..."
|
||||
esac
|
||||
echo_info "Setting hardware to: $HW"
|
||||
#CMAKE_CMD="$CMAKE_CMD -DRF_BOARD=\"${HW}\""
|
||||
CMAKE_CMD="$CMAKE_CMD -DRF_BOARD=${HW}"
|
||||
shift 2;;
|
||||
-t | --transport)
|
||||
TP=$2
|
||||
case "$2" in
|
||||
"Ethernet" | "benetel4g" | "benetel5g")
|
||||
TP=$2
|
||||
CMAKE_CMD="$CMAKE_CMD -DOAI_${2^^}=ON" # ^^ makes uppercase
|
||||
;;
|
||||
"None")
|
||||
HW="None"
|
||||
;;
|
||||
*)
|
||||
echo_fatal "Unknown TP type $2; exit..."
|
||||
esac
|
||||
shift 2;;
|
||||
-P | --phy_simulators)
|
||||
SIMUS_PHY=1
|
||||
@@ -436,26 +444,6 @@ function main() {
|
||||
fi
|
||||
fi
|
||||
|
||||
########################################################
|
||||
# Check validity of HW and TP parameters for eNB / gNB #
|
||||
########################################################
|
||||
# to be discussed
|
||||
|
||||
if [ "$eNB" = "1" -o "$gNB" = "1" ] ; then
|
||||
if [ "$HW" = "None" -a "$TP" = "None" ] ; then
|
||||
echo_info "No local radio head and no transport protocol selected"
|
||||
fi
|
||||
if [ "$HW" = "None" ] ; then
|
||||
echo_info "No radio head has been selected (HW set to $HW)"
|
||||
fi
|
||||
if [ "$TP" = "None" ] ; then
|
||||
echo_info "No transport protocol has been selected (TP set to $TP)"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo_info "RF HW set to $HW"
|
||||
# If the user doesn't specify the Linux scheduler to use, we set a value
|
||||
|
||||
#######################################################
|
||||
# Setting and printing OAI envs, we should check here #
|
||||
#######################################################
|
||||
|
||||
+5
-5
@@ -874,11 +874,11 @@ INPUT = \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/rfsimulator/rfsimulator.h \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/rfsimulator/simulator.c \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/rfsimulator/apply_channelmod.c \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/USERSPACE/LIB/if_defs.h \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/USERSPACE/LIB/ethernet_lib.c \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/USERSPACE/LIB/eth_udp.c \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/USERSPACE/LIB/ethernet_lib.h \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/USERSPACE/LIB/eth_raw.c \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/if_defs.h \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/ethernet_lib.c \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/eth_udp.c \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/ethernet_lib.h \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../radio/ETHERNET/eth_raw.c \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../common/config/config_cmdline.c \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../common/config/config_paramdesc.h \
|
||||
@CMAKE_CURRENT_SOURCE_DIR@/../common/config/config_userapi.h \
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
#include "common/utils/LOG/log.h"
|
||||
#include "common/utils/LOG/vcd_signal_dumper.h"
|
||||
#include "radio/COMMON/common_lib.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/ethernet_lib.h"
|
||||
#include "radio/ETHERNET/ethernet_lib.h"
|
||||
|
||||
/* these variables have to be defined before including ENB_APP/enb_paramdef.h */
|
||||
static int DEFBANDS[] = {7};
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||
|
||||
#include "radio/COMMON/common_lib.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/if_defs.h"
|
||||
#include "radio/ETHERNET/if_defs.h"
|
||||
|
||||
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||
|
||||
#include "radio/COMMON/common_lib.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/if_defs.h"
|
||||
#include "radio/ETHERNET/if_defs.h"
|
||||
|
||||
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
|
||||
#include "radio/COMMON/common_lib.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/if_defs.h"
|
||||
#include "radio/ETHERNET/if_defs.h"
|
||||
|
||||
#include "PHY/phy_vars.h"
|
||||
#include "PHY/phy_extern.h"
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@
|
||||
#include "rt_profiling.h"
|
||||
|
||||
#include "radio/COMMON/common_lib.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/ethernet_lib.h"
|
||||
#include "radio/ETHERNET/ethernet_lib.h"
|
||||
|
||||
#include "PHY/LTE_TRANSPORT/if4_tools.h"
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||
|
||||
#include "radio/COMMON/common_lib.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/if_defs.h"
|
||||
#include "radio/ETHERNET/if_defs.h"
|
||||
|
||||
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
#include "common/utils/nr/nr_common.h"
|
||||
|
||||
#include "radio/COMMON/common_lib.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/if_defs.h"
|
||||
#include "radio/ETHERNET/if_defs.h"
|
||||
|
||||
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
|
||||
#include "openair1/PHY/MODULATION/nr_modulation.h"
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
|
||||
#include "radio/COMMON/common_lib.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/ethernet_lib.h"
|
||||
#include "radio/ETHERNET/ethernet_lib.h"
|
||||
|
||||
#include "PHY/LTE_TRANSPORT/if4_tools.h"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -39,7 +39,7 @@
|
||||
#include "SystemInformationBlockType2.h"
|
||||
|
||||
#include "PHY/phy_extern.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/ethernet_lib.h"
|
||||
#include "radio/ETHERNET/ethernet_lib.h"
|
||||
#include "common/config/config_userapi.h"
|
||||
#include "RRC_config_tools.h"
|
||||
#include "RRC_paramsvalues.h"
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
#include "LAYER2/MAC/mac_proto.h"
|
||||
#include "PHY/phy_extern.h"
|
||||
#include "PHY/INIT/phy_init.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/ethernet_lib.h"
|
||||
#include "radio/ETHERNET/ethernet_lib.h"
|
||||
#include "nfapi_vnf.h"
|
||||
#include "nfapi_pnf.h"
|
||||
#include "executables/lte-softmodem.h"
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
// #include "LAYER2/MAC/extern.h"
|
||||
// #include "LAYER2/MAC/proto.h"
|
||||
#include "PHY/INIT/nr_phy_init.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/ethernet_lib.h"
|
||||
#include "radio/ETHERNET/ethernet_lib.h"
|
||||
#include "nfapi_vnf.h"
|
||||
#include "nfapi_pnf.h"
|
||||
#include "nr_pdcp/nr_pdcp_oai_api.h"
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
#include "LAYER2/MAC/mac_proto.h"
|
||||
#include "PHY/phy_extern.h"
|
||||
#include "PHY/INIT/phy_init.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/ethernet_lib.h"
|
||||
#include "radio/ETHERNET/ethernet_lib.h"
|
||||
#include "nfapi_vnf.h"
|
||||
#include "nfapi_pnf.h"
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
#include "openair2/RRC/NR_UE/rrc_vars.h"
|
||||
#include "openair2/GNB_APP/L1_nr_paramdef.h"
|
||||
#include "openair2/GNB_APP/gnb_paramdef.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/if_defs.h"
|
||||
#include "radio/ETHERNET/if_defs.h"
|
||||
#include <stdio.h>
|
||||
#include "openair2/GNB_APP/MACRLC_nr_paramdef.h"
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
#include "openair2/PHY_INTERFACE/phy_stub_UE.h"
|
||||
#include "openair2/ENB_APP/L1_paramdef.h"
|
||||
#include "openair2/ENB_APP/enb_paramdef.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/if_defs.h"
|
||||
#include "radio/ETHERNET/if_defs.h"
|
||||
#include "common/config/config_load_configmodule.h"
|
||||
#include "common/config/config_userapi.h"
|
||||
#include <arpa/inet.h>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
#include "LAYER2/MAC/mac_proto.h"
|
||||
#include "PHY/phy_extern.h"
|
||||
#include "PHY/INIT/phy_init.h"
|
||||
#include "radio/ETHERNET/USERSPACE/LIB/ethernet_lib.h"
|
||||
#include "radio/ETHERNET/ethernet_lib.h"
|
||||
#include "nfapi_vnf.h"
|
||||
#include "nfapi_pnf.h"
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
find_library(ori NAMES "libori.so" REQUIRED)
|
||||
if(NOT ori)
|
||||
message(FATAL_ERROR "cannot locate libori.so, required to build aw2sori_transpro")
|
||||
endif()
|
||||
# force that oai_eth_transpro is built as well, as aw2sori_transpro requires it
|
||||
if(NOT OAI_ETHERNET)
|
||||
message(FATAL_ERROR "aw2sori_transpro requires oai_eth_transpro, please enable OAI_ETHERNET (-DOAI_ETHERNET=ON for cmake, or ./build_oai -t Ethernet)")
|
||||
endif()
|
||||
|
||||
add_library(aw2sori_transpro MODULE oaiori.c)
|
||||
target_compile_options(aw2sori_transpro PRIVATE -shared -fPIC -msse4 -g -ggdb -DLITE_COMPILATION)
|
||||
target_link_libraries(aw2sori_transpro PRIVATE ori oai_eth_transpro)
|
||||
set_target_properties(aw2sori_transpro PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,4 @@
|
||||
pkg_check_modules(bladeRF REQUIRED libbladeRF)
|
||||
add_library(oai_bladerfdevif MODULE bladerf_lib.c)
|
||||
target_link_libraries(oai_bladerfdevif PRIVATE bladeRF)
|
||||
set_target_properties(oai_bladerfdevif PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,34 @@
|
||||
add_boolean_option(OAI_AW2SORI OFF "Activate OAI's AW2S driver" OFF)
|
||||
if(OAI_AW2SORI)
|
||||
add_subdirectory(AW2SORI)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_ETHERNET OFF "Activate OAI's Ethernet transport driver" OFF)
|
||||
if(OAI_ETHERNET)
|
||||
add_subdirectory(ETHERNET)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_BLADERF OFF "Activate OAI's BladeRF driver" OFF)
|
||||
if(OAI_BLADERF)
|
||||
add_subdirectory(BLADERF)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_IRIS OFF "Activate OAI's IRIS/SoapySDR driver" OFF)
|
||||
if(OAI_IRIS)
|
||||
add_subdirectory(IRIS)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_LMSSDR OFF "Activate OAI's LimeSDR driver" OFF)
|
||||
if(OAI_LMSSDR)
|
||||
add_subdirectory(LMSSDR)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_SIMU ON "Activate OAI's rfsimulator driver" OFF)
|
||||
if(OAI_SIMU)
|
||||
add_subdirectory(rfsimulator)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_USRP OFF "Activate OAI's USRP driver" OFF)
|
||||
if(OAI_USRP)
|
||||
add_subdirectory(USRP)
|
||||
endif()
|
||||
@@ -0,0 +1,9 @@
|
||||
add_library(oai_eth_transpro MODULE
|
||||
ethernet_lib.c
|
||||
eth_udp.c
|
||||
eth_raw.c
|
||||
)
|
||||
target_include_directories(oai_eth_transpro PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set_target_properties(oai_eth_transpro PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
add_subdirectory(benetel)
|
||||
@@ -0,0 +1,17 @@
|
||||
pkg_check_modules(libdpdk REQUIRED libdpdk=20.05.0)
|
||||
|
||||
add_library(benetel_4g MODULE
|
||||
benetel.c
|
||||
shared_buffers.c
|
||||
low.c
|
||||
low_dpdk.c
|
||||
dpdk_driver.c
|
||||
)
|
||||
|
||||
target_compile_definitions(benetel_4g PROPERTIES COMPILE_FLAGS "-fvisibility=hidden -I$ENV{RTE_SDK}/$ENV{RTE_TARGET}/include")
|
||||
|
||||
SET(DPDK_LIBS "-Wl,-rpath,$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -Wl,--whole-archive -L$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -ldpdk -Wl,--no-whole-archive")
|
||||
target_include_directories(benetel_4g PRIVATE ${libdpdk_INCLUDE_DIRS})
|
||||
target_link_libraries(benetel_4g PRIVATE ${libdpdk_LIBRARIES})
|
||||
target_link_libraries(benetel_4g PRIVATE pthread dl rt m numa)
|
||||
set_target_properties(benetel_4g PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,16 @@
|
||||
pkg_check_modules(libdpdk REQUIRED libdpdk=20.05.0)
|
||||
|
||||
add_library(benetel_5g MODULE
|
||||
benetel.c
|
||||
shared_buffers.c
|
||||
low.c
|
||||
low_dpdk.c
|
||||
dpdk_driver.c
|
||||
)
|
||||
|
||||
SET(DPDK_LIBS "-Wl,-rpath,$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -Wl,--whole-archive -L$ENV{RTE_SDK}/$ENV{RTE_TARGET}/lib -ldpdk -Wl,--no-whole-archive")
|
||||
target_include_directories(benetel_5g PRIVATE ${libdpdk_INCLUDE_DIRS})
|
||||
target_link_libraries(benetel_5g PRIVATE ${libdpdk_LIBRARIES})
|
||||
target_link_libraries(benetel_5g PRIVATE pthread dl rt m numa)
|
||||
set_target_properties(benetel_5g PROPERTIES COMPILE_FLAGS "-fvisibility=hidden -I$ENV{RTE_SDK}/$ENV{RTE_TARGET}/include")
|
||||
set_target_properties(benetel_5g PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,9 @@
|
||||
add_boolean_option(OAI_BENETEL4G OFF "Activate OAI's Benetel 4G radio driver" OFF)
|
||||
if(OAI_BENETEL4G)
|
||||
add_subdirectory(4g)
|
||||
endif()
|
||||
|
||||
add_boolean_option(OAI_BENETEL5G OFF "Activate OAI's Benetel 5G radio driver" OFF)
|
||||
if(OAI_BENETEL5G)
|
||||
add_subdirectory(5g)
|
||||
endif()
|
||||
@@ -19,7 +19,7 @@
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
/*! \file radio/ETHERNET/USERSPACE/LIB/if_defs.h
|
||||
/*! \file radio/ETHERNET/if_defs.h
|
||||
* \brief
|
||||
* \author S. Sandeep Kumar, Raymond Knopp
|
||||
* \date 2016
|
||||
@@ -0,0 +1,5 @@
|
||||
find_package(SoapySDR REQUIRED)
|
||||
|
||||
add_library(oai_irisdevif MODULE iris_lib.cpp)
|
||||
target_link_libraries(oai_irisdevif PRIVATE SoapySDR)
|
||||
set_target_properties(oai_irisdevif PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,5 @@
|
||||
find_package(LimeSuite REQUIRED)
|
||||
|
||||
add_library(oai_lmssdrdevif MODULE lms_lib.cpp)
|
||||
target_link_libraries(oai_lmssdrdevif LimeSuite )
|
||||
set_target_properties(oai_lmssdrdevif PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,7 @@
|
||||
#find_package(Boost REQUIRED)
|
||||
find_package(UHD REQUIRED)
|
||||
|
||||
add_library(oai_usrpdevif MODULE usrp_lib.cpp)
|
||||
#target_include_directories(oai_usrpdevif PRIVATE Boost::boost)
|
||||
target_link_libraries(oai_usrpdevif uhd)
|
||||
set_target_properties(oai_usrpdevif PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
@@ -0,0 +1,11 @@
|
||||
add_library(rfsimulator MODULE
|
||||
simulator.c
|
||||
apply_channelmod.c
|
||||
../../openair1/PHY/TOOLS/signal_energy.c
|
||||
)
|
||||
target_link_libraries(rfsimulator PRIVATE SIMU)
|
||||
target_link_libraries(rfsimulator PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||
set_target_properties(rfsimulator PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
add_executable(replay_node stored_node.c)
|
||||
target_link_libraries (replay_node minimal_lib)
|
||||
Reference in New Issue
Block a user