Lines Matching +full:c +full:- +full:cpp

1 #-------------------------------------------------------------------------------
2 # Copyright (c) 2020-2024, Arm Limited. All rights reserved.
3 # Copyright (c) 2022 Cypress Semiconductor Corporation (an Infineon company)
6 # SPDX-License-Identifier: BSD-3-Clause
8 #-------------------------------------------------------------------------------
17 set(LINKER_VENEER_OUTPUT_FLAG --import_cmse_lib_out=)
18 set(COMPILER_CMSE_FLAG $<$<COMPILE_LANGUAGE:C>:-mcmse>)
27 set(CMAKE_OBJCOPY ${CROSS_COMPILE}-objcopy CACHE FILEPATH "Path to objcopy")
34 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-ignored-optimization-argument>
35 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-unused-command-line-argument>
36 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wall>
38 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wno-error=cpp>
39 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-c>
40 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fdata-sections>
41 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-ffunction-sections>
42 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fno-builtin>
43 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fshort-enums>
44 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fshort-wchar>
45 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-funsigned-char>
46 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-masm=auto>
47 $<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-nostdlib>
48 $<$<COMPILE_LANGUAGE:C>:-std=c99>
49 $<$<COMPILE_LANGUAGE:CXX>:-std=c++11>
50 $<$<COMPILE_LANGUAGE:ASM>:--cpu=${CMAKE_ASM_CPU_FLAG}>
51 $<$<AND:$<COMPILE_LANGUAGE:C>,$<BOOL:${TFM_DEBUG_SYMBOLS}>>:-g>
52 $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<BOOL:${TFM_DEBUG_SYMBOLS}>>:-g>
59 set(MEMORY_USAGE_FLAG --info=summarysizes,sizes,totals,unused,veneers)
67 --strict
68 --symbols
69 --xref
70 …<$<AND:$<VERSION_GREATER:${TFM_ISOLATION_LEVEL},1>,$<STREQUAL:"${TEST_PSA_API}","IPC">>:--no-merge>
73 …eloper.arm.com/documentation/100074/0608/linker-errors-and-warnings/list-of-the-armlink-error-and-
75 --diag_suppress=6312
77 --diag_suppress=6314
79 --diag_suppress=6304
81 --diag_suppress=6329
89 if (TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8.1-m.main")
100 # ARMCLANG specifies that '+nofp' is available on following M-profile cpus:
101 # 'cortex-m4', 'cortex-m7', 'cortex-m33', 'cortex-m35p', 'cortex-m55' and 'cortex-m85'.
102 # Build fails if other M-profile cpu, such as 'cortex-m23', is added with '+nofp'.
105 (TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m4"
106 OR TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m7"
107 OR TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m33"
108 OR TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m35p"
109 OR TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m55"
110 OR TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m85"))
144 set(CMAKE_C_COMPILER_TARGET arm-${CROSS_COMPILE})
145 set(CMAKE_CXX_COMPILER_TARGET arm-${CROSS_COMPILE})
146 set(CMAKE_ASM_COMPILER_TARGET arm-${CROSS_COMPILE})
149 if (TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8.1-m.main")
160 # avoid these, we set the list of supported -mcpu and -march variables to
185 __compiler_armclang(C)
186 include(Compiler/ARMCC-ASM)
197 " See [SDCOMP-59788] in Armclang 6.18 release note for details."
204 set(CMAKE_C_FLAGS "-mcpu=${CMAKE_SYSTEM_PROCESSOR}")
205 set(CMAKE_CXX_FLAGS "-mcpu=${CMAKE_SYSTEM_PROCESSOR}")
206 set(CMAKE_C_LINK_FLAGS "--cpu=${CMAKE_SYSTEM_PROCESSOR}")
207 set(CMAKE_CXX_LINK_FLAGS "--cpu=${CMAKE_SYSTEM_PROCESSOR}")
208 set(CMAKE_ASM_LINK_FLAGS "--cpu=${CMAKE_SYSTEM_PROCESSOR}")
222 set(CMAKE_C_FLAGS "-march=${CMAKE_SYSTEM_ARCH}")
223 set(CMAKE_CXX_FLAGS "-march=${CMAKE_SYSTEM_ARCH}")
227 $<$<COMPILE_LANGUAGE:C>:-mfpu=softvfp>
228 $<$<COMPILE_LANGUAGE:ASM>:--fpu=softvfp>
230 # As BL2 does not use hardware FPU, specify '--fpu=SoftVFP' explicitly to use software
231 # library functions for BL2 to override any implicit FPU option, such as '--cpu' option.
234 set(BL2_LINKER_CP_OPTION --fpu=SoftVFP)
237 $<$<COMPILE_LANGUAGE:C>:-mfpu=softvfp>
238 $<$<COMPILE_LANGUAGE:ASM>:--fpu=softvfp>
240 set(BL1_LINKER_CP_OPTION --fpu=SoftVFP)
244 $<$<COMPILE_LANGUAGE:C>:-mfloat-abi=hard>
248 $<$<COMPILE_LANGUAGE:C>:-mfpu=${CONFIG_TFM_FP_ARCH};-mfloat-abi=hard>
249 $<$<COMPILE_LANGUAGE:ASM>:--fpu=${CONFIG_TFM_FP_ARCH_ASM}>
251 # armasm and armlink have the same option "--fpu" and are both used to
254 set(LINKER_CP_OPTION --fpu=${CONFIG_TFM_FP_ARCH_ASM})
258 $<$<COMPILE_LANGUAGE:C>:-mfpu=softvfp>
259 $<$<COMPILE_LANGUAGE:ASM>:--fpu=softvfp>
261 set(LINKER_CP_OPTION --fpu=SoftVFP)
264 # Workaround for issues with --depend-single-line with armasm and Ninja
266 set( CMAKE_DEPFILE_FLAGS_ASM "--depend=<OBJECT>.d")
269 set(CMAKE_C_FLAGS_MINSIZEREL "-Oz -DNDEBUG")
284 --scatter=$<TARGET_OBJECTS:${target}_scatter>
300 LANGUAGE C
318 -E
319 -xc
332 --bincombined $<TARGET_FILE:${target}>
333 --output=${bin_dir}/${target}.bin
342 --elf $<TARGET_FILE:${target}>
343 --output=${bin_dir}/${target}.elf
352 --i32combined $<TARGET_FILE:${target}>
353 --output=${bin_dir}/${target}.hex
384 …COMMAND python3 -c "from sys import argv; import re; f = open(argv[1], 'rt'); p = [x.replace('*', …
387 list(TRANSFORM KEEP_SYMBOL_LIST PREPEND --undefined=)
396 --symdefs=$<TARGET_FILE_DIR:${target}>/${target}${CODE_SHARING_OUTPUT_FILE_SUFFIX}
418 list(TRANSFORM SYMBOL_LIST PREPEND --strip-symbol=)
420 # TODO we assume that arm-none-eabi-objcopy is available - since we're using
426 ARGS $<TARGET_FILE:${target}> --wildcard ${SYMBOL_LIST} $<TARGET_FILE:${target}>
432 list(TRANSFORM SYMBOL_LIST PREPEND --strip-symbol=)
434 # TODO we assume that arm-none-eabi-objcopy is available - since we're using
440 ARGS $<TARGET_FILE:${dependency}> --wildcard ${SYMBOL_LIST} $<TARGET_FILE:${dependency}>
446 list(TRANSFORM SYMBOL_LIST PREPEND --weaken-symbol=)
448 # TODO we assume that arm-none-eabi-objcopy is available - since we're using
454 ARGS $<TARGET_FILE:${target}> --wildcard ${SYMBOL_LIST} $<TARGET_FILE:${target}>
460 list(TRANSFORM SYMBOL_LIST PREPEND --weaken-symbol=)
462 # TODO we assume that arm-none-eabi-objcopy is available - since we're using
468 ARGS $<TARGET_FILE:${dependency}> --wildcard ${SYMBOL_LIST} $<TARGET_FILE:${dependency}>