From 2fe84d937c8e190e5d82e55b0d1ebfc948d6bf0b Mon Sep 17 00:00:00 2001 From: Guy De Souza <desouza@eurecom.fr> Date: Thu, 22 Mar 2018 11:03:32 +0100 Subject: [PATCH] Build folder change/ NR exec --- cmake_targets/CMakeLists.txt | 92 ++++++++++++++++++- cmake_targets/build_oai | 57 +++++------- .../lte_noS1_build_oai/CMakeLists.template | 9 -- cmake_targets/tools/build_helper | 2 +- openair1/PHY/INIT/defs_NR.h | 27 ++++++ openair1/PHY/INIT/nr_init.c | 25 +++++ openair1/PHY/INIT/nr_parms.c | 24 +++++ targets/RT/USER/nr-softmodem.c | 22 +++++ targets/RT/USER/nr-softmodem.h | 4 + 9 files changed, 213 insertions(+), 49 deletions(-) delete mode 100644 cmake_targets/lte_noS1_build_oai/CMakeLists.template create mode 100644 openair1/PHY/INIT/defs_NR.h create mode 100644 openair1/PHY/INIT/nr_init.c create mode 100644 openair1/PHY/INIT/nr_parms.c create mode 100644 targets/RT/USER/nr-softmodem.c create mode 100644 targets/RT/USER/nr-softmodem.h diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt index e5f4730fe6..2bb4ce31ee 100644 --- a/cmake_targets/CMakeLists.txt +++ b/cmake_targets/CMakeLists.txt @@ -1232,6 +1232,53 @@ set(PHY_SRC_UE ${OPENAIR1_DIR}/PHY/TOOLS/lut.c ) + set(PHY_NR_SRC + # depend on code generation from asn1c + ${RRC_FULL_DIR}/asn1_constants.h + # actual source + ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/if4_tools.c + ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/if5_tools.c + ${OPENAIR1_DIR}/PHY/MODULATION/ofdm_mod.c + ${OPENAIR1_DIR}/PHY/MODULATION/slot_fep.c + ${OPENAIR1_DIR}/PHY/INIT/nr_parms.c + ${OPENAIR1_DIR}/PHY/TOOLS/file_output.c + ${OPENAIR1_DIR}/PHY/TOOLS/cadd_vv.c + ${OPENAIR1_DIR}/PHY/TOOLS/lte_dfts.c + ${OPENAIR1_DIR}/PHY/TOOLS/log2_approx.c + ${OPENAIR1_DIR}/PHY/TOOLS/cmult_sv.c + ${OPENAIR1_DIR}/PHY/TOOLS/cmult_vv.c + ${OPENAIR1_DIR}/PHY/TOOLS/cdot_prod.c + ${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c + ${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c + ${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c + ${OPENAIR1_DIR}/PHY/TOOLS/time_meas.c + ${OPENAIR1_DIR}/PHY/TOOLS/lut.c + ) + + set(PHY_NR_UE_SRC + # depend on code generation from asn1c + ${RRC_FULL_DIR}/asn1_constants.h + # actual source + ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/if4_tools.c + ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/if5_tools.c + ${OPENAIR1_DIR}/PHY/MODULATION/ofdm_mod.c + ${OPENAIR1_DIR}/PHY/MODULATION/slot_fep.c + ${OPENAIR1_DIR}/PHY/INIT/nr_parms.c + ${OPENAIR1_DIR}/PHY/TOOLS/file_output.c + ${OPENAIR1_DIR}/PHY/TOOLS/cadd_vv.c + ${OPENAIR1_DIR}/PHY/TOOLS/lte_dfts.c + ${OPENAIR1_DIR}/PHY/TOOLS/log2_approx.c + ${OPENAIR1_DIR}/PHY/TOOLS/cmult_sv.c + ${OPENAIR1_DIR}/PHY/TOOLS/cmult_vv.c + ${OPENAIR1_DIR}/PHY/TOOLS/cdot_prod.c + ${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c + ${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c + ${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c + ${OPENAIR1_DIR}/PHY/TOOLS/time_meas.c + ${OPENAIR1_DIR}/PHY/TOOLS/lut.c + ) + + if (${SMBV}) set(PHY_SRC "${PHY_SRC} ${OPENAIR1_DIR}/PHY/TOOLS/smbv.c") endif (${SMBV}) @@ -1242,6 +1289,8 @@ endif () add_library(PHY ${PHY_SRC}) add_library(PHY_UE ${PHY_SRC_UE}) +add_library(PHY_NR ${PHY_NR_SRC}) +add_library(PHY_NR_UE ${PHY_NR_UE_SRC}) #Layer 2 library ##################### @@ -1940,7 +1989,7 @@ add_definitions(-DASN1_MINIMUM_VERSION=924) # add executables for operation ################################# -# lte-softmodem is both eNB and UE implementation +# lte-softmodem is eNB implementation ################################################### add_executable(lte-softmodem @@ -1980,7 +2029,7 @@ target_link_libraries (lte-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CR target_link_libraries (lte-softmodem ${LIB_LMS_LIBRARIES}) target_link_libraries (lte-softmodem ${T_LIB}) -# lte-softmodem-nos1 is both eNB and UE implementation +# lte-softmodem-nos1 is eNB implementation ################################################### add_executable(lte-softmodem-nos1 ${rrc_h} @@ -2053,7 +2102,7 @@ target_link_libraries (lte-uesoftmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${ target_link_libraries (lte-uesoftmodem ${LIB_LMS_LIBRARIES}) target_link_libraries (lte-uesoftmodem ${T_LIB}) -# lte-softmodem-nos1 is both eNB and UE implementation +# lte-softmodem-nos1 is UE implementation ################################################### add_executable(lte-uesoftmodem-nos1 ${rrc_h} @@ -2087,6 +2136,43 @@ target_link_libraries (lte-uesoftmodem-nos1 pthread m ${CONFIG_LIBRARIES} rt cry target_link_libraries (lte-uesoftmodem-nos1 ${LIB_LMS_LIBRARIES}) target_link_libraries (lte-uesoftmodem-nos1 ${T_LIB}) +# nr-softmodem +################################################### + +add_executable(nr-softmodem + #${rrc_h} + #${s1ap_h} + ${OPENAIR_BIN_DIR}/messages_xml.h + ${OPENAIR_TARGETS}/RT/USER/rt_wrapper.c + ${OPENAIR_TARGETS}/RT/USER/lte-ru.c + ${OPENAIR1_DIR}/SIMULATION/TOOLS/taus.c + ${OPENAIR_TARGETS}/COMMON/create_tasks.c + ${OPENAIR_TARGETS}/ARCH/COMMON/common_lib.c + ${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c + #${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c + ${OPENAIR_DIR}/common/utils/utils.c + ${OPENAIR_DIR}/common/utils/system.c + ${GTPU_need_ITTI} + ${XFORMS_SOURCE} + ${XFORMS_SOURCE_SOFTMODEM} + ${T_SOURCE} + ${CONFIG_SOURCES} + ${SHLIB_LOADER_SOURCES} + ) + +target_link_libraries (nr-softmodem + -Wl,--start-group + UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB PHY_NR LFDS GTPV1U SECU_CN SECU_OSA + ${ITTI_LIB} ${FLPT_MSG_LIB} ${ASYNC_IF_LIB} ${FLEXRAN_AGENT_LIB} LFDS7 ${MSC_LIB} ${RAL_LIB} ${NAS_UE_LIB} + #RRC_LIB S1AP_LIB S1AP_ENB L2 + #NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB + -Wl,--end-group z dl) + +target_link_libraries (nr-softmodem ${LIBXML2_LIBRARIES}) +target_link_libraries (nr-softmodem pthread m ${CONFIG_LIBRARIES} rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} sctp ${XFORMS_LIBRARIES} ${PROTOBUF_LIB} ${CMAKE_DL_LIBS} ${LIBYAML_LIBRARIES}) +target_link_libraries (nr-softmodem ${LIB_LMS_LIBRARIES}) +target_link_libraries (nr-softmodem ${T_LIB}) + # USIM process ################# #add_executable(usim diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 5fd86249c5..596b5aff72 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -506,43 +506,28 @@ function main() { echo_info "3. building the compilation directives ..." DIR=$OPENAIR_DIR/cmake_targets - if [ "$NR" = "True" ] - then - if [ "$NOS1" = "1" ] ; then - build_dir=nr_noS1_build_oai - if [ "$gNB" = "1" ] ; then - exec=nr-softmodem-nos1 - fi - if [ "$nrUE" = "1" ] ; then - exec=nr-uesoftmodem-nos1 - fi - else - build_dir=nr_build_oai - if [ "$gNB" = "1" ] ; then - exec=nr-softmodem - fi - if [ "$nrUE" = "1" ] ; then - exec=nr-uesoftmodem - fi - fi + if [ "$NOS1" = "1" ] ; then + build_dir=noS1_build_ran + if [ "$gNB" = "1" ] ; then + exec=nr-softmodem-nos1 + elif [ "$nrUE" = "1" ] ; then + exec=nr-uesoftmodem-nos1 + elif [ "$eNB" = "1" ] ; then + exec=lte-softmodem-nos1 + elif [ "$UE" = "1" ] ; then + exec=lte-uesoftmodem-nos1 + fi else - if [ "$NOS1" = "1" ] ; then - build_dir=lte_noS1_build_oai - if [ "$eNB" = "1" ] ; then - exec=lte-softmodem-nos1 - fi - if [ "$UE" = "1" ] ; then - exec=lte-uesoftmodem-nos1 - fi - else - build_dir=lte_build_oai - if [ "$eNB" = "1" ] ; then - exec=lte-softmodem - fi - if [ "$UE" = "1" ] ; then - exec=lte-uesoftmodem - fi - fi + build_dir=build_ran + if [ "$gNB" = "1" ] ; then + exec=nr-softmodem + elif [ "$nrUE" = "1" ] ; then + exec=nr-uesoftmodem + elif [ "$eNB" = "1" ] ; then + exec=lte-softmodem + elif [ "$UE" = "1" ] ; then + exec=lte-uesoftmodem + fi fi # configuration module libraries, one currently available, using libconfig diff --git a/cmake_targets/lte_noS1_build_oai/CMakeLists.template b/cmake_targets/lte_noS1_build_oai/CMakeLists.template deleted file mode 100644 index c8fc68da52..0000000000 --- a/cmake_targets/lte_noS1_build_oai/CMakeLists.template +++ /dev/null @@ -1,9 +0,0 @@ -set(ENABLE_ITTI True) -set(ENABLE_USE_MME False) -set(PDCP_USE_NETLINK True) -set(LINK_ENB_PDCP_TO_IP_DRIVER True) -set(LINK_ENB_PDCP_TO_GTPV1U False) -set(PDCP_USE_NETLINK_QUEUES False) -set(LINUX True) -set(SECU False) -set(NAS_UE False) diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 706cd05fe9..2b8123c86b 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -147,7 +147,7 @@ clean_all_files() { set_openair_env dir=$OPENAIR_DIR/cmake_targets rm -rf $dir/log $OPENAIR_DIR/targets/bin/* - rm -rf $dir/lte_build_oai $dir/lte-simulators/build + rm -rf $dir/build_oai $dir/lte-simulators/build rm -rf $dir/oaisim_build_oai/build $dir/oaisim_build_oai/CMakeLists.txt rm -rf $dir/autotests/bin $dir/autotests/log $dir/autotests/*/build } diff --git a/openair1/PHY/INIT/defs_NR.h b/openair1/PHY/INIT/defs_NR.h new file mode 100644 index 0000000000..f4915401dd --- /dev/null +++ b/openair1/PHY/INIT/defs_NR.h @@ -0,0 +1,27 @@ +/* + * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The OpenAirInterface Software Alliance licenses this file to You under + * the OAI Public License, Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.openairinterface.org/?page_id=698 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *------------------------------------------------------------------------------- + * For more information about the OpenAirInterface (OAI) Software Alliance: + * contact@openairinterface.org + */ + +#ifndef __INIT_DEFS_NR__H__ +#define __INIT_DEFS_NR__H__ + +#include "PHY/defs.h" + +#endif diff --git a/openair1/PHY/INIT/nr_init.c b/openair1/PHY/INIT/nr_init.c new file mode 100644 index 0000000000..9a9e7c6b3e --- /dev/null +++ b/openair1/PHY/INIT/nr_init.c @@ -0,0 +1,25 @@ +/* + * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The OpenAirInterface Software Alliance licenses this file to You under + * the OAI Public License, Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.openairinterface.org/?page_id=698 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *------------------------------------------------------------------------------- + * For more information about the OpenAirInterface (OAI) Software Alliance: + * contact@openairinterface.org + */ + +#include "defs.h" +#include "defs_NR.h" +#include "assertions.h" +#include <math.h> diff --git a/openair1/PHY/INIT/nr_parms.c b/openair1/PHY/INIT/nr_parms.c new file mode 100644 index 0000000000..76ca0f043d --- /dev/null +++ b/openair1/PHY/INIT/nr_parms.c @@ -0,0 +1,24 @@ +/* + * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The OpenAirInterface Software Alliance licenses this file to You under + * the OAI Public License, Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.openairinterface.org/?page_id=698 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *------------------------------------------------------------------------------- + * For more information about the OpenAirInterface (OAI) Software Alliance: + * contact@openairinterface.org + */ + +#include "defs.h" +#include "defs_NR.h" +#include "log.h" diff --git a/targets/RT/USER/nr-softmodem.c b/targets/RT/USER/nr-softmodem.c new file mode 100644 index 0000000000..772f8f5641 --- /dev/null +++ b/targets/RT/USER/nr-softmodem.c @@ -0,0 +1,22 @@ +/* + * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The OpenAirInterface Software Alliance licenses this file to You under + * the OAI Public License, Version 1.1 (the "License"); you may not use this file + * except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.openairinterface.org/?page_id=698 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *------------------------------------------------------------------------------- + * For more information about the OpenAirInterface (OAI) Software Alliance: + * contact@openairinterface.org + */ + + #include "nr-softmodem.h" diff --git a/targets/RT/USER/nr-softmodem.h b/targets/RT/USER/nr-softmodem.h new file mode 100644 index 0000000000..52ff1e1e3a --- /dev/null +++ b/targets/RT/USER/nr-softmodem.h @@ -0,0 +1,4 @@ +#ifndef LTE_SOFTMODEM_H +#define LTE_SOFTMODEM_H + +#endif -- GitLab