summaryrefslogtreecommitdiff
path: root/utils/buildit
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-07-20 20:44:02 +0000
committerBob Wilson <bob.wilson@apple.com>2010-07-20 20:44:02 +0000
commit273e48b53b0a44629eb90b2c5f029adbb4c20f77 (patch)
tree7e62db6f32fd657f35363439e7c46c2856809310 /utils/buildit
parent56ff3f15e71cb0baad677b9d1d9f1038b26cf18d (diff)
downloadllvm-273e48b53b0a44629eb90b2c5f029adbb4c20f77.tar.gz
llvm-273e48b53b0a44629eb90b2c5f029adbb4c20f77.tar.bz2
llvm-273e48b53b0a44629eb90b2c5f029adbb4c20f77.tar.xz
Add support for a new Apple-style build target, EmbeddedSim, that builds
llvmCore for the iOS Simulator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108922 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/buildit')
-rw-r--r--utils/buildit/GNUmakefile14
-rwxr-xr-xutils/buildit/build_llvm11
2 files changed, 20 insertions, 5 deletions
diff --git a/utils/buildit/GNUmakefile b/utils/buildit/GNUmakefile
index d17585f8f3..dbdb930ae1 100644
--- a/utils/buildit/GNUmakefile
+++ b/utils/buildit/GNUmakefile
@@ -49,8 +49,9 @@ endif
# Default to not install libLTO.dylib.
INSTALL_LIBLTO := no
-# Default to do a native build, not a cross-build for an ARM host.
+# Default to do a native build, not a cross-build for an ARM host or simulator.
ARM_HOSTED_BUILD := no
+IOS_SIM_BUILD := no
ifndef RC_ProjectSourceVersion
RC_ProjectSourceVersion = 9999
@@ -66,12 +67,19 @@ install: $(OBJROOT) $(SYMROOT) $(DSTROOT)
$(SRC)/utils/buildit/build_llvm "$(RC_ARCHS)" "$(TARGETS)" \
$(SRC) $(PREFIX) $(DSTROOT) $(SYMROOT) \
$(ENABLE_ASSERTIONS) $(LLVM_OPTIMIZED) $(INSTALL_LIBLTO) \
- $(ARM_HOSTED_BUILD) \
+ $(ARM_HOSTED_BUILD) $(IOS_SIM_BUILD) \
$(RC_ProjectSourceVersion) $(RC_ProjectSourceSubversion)
EmbeddedHosted:
$(MAKE) ARM_HOSTED_BUILD=yes PREFIX=/usr install
+# When building for the iOS simulator, MACOSX_DEPLOYMENT_TARGET is not set
+# by default, but it needs to be set when building tools that run on the host
+# (e.g., tblgen), so set it here.
+EmbeddedSim:
+ export MACOSX_DEPLOYMENT_TARGET=`sw_vers -productVersion`; \
+ $(MAKE) IOS_SIM_BUILD=yes PREFIX=/usr install
+
# installhdrs does nothing, because the headers aren't useful until
# the compiler is installed.
installhdrs:
@@ -120,4 +128,4 @@ clean:
$(OBJROOT) $(SYMROOT) $(DSTROOT):
mkdir -p $@
-.PHONY: install installsrc clean EmbeddedHosted
+.PHONY: install installsrc clean EmbeddedHosted EmbeddedSim
diff --git a/utils/buildit/build_llvm b/utils/buildit/build_llvm
index 47bdc599fc..37fb0efaa3 100755
--- a/utils/buildit/build_llvm
+++ b/utils/buildit/build_llvm
@@ -49,11 +49,14 @@ INSTALL_LIBLTO="$9"
# A yes/no parameter that controls whether to cross-build for an ARM host.
ARM_HOSTED_BUILD="${10}"
+# A yes/no parameter that controls whether to cross-build for the iOS simulator
+IOS_SIM_BUILD="${11}"
+
# The version number of the submission, e.g. 1007.
-LLVM_SUBMIT_VERSION="${11}"
+LLVM_SUBMIT_VERSION="${12}"
# The subversion number of the submission, e.g. 03.
-LLVM_SUBMIT_SUBVERSION="${12}"
+LLVM_SUBMIT_SUBVERSION="${13}"
# The current working directory is where the build will happen. It may already
# contain a partial result of an interrupted build, in which case this script
@@ -124,6 +127,10 @@ fi
if [ "$ARM_HOSTED_BUILD" = yes ]; then
configure_opts="--enable-targets=arm --host=arm-apple-darwin10 \
--target=arm-apple-darwin10 --build=i686-apple-darwin10"
+elif [ "$IOS_SIM_BUILD" = yes ]; then
+ # Use a non-standard "darwin_sim" host triple to trigger a cross-build.
+ configure_opts="--enable-targets=x86 --host=i686-apple-darwin_sim \
+ --build=i686-apple-darwin10"
else
configure_opts="--enable-targets=arm,x86,powerpc,cbe"
fi