toolchain: Remove toolchain reset magic

Removed compiler/linker reset magic for IAR and Armclang.
It is not necessary in the split build.

Signed-off-by: Dávid Házi <david.hazi@arm.com>
Change-Id: I2c047fbd167819ab7c1798ac25ded66b92824ec7
diff --git a/toolchain_IARARM.cmake b/toolchain_IARARM.cmake
index bcff3ef..83156fe 100644
--- a/toolchain_IARARM.cmake
+++ b/toolchain_IARARM.cmake
@@ -37,165 +37,137 @@
 
 # CMAKE_C_COMPILER_VERSION is not guaranteed to be defined.
 EXECUTE_PROCESS( COMMAND ${CMAKE_C_COMPILER} --version OUTPUT_VARIABLE IAR_VERSION )
-string(REGEX MATCH "[v,V]([0-9]+\.[0-9]+\.[0-9]+)*" IAR_VERSION "${IAR_VERSION}")
+string(REGEX MATCH "[v,V]([0-9]+\.[0-9]+\.[0-9]+)" IAR_VERSION "${IAR_VERSION}")
 set(IAR_VERSION ${CMAKE_MATCH_1})
 
-macro(tfm_toolchain_reset_compiler_flags)
-    set_property(DIRECTORY PROPERTY COMPILE_OPTIONS "")
+if(${TFM_SYSTEM_PROCESSOR} STREQUAL "cortex-m0plus")
+    set(CMAKE_SYSTEM_PROCESSOR Cortex-M0+)
+else()
+    set(CMAKE_SYSTEM_PROCESSOR ${TFM_SYSTEM_PROCESSOR})
+endif()
 
-    add_compile_options(
-        $<$<COMPILE_LANGUAGE:C,CXX>:-e>
-        $<$<COMPILE_LANGUAGE:C,CXX>:--dlib_config=full>
-        $<$<COMPILE_LANGUAGE:C,CXX>:--silent>
-        $<$<COMPILE_LANGUAGE:C,CXX>:-DNO_TYPEOF>
-        $<$<COMPILE_LANGUAGE:C,CXX>:-D_NO_DEFINITIONS_IN_HEADER_FILES>
-        $<$<COMPILE_LANGUAGE:C,CXX>:--diag_suppress=Pe546,Pe940,Pa082,Pa084>
-        $<$<COMPILE_LANGUAGE:C,CXX>:--no_path_in_file_macros>
-        $<$<AND:$<COMPILE_LANGUAGE:C,CXX,ASM>,$<BOOL:${TFM_DEBUG_SYMBOLS}>,$<CONFIG:Release,MinSizeRel>>:-r>
+if (DEFINED TFM_SYSTEM_DSP)
+    if(NOT TFM_SYSTEM_DSP)
+        string(APPEND CMAKE_SYSTEM_PROCESSOR ".no_dsp")
+    endif()
+endif()
+
+add_compile_options(
+    $<$<COMPILE_LANGUAGE:C,CXX>:-e>
+    $<$<COMPILE_LANGUAGE:C,CXX>:--dlib_config=full>
+    $<$<COMPILE_LANGUAGE:C,CXX>:--silent>
+    $<$<COMPILE_LANGUAGE:C,CXX>:-DNO_TYPEOF>
+    $<$<COMPILE_LANGUAGE:C,CXX>:-D_NO_DEFINITIONS_IN_HEADER_FILES>
+    $<$<COMPILE_LANGUAGE:C,CXX>:--diag_suppress=Pe546,Pe940,Pa082,Pa084>
+    $<$<COMPILE_LANGUAGE:C,CXX>:--no_path_in_file_macros>
+    $<$<AND:$<COMPILE_LANGUAGE:C,CXX,ASM>,$<BOOL:${TFM_DEBUG_SYMBOLS}>,$<CONFIG:Release,MinSizeRel>>:-r>
+)
+
+add_link_options(
+    --silent
+    --semihosting
+    --redirect __write=__write_buffered
+    --diag_suppress=lp005,Lp023
+)
+
+set(CMAKE_C_FLAGS_INIT "--cpu ${CMAKE_SYSTEM_PROCESSOR}")
+set(CMAKE_ASM_FLAGS_INIT "--cpu ${CMAKE_SYSTEM_PROCESSOR}")
+set(CMAKE_C_LINK_FLAGS "--cpu ${CMAKE_SYSTEM_PROCESSOR}")
+set(CMAKE_ASM_LINK_FLAGS "--cpu ${CMAKE_SYSTEM_PROCESSOR}")
+
+set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS_INIT})
+set(CMAKE_ASM_FLAGS ${CMAKE_ASM_FLAGS_INIT})
+
+# Can't use the highest optimization with IAR on v8.1m arch because of the
+# compilation bug in mbedcrypto
+if ((IAR_VERSION VERSION_GREATER_EQUAL "9.20") AND
+    (IAR_VERSION VERSION_LESS_EQUAL "9.32.1") AND
+    ((TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m85") OR
+        (TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m55")) AND
+    (NOT (CMAKE_BUILD_TYPE STREQUAL "Debug")))
+    message(FATAL_ERROR "Only debug build available for M55 and M85"
+            " cores with IAR version between 9.20 and 9.32.1")
+endif()
+
+set(BL2_COMPILER_CP_FLAG
+    $<$<COMPILE_LANGUAGE:C>:--fpu=none>
+    $<$<COMPILE_LANGUAGE:ASM>:--fpu=none>
+)
+# As BL2 does not use hardware FPU, specify '--fpu=none' explicitly to use software
+# library functions for BL2 to override any implicit FPU option, such as '--cpu' option.
+# Because the implicit hardware FPU option enforces BL2 to initialize FPU but hardware FPU
+# is not actually enabled in BL2, it will cause BL2 runtime fault.
+set(BL2_LINKER_CP_OPTION --fpu=none)
+
+set(BL1_COMPILER_CP_FLAG
+    $<$<COMPILE_LANGUAGE:C>:--fpu=none>
+    $<$<COMPILE_LANGUAGE:ASM>:--fpu=none>
+)
+set(BL1_LINKER_CP_OPTION --fpu=none)
+
+if (CONFIG_TFM_FLOAT_ABI STREQUAL "hard")
+    set(COMPILER_CP_FLAG
+        $<$<COMPILE_LANGUAGE:C>:-mfloat-abi=hard>
     )
-endmacro()
 
-macro(tfm_toolchain_reset_linker_flags)
-    set_property(DIRECTORY PROPERTY LINK_OPTIONS "")
-
-    add_link_options(
-      --silent
-      --semihosting
-      --redirect __write=__write_buffered
-      --diag_suppress=lp005,Lp023
-    )
-endmacro()
-
-macro(tfm_toolchain_set_processor_arch)
-    if(${TFM_SYSTEM_PROCESSOR} STREQUAL "cortex-m0plus")
-      set(CMAKE_SYSTEM_PROCESSOR Cortex-M0+)
-    else()
-      set(CMAKE_SYSTEM_PROCESSOR ${TFM_SYSTEM_PROCESSOR})
+    if (CONFIG_TFM_ENABLE_FP)
+        set(COMPILER_CP_FLAG
+            $<$<COMPILE_LANGUAGE:C>:--fpu=${CONFIG_TFM_FP_ARCH_ASM}>
+            $<$<COMPILE_LANGUAGE:ASM>:--fpu=${CONFIG_TFM_FP_ARCH_ASM}>
+        )
+        # armasm and armlink have the same option "--fpu" and are both used to
+        # specify the target FPU architecture. So the supported FPU architecture
+        # names can be shared by armasm and armlink.
+        set(LINKER_CP_OPTION --fpu=${CONFIG_TFM_FP_ARCH_ASM})
     endif()
-
-    if (DEFINED TFM_SYSTEM_DSP)
-        if(NOT TFM_SYSTEM_DSP)
-            string(APPEND CMAKE_SYSTEM_PROCESSOR ".no_dsp")
-        endif()
-    endif()
-endmacro()
-
-macro(tfm_toolchain_reload_compiler)
-    tfm_toolchain_set_processor_arch()
-    tfm_toolchain_reset_compiler_flags()
-    tfm_toolchain_reset_linker_flags()
-
-    unset(CMAKE_C_FLAGS_INIT)
-    unset(CMAKE_C_LINK_FLAGS)
-    unset(CMAKE_ASM_FLAGS_INIT)
-    unset(CMAKE_ASM_LINK_FLAGS)
-
-    set(CMAKE_C_FLAGS_INIT "--cpu ${CMAKE_SYSTEM_PROCESSOR}")
-    set(CMAKE_ASM_FLAGS_INIT "--cpu ${CMAKE_SYSTEM_PROCESSOR}")
-    set(CMAKE_C_LINK_FLAGS "--cpu ${CMAKE_SYSTEM_PROCESSOR}")
-    set(CMAKE_ASM_LINK_FLAGS "--cpu ${CMAKE_SYSTEM_PROCESSOR}")
-
-    set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS_INIT})
-    set(CMAKE_ASM_FLAGS ${CMAKE_ASM_FLAGS_INIT})
-
-    # Can't use the highest optimization with IAR on v8.1m arch because of the
-    # compilation bug in mbedcrypto
-    if ((IAR_VERSION VERSION_GREATER_EQUAL "9.20") AND
-        (IAR_VERSION VERSION_LESS_EQUAL "9.32.1") AND
-        ((TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m85") OR
-         (TFM_SYSTEM_PROCESSOR STREQUAL "cortex-m55")) AND
-        (NOT (CMAKE_BUILD_TYPE STREQUAL "Debug")))
-        message(FATAL_ERROR "Only debug build available for M55 and M85"
-                " cores with IAR version between 9.20 and 9.32.1")
-    endif()
-
-    set(BL2_COMPILER_CP_FLAG
+else()
+    set(COMPILER_CP_FLAG
         $<$<COMPILE_LANGUAGE:C>:--fpu=none>
         $<$<COMPILE_LANGUAGE:ASM>:--fpu=none>
     )
-    # As BL2 does not use hardware FPU, specify '--fpu=none' explicitly to use software
-    # library functions for BL2 to override any implicit FPU option, such as '--cpu' option.
-    # Because the implicit hardware FPU option enforces BL2 to initialize FPU but hardware FPU
-    # is not actually enabled in BL2, it will cause BL2 runtime fault.
-    set(BL2_LINKER_CP_OPTION --fpu=none)
+    set(LINKER_CP_OPTION --fpu=none)
+endif()
 
-    set(BL1_COMPILER_CP_FLAG
-        $<$<COMPILE_LANGUAGE:C>:--fpu=none>
-        $<$<COMPILE_LANGUAGE:ASM>:--fpu=none>
-    )
-    set(BL1_LINKER_CP_OPTION --fpu=none)
+add_compile_definitions(
+    $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv6-m>:__ARM_ARCH_6M__=1>
+    $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv7-m>:__ARM_ARCH_7M__=1>
+    $<$<AND:$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv7-m>,$<BOOL:__ARM_FEATURE_DSP>>:__ARM_ARCH_7EM__=1>
+    $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv8-m.base>:__ARM_ARCH_8M_BASE__=1>
+    $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv8-m.main>:__ARM_ARCH_8M_MAIN__=1>
+    $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv8.1-m.main>:__ARM_ARCH_8_1M_MAIN__=1>
+)
 
-    if (CONFIG_TFM_FLOAT_ABI STREQUAL "hard")
-        set(COMPILER_CP_FLAG
-            $<$<COMPILE_LANGUAGE:C>:-mfloat-abi=hard>
-        )
+#
+# Pointer Authentication Code and Branch Target Identification (PACBTI) Options
+#
+if(${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_STANDARD)
+    set(BRANCH_PROTECTION_OPTIONS "bti+pac-ret")
+elseif(${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_PACRET)
+    set(BRANCH_PROTECTION_OPTIONS "pac-ret")
+elseif(${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_PACRET_LEAF)
+    message(FATAL_ERROR "${CONFIG_TFM_BRANCH_PROTECTION_FEAT} option is not supported on IAR Compiler.")
+elseif(${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_BTI)
+    set(BRANCH_PROTECTION_OPTIONS "bti")
+endif()
 
-        if (CONFIG_TFM_ENABLE_FP)
-            set(COMPILER_CP_FLAG
-                $<$<COMPILE_LANGUAGE:C>:--fpu=${CONFIG_TFM_FP_ARCH_ASM}>
-                $<$<COMPILE_LANGUAGE:ASM>:--fpu=${CONFIG_TFM_FP_ARCH_ASM}>
-            )
-            # armasm and armlink have the same option "--fpu" and are both used to
-            # specify the target FPU architecture. So the supported FPU architecture
-            # names can be shared by armasm and armlink.
-            set(LINKER_CP_OPTION --fpu=${CONFIG_TFM_FP_ARCH_ASM})
+if(NOT ${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_DISABLED AND
+    NOT ${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_NONE)
+        if (IAR_VERSION VERSION_LESS "9.40.1")
+            message(FATAL_ERROR "Only IAR version 9.40.1 and above supports PAC+BTI.")
         endif()
-    else()
-        set(COMPILER_CP_FLAG
-            $<$<COMPILE_LANGUAGE:C>:--fpu=none>
-            $<$<COMPILE_LANGUAGE:ASM>:--fpu=none>
-        )
-        set(LINKER_CP_OPTION --fpu=none)
-    endif()
 
-    add_compile_definitions(
-        $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv6-m>:__ARM_ARCH_6M__=1>
-        $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv7-m>:__ARM_ARCH_7M__=1>
-        $<$<AND:$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv7-m>,$<BOOL:__ARM_FEATURE_DSP>>:__ARM_ARCH_7EM__=1>
-        $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv8-m.base>:__ARM_ARCH_8M_BASE__=1>
-        $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv8-m.main>:__ARM_ARCH_8M_MAIN__=1>
-        $<$<STREQUAL:${TFM_SYSTEM_ARCHITECTURE},armv8.1-m.main>:__ARM_ARCH_8_1M_MAIN__=1>
-    )
+        if((TFM_SYSTEM_PROCESSOR MATCHES "cortex-m85") AND
+            (TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8.1-m.main"))
+            message(NOTICE "BRANCH_PROTECTION enabled with: ${BRANCH_PROTECTION_OPTIONS}")
 
-    #
-    # Pointer Authentication Code and Branch Target Identification (PACBTI) Options
-    #
-    if(${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_STANDARD)
-        set(BRANCH_PROTECTION_OPTIONS "bti+pac-ret")
-    elseif(${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_PACRET)
-        set(BRANCH_PROTECTION_OPTIONS "pac-ret")
-    elseif(${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_PACRET_LEAF)
-        message(FATAL_ERROR "${CONFIG_TFM_BRANCH_PROTECTION_FEAT} option is not supported on IAR Compiler.")
-    elseif(${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_BTI)
-        set(BRANCH_PROTECTION_OPTIONS "bti")
-    endif()
+            string(APPEND CMAKE_C_FLAGS " --branch_protection=${BRANCH_PROTECTION_OPTIONS}")
+            string(APPEND CMAKE_CXX_FLAGS " --branch_protection=${BRANCH_PROTECTION_OPTIONS}")
 
-    if(NOT ${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_DISABLED AND
-       NOT ${CONFIG_TFM_BRANCH_PROTECTION_FEAT} STREQUAL BRANCH_PROTECTION_NONE)
-            if (IAR_VERSION VERSION_LESS "9.40.1")
-                message(FATAL_ERROR "Only IAR version 9.40.1 and above supports PAC+BTI.")
-            endif()
-
-            if((TFM_SYSTEM_PROCESSOR MATCHES "cortex-m85") AND
-                (TFM_SYSTEM_ARCHITECTURE STREQUAL "armv8.1-m.main"))
-                message(NOTICE "BRANCH_PROTECTION enabled with: ${BRANCH_PROTECTION_OPTIONS}")
-
-                string(APPEND CMAKE_C_FLAGS " --branch_protection=${BRANCH_PROTECTION_OPTIONS}")
-                string(APPEND CMAKE_CXX_FLAGS " --branch_protection=${BRANCH_PROTECTION_OPTIONS}")
-
-                add_link_options(--library_security=pacbti-m)
-            else()
-                message(FATAL_ERROR "Your architecture does not support BRANCH_PROTECTION")
-            endif()
-    endif()
-endmacro()
-
-# Configure environment for the compiler setup run by cmake at the first
-# `project` call in <tfm_root>/CMakeLists.txt. After this mandatory setup is
-# done, all further compiler setup is done via tfm_toolchain_reload_compiler()
-tfm_toolchain_set_processor_arch()
-tfm_toolchain_reset_compiler_flags()
-tfm_toolchain_reset_linker_flags()
+            add_link_options(--library_security=pacbti-m)
+        else()
+            message(FATAL_ERROR "Your architecture does not support BRANCH_PROTECTION")
+        endif()
+endif()
 
 # Behaviour for handling scatter files is so wildly divergent between compilers
 # that this macro is required.