Commit Graph

206 Commits

Author SHA1 Message Date
Andre Puschmann 35c8c712e4 cmake: fix typo 2022-05-23 15:56:45 +02:00
Robert Falkenberg 21a4a675dd cmake/gcc: disable [-Werror=maybe-uninitialized] for GCC >= 12.1.0
With GCC 12.1.0 there are numerous false-positive warnings on
"maybe uninitialized" variables.
2022-05-18 15:01:37 +02:00
Ismael Gomez 6989d435d4 cmake: reduce version requirement 2022-03-26 23:12:57 +01:00
Robert Falkenberg d2d76b7d97 srsran_rf, ASAN: Enforce RPATH instead of RUNPATH to find RF plugins in build tree when built with ASAN. 2022-02-22 14:40:22 +01:00
Robert Falkenberg 3a73d84294 srsran_rf: support dynamic loading of RF plugins
This adds flexible plugin-like loading of the individual RF
implementations (zmq, uhd, soapy,...) as per availability at runtime.
Unlike before, the binary application is not terminated if the
dependencies of individual RF interfaces are not installed on the
executing system.  To do this, the plugins are not linked by the linker
at compile time, but opened at runtime via dlopen() and dropped in case
of failure due to missing dependencies.
2022-02-18 15:11:23 +01:00
faluco 1ec8e8a94e Raise C++ version to 14 and fix ill-formed code that is considered by this new standard. 2022-01-13 13:35:58 +00:00
faluco 12c1e68156 Raise the minimum CMake version to 3.10 as it is the one used in Ubuntu 18.04LTS. 2021-12-14 20:35:32 +01:00
dvdgrgrtt cfa614226e Fix misnamed variable
The same variable was used to store two different sets of compiler
flags.
2021-11-29 15:25:34 +01:00
Pedro Alvarez 2384b50528 Fix cmakelists not disabling unused but set variable on C 2021-11-25 17:45:05 +00:00
Robert Falkenberg 02f261c0a9 rf: build srsran_rf as static library
For Ubuntu 18.04: Linking the static srsran_rf to libuhd
also requires to link Boost's "system" library.

Newer systems do not require this special handling.
2021-11-12 15:33:58 +01:00
Andre Puschmann 0967cda042 gnb,stack: move gNB components into own folder
* move RRC, MAC, NGAP, SDAP into gnb folder
* move testing code below respective layers
2021-11-05 15:26:06 +01:00
Alejandro Leal Conejos 9daa32e591 Configure the term timeout using the cmake definition
EXTRA_TERM_TIMEOUT_S
2021-10-22 13:52:07 +02:00
dvdgrgrtt 821e6834d9 Fix CMake to work with new CPUs and old GCCs 2021-10-05 16:47:49 +02:00
Xavier Arteaga 96ee4b7258 SIDEKIQ: Initial implementation
SIDEKIQ: Add SKIQ_FOUND to RF found condition

SIDEKIQ: finished SKIQ component abstraction

SIDEKIQ: fix issues and added external PPS example

SIDEKIQ: add PPS test card index argument

SIDEKIQ: improvements

SIDEKIQ: improved srate change

SIDEKIQ: more improvements

SIDEKIQ: more fixes

SIDEKIQ: fix Rx ch gain

SIDEKIQ: Fix multi-card synchronism

SIDEKIQ: Better Rx gain tracking
2021-07-23 12:57:30 +02:00
Xavier Arteaga c11a5cc2c8 Walk around GCC 4.8 compilation 2021-07-05 17:51:27 +02:00
yagoda ce30b7e1ce fixing eMBMS after new ue_db architecture and scheduler changes 2021-06-21 11:20:03 +02:00
Andre Puschmann 5d238a6d80 cmake: fix compilation with MSAN and enable origin tracking 2021-06-03 20:43:37 +02:00
Andre Puschmann 7ee38e6255 threads: disable thread attributes when compiled with TSAN
TSAN doesn't work well then threads are created with attributes
thar require root rights but the process is run as normal user.

this patch avoid the thread attributes in this case. TSAN isn't going
to be used for production builds.
2021-06-02 09:36:44 +02:00
Xavier Arteaga f33731ecd4 Disable irrelevant unit/component test by default 2021-05-27 16:06:17 +02:00
Andre Puschmann 833ddc3229 build: fix linking failure on RPi 32bit
this fixes a linking problem with RPi 3 (and probably others) running
with Raspbian (new Raspberry Pi OS) that can't use the inline
atomic functions but instead require linking against the lib -latomic.

The CMake code is based on SoapyRTLSdr file (licensed under MIT)
https://github.com/pothosware/SoapyRTLSDR/blob/master/CheckAtomic.cmake
2021-05-09 20:58:48 +02:00
Andre Puschmann 7459a65a8e enb,rrc_ue: remove unused variable 2021-04-07 22:19:08 +02:00
Francisco 89628b691f add thread sanitizer cmake flag 2021-04-07 16:11:31 +01:00
Francisco b5692037a2 created macros for assertions and warnings. The assert macro prints the whole callstack on crash. The warning macro can just log a warning or call an assertion fail depending on the cmake flag STOP_ON_WARNING 2021-03-23 10:49:28 +00:00
Codebot 4523ee6087 rename srsLTE to srsRAN 2021-03-21 21:47:01 +01:00
Andre Puschmann d35d7aef76 cmake: add PARALLEL_COMPILE_JOBS option to project CMakeLists.txt
this allows to limit the number of compile jobs to e.g. one or two
which is needed when using parallel build systems like Ninja on
resource (RAM) contrained systems, like the RPi4
2021-03-11 16:19:51 +01:00
faluco 82db6544fb Add instrumentation points to rlc_am_lte::rlc_am_lte_tx::handle_control_pdu using srslog. 2021-03-10 11:59:09 +01:00
David Rupprecht 0f1586dd2d Deleted all HAVE_5GNR in CC and h files
CMakeList and travis yaml
2021-02-22 21:16:04 +01:00
Francisco dc4283c572 added cmake functions as helpers to set labels in ctests 2021-02-12 20:27:31 +01:00
Andre Puschmann 3784439088 add backward as backtrace pretty printer
this patch adds the MIT-licensed header-only library backward-cpp
as possible alternative for our internal backtrace-to-file
writer.
2021-01-28 16:52:52 +01:00
Ismael Gomez 1d0e5d725f Do not hide symbols in debug mode so backtraces can display function info 2020-12-18 13:01:34 +01:00
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 2020-12-12 15:59:25 +01:00
Pedro Alvarez 2dfe335117 Remove -Winline from compiler flags. 2020-12-12 15:59:16 +01:00
Xavier Arteaga ef799a9b42 Avoid GCC native architecture for AVX512 CPUs when AVX512 is disabled 2020-12-12 15:58:34 +01:00
faluco db03275337 - Fix compiler errors when trying to build the project without SIMD support. 2020-09-02 12:35:18 +02:00
faluco 12e82a947f
LTO compiler and linker fixes (#1676)
* Guard the LTO feature in a CMAKE option and document possible issues of using it.
2020-09-02 09:21:56 +02:00
Andre Puschmann 6c12728cc7 cmake: only add large function growth param when using gcc
the param is only available in gcc so we must not add it to the CFLAGS
when compiling with clang
2020-08-10 15:48:55 +02:00
Andre Puschmann fffff5e7bc cmake: increase function inlining limit
gcc sets the inlining limit a bit arbitrary and the default gcc
on the RPi2 seems to use a lower value so compiling the SIMD
extensions fails with an "inlining failed" error in
srslte_mat_2x2_mmse_csi_simd().

this patch increases the default value. even though its
increased for all platforms it shouldn't case issues on other
machines. the value isn't used by clang.
2020-08-10 11:27:29 +02:00
faluco 3c59d90c17 Disabled strict aliasing in C and C++. 2020-05-19 14:38:58 +02:00
faluco 3fa5926cd5 Fix SIMD neg operation which was inverted.
Re-enable -Werror.
2020-05-08 21:17:05 +02:00
Andre Puschmann 189685b6f5 demod_soft: fix clang warning in demod NEON code
Try to bring back compilation.
Disable temporarily Werror.

Re-enable two simd functions.
2020-05-08 21:17:05 +02:00
faluco 2deeccb416 Re-enable -Werror. 2020-05-07 10:10:24 +02:00
faluco d3cb5dcffd Start fixing clang 10.0.0 warnings.
Disable -Werror temporarily.
2020-05-07 10:10:24 +02:00
faluco da4f9cde40 Enable -Werror by default except for older GCCs. 2020-05-07 10:10:24 +02:00
Andre Puschmann 99c3975f83 remove CMake option to disable glibc header for IPv6
we've added this to allow building for older glibc
version that cause issues with redefining some structs.

this patch removes the flag and auto-detects it using the glibc version
2020-05-05 19:04:14 +01:00
Filipe Laíns e8e1ffefa9 cmake: enable choosing CPU extesions
`AUTO_DETECT_ISA` will disable the resolution of the SSE packages
and the user will have to manually set `HAVE_{AVX,AVX2,SSE}`.

Solves #453

Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-04-27 11:53:23 +02:00
Andre Puschmann db91e9e772 cmake: add CMake flag to disable project build when calling make install 2020-04-27 11:07:56 +02:00
Paul Sutton b1a127a546 Adding custom build target to build osmo-gsm-tester trial 2020-04-15 13:41:57 +02:00
Francisco Paisana e73cbb09b0 created tprof statistic for sliding windows 2020-03-19 10:59:37 +00:00
Francisco Paisana 269c852767 created a class for time profiling. An object of such class, if disabled, has almost zero overhead. Added a compile-time flag to turn on/off time profiling 2020-03-19 10:59:37 +00:00
Xavier Arteaga e832769ae6 Updated copyright 2020-03-16 11:26:06 +01:00