Merge remote-tracking branch 'origin/make-all-targets-compile' into integration_2025_w40 (!3665)
Make all targets compile This MR enables us to compile all targets, and does that in one CI test. This closes #726. Now, this should work: cd ~/openairinterface5g mkdir build && cd build cmake .. -GNinja && ninja To achieve this, I did the following: - some targets have been fixed (warnings, errors) - some targets have been removed when they did not seem to serve a good purpose (e.g., an almost empty test) - some targets have been commented (e.g., LTE simulators, some unitary tests) which we maybe want to revive in the future - some targets built when just building with ninja, but not all. For instance, telnetsrv_enb would typically build, but it was missing a dependency. Doing cmake .. -GNinja && ninja telnetsrv_enb would show this (in develop) To help with the last bullet point, there is a script compile_targets.sh that can compile targets independently (and in parallel, to not wait for ages) to show that targets compile properly compile-targets.patch. In almost all cases, the problem is that a specific module uses the logging module, which depends on T, which needs to dynamically create headers. The way to do this is to have a dependency, and many targets use generate_T or {T_LIB} ({} intentional: T might be absent, so then it evaluates to nothing). However, not all do this, and those that depend on T actually don't depend on T, but on the logging module, which in turn depends on T. So in many places, a simple dependency onto log_headers fixes this problem, and generate_T or {T_LIB} simplifies the dependency (but not always). The commits should have more info. Note that at least the targets in FlexRIC do not all compile, at least in the configuration that we use in docker/Dockerfile.build.ubuntu. So for the latter, we cannot build with a simple ninja, but FlexRIC seems to be the only one that does not compile. Since FlexRIC is a separate repository, that needs to be addressed in the corresponding repository.
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include "PHY/CODING/coding_defs.h"
|
||||
#include "common/utils/utils.h"
|
||||
|
||||
//#define DEBUG_TURBO_ENCODER 1
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ add_library(coding MODULE
|
||||
3gpplte_turbo_decoder.c
|
||||
)
|
||||
set_target_properties(coding PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
#ensure that the T header files are generated before targets depending on them
|
||||
target_link_libraries(coding PRIVATE log_headers)
|
||||
|
||||
add_library(ldpc_orig MODULE
|
||||
@@ -68,3 +67,4 @@ if (ENABLE_LDPC_CUDA)
|
||||
endif()
|
||||
|
||||
add_subdirectory(nrLDPC_coding)
|
||||
add_subdirectory(nrLDPC_decoder)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#define __CODING_DEFS__H__
|
||||
|
||||
#include <stdint.h>
|
||||
#include <PHY/defs_common.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#define CRC24_A 0
|
||||
#define CRC24_B 1
|
||||
@@ -455,8 +455,5 @@ int32_t nr_segmentation(unsigned char *input_buffer,
|
||||
*/
|
||||
int nr_get_R_ldpc_decoder(int rvidx, int E, int BG, int Z, int *llrLen, int round);
|
||||
|
||||
decoder_if_t phy_threegpplte_turbo_decoder;
|
||||
decoder_if_t phy_threegpplte_turbo_decoder8;
|
||||
decoder_if_t phy_threegpplte_turbo_decoder16;
|
||||
/** @} */
|
||||
#endif
|
||||
|
||||
@@ -3,8 +3,4 @@ add_library(ldpc_segment OBJECT
|
||||
nrLDPC_coding_segment_decoder.c
|
||||
nrLDPC_coding_segment_encoder.c
|
||||
)
|
||||
|
||||
#ensure that the T header files are generated before targets depending on them
|
||||
if (${T_TRACER})
|
||||
add_dependencies(ldpc_segment generate_T)
|
||||
endif (${T_TRACER})
|
||||
target_link_libraries(ldpc_segment PUBLIC log_headers)
|
||||
|
||||
@@ -16,12 +16,7 @@ if (ENABLE_LDPC_XDMA)
|
||||
)
|
||||
target_include_directories(ldpc_xdma PRIVATE ../nrLDPC_coding_segment)
|
||||
|
||||
#ensure that the T header files are generated before targets depending on them
|
||||
if (${T_TRACER})
|
||||
add_dependencies(ldpc_xdma generate_T)
|
||||
endif (${T_TRACER})
|
||||
|
||||
target_link_libraries(ldpc_xdma PRIVATE ldpc_gen_HEADERS)
|
||||
target_link_libraries(ldpc_xdma PRIVATE ldpc_gen_HEADERS log_headers)
|
||||
set_target_properties(ldpc_xdma PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
add_dependencies(nr-softmodem ldpc_xdma)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
add_subdirectory(nrLDPC_tools)
|
||||
@@ -1,7 +1,7 @@
|
||||
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/generator_bnProc ldpc/generator_bnProc)
|
||||
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/generator_bnProc_avx512 ldpc/generator_bnProc_avx512)
|
||||
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/generator_cnProc ldpc/generator_cnProc)
|
||||
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/generator_cnProc_avx512 ldpc/generator_cnProc_avx512)
|
||||
add_subdirectory(generator_bnProc ldpc/generator_bnProc)
|
||||
add_subdirectory(generator_bnProc_avx512 ldpc/generator_bnProc_avx512)
|
||||
add_subdirectory(generator_cnProc ldpc/generator_cnProc)
|
||||
add_subdirectory(generator_cnProc_avx512 ldpc/generator_cnProc_avx512)
|
||||
|
||||
# custom target to build all generators
|
||||
add_custom_target(ldpc_generators)
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
|
||||
#include "PHY/CODING/nrPolar_tools/nr_polar_defs.h"
|
||||
#include "common/utils/utils.h"
|
||||
|
||||
// ----- Old implementation ----
|
||||
const uint8_t **crc24c_generator_matrix(uint16_t payloadSizeBits)
|
||||
|
||||
@@ -38,11 +38,13 @@
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include "PHY/CODING/nrPolar_tools/nr_polar_dci_defs.h"
|
||||
#include "PHY/CODING/nrPolar_tools/nr_polar_uci_defs.h"
|
||||
#include "PHY/CODING/nrPolar_tools/nr_polar_pbch_defs.h"
|
||||
#include "PHY/CODING/coding_defs.h"
|
||||
#include "PHY/sse_intrin.h"
|
||||
// #include "SIMULATION/TOOLS/sim.h"
|
||||
|
||||
#define NR_POLAR_DECODER_LISTSIZE 8 // uint8_t
|
||||
|
||||
Reference in New Issue
Block a user