diff --git a/utils/buildit/GNUmakefile b/utils/buildit/GNUmakefile index c9a7a5efc97..e0568d2f145 100644 --- a/utils/buildit/GNUmakefile +++ b/utils/buildit/GNUmakefile @@ -46,6 +46,9 @@ else LLVM_OPTIMIZED := yes endif +# Default to not install libLTO.dylib. +INSTALL_LIBLTO := no + ifndef RC_ProjectSourceVersion RC_ProjectSourceVersion = 9999 endif @@ -59,7 +62,7 @@ install: $(OBJROOT) $(SYMROOT) $(DSTROOT) cd $(OBJROOT) && \ $(SRC)/utils/buildit/build_llvm "$(RC_ARCHS)" "$(TARGETS)" \ $(SRC) $(PREFIX) $(DSTROOT) $(SYMROOT) \ - $(ENABLE_ASSERTIONS) $(LLVM_OPTIMIZED) \ + $(ENABLE_ASSERTIONS) $(LLVM_OPTIMIZED) $(INSTALL_LIBLTO) \ $(RC_ProjectSourceVersion) $(RC_ProjectSourceSubversion) # installhdrs does nothing, because the headers aren't useful until diff --git a/utils/buildit/build_llvm b/utils/buildit/build_llvm index 9600f448f47..b58e0f02db4 100755 --- a/utils/buildit/build_llvm +++ b/utils/buildit/build_llvm @@ -42,11 +42,15 @@ LLVM_ASSERTIONS="$7" # build. LLVM_OPTIMIZED="$8" -# The nineth parameter is the version number of the submission, e.g. 1007. -LLVM_SUBMIT_VERSION="$9" +# The ninth parameter is a yes/no that indicates whether libLTO.dylib +# should be installed. +INSTALL_LIBLTO="$9" -# The tenth parameter is the subversion number of the submission, e.g. 03. -LLVM_SUBMIT_SUBVERSION="${10}" +# The tenth parameter is the version number of the submission, e.g. 1007. +LLVM_SUBMIT_VERSION="${10}" + +# The eleventh parameter is the subversion number of the submission, e.g. 03. +LLVM_SUBMIT_SUBVERSION="${11}" # 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 @@ -276,9 +280,13 @@ else fi cd $DEST_DIR$DEST_ROOT -mkdir -p $DT_HOME/lib -mv lib/libLTO.dylib $DT_HOME/lib/libLTO.dylib -strip -S $DT_HOME/lib/libLTO.dylib +if [ "$INSTALL_LIBLTO" == yes ]; then + mkdir -p $DT_HOME/lib + mv lib/libLTO.dylib $DT_HOME/lib/libLTO.dylib + strip -S $DT_HOME/lib/libLTO.dylib +else + rm lib/libLTO.dylib +fi rm -f lib/libLTO.a lib/libLTO.la # The Hello dylib is an example of how to build a pass. No need to install it. @@ -343,10 +351,11 @@ find $DEST_DIR -name html.tar.gz -exec rm {} \; ################################################################################ # symlinks so that B&I can find things -cd $DEST_DIR -mkdir -p ./usr/lib/ -cd usr/lib -ln -s ../../$DEVELOPER_DIR/usr/lib/libLTO.dylib ./libLTO.dylib +if [ "$INSTALL_LIBLTO" == yes ]; then + mkdir -p $DEST_DIR/usr/lib/ + cd $DEST_DIR/usr/lib && \ + ln -s ../../$DEVELOPER_DIR/usr/lib/libLTO.dylib ./libLTO.dylib +fi ################################################################################ # w00t! Done!