diff options
author | Jonas Ohlsson <jonas.ohlsson@arm.com> | 2021-06-04 14:58:34 +0200 |
---|---|---|
committer | Jonas Ohlsson <jonas.ohlsson@arm.com> | 2021-06-04 14:58:34 +0200 |
commit | f821c61fddd0193b6333a76f39904d201f30b7e6 (patch) | |
tree | 008b3f6f16df5a67ce60f083d754cec9bc1bf0a5 | |
parent | 3adfbc1bf472a095ef01e9f62f80d55e0d834dfe (diff) | |
download | ethos-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.txt | 3 | ||||
-rw-r--r-- | cmake/helpers.cmake | 44 | ||||
-rw-r--r-- | targets/corstone-300/platform.scatter | 2 |
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. * |