139 Commits (c2de0c679d047acb57a9fa09e954c58ecaea67ee)

Author SHA1 Message Date
Aleksander Morgado 27e9285121 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
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
Andre Puschmann b1a443a9b8 add clang-tidy detection 6 years ago
Ismael Gomez bc9d342959
New optimization on the PHY for both UE and eNodeB (#251)
* New parallel Turbodecoder implementation in SSE/AVX 16-bit and 8-bit

* Optimised UL Interleaver

* Include TB CRC calculation in FEC encoder

* New threading priorities
6 years ago
Andre Puschmann bfae6c5059 add CMake option for UHD and pcsc 7 years ago
Andre Puschmann 91e1b27219 Merge branch 'master' into next 7 years ago
Matt Thompson 569dfd8e09 Add cmake option to conditionally compile SoapySDR 7 years ago
Andre Puschmann 2b937023dc remove usage of gold linker causing issues with some linkers and boost (rfci testbed) 7 years ago
Ismael Gomez 6120f20290
Changes in RRC and S1AP to make enb more robust on UE add/rem operations.
* Consolidated functions in S1AP

* Fixed ASAN in some GCC

* Stop quicker the enb

* Minor typo edit

* Fixed mutexing issues in RRC and possibly RLC/PDCP when adding/removing users
7 years ago
Andre Puschmann 2c179dd84f add config install helper 7 years ago
Xavier Arteaga 681b98ae50 Added vector CFO 7 years ago
Andre Puschmann 3fe6dad323 adding hard SIM card support using PCSC 7 years ago
Ismael Gomez aa1724b8f3 Add missing-field-initializers flag and properly initialize structs 7 years ago
Joseph Giovatto ab1d9e98f3 Format and typelimit warnings (#169)
* merge with origin 4fc7dbc3 8daa8346

* fixed whitespace diff

* added .gitignore

* added format warning flags to C_FLAGS
added typelimit check to C_FLAGS and CXX_CLAGS

* Revert "added format warning flags to C_FLAGS"

Apply to branch format_and_typelimt branch

This reverts commit bf7467e82e.

* check for format warnings to top level C_FLAGS
added typelimit warnings to top level C_FLAGS and CXX_FLAGS
beset effort attempt to remedy warnings
removed unused param names in hex_log baseclass methods due to multitude of unused-warnings
7 years ago
Joseph Giovatto 9f5069cdc8 Format and typelimit warnings (#169)
* merge with origin 4fc7dbc3 8daa8346

* fixed whitespace diff

* added .gitignore

* added format warning flags to C_FLAGS
added typelimit check to C_FLAGS and CXX_CLAGS

* Revert "added format warning flags to C_FLAGS"

Apply to branch format_and_typelimt branch

This reverts commit bf7467e82e.

* check for format warnings to top level C_FLAGS
added typelimit warnings to top level C_FLAGS and CXX_FLAGS
beset effort attempt to remedy warnings
removed unused param names in hex_log baseclass methods due to multitude of unused-warnings
7 years ago
Joseph Giovatto 49da57c8a1 Changed log methods to take string literal vs string object
to allow for format checking and save on object copy.
Fixed log format specifier warnings.
7 years ago
Andre Puschmann 2cf5acf9c8 set valgrind options correctly
this avoid an ugly valgrind error after executing long sequences
of simd code

see: https://www.bountysource.com/issues/41603953-temporary-storage-exhausted-when-long-sequence-of-vfmadd231ps-instructions-to-be-executed
7 years ago
Andre Puschmann 9c006e4585 remove boost system dependency 7 years ago
Andre Puschmann 37e06d78ea fix build_mode printing in RelWithDebInfo mode 7 years ago
Ismael Gomez 58f204d94a Set DEBUG constant for RelWithDebug 7 years ago
Andre Puschmann c3088e1d16 add cmake option to enable address sanitizer 7 years ago
Paul Sutton 1fd2341932 Minor typo fix 7 years ago
Andre Puschmann 5a35cef4b0 remove static FFTW library as strict dependency 7 years ago
Pedro Alvarez 042552491b Merging next into epc branch. 7 years ago
yagoda a66db9569f adding cmake SIMD check 7 years ago
Ismael Gomez d428760b20 Merge branch 'next' into mobility 7 years ago
Andre Puschmann dc65e4243c print build info to log and on stdout 7 years ago
Ismael Gomez 12d8b373c7 srsUE takes and reports intra-frequency measurements correctly 7 years ago
Ismael Gomez e04a221911 Removed volk occurrences. Fixes #103 7 years ago
Pedro Alvarez 5c0e2ee32e Starting to add CMake support 7 years ago
Pedro Alvarez 3e5e244440 Changing CMakeLists to compile EPC 7 years ago
Xavier Arteaga 94a06867a3 Optimized SIMD includes and solved AVX512 bugs 7 years ago
Xavier Arteaga 0c52c5651d Merge branch 'next_novolk' of https://github.com/softwareradiosystems/srsLTE into next_novolk 7 years ago
Xavier Arteaga 2b775462f7 Added LV_HAVE_AVX512 to CMakeLists 7 years ago
Ismael Gomez bf79d463d4 Merge branch 'next' into next_novolk 7 years ago
Ismael Gomez a51b6b09dd Merged with next. Attach successful 7 years ago