From 71c48e0e8a2b68126b7d3ff640d8cf2375ba3612 Mon Sep 17 00:00:00 2001 From: Hugues Kamba Date: Mon, 20 Jul 2020 14:09:33 +0100 Subject: [PATCH] CMake: remove version number from ARM toolchain The version number was required previously when ARM Compiler 5 and ARM Compiler 6 were both supported. There was a significant underlying change between the two that justified having distinct build options settinfgs. It is very unlikely that such a major change will happen between ARM Compiler 6 and future versions. It is therefore also very unlikely that distinct option settings for future versions will be needed. We should therefore avoid appending version number the same way we do not append it to GCC toolchain configuration settings. --- cmake/app.cmake | 4 ++-- cmake/cores/Cortex-A9.cmake | 2 +- cmake/cores/Cortex-M0+.cmake | 2 +- cmake/cores/Cortex-M0.cmake | 2 +- cmake/cores/Cortex-M1.cmake | 2 +- cmake/cores/Cortex-M23-NS.cmake | 2 +- cmake/cores/Cortex-M23.cmake | 2 +- cmake/cores/Cortex-M3.cmake | 2 +- cmake/cores/Cortex-M33-NS.cmake | 2 +- cmake/cores/Cortex-M33.cmake | 2 +- cmake/cores/Cortex-M33F-NS.cmake | 2 +- cmake/cores/Cortex-M33F.cmake | 2 +- cmake/cores/Cortex-M33FE-NS.cmake | 2 +- cmake/cores/Cortex-M33FE.cmake | 2 +- cmake/cores/Cortex-M4.cmake | 2 +- cmake/cores/Cortex-M4F.cmake | 2 +- cmake/cores/Cortex-M7.cmake | 2 +- cmake/cores/Cortex-M7F.cmake | 2 +- cmake/cores/Cortex-M7FD.cmake | 2 +- cmake/profiles/debug.cmake | 2 +- cmake/profiles/develop.cmake | 2 +- cmake/profiles/release.cmake | 2 +- cmake/toolchains/ARM.cmake | 28 ++++++++++++++++------- cmake/toolchains/ARMC6.cmake | 38 ------------------------------- 24 files changed, 43 insertions(+), 69 deletions(-) delete mode 100644 cmake/toolchains/ARMC6.cmake diff --git a/cmake/app.cmake b/cmake/app.cmake index 7adc43c686..15afa2d645 100644 --- a/cmake/app.cmake +++ b/cmake/app.cmake @@ -49,7 +49,7 @@ if(MBED_TOOLCHAIN STREQUAL "GCC_ARM") WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/app.link_script.ld" ) -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(CMAKE_PRE_BUILD_COMMAND COMMAND "") set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} --scatter=${linkerfile}") endif() @@ -62,7 +62,7 @@ if(MBED_TOOLCHAIN STREQUAL "GCC_ARM") COMMAND ${ELF2BIN} -O ihex $ $.hex COMMAND ${CMAKE_COMMAND} -E echo "-- built: $.hex" ) -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(CMAKE_POST_BUILD_COMMAND COMMAND ${ELF2BIN} --bin -o $.bin $ COMMAND ${CMAKE_COMMAND} -E echo "-- built: $.bin" diff --git a/cmake/cores/Cortex-A9.cmake b/cmake/cores/Cortex-A9.cmake index 6810671e94..70af83394b 100644 --- a/cmake/cores/Cortex-A9.cmake +++ b/cmake/cores/Cortex-A9.cmake @@ -27,7 +27,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-A9 \ diff --git a/cmake/cores/Cortex-M0+.cmake b/cmake/cores/Cortex-M0+.cmake index 465e794962..383d41fd5c 100644 --- a/cmake/cores/Cortex-M0+.cmake +++ b/cmake/cores/Cortex-M0+.cmake @@ -23,7 +23,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M0plus \ diff --git a/cmake/cores/Cortex-M0.cmake b/cmake/cores/Cortex-M0.cmake index 404b9829a9..df0abb8bc9 100644 --- a/cmake/cores/Cortex-M0.cmake +++ b/cmake/cores/Cortex-M0.cmake @@ -22,7 +22,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M0 \ diff --git a/cmake/cores/Cortex-M1.cmake b/cmake/cores/Cortex-M1.cmake index ec7854cd72..f90be82480 100644 --- a/cmake/cores/Cortex-M1.cmake +++ b/cmake/cores/Cortex-M1.cmake @@ -22,7 +22,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M1 \ diff --git a/cmake/cores/Cortex-M23-NS.cmake b/cmake/cores/Cortex-M23-NS.cmake index 866671c6ca..d7d4f1be40 100644 --- a/cmake/cores/Cortex-M23-NS.cmake +++ b/cmake/cores/Cortex-M23-NS.cmake @@ -22,7 +22,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M23 \ diff --git a/cmake/cores/Cortex-M23.cmake b/cmake/cores/Cortex-M23.cmake index 606e8fdd86..96c12ac6e9 100644 --- a/cmake/cores/Cortex-M23.cmake +++ b/cmake/cores/Cortex-M23.cmake @@ -22,7 +22,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M23 \ diff --git a/cmake/cores/Cortex-M3.cmake b/cmake/cores/Cortex-M3.cmake index 07394efbbd..36069ee850 100644 --- a/cmake/cores/Cortex-M3.cmake +++ b/cmake/cores/Cortex-M3.cmake @@ -22,7 +22,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M3 \ diff --git a/cmake/cores/Cortex-M33-NS.cmake b/cmake/cores/Cortex-M33-NS.cmake index 91523e94fa..60593c1ed2 100644 --- a/cmake/cores/Cortex-M33-NS.cmake +++ b/cmake/cores/Cortex-M33-NS.cmake @@ -23,7 +23,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M33 \ diff --git a/cmake/cores/Cortex-M33.cmake b/cmake/cores/Cortex-M33.cmake index 4e5200b36e..d9c7ba7b73 100644 --- a/cmake/cores/Cortex-M33.cmake +++ b/cmake/cores/Cortex-M33.cmake @@ -23,7 +23,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M33 \ diff --git a/cmake/cores/Cortex-M33F-NS.cmake b/cmake/cores/Cortex-M33F-NS.cmake index 1e5c0f9370..3724570b7f 100644 --- a/cmake/cores/Cortex-M33F-NS.cmake +++ b/cmake/cores/Cortex-M33F-NS.cmake @@ -25,7 +25,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M33F \ diff --git a/cmake/cores/Cortex-M33F.cmake b/cmake/cores/Cortex-M33F.cmake index cb19c10aa0..ba5c46e733 100644 --- a/cmake/cores/Cortex-M33F.cmake +++ b/cmake/cores/Cortex-M33F.cmake @@ -25,7 +25,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M33F \ diff --git a/cmake/cores/Cortex-M33FE-NS.cmake b/cmake/cores/Cortex-M33FE-NS.cmake index 41de2b1da2..0fb5619f0c 100644 --- a/cmake/cores/Cortex-M33FE-NS.cmake +++ b/cmake/cores/Cortex-M33FE-NS.cmake @@ -25,7 +25,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M33FE \ diff --git a/cmake/cores/Cortex-M33FE.cmake b/cmake/cores/Cortex-M33FE.cmake index 0c17e7415a..0b35000a1b 100644 --- a/cmake/cores/Cortex-M33FE.cmake +++ b/cmake/cores/Cortex-M33FE.cmake @@ -25,7 +25,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M33FE \ diff --git a/cmake/cores/Cortex-M4.cmake b/cmake/cores/Cortex-M4.cmake index 9d9ab4b28f..9f6251e468 100644 --- a/cmake/cores/Cortex-M4.cmake +++ b/cmake/cores/Cortex-M4.cmake @@ -23,7 +23,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M4 \ diff --git a/cmake/cores/Cortex-M4F.cmake b/cmake/cores/Cortex-M4F.cmake index 178139c62d..3cfe4d427e 100644 --- a/cmake/cores/Cortex-M4F.cmake +++ b/cmake/cores/Cortex-M4F.cmake @@ -25,7 +25,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M4.fp.sp \ diff --git a/cmake/cores/Cortex-M7.cmake b/cmake/cores/Cortex-M7.cmake index c54604641b..147363482c 100644 --- a/cmake/cores/Cortex-M7.cmake +++ b/cmake/cores/Cortex-M7.cmake @@ -23,7 +23,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M7 \ diff --git a/cmake/cores/Cortex-M7F.cmake b/cmake/cores/Cortex-M7F.cmake index 7cd6843b14..437af840ef 100644 --- a/cmake/cores/Cortex-M7F.cmake +++ b/cmake/cores/Cortex-M7F.cmake @@ -25,7 +25,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M7.fp.sp \ diff --git a/cmake/cores/Cortex-M7FD.cmake b/cmake/cores/Cortex-M7FD.cmake index 0e4435b118..8943295d9f 100644 --- a/cmake/cores/Cortex-M7FD.cmake +++ b/cmake/cores/Cortex-M7FD.cmake @@ -25,7 +25,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${GCC_FLAGS} \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(ARM_FLAGS " \ --cpu=Cortex-M7.fp.dp \ diff --git a/cmake/profiles/debug.cmake b/cmake/profiles/debug.cmake index bba5d8149d..735702b959 100644 --- a/cmake/profiles/debug.cmake +++ b/cmake/profiles/debug.cmake @@ -38,7 +38,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ -Wl,-n \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \ -std=gnu11 \ diff --git a/cmake/profiles/develop.cmake b/cmake/profiles/develop.cmake index 726e6c4f6f..17c367110e 100644 --- a/cmake/profiles/develop.cmake +++ b/cmake/profiles/develop.cmake @@ -32,7 +32,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ -Wl,-n \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} -std=gnu11 diff --git a/cmake/profiles/release.cmake b/cmake/profiles/release.cmake index 0a09121624..9b774f682b 100644 --- a/cmake/profiles/release.cmake +++ b/cmake/profiles/release.cmake @@ -34,7 +34,7 @@ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ -Wl,-n \ ") -elseif(MBED_TOOLCHAIN STREQUAL "ARMC6") +elseif(MBED_TOOLCHAIN STREQUAL "ARM") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \ -std=gnu11 \ diff --git a/cmake/toolchains/ARM.cmake b/cmake/toolchains/ARM.cmake index fdbb6ffa90..cb8e048ef8 100644 --- a/cmake/toolchains/ARM.cmake +++ b/cmake/toolchains/ARM.cmake @@ -1,16 +1,24 @@ # Copyright (c) 2020 ARM Limited. All rights reserved. # SPDX-License-Identifier: Apache-2.0 +set(CMAKE_ASM_COMPILER "armasm") +set(CMAKE_C_COMPILER "armclang") +set(CMAKE_CXX_COMPILER "armclang") +set(CMAKE_AR "armar") +set(ELF2BIN "fromelf") set(COMMON_FLAGS " \ -c \ - --gnu \ - -Ospace \ - --split_sections \ - --apcs=interwork \ - --brief_diagnostics \ - --restrict \ - --multibyte_chars \ - -O3 \ + --target=arm-arm-none-eabi \ + -Oz \ + -Wno-armcc-pragma-push-pop \ + -Wno-armcc-pragma-anon-unions \ + -Wno-reserved-user-defined-literal \ + -Wno-deprecated-register \ + -fdata-sections \ + -fno-exceptions \ + -MMD \ + -fshort-enums \ + -fshort-wchar \ ") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \ ${COMMON_FLAGS} \ @@ -24,3 +32,7 @@ set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} \ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ ${COMMON_FLAGS} \ ") + +add_definitions( + -DTOOLCHAIN_ARM +) diff --git a/cmake/toolchains/ARMC6.cmake b/cmake/toolchains/ARMC6.cmake deleted file mode 100644 index cb8e048ef8..0000000000 --- a/cmake/toolchains/ARMC6.cmake +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) 2020 ARM Limited. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -set(CMAKE_ASM_COMPILER "armasm") -set(CMAKE_C_COMPILER "armclang") -set(CMAKE_CXX_COMPILER "armclang") -set(CMAKE_AR "armar") -set(ELF2BIN "fromelf") -set(COMMON_FLAGS " \ - -c \ - --target=arm-arm-none-eabi \ - -Oz \ - -Wno-armcc-pragma-push-pop \ - -Wno-armcc-pragma-anon-unions \ - -Wno-reserved-user-defined-literal \ - -Wno-deprecated-register \ - -fdata-sections \ - -fno-exceptions \ - -MMD \ - -fshort-enums \ - -fshort-wchar \ -") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} \ - ${COMMON_FLAGS} \ -") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \ - ${COMMON_FLAGS} \ -") -set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} \ - ${COMMON_FLAGS} \ -") -set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} \ - ${COMMON_FLAGS} \ -") - -add_definitions( - -DTOOLCHAIN_ARM -)