173 Commits (624c8142ad7e476e14d632178a068972a97d88d0)

Author SHA1 Message Date
faluco db03275337 - Fix compiler errors when trying to build the project without SIMD support. 4 years ago
faluco 12e82a947f
LTO compiler and linker fixes (#1676)
* Guard the LTO feature in a CMAKE option and document possible issues of using it.
4 years ago
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
4 years ago
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.
4 years ago
faluco 3c59d90c17 Disabled strict aliasing in C and C++. 5 years ago
faluco 3fa5926cd5 Fix SIMD neg operation which was inverted.
Re-enable -Werror.
5 years ago
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.
5 years ago
faluco 2deeccb416 Re-enable -Werror. 5 years ago
faluco d3cb5dcffd Start fixing clang 10.0.0 warnings.
Disable -Werror temporarily.
5 years ago
faluco da4f9cde40 Enable -Werror by default except for older GCCs. 5 years ago
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
5 years ago
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>
5 years ago
Andre Puschmann db91e9e772 cmake: add CMake flag to disable project build when calling make install 5 years ago
Paul Sutton b1a127a546 Adding custom build target to build osmo-gsm-tester trial 5 years ago
Francisco Paisana e73cbb09b0 created tprof statistic for sliding windows 5 years ago
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 5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Andre Puschmann 0dd93c793c add CMake option for ZMQ-based end-to-end tests 5 years ago
Andre Puschmann 0247762265 adding basic shell script for running end-to-end tests 5 years ago
Ismael Gomez 52716f8716 Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
rrc_meas refactor. Need to split commit

Fix typo

Temporal commit

Apply rx_gain_offset to neighbour cell measurements

srsLTE: modify TESTASSERT Macro to follow codeline

SRSUE: prevent RRC from having serving cell in neighbour list

SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release

SRSUE: extend intra-frequency to CA SCell

SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue

SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful

SRSUE: fix compilation issues and Reest SIB indexes

Fixes sync using incorrect cell configuration when search cell does not find a correct cell

Small refactor to remove measurement report triggers always after removing measurement

SRSUE: Removed SIC PSS from UE

SRSUE: fix inter-frequency reestablishment and added more traces

SRSUE: Fix compilation issue
5 years ago
Andre Puschmann 9e1b8bc95e disabling certain PHY DL tests that aren't working on ARM due to Turbo issues 5 years ago
Pedro Alvarez 6d4303cd94 Added option to force 32bit compilation (useful for debug). Fixed various warnings when compiling in a 32 bit arch. 5 years ago
Andre Puschmann 0d3710176d remove -Werror=incompatible-pointer-types as CXX flag
seems to be only a valid C flag
5 years ago
Vasil Velichkov af2b4ecc79 Use -Wno-unused-but-set-variable only if supported
This fixes the following clang's warning

warning: unknown warning option '-Wno-unused-but-set-variable'; did you mean
      '-Wno-unused-const-variable'? [-Wunknown-warning-option]
5 years ago
Andre Puschmann 31d40304ff add CMake option to force usage of MKL while default is fftw 5 years ago
Vasil Velichkov f3cdee4bb2 Compile without -Werror when compiling with clang
clang currently prints a lot of warnings that will be fixed in
subsequent commits
5 years ago
Andre Puschmann 7885b5b9ee add CMake flag to enable 5G-NR components 5 years ago
Andre Puschmann 6e85b26367 enable ccache if found on system 5 years ago
Pedro Alvarez 6860617426 Removing more temporary changes to CMakeLists.txt 5 years ago
Pedro Alvarez 4746707d0b Revert temporary changes to cmakelists to support ninja 5 years ago
Pedro Alvarez 6265325e20 Starting to change test to also run the clock. 5 years ago
Pedro Alvarez 9b932f131c Added flag for colored output when using ninja instead of make. 5 years ago
Justin Tallon 4a1b8a5952 adding support for neon soft demodulation, adding cmake checks for aarch64
* adding support for neon soft demodulation, adding cmake checks for aarch64
* rearranging some arm cmake flags
5 years ago
Aleksander Morgado ba5f6e9ce4 build: fix ADD_CXX_COMPILER_FLAG_IF_AVAILABLE usages
This patch solves two different issues at the same time when building
with gcc/g++ 9.2.0:

 1) The -fvisibility=hidden support check was done using the C++
 compiler only (with check_cxx_compiler_flag), inside the block
 corresponding to the C compiler being GNU/clang, and the result of
 the check was applied to both C++ (CXX_FLAGS) and C (C_FLAGS) flags.
 Instead of this, there should be separate checks for the C and C++
 compilers, each of them modifying a single set of <LANG>_FLAGS.

 2) -Wincompatible-pointer-types support check was done using the C++
 compiler only, and the result of the check was applied to both C++
 (CXX_FLAGS) and C (C_FLAGS) flags. But, this warning is not
 applicable to C++ and actually breaks compilation when using g++ 9.2:
    [  0%] Building CXX object lib/src/asn1/CMakeFiles/rrc_asn1.dir/rrc_asn1.cc.o
    cc1plus: error: ‘-Werror=’ argument ‘-Werror=incompatible-pointer-types’ is not valid for C++ [-Werror]
 Instead of this, there should be a check for this warning only using
 the C compiler, and therefore only modifying the C flags (C_FLAGS).

This patch splits the macro into one specific for C++ (which modifies
CXX_FLAGS) and one specific for C (which modifies C_FLAGS). And so,
the macro call to check for `-Werror=incompatible-pointer-types' is
made C-only, and the one for `-fvisibility=hidden` is done for both C
and C++ targets (each on the correct GNU/clang compiler block).

Due to how the tests are done in cmake, the '-fvisibility=hidden'
check wasn't even succeding before, so the compiler option wasn't
being effectively used. The cmake flags.make file contents throughout
the project are updated as follows now:

Before this change, we had:
   C_FLAGS   = -Werror=incompatible-pointer-types ...
   CXX_FLAGS = -Werror=incompatible-pointer-types ...

And after this change, we have:
   C_FLAGS   = -Werror=incompatible-pointer-types -fvisibility=hidden ...
   CXX_FLAGS = -fvisibility=hidden ...
5 years ago
Pedro Alvarez 5a1883b748 Making sure that we can get colored output when using Ninja instead of Make. 5 years ago
David Rupprecht f14bb1e760 Building srsLTE in a subdir of project 5 years ago
Xavier Arteaga 3acfe68d35 Add /lib/x86... to CMake find library hints 5 years ago
Andre Puschmann dbd219e112 enable -Werror based on compiler version
older gcc's (e.g gcc4.8) have issues with some const expressions
so they print warnings. we don't want to change the code because it is
fine with newer compilers. therefore we only enable -Werror for
newer versions of gcc
5 years ago
Andre Puschmann 9e1c46dfb0 add initial TTCN3 code 5 years ago
Andre Puschmann a9bea7e30c add -Werror to compile flags 5 years ago
Andre Puschmann 7ec587bcdc backport support for ipv6 for older glibc 6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Andre Puschmann c6e19645af add zmq-based rf driver 6 years ago
Andre Puschmann 1cc6ae3c60 enable c++11 support 6 years ago
Andre Puschmann 22503541b1 disable clang tidy by default during build 6 years ago
Ismael Gomez a8a0c3ebe7 Fixed compilation in zynq 6 years ago
Andre Puschmann 34f552fae9 add universal executable to select binary based on current ISA
- using cpuid to check x86 features
- using hwcap on ARM to check for NEON
6 years ago
Xavier Arteaga 8c3a0153b9 Added missing AVX512 intrinsics and flags. Fixes #291. 6 years ago
Andre Puschmann b75506ac16 add CMake option to enable memory sanitizer 6 years ago
Andre Puschmann 7572299615 enable clang-tidy for srslte_upper library 6 years ago