37 Commits
Author SHA1 Message Date
Robert Schmidt 05d393a399 Encapsulate cmake asn1c call, suppress useless output
Encapsulate the asn1c call from cmake in a cmake function run_asn1c().
As a notable change to the previous manual add_custom_command()
invocation, in suppresses the output of asn1c by default [1] and stores
it in a log file. In case of asn1c4 error, the output will output on
stdout.

Use the new run_asn1c() in all occasions for code generation.

[1] it is quite verbose, with many warnings that we cannot influence nor
suppress, and lists all generated files which is verified by the build
system automatically, anyway.
2025-04-09 14:35:29 +00:00
Robert Schmidt fdb2abebd0 Add cmake option to select asn1c, and test asn1c parameters
CMake now takes the option ASN1C_EXEC to select an asn1c to use for
compilation. For instance, run with
cmake .. -GNinja -DASN1C_EXEC=/opt/asn1c/bin/asn1c
or
./build_oai --cmake-opt -DASN1C_EXEC=/opt/asn1c/bin/asn1c
to select the alternative asn1c. For instance, this is important for the
CI to allow to build multiple versions of OAI in parallel that might use
different commits of OAI.

Further, this patch introduces functionality to check for the support of
asn1c options that we require, and alerts the user if they are missing,
alongside a message of how to resolve the problem.
2023-06-02 10:42:02 +02:00
Cedric Roux c0c3a737ed asn1c: use better version of asn1c
We don't work much on asn1c. The version we use has several bugs.
There is an active community out there that fixes bugs and improves
asn1c. Let's use their version.
2023-06-01 18:26:00 +02:00
Robert Schmidt cf6ff96b21 Generate and build X2AP ASN.1 during build time 2022-12-02 15:42:35 +01:00
yilmazt 7bb5320716 develop-nr up-to-date as of 8.8.19 2019-08-08 17:44:19 +02:00
matzakos 2adf459f6e Update X2AP to Rel.15 to support EN-DC X2 signaling for 5G Non-standalone 2019-08-01 12:19:17 +02:00
Bi-Ruei, Chiu 6b4419ad13 Update ASN.1 to newest version
LTE-RRC 15.6.0
NR-RRC  15.6.0
S1AP    15.6.0
X2AP    15.6.0 and 14.7.0
2019-07-29 20:35:33 +08:00
yilmazt 7719314983 Merge branch 'develop' into develop-nr 2019-05-17 17:11:31 +02:00
Cedric Roux aea6b4b5a6 fix a lot of file mode
For whatever reason most of the files had their permission
changed from 644 to 755, which is not wanted.
2019-01-07 16:22:28 +01:00
Raymond Knopp d24f521a5a Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
	openair1/PHY/LTE_TRANSPORT/edci.c
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/print_stats.c
	openair1/PHY/LTE_TRANSPORT/pucch.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/ENB_APP/enb_paramdef.h
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/defs.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/pre_processor.c
	openair2/LAYER2/MAC/rar_tools.c
	openair2/LAYER2/MAC/ue_procedures.c
	openair2/PHY_INTERFACE/IF_Module.c
	openair2/RRC/LITE/rrc_common.c
	openair2/RRC/LTE/L2_interface_ue.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_eNB.c
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
2018-10-29 07:54:17 +01:00
Bi-Ruei, Chiu c35867e910 Upgrade ASN.1 of S1AP and X2AP to 15.3.0 2018-10-17 20:37:33 +08:00
WEI-TAI CHEN 9b7143ca86 merge develop 2018-08-05 06:19:32 -07:00
Bi-Ruei, Chiu 0071fb6173 Add ASN files of LTE-RRC, S1AP and X2AP of 2018 Jun release 2018-07-13 10:04:46 +08:00
Bi-Ruei, Chiu a247907d3a Use an un-official community collaboration version of asn1c
1. It's no need to modify LTE-RRC's ASN.1 file for enabling option group
   feature in generate_asn1.
2. It's no need to patch the C header files generated from
   LTE-RRC/S1AP/X2AP's ASN.1 in fix_asn1.
3. It's no need to pre-process S1AP/X2AP's ASN.1 for enabling information
   object class feature by asn1tostruct.py.

This commit requires an un-official version of asn1c which are
collaboration of asn1c community members and `build_helper` is modified
in this commit accordingly :

  https://github.com/brchiu/asn1c/tree/velichkov_s1ap_plus_option_group

This asn1c can also convert ASN.1 of 5G NR RRC (38.331, v15.1.0) and
generate C files with -findirect-choice command line option without
tweaking ASN.1 file.

Examples for how to use this asn1c for S1AP are in S1AP files, e.g.
s1ap_eNB_nas_procedures.c and s1ap_eNB_handler.c.

There is an modified openair-cn (based on tag 0.5.0) with this new asn1c at :

  https://github.com/brchiu/openair-cn/tree/new-asn1c

Basic S1AP interaction and data transfer operation between OAI eNB and
this modified openair-cn has been tested.

Note: Community version of asn1c is keeping evolved to provide better usage.
2018-07-13 10:04:46 +08:00
Bi-Ruei, Chiu 7321aab67e Add S1AP R14 based on new asn1c
This feature requires an un-official version of asn1c :

https://github.com/velichkov/asn1c/tree/s1ap
2018-03-28 00:19:01 +08:00
Raymond Knopp 51a9107c14 Merge branch 'RU-RAU-split' of https://gitlab.eurecom.fr/oai/openairinterface5g into RU-RAU-split
Conflicts:
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/RRC/LITE/MESSAGES/asn1_msg.c
	targets/RT/USER/lte-ru.c
2017-10-25 00:40:20 +02:00
Cedric Roux 1b1f941e3c upgrade license to version 1.1 2017-10-23 12:22:13 +02:00
khalidhamdy d847f3cad5 solving some errors 2017-08-14 11:04:50 +02:00
Cedric Roux b0662e4bbe update licensing information in remaining files
The text has been updated in all those files.

	modified:   README.txt
	modified:   cmake_targets/CMakeLists.txt
	modified:   cmake_targets/at_commands/CMakeLists.txt
	modified:   cmake_targets/autotests/core.py
	modified:   cmake_targets/autotests/log.py
	modified:   cmake_targets/autotests/openair.py
	modified:   cmake_targets/autotests/run_exec_autotests.bash
	modified:   cmake_targets/autotests/run_exec_lte-softmodem_tests.py
	modified:   cmake_targets/autotests/tools/configure_cots_bandrich_ue.py
	modified:   cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py
	modified:   cmake_targets/autotests/tools/configure_usrpb210.py
	modified:   cmake_targets/autotests/tools/find_usb_path.bash
	modified:   cmake_targets/autotests/tools/free_mem.bash
	modified:   cmake_targets/autotests/tools/iperf3_script
	modified:   cmake_targets/autotests/tools/iperf3_script_phone
	modified:   cmake_targets/autotests/tools/iperf_script
	modified:   cmake_targets/autotests/tools/iperf_script_phone
	modified:   cmake_targets/autotests/tools/lib_autotest.py
	modified:   cmake_targets/autotests/tools/search_repl.py
	modified:   cmake_targets/build_oai
	modified:   cmake_targets/tools/asn1tostruct.py
	modified:   cmake_targets/tools/build_helper
	modified:   cmake_targets/tools/build_test_epc_tools
	modified:   cmake_targets/tools/example_enb_exmimo_mme_hss.txt
	modified:   cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt
	modified:   cmake_targets/tools/indent_source_code
	modified:   cmake_targets/tools/init_exmimo2
	modified:   cmake_targets/tools/init_nas_nos1
	modified:   cmake_targets/tools/perf_oai.bash
	modified:   cmake_targets/tools/run_enb_s1_exmimo
	modified:   cmake_targets/tools/run_enb_s1_usrp
	modified:   cmake_targets/tools/run_enb_ue_virt_noS1
	modified:   cmake_targets/tools/run_enb_ue_virt_s1
	modified:   openair2/DOCS/TEMPLATES/README/Readme.doxy
	modified:   openair2/DOCS/TEMPLATES/README/readme.txt
	modified:   openair2/Makefile
	modified:   openair2/UTIL/OCG/Readme.doxy
	modified:   openair2/UTIL/OCG/readme.txt
	modified:   openair2/UTIL/OSD/recep.php
	modified:   openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py
	modified:   openair3/DOCS/DOXYGEN/Makefile.am
	modified:   openair3/DOCS/Latex/EPC/Makefile
	modified:   openair3/DOCS/Makefile.am
	modified:   openair3/GTPV1-U/Makefile.am
	modified:   openair3/GTPV1-U/Makefile.eNB
	modified:   openair3/NAS/TEST/AS_SIMULATOR/Makefile
	modified:   openair3/NAS/TEST/NETWORK/Makefile
	modified:   openair3/NAS/TEST/USER/Makefile
	modified:   openair3/NAS/TOOLS/Makefile
	modified:   openair3/NAS/UE/API/USER/Makefile
	modified:   openair3/NAS/UE/API/USER/tst/Makefile
	modified:   openair3/NAS/UE/API/USIM/Makefile
	modified:   openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py
	modified:   openair3/TEST/Makefile.am
	modified:   targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc
	modified:   targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc
	modified:   targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc
	modified:   targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc
	modified:   targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc
	modified:   targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc
	modified:   targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc
	modified:   targets/PROJECTS/E-MBMS/build_all.bash
	modified:   targets/PROJECTS/E-MBMS/start_enb.bash
	modified:   targets/PROJECTS/E-MBMS/start_ue.bash
	modified:   targets/PROJECTS/E-MBMS/utils.bash
	modified:   targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash
	modified:   targets/PROJECTS/GENERIC-LTE-EPC/networks.bash
	modified:   targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash
	modified:   targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash
	modified:   targets/PROJECTS/GENERIC-LTE-EPC/utils.bash
	modified:   targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash
	modified:   targets/SCRIPTS/install_asn1c_0.9.24.modified.bash
	modified:   targets/TEST/OAI/case01.py
	modified:   targets/TEST/OAI/case02.py
	modified:   targets/TEST/OAI/case03.py
	modified:   targets/TEST/OAI/case04.py
	modified:   targets/TEST/OAI/case05.py
	modified:   targets/TEST/OAI/case11.py
	modified:   targets/TEST/OAI/case12.py
	modified:   targets/TEST/OAI/case13.py
	modified:   targets/TEST/OAI/core.py
	modified:   targets/TEST/OAI/log.py
	modified:   targets/TEST/OAI/openair.py
	modified:   targets/TEST/OAI/test01.py
	modified:   targets/TEST/OAI/test02.py
	modified:   targets/TEST/PDCP/readme.txt
	modified:   targets/build_helper.bash
	modified:   targets/build_oai.bash
	modified:   targets/perf_oai.bash
2016-09-28 11:17:33 +02:00
navid a6137e7cfd * add X2AP messages and generate libx2ap_LIB (currently enabled for oaisim)
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7854 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2015-09-30 10:55:40 +00:00
Navid Nikaein e861524b64 * add a OAI build script with options
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5783 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2014-09-12 06:19:51 +00:00
Navid Nikaein 65c84039ad * Update license and header files
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5578 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2014-07-22 13:43:51 +00:00
Lionel Gauthier 50fd082ca4 TO BE INTEGRATED
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5430 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2014-06-24 11:12:45 +00:00
Lionel Gauthier b80d80914c git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5429 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-06-24 10:46:34 +00:00
Lionel Gauthier ec8a2a7720 - Converts asn1 PDU descriptions to C structures and IE codecs
From BSCW LTE_X2_Handover/S1AP and ASN.1

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5428 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2014-06-24 10:40:21 +00:00
Lionel Gauthier b3829736e3 For EPC, tested scenario is IMSI attach with EURECOM NAS UE, (not GUTI)
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5282 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2014-04-22 10:51:56 +00:00
Lionel Gauthier abfde257f2 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5280 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 16:38:30 +00:00
Lionel Gauthier c3f30035e9 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5278 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 15:49:03 +00:00
Lionel Gauthier 3cb50b681d git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5277 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 11:34:51 +00:00
Lionel Gauthier eef54a7376 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5276 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 11:34:12 +00:00
Lionel Gauthier af375f3350 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5268 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 09:06:50 +00:00
Lionel Gauthier effd6f5811 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5267 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 09:06:28 +00:00
Lionel Gauthier cb5dd550c5 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5266 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 09:06:05 +00:00
Lionel Gauthier fcd668b2e5 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5265 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 09:05:00 +00:00
Lionel Gauthier 85c7ed4424 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5264 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 09:04:24 +00:00
Lionel Gauthier 1bf1355900 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5263 818b1a75-f10b-46b9-bf7c-635c3b92a50f 2014-04-18 09:03:37 +00:00
Lionel Gauthier 2903015365 add asn definition files
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5255 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2014-04-17 09:24:54 +00:00