diff options
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | utils/buildit/GNUmakefile | 2 | ||||
-rwxr-xr-x | utils/buildit/build_llvm | 4 |
3 files changed, 17 insertions, 1 deletions
@@ -19,6 +19,12 @@ LEVEL := . # # When cross-compiling, there are some things (tablegen) that need to # be build for the build system first. + +# If "RC_ProjectName" exists in the environment, and its value is +# "llvmCore", then this is an "Apple-style" build; search for +# "Apple-style" in the comments for more info. Anything else is a +# normal build. +ifneq ($(RC_ProjectName),llvmCore) # Normal build (not "Apple-style"). ifeq ($(BUILD_DIRS_ONLY),1) DIRS := lib/System lib/Support utils OPTIONAL_DIRS := @@ -211,3 +217,9 @@ happiness: update all check unittests .NOTPARALLEL: +else # Building "Apple-style." +# In an Apple-style build, once configuration is done, lines marked +# "Apple-style" are removed with sed! Please don't remove these! +# Look for the string "Apple-style" in utils/buildit/build_llvm. +include $(shell find . -name GNUmakefile) # Building "Apple-style." +endif # Building "Apple-style." diff --git a/utils/buildit/GNUmakefile b/utils/buildit/GNUmakefile index e3b334a045..997188333c 100644 --- a/utils/buildit/GNUmakefile +++ b/utils/buildit/GNUmakefile @@ -59,7 +59,7 @@ endif # NOTE : Always put version numbers at the end because they are optional. install: $(OBJROOT) $(SYMROOT) $(DSTROOT) cd $(OBJROOT) && \ - $(SRC)/build_llvm "$(RC_ARCHS)" "$(TARGETS)" \ + $(SRC)/utils/buildit/build_llvm "$(RC_ARCHS)" "$(TARGETS)" \ $(SRC) $(PREFIX) $(DSTROOT) $(SYMROOT) \ $(LLVM_ASSERTIONS) $(LLVM_OPTIMIZED) \ $(RC_ProjectSourceVersion) $(RC_ProjectSourceSubversion) diff --git a/utils/buildit/build_llvm b/utils/buildit/build_llvm index 91fbe15be4..2bdb208237 100755 --- a/utils/buildit/build_llvm +++ b/utils/buildit/build_llvm @@ -82,6 +82,10 @@ SRC_DIR=$DIR/src rm -rf $SRC_DIR || exit 1 mkdir $SRC_DIR || exit 1 ln -s $ORIG_SRC_DIR/* $SRC_DIR/ || exit 1 +# We can't use the top-level Makefile as-is. Remove the soft link: +rm $SRC_DIR/Makefile || exit 1 +# Now create our own by editing the top-level Makefile, deleting every line marked "Apple-style": +sed -e '/[Aa]pple-style/d' -e '/include.*GNUmakefile/d' $ORIG_SRC_DIR/Makefile > $SRC_DIR/Makefile || exit 1 # Build the LLVM tree universal. mkdir -p $DIR/obj-llvm || exit 1 |