summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2011-09-14 21:19:45 +0000
committerDaniel Dunbar <daniel@zuster.org>2011-09-14 21:19:45 +0000
commit8ef083003fe24fe2b3e8e35c03f4039c45bc46aa (patch)
tree706c2e08e6f074d096e232f09ab94a8d2ca06f6c
parentc20f862690410045fc8c77879f7e78918d2372e4 (diff)
downloadcompiler-rt-8ef083003fe24fe2b3e8e35c03f4039c45bc46aa.tar.gz
platform/clang_darwin: Allow use of an RC_SUPPORTED_ARCHS variable to limit the
architectures we try to build for. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@139738 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--make/platform/clang_darwin.mk13
1 files changed, 13 insertions, 0 deletions
diff --git a/make/platform/clang_darwin.mk b/make/platform/clang_darwin.mk
index 4570517c9..38a54696d 100644
--- a/make/platform/clang_darwin.mk
+++ b/make/platform/clang_darwin.mk
@@ -51,6 +51,19 @@ UniversalArchs.osx := $(call CheckArches,i386 x86_64)
Configs += cc_kext
UniversalArchs.cc_kext := $(call CheckArches,armv6 armv7 i386 x86_64)
+# If RC_SUPPORTED_ARCHS is defined, treat it as a list of the architectures we
+# are intended to support and limit what we try to build to that.
+#
+# We make sure to remove empty configs if we end up dropping all the requested
+# archs for a particular config.
+ifneq ($(RC_SUPPORTED_ARCHS),)
+$(foreach config,$(Configs),\
+ $(call Set,UniversalArchs.$(config),\
+ $(filter $(RC_SUPPORTED_ARCHS),$(UniversalArchs.$(config))))\
+ $(if $(UniversalArchs.$(config)),,\
+ $(call Set,Configs,$(filter-out $(config),$(Configs)))))
+endif
+
###
CC := gcc