Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
c3f84884
Commit
c3f84884
authored
Jun 30, 2023
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Generate T headers using cmake
parent
392ef79b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
55 additions
and
34 deletions
+55
-34
CMakeLists.txt
CMakeLists.txt
+6
-29
common/utils/CMakeLists.txt
common/utils/CMakeLists.txt
+1
-0
common/utils/T/CMakeLists.txt
common/utils/T/CMakeLists.txt
+40
-0
common/utils/T/Makefile
common/utils/T/Makefile
+1
-1
common/utils/T/check_vcd.c
common/utils/T/check_vcd.c
+7
-4
No files found.
CMakeLists.txt
View file @
c3f84884
...
...
@@ -1882,43 +1882,19 @@ add_library(oai_iqplayer MODULE
)
set
(
CMAKE_MODULE_PATH
"
${
OPENAIR_DIR
}
/cmake_targets/tools/MODULES"
"
${
CMAKE_MODULE_PATH
}
"
)
#include T directory even if the T is off because T macros are in the code
#no matter what
include_directories
(
"
${
OPENAIR_DIR
}
/common/utils/T"
)
# include T directory even if the T is off because T macros are in the code
# no matter what. Note: sone files are generated, so we have both source and
# binary directories
include_directories
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/common/utils/T
${
CMAKE_CURRENT_BINARY_DIR
}
/common/utils/T
)
if
(
${
T_TRACER
}
)
set
(
T_SOURCE
${
OPENAIR_DIR
}
/common/utils/T/T_IDs.h
${
OPENAIR_DIR
}
/common/utils/T/T.c
${
OPENAIR_DIR
}
/common/utils/T/local_tracer.c
)
set
(
T_LIB
"rt"
)
endif
(
${
T_TRACER
}
)
#Some files in the T directory are generated.
#This rule and the following deal with it.
add_custom_command
(
OUTPUT
${
OPENAIR_DIR
}
/common/utils/T/T_IDs.h
COMMAND make check_vcd
WORKING_DIRECTORY
${
OPENAIR_DIR
}
/common/utils/T
DEPENDS
${
OPENAIR_DIR
}
/common/utils/T/T_messages.txt
${
OPENAIR_DIR
}
/common/utils/LOG/vcd_signal_dumper.c
${
OPENAIR_DIR
}
/common/utils/LOG/vcd_signal_dumper.h
)
execute_process
(
COMMAND make check_vcd
WORKING_DIRECTORY
${
OPENAIR_DIR
}
/common/utils/T
)
#This rule is specifically needed to generate T files
#before anything else in a project that uses the T.
#See below, there are some 'add_dependencies' showing that.
#Basically we create a custom target and we make other
#targets depend on it. That forces cmake to generate
#T files before anything else.
add_custom_target
(
generate_T
DEPENDS
${
OPENAIR_DIR
}
/common/utils/T/T_IDs.h
)
#################################
# add executables for operation
...
...
@@ -2380,6 +2356,7 @@ if (${T_TRACER})
oai_eth_transpro oai_mobipass coding HASHTABLE UTIL OMG_SUMO
SECURITY SCHED_LIB SCHED_NR_LIB SCHED_RU_LIB SCHED_UE_LIB SCHED_NR_UE_LIB default_sched remote_sched RAL
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_VNF_LIB NFAPI_USER_LIB
MISC_NFAPI_LTE_LIB MISC_NFAPI_NR_LIB
PHY_COMMON PHY PHY_UE PHY_NR PHY_NR_COMMON PHY_NR_UE PHY_RU PHY_MEX
L2 L2_LTE L2_NR L2_LTE_NR L2_UE NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON MAC_NR MAC_UE_NR ngap
CN_UTILS GTPV1U SCTP_CLIENT MME_APP LIB_NAS_UE NB_IoT SIMU SIMU_ETH OPENAIR0_LIB
...
...
common/utils/CMakeLists.txt
View file @
c3f84884
...
...
@@ -8,3 +8,4 @@ if(ENABLE_WEBSRV)
add_subdirectory
(
websrv
)
endif
()
add_subdirectory
(
T
)
common/utils/T/CMakeLists.txt
0 → 100644
View file @
c3f84884
add_executable
(
genids genids.c
)
add_custom_command
(
OUTPUT T_IDs.h
COMMAND ./genids
${
CMAKE_CURRENT_SOURCE_DIR
}
/T_messages.txt T_IDs.h
DEPENDS genids
COMMENT
"Generating T_IDs.h from T_messages.txt"
)
add_custom_command
(
OUTPUT T_messages.txt.h
COMMAND xxd -i T_messages.txt
${
CMAKE_CURRENT_BINARY_DIR
}
/T_messages.txt.h
COMMENT
"Generating T_messages.txt.h from T_messages.txt"
WORKING_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
)
add_executable
(
_check_vcd check_vcd.c tracer/database.c tracer/utils.c T_IDs.h T_messages.txt.h
)
target_include_directories
(
_check_vcd PRIVATE
.. ../itti ../../../openair2/COMMON tracer
${
CMAKE_CURRENT_BINARY_DIR
}
${
CMAKE_CURRENT_SOURCE_DIR
}
)
target_compile_options
(
_check_vcd PRIVATE -Wall
)
target_link_libraries
(
_check_vcd PRIVATE m pthread
)
add_custom_target
(
check_vcd
COMMAND _check_vcd
${
CMAKE_CURRENT_SOURCE_DIR
}
/T_messages.txt
${
CMAKE_CURRENT_SOURCE_DIR
}
/../LOG/vcd_signal_dumper.h
DEPENDS _check_vcd
COMMENT
"Checking validity of VCD files"
)
# This rule is specifically needed to generate T files before anything else in
# a project that uses the T.
# See root CMakeLists.txt, there are some 'add_dependencies' showing that.
# Basically we create a custom target and we make other targets depend on it.
# That forces cmake to generate T files before anything else.
add_custom_target
(
generate_T DEPENDS T_IDs.h check_vcd
)
# even if T is off, we need the headers as many targets depend on it
# for this, create an INTERFACE (header-only) library T_headers. To ensure the
# headers have really been created, we make this headers library explicitly
# depend on the generated headers.
add_library
(
T_headers INTERFACE
)
add_dependencies
(
T_headers T_IDs.h T_messages.txt.h
)
target_include_directories
(
T_headers INTERFACE
${
CMAKE_CURRENT_BINARY_DIR
}
${
CMAKE_CURRENT_SOURCE_DIR
}
)
common/utils/T/Makefile
View file @
c3f84884
...
...
@@ -20,7 +20,7 @@ T_IDs.h: $(GENIDS) T_messages.txt
check_vcd
:
T_IDs.h T_messages.txt.h
gcc
-Wall
-I
.
-I
..
-I
../itti
-I
../../../openair2/COMMON
-Itracer
-o
_check_vcd check_vcd.c tracer/database.c tracer/utils.c
-lm
-pthread
./_check_vcd
||
(
rm
-f
./_check_vcd ./T_IDs.h ./T_messages.txt.h
&&
false
)
./_check_vcd
T_messages.txt ../LOG/vcd_signal_dumper.h
||
(
rm
-f
./_check_vcd ./T_IDs.h ./T_messages.txt.h
&&
false
)
rm
-f
./_check_vcd
.PHONY
:
check_vcd
...
...
common/utils/T/check_vcd.c
View file @
c3f84884
...
...
@@ -67,14 +67,17 @@ void err(char *fmt, ...)
exit
(
1
);
}
int
main
(
void
)
int
main
(
int
argc
,
char
*
argv
[]
)
{
/* to disable the checks done by this program, uncomment the following
* line, ie. remove the leading '//'
*/
//return 0;
void
*
database
=
parse_database
(
"T_messages.txt"
);
if
(
argc
!=
3
)
err
(
"usage: %s <T_messages.txt> <vcd_signal_dumper.h>"
,
argv
[
0
]);
char
*
T_msg_txt
=
argv
[
1
];
char
*
vcd_sig_dmp
=
argv
[
2
];
void
*
database
=
parse_database
(
T_msg_txt
);
int
number_of_events
;
int
first_var
=
-
1
;
int
last_var
;
...
...
@@ -212,8 +215,8 @@ int main(void)
* VCD_VARIABLE_ABC or VCD_FUNCTION_XYZ
*/
i
=
first_var
;
in
=
fopen
(
"../LOG/vcd_signal_dumper.h"
,
"r"
);
if
(
in
==
NULL
)
err
(
"could not open
../LOG/vcd_signal_dumper.h"
);
in
=
fopen
(
vcd_sig_dmp
,
"r"
);
if
(
in
==
NULL
)
err
(
"could not open
%s
\n
"
,
vcd_sig_dmp
);
while
(
1
)
{
char
*
x
=
" VCD_SIGNAL_DUMPER_VARIABLES_"
;
ssize_t
r
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment