diff options
author | Bob Wilson <bob.wilson@apple.com> | 2010-05-05 22:22:40 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2010-05-05 22:22:40 +0000 |
commit | 7d2552135d2240f95d94c4f252274f4f863a3f5d (patch) | |
tree | 83ed585668c345b53873290555375f70e06213a9 /utils/buildit | |
parent | 676b2dfd2719e03bda4d1d99de67be2a9bdfb124 (diff) |
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/GNUmakefile | 9 | ||||
-rwxr-xr-x | utils/buildit/build_llvm | 51 |
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/'` |