Skip to content

Commit bd49744

Browse files
bentheredonethatSiva Addepalli
authored andcommitted
scripts: pyesw: open_amp: Extend cleanup support for Libmetal and OpenAMP
Ensure that cleanup for OpenAMP and Libmetal in the BSP is up to parity with other components Signed-off-by: Ben Levinsky <[email protected]> Acked-for-series: Appana Durga Kedareswara rao <[email protected]>
1 parent 8899971 commit bd49744

File tree

3 files changed

+132
-0
lines changed

3 files changed

+132
-0
lines changed
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
collector_create (PROJECT_LIB_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
2+
collector_create (PROJECT_LIB_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}")
3+
4+
collect (PROJECT_LIB_DIRS "${CMAKE_CURRENT_BINARY_DIR}")
5+
collect (PROJECT_INC_DIRS "${CMAKE_CURRENT_BINARY_DIR}/include")
6+
7+
collect (PROJECT_LIB_HEADERS alloc.h)
8+
collect (PROJECT_LIB_HEADERS assert.h)
9+
collect (PROJECT_LIB_HEADERS atomic.h)
10+
collect (PROJECT_LIB_HEADERS cache.h)
11+
collect (PROJECT_LIB_HEADERS compiler.h)
12+
collect (PROJECT_LIB_HEADERS condition.h)
13+
collect (PROJECT_LIB_HEADERS config.h)
14+
collect (PROJECT_LIB_HEADERS cpu.h)
15+
collect (PROJECT_LIB_HEADERS device.h)
16+
collect (PROJECT_LIB_HEADERS errno.h)
17+
collect (PROJECT_LIB_HEADERS dma.h)
18+
collect (PROJECT_LIB_HEADERS io.h)
19+
collect (PROJECT_LIB_HEADERS irq.h)
20+
collect (PROJECT_LIB_HEADERS irq_controller.h)
21+
collect (PROJECT_LIB_HEADERS list.h)
22+
collect (PROJECT_LIB_HEADERS log.h)
23+
collect (PROJECT_LIB_HEADERS mutex.h)
24+
collect (PROJECT_LIB_HEADERS shmem.h)
25+
collect (PROJECT_LIB_HEADERS sleep.h)
26+
collect (PROJECT_LIB_HEADERS softirq.h)
27+
collect (PROJECT_LIB_HEADERS spinlock.h)
28+
collect (PROJECT_LIB_HEADERS sys.h)
29+
collect (PROJECT_LIB_HEADERS time.h)
30+
collect (PROJECT_LIB_HEADERS utilities.h)
31+
collect (PROJECT_LIB_HEADERS version.h)
32+
33+
collect (PROJECT_LIB_SOURCES dma.c)
34+
collect (PROJECT_LIB_SOURCES device.c)
35+
collect (PROJECT_LIB_SOURCES init.c)
36+
collect (PROJECT_LIB_SOURCES io.c)
37+
collect (PROJECT_LIB_SOURCES irq.c)
38+
collect (PROJECT_LIB_SOURCES log.c)
39+
collect (PROJECT_LIB_SOURCES shmem.c)
40+
collect (PROJECT_LIB_SOURCES softirq.c)
41+
collect (PROJECT_LIB_SOURCES version.c)
42+
43+
add_subdirectory (compiler)
44+
add_subdirectory (processor)
45+
add_subdirectory (system)
46+
47+
collector_list (_inc_dirs PROJECT_INC_DIRS)
48+
collector_list (_sources PROJECT_LIB_SOURCES)
49+
collector_list (_headers PROJECT_LIB_HEADERS)
50+
collector_list (_deps PROJECT_LIB_DEPS)
51+
52+
foreach (f ${_headers})
53+
configure_file (${f} include/${PROJECT_NAME}/${f} @ONLY)
54+
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/include/${PROJECT_NAME}/${f}
55+
DESTINATION ${CMAKE_INCLUDE_PATH} RENAME ${PROJECT_NAME}/${f})
56+
if (${f} MATCHES "^[^/]*\\.h")
57+
collect (PROJECT_HDR_TESTS "metal/${f}")
58+
endif (${f} MATCHES "^[^/]*\\.h")
59+
endforeach (f)
60+
61+
include_directories (${_inc_dirs})
62+
add_definitions (-DMETAL_INTERNAL)
63+
64+
if (WITH_DEFAULT_LOGGER)
65+
add_definitions (-DDEFAULT_LOGGER_ON)
66+
endif (WITH_DEFAULT_LOGGER)
67+
68+
get_property (_ec_flgs GLOBAL PROPERTY "PROJECT_EC_FLAGS")
69+
70+
set (_lib ${PROJECT_NAME})
71+
72+
73+
add_library (${_lib} STATIC ${_sources})
74+
install (TARGETS ${_lib} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
75+
target_compile_options (${_lib} PUBLIC ${_ec_flgs})
76+
77+
set_target_properties (${_lib} PROPERTIES OUTPUT_NAME "${_lib}")
78+
79+
set_target_properties(${_lib} PROPERTIES ADDITIONAL_CLEAN_FILES "${CMAKE_LIBRARY_PATH}/${_lib}.a;${CMAKE_INCLUDE_PATH}/metal;${clean_headers};${CMAKE_LIBRARY_PATH}/libmetal.a")
80+
install(TARGETS ${_lib} LIBRARY DESTINATION ${CMAKE_LIBRARY_PATH} ARCHIVE DESTINATION ${CMAKE_LIBRARY_PATH})
81+
82+
# vim: expandtab:ts=2:sw=2:smartindent
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
set_property (GLOBAL PROPERTY "PROJECT_LIB_EXTRA_CFLAGS")
3+
4+
collector_create (PROJECT_LIB_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}")
5+
collect (PROJECT_LIB_DIRS "${CMAKE_CURRENT_BINARY_DIR}")
6+
collect (PROJECT_INC_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include")
7+
collect (PROJECT_LIB_SOURCES version.c)
8+
9+
10+
add_subdirectory (virtio)
11+
add_subdirectory (rpmsg)
12+
add_subdirectory (remoteproc)
13+
14+
if (WITH_PROXY)
15+
add_subdirectory (proxy)
16+
add_subdirectory (service/rpmsg/rpc)
17+
endif (WITH_PROXY)
18+
19+
set (OPENAMP_LIB open_amp)
20+
21+
configure_file(version.h.in ${PROJECT_BINARY_DIR}/include/generated/openamp/version_def.h)
22+
collect (PROJECT_INC_DIRS " ${PROJECT_BINARY_DIR}/include/generated/openamp")
23+
24+
if (NOT CMAKE_INSTALL_LIBDIR)
25+
set (CMAKE_INSTALL_LIBDIR "lib")
26+
endif (NOT CMAKE_INSTALL_LIBDIR)
27+
28+
collector_list (_include PROJECT_INC_DIRS)
29+
include_directories (${_include})
30+
31+
collector_list (_deps PROJECT_LIB_DEPS)
32+
33+
get_property (_ecflags GLOBAL PROPERTY "PROJECT_LIB_EXTRA_CFLAGS")
34+
35+
collector_list (_sources PROJECT_LIB_SOURCES)
36+
set_property (SOURCE ${_sources}
37+
APPEND_STRING PROPERTY COMPILE_FLAGS " ${_ecflags}")
38+
39+
add_library (${OPENAMP_LIB} STATIC ${_sources})
40+
set_target_properties (${OPENAMP_LIB} PROPERTIES OUTPUT_NAME "${OPENAMP_LIB}")
41+
42+
install (DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/openamp" DESTINATION ${CMAKE_INCLUDE_PATH})
43+
install (DIRECTORY "${PROJECT_BINARY_DIR}/include/generated/openamp" DESTINATION ${CMAKE_INCLUDE_PATH})
44+
45+
set_target_properties(${OPENAMP_LIB} PROPERTIES ADDITIONAL_CLEAN_FILES "${CMAKE_LIBRARY_PATH}/${OPENAMP_LIB}.a;${CMAKE_INCLUDE_PATH}/openamp;${clean_headers};${CMAKE_LIBRARY_PATH}/libopen_amp.a")
46+
install(TARGETS ${OPENAMP_LIB} LIBRARY DESTINATION ${CMAKE_LIBRARY_PATH} ARCHIVE DESTINATION ${CMAKE_LIBRARY_PATH})

scripts/pyesw/open_amp.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ def open_amp_copy_lib_src(libdir, dstdir, lib):
4646
top_dstdir = os.path.join(dstdir, 'CMakeLists.txt')
4747
utils.copy_file(top_srcdir, top_dstdir)
4848

49+
# Add this file to specify cleanup properly of the library
50+
new_lib_cmake = os.path.join(libdir, "src", "sdt", "lib-CMakeLists.txt")
51+
utils.copy_file(new_lib_cmake, os.path.join(dstdir, "lib", "CMakeLists.txt"))
52+
4953
if lib == 'openamp':
5054
new_depends_cmake = os.path.join(libdir, "src", "sdt", "depends.cmake")
5155
utils.copy_file(new_depends_cmake, os.path.join(dstdir, "cmake", "depends.cmake"))

0 commit comments

Comments
 (0)