aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Ohlsson <jonas.ohlsson@arm.com>2021-06-04 14:58:34 +0200
committerJonas Ohlsson <jonas.ohlsson@arm.com>2021-06-04 14:58:34 +0200
commitf821c61fddd0193b6333a76f39904d201f30b7e6 (patch)
tree008b3f6f16df5a67ce60f083d754cec9bc1bf0a5
parent3adfbc1bf472a095ef01e9f62f80d55e0d834dfe (diff)
downloadethos-u-core-platform-f821c61fddd0193b6333a76f39904d201f30b7e6.tar.gz
Remove dependency on cpp
Remove dependency on cpp, and instead use the specified compiler to preprocess the linker scripts. Signed-off-by: Jonas Ohlsson <jonas.ohlsson@arm.com> Change-Id: I000082f8e90015b12f99ba3f616b6b3e07647873
-rw-r--r--applications/trustzone_inference/nonsecure/CMakeLists.txt3
-rw-r--r--cmake/helpers.cmake44
-rw-r--r--targets/corstone-300/platform.scatter2
3 files changed, 27 insertions, 22 deletions
diff --git a/applications/trustzone_inference/nonsecure/CMakeLists.txt b/applications/trustzone_inference/nonsecure/CMakeLists.txt
index a4d95ad..09cec83 100644
--- a/applications/trustzone_inference/nonsecure/CMakeLists.txt
+++ b/applications/trustzone_inference/nonsecure/CMakeLists.txt
@@ -41,6 +41,9 @@ target_compile_definitions(trustzone_nonsecure PUBLIC TRUSTZONE_NONSECURE)
# Silence warning on cmse attributes
target_compile_options(trustzone_nonsecure PRIVATE -Wno-ignored-attributes)
+# Add include directory for target application specifics
+target_include_directories(trustzone_nonsecure PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../${ETHOSU_TARGET})
+
#############################################################################
# linker configuration
#############################################################################
diff --git a/cmake/helpers.cmake b/cmake/helpers.cmake
index 21d3a24..da954c0 100644
--- a/cmake/helpers.cmake
+++ b/cmake/helpers.cmake
@@ -41,31 +41,35 @@ function(ethosu_eval_link_options target)
set(prop "$<TARGET_PROPERTY:${target},COMPILE_DEFINITIONS>")
if (CMAKE_CXX_COMPILER_ID STREQUAL "ARMClang")
- set(LINK_FILE_OUT ${LINK_FILE}.scatter)
+ set(LINK_FILE_EXT scatter)
+ set(LINK_FILE_IN ${LINK_FILE}.${LINK_FILE_EXT})
set(LINK_FILE_OPTION "--scatter")
-
- target_link_options(${target} PUBLIC
- --predefine=\"-D$<JOIN:${prop},\" ;--predefine=\"-D>\")
+ # Note: the -mcpu flag is added to avoid warnings caused when using the default cpu/arch.
+ set(COMPILER_PREPROCESSOR_OPTIONS -mcpu=${CMAKE_SYSTEM_PROCESSOR} --target=arm-arm-none-eabi -E -x c -P)
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- set(LINK_FILE_IN ${LINK_FILE}.ld)
- get_filename_component(LINK_FILE_OUT_BASE ${LINK_FILE} NAME)
- set(LINK_FILE_OUT ${CMAKE_CURRENT_BINARY_DIR}/${LINK_FILE_OUT_BASE}-${target}.ld)
+ set(LINK_FILE_EXT ld)
+ set(LINK_FILE_IN ${LINK_FILE}.${LINK_FILE_EXT})
set(LINK_FILE_OPTION "-T")
-
- add_custom_command(
- OUTPUT ${LINK_FILE_OUT}
- DEPENDS ${LINK_FILE_IN}
- BYPRODUCTS ${LINK_FILE_OUT}
- COMMAND ${CMAKE_C_COMPILER} -E -x c -P -o ${LINK_FILE_OUT} ${LINK_FILE_IN}
- COMMAND_EXPAND_LISTS "-D$<JOIN:${prop},;-D>"
- COMMENT "Preprocessing and generating linker script"
- VERBATIM)
- add_custom_target(${target}-linker-script
- DEPENDS ${LINK_FILE_OUT}
- VERBATIM)
- add_dependencies(${target} ${target}-linker-script)
+ set(COMPILER_PREPROCESSOR_OPTIONS -E -x c -P)
endif()
+ get_filename_component(LINK_FILE_OUT_BASE ${LINK_FILE} NAME)
+ set(LINK_FILE_OUT ${CMAKE_CURRENT_BINARY_DIR}/${LINK_FILE_OUT_BASE}-${target}.${LINK_FILE_EXT})
+
+ add_custom_command(
+ OUTPUT ${LINK_FILE_OUT}
+ DEPENDS ${LINK_FILE_IN}
+ BYPRODUCTS ${LINK_FILE_OUT}
+ COMMAND ${CMAKE_C_COMPILER} ${COMPILER_PREPROCESSOR_OPTIONS} -o ${LINK_FILE_OUT} ${LINK_FILE_IN}
+ COMMAND_EXPAND_LISTS "-D$<JOIN:${prop},;-D>"
+ COMMAND_EXPAND_LISTS "-I$<JOIN:$<TARGET_PROPERTY:${target},INCLUDE_DIRECTORIES>,;-I>"
+ COMMENT "Preprocessing and generating linker script"
+ VERBATIM)
+ add_custom_target(${target}-linker-script
+ DEPENDS ${LINK_FILE_OUT}
+ VERBATIM)
+ add_dependencies(${target} ${target}-linker-script)
+
target_link_options(${target} PUBLIC ${LINK_FILE_OPTION} ${LINK_FILE_OUT})
set_target_properties(${target} PROPERTIES LINK_DEPENDS ${LINK_FILE_OUT})
endfunction()
diff --git a/targets/corstone-300/platform.scatter b/targets/corstone-300/platform.scatter
index bf143dc..06a749a 100644
--- a/targets/corstone-300/platform.scatter
+++ b/targets/corstone-300/platform.scatter
@@ -1,5 +1,3 @@
-#! cpp
-
/*
* Copyright (c) 2019-2021 Arm Limited. All rights reserved.
*