Clone of official tools

Revision:
41:2a77626a4c21
Parent:
40:7d3fa6b99b2b
Child:
42:2cf3f29fece1
--- a/toolchains/arm.py	Tue Oct 10 16:56:30 2017 -0500
+++ b/toolchains/arm.py	Wed Oct 25 14:46:50 2017 -0500
@@ -49,9 +49,6 @@
                                extra_verbose=extra_verbose,
                                build_profile=build_profile)
 
-        if "ARM" not in target.supported_toolchains:
-            raise NotSupportedException("ARM compiler support is required for ARM build")
-
         if target.core == "Cortex-M0+":
             cpu = "Cortex-M0"
         elif target.core == "Cortex-M4F":
@@ -265,10 +262,26 @@
 
 
 class ARM_STD(ARM):
-    pass
+    def __init__(self, target, notify=None, macros=None,
+                 silent=False, extra_verbose=False, build_profile=None,
+                 build_dir=None):
+        ARM.__init__(self, target, notify, macros, silent,
+                     build_dir=build_dir, extra_verbose=extra_verbose,
+                     build_profile=build_profile)
+        if "ARM" not in target.supported_toolchains:
+            raise NotSupportedException("ARM compiler support is required for ARM build")
+
 
 class ARM_MICRO(ARM):
     PATCHED_LIBRARY = False
+    def __init__(self, target, notify=None, macros=None,
+                 silent=False, extra_verbose=False, build_profile=None,
+                 build_dir=None):
+        ARM.__init__(self, target, notify, macros, silent,
+                     build_dir=build_dir, extra_verbose=extra_verbose,
+                     build_profile=build_profile)
+        if not set(("ARM", "uARM")).intersection(set(target.supported_toolchains)):
+            raise NotSupportedException("ARM/uARM compiler support is required for ARM build")
 
 class ARMC6(ARM_STD):
     SHEBANG = "#! armclang -E --target=arm-arm-none-eabi -x c"