summaryrefslogtreecommitdiff
path: root/utils/buildit
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-05-05 22:22:40 +0000
committerBob Wilson <bob.wilson@apple.com>2010-05-05 22:22:40 +0000
commit7d2552135d2240f95d94c4f252274f4f863a3f5d (patch)
tree83ed585668c345b53873290555375f70e06213a9 /utils/buildit
parent676b2dfd2719e03bda4d1d99de67be2a9bdfb124 (diff)
downloadllvm-7d2552135d2240f95d94c4f252274f4f863a3f5d.tar.gz
llvm-7d2552135d2240f95d94c4f252274f4f863a3f5d.tar.bz2
llvm-7d2552135d2240f95d94c4f252274f4f863a3f5d.tar.xz
Select an ARM-hosted cross build with a separate makefile target instead of
a magic project name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103125 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/buildit')
-rw-r--r--utils/buildit/GNUmakefile9
-rwxr-xr-xutils/buildit/build_llvm51
2 files changed, 31 insertions, 29 deletions
diff --git a/utils/buildit/GNUmakefile b/utils/buildit/GNUmakefile
index e0568d2f14..0f3b7ebe6b 100644
--- a/utils/buildit/GNUmakefile
+++ b/utils/buildit/GNUmakefile
@@ -49,6 +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.
+ARM_HOSTED_BUILD := no
+
ifndef RC_ProjectSourceVersion
RC_ProjectSourceVersion = 9999
endif
@@ -63,8 +66,12 @@ 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) \
$(RC_ProjectSourceVersion) $(RC_ProjectSourceSubversion)
+EmbeddedHosted:
+ $(MAKE) ARM_HOSTED_BUILD=yes install
+
# installhdrs does nothing, because the headers aren't useful until
# the compiler is installed.
installhdrs:
@@ -113,4 +120,4 @@ clean:
$(OBJROOT) $(SYMROOT) $(DSTROOT):
mkdir -p $@
-.PHONY: install installsrc clean
+.PHONY: install installsrc clean EmbeddedHosted
diff --git a/utils/buildit/build_llvm b/utils/buildit/build_llvm
index 78cc6557e3..a9a11d9e5a 100755
--- a/utils/buildit/build_llvm
+++ b/utils/buildit/build_llvm
@@ -46,11 +46,14 @@ LLVM_OPTIMIZED="$8"
# should be installed.
INSTALL_LIBLTO="$9"
-# The tenth parameter is the version number of the submission, e.g. 1007.
-LLVM_SUBMIT_VERSION="${10}"
+# A yes/no parameter that controls whether to cross-build for an ARM host.
+ARM_HOSTED_BUILD="${10}"
-# The eleventh parameter is the subversion number of the submission, e.g. 03.
-LLVM_SUBMIT_SUBVERSION="${11}"
+# The version number of the submission, e.g. 1007.
+LLVM_SUBMIT_VERSION="${11}"
+
+# The subversion number of the submission, e.g. 03.
+LLVM_SUBMIT_SUBVERSION="${12}"
# 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
@@ -61,7 +64,7 @@ DARWIN_VERS=`uname -r | sed 's/\..*//'`
echo DARWIN_VERS = $DARWIN_VERS
DEVELOPER_DIR="${DEVELOPER_DIR-Developer}"
-if [ "x$RC_ProjectName" = "xllvmCore_EmbeddedHosted" ]; then
+if [ "$ARM_HOSTED_BUILD" = yes ]; then
DT_HOME="$DEST_DIR/usr"
HOST_SDKROOT=$SDKROOT
else
@@ -89,8 +92,7 @@ sed -e '/[Aa]pple-style/d' -e '/include.*GNUmakefile/d' $ORIG_SRC_DIR/Makefile >
mkdir -p $DIR/obj-llvm || exit 1
cd $DIR/obj-llvm || exit 1
-
-if [ "x$RC_ProjectName" = "xllvmCore_EmbeddedHosted" ]; then
+if [ "$ARM_HOSTED_BUILD" = yes ]; then
# The cross-tools' build process expects to find an existing cross toolchain
# under names like 'arm-apple-darwin$DARWIN_VERS-as'; so make them.
rm -rf $DIR/bin || exit 1
@@ -129,28 +131,21 @@ elif [ $DARWIN_VERS -gt 9 ]; then
unset XTMPCC savedPATH
fi
-
-if [ "x$RC_ProjectName" = "xllvmCore_EmbeddedHosted" ]; then
- if [ \! -f Makefile.config ]; then
- $SRC_DIR/configure --prefix=$DT_HOME \
- --enable-targets=arm \
- --host=arm-apple-darwin10 \
- --target=arm-apple-darwin10 \
- --build=i686-apple-darwin10 \
- --enable-assertions=$LLVM_ASSERTIONS \
- --enable-optimized=$LLVM_OPTIMIZED \
- --disable-bindings \
- || exit 1
- fi
+if [ "$ARM_HOSTED_BUILD" = yes ]; then
+ configure_prefix=$DT_HOME
+ configure_opts="--enable-targets=arm --host=arm-apple-darwin10 \
+ --target=arm-apple-darwin10 --build=i686-apple-darwin10"
else
- if [ \! -f Makefile.config ]; then
- $SRC_DIR/configure --prefix=$DT_HOME/local \
- --enable-targets=arm,x86,powerpc,cbe \
- --enable-assertions=$LLVM_ASSERTIONS \
- --enable-optimized=$LLVM_OPTIMIZED \
- --disable-bindings \
- || exit 1
- fi
+ configure_prefix=$DT_HOME/local
+ configure_opts="--enable-targets=arm,x86,powerpc,cbe"
+fi
+
+if [ \! -f Makefile.config ]; then
+ $SRC_DIR/configure --prefix=$configure_prefix $configure_opts \
+ --enable-assertions=$LLVM_ASSERTIONS \
+ --enable-optimized=$LLVM_OPTIMIZED \
+ --disable-bindings \
+ || exit 1
fi
SUBVERSION=`echo $RC_ProjectSourceVersion | sed -e 's/[^.]*\.\([0-9]*\).*/\1/'`