cmake: compiler: introduce target_arm.cmake
Pull ARM flags into cmake/compiler/gcc/target.cmake to be reused between gcc and clang. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
parent
8fb15826ff
commit
e5c03925e5
2 changed files with 34 additions and 32 deletions
|
@ -43,38 +43,7 @@ endforeach()
|
|||
include(${ZEPHYR_BASE}/cmake/gcc-m-cpu.cmake)
|
||||
|
||||
if("${ARCH}" STREQUAL "arm")
|
||||
list(APPEND TOOLCHAIN_C_FLAGS
|
||||
-mthumb
|
||||
-mcpu=${GCC_M_CPU}
|
||||
)
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS
|
||||
-mthumb
|
||||
-mcpu=${GCC_M_CPU}
|
||||
)
|
||||
|
||||
# Defines a mapping from GCC_M_CPU to FPU
|
||||
|
||||
if(CONFIG_CPU_HAS_FPU_DOUBLE_PRECISION)
|
||||
set(PRECISION_TOKEN)
|
||||
else()
|
||||
set(PRECISION_TOKEN sp-)
|
||||
endif()
|
||||
|
||||
set(FPU_FOR_cortex-m4 fpv4-${PRECISION_TOKEN}d16)
|
||||
set(FPU_FOR_cortex-m7 fpv5-${PRECISION_TOKEN}d16)
|
||||
set(FPU_FOR_cortex-m33 fpv5-${PRECISION_TOKEN}d16)
|
||||
|
||||
if(CONFIG_FLOAT)
|
||||
list(APPEND TOOLCHAIN_C_FLAGS -mfpu=${FPU_FOR_${GCC_M_CPU}})
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS -mfpu=${FPU_FOR_${GCC_M_CPU}})
|
||||
if (CONFIG_FP_SOFTABI)
|
||||
list(APPEND TOOLCHAIN_C_FLAGS -mfloat-abi=softfp)
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS -mfloat-abi=softfp)
|
||||
elseif(CONFIG_FP_HARDABI)
|
||||
list(APPEND TOOLCHAIN_C_FLAGS -mfloat-abi=hard)
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS -mfloat-abi=hard)
|
||||
endif()
|
||||
endif()
|
||||
include(${ZEPHYR_BASE}/cmake/compiler/gcc/target_arm.cmake)
|
||||
elseif("${ARCH}" STREQUAL "arc")
|
||||
list(APPEND TOOLCHAIN_C_FLAGS
|
||||
-mcpu=${GCC_M_CPU}
|
||||
|
|
33
cmake/compiler/gcc/target_arm.cmake
Normal file
33
cmake/compiler/gcc/target_arm.cmake
Normal file
|
@ -0,0 +1,33 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
list(APPEND TOOLCHAIN_C_FLAGS
|
||||
-mthumb
|
||||
-mcpu=${GCC_M_CPU}
|
||||
)
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS
|
||||
-mthumb
|
||||
-mcpu=${GCC_M_CPU}
|
||||
)
|
||||
|
||||
# Defines a mapping from GCC_M_CPU to FPU
|
||||
|
||||
if(CONFIG_CPU_HAS_FPU_DOUBLE_PRECISION)
|
||||
set(PRECISION_TOKEN)
|
||||
else()
|
||||
set(PRECISION_TOKEN sp-)
|
||||
endif()
|
||||
|
||||
set(FPU_FOR_cortex-m4 fpv4-${PRECISION_TOKEN}d16)
|
||||
set(FPU_FOR_cortex-m7 fpv5-${PRECISION_TOKEN}d16)
|
||||
set(FPU_FOR_cortex-m33 fpv5-${PRECISION_TOKEN}d16)
|
||||
|
||||
if(CONFIG_FLOAT)
|
||||
list(APPEND TOOLCHAIN_C_FLAGS -mfpu=${FPU_FOR_${GCC_M_CPU}})
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS -mfpu=${FPU_FOR_${GCC_M_CPU}})
|
||||
if (CONFIG_FP_SOFTABI)
|
||||
list(APPEND TOOLCHAIN_C_FLAGS -mfloat-abi=softfp)
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS -mfloat-abi=softfp)
|
||||
elseif(CONFIG_FP_HARDABI)
|
||||
list(APPEND TOOLCHAIN_C_FLAGS -mfloat-abi=hard)
|
||||
list(APPEND TOOLCHAIN_LD_FLAGS -mfloat-abi=hard)
|
||||
endif()
|
||||
endif()
|
Loading…
Add table
Add a link
Reference in a new issue