[llvm-branch-commits] [cfe-branch] r100135 - /cfe/branches/Apple/whitney-IB/Makefile

Daniel Dunbar daniel at zuster.org
Thu Apr 1 13:23:54 PDT 2010


Author: ddunbar
Date: Thu Apr  1 15:23:53 2010
New Revision: 100135

URL: http://llvm.org/viewvc/llvm-project?rev=100135&view=rev
Log:
Switch Apple style build to being self-hosted; there is no comparison step yet.
 - This does a per-arch self host, although in theory nothing is preventing us
   from using a single arch stage1, except that it gives us less implicit
   testing coverage.

Also, more simplification.

Modified:
    cfe/branches/Apple/whitney-IB/Makefile

Modified: cfe/branches/Apple/whitney-IB/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/Apple/whitney-IB/Makefile?rev=100135&r1=100134&r2=100135&view=diff
==============================================================================
--- cfe/branches/Apple/whitney-IB/Makefile (original)
+++ cfe/branches/Apple/whitney-IB/Makefile Thu Apr  1 15:23:53 2010
@@ -31,6 +31,7 @@
 Clang_Make_Variables := KEEP_SYMBOLS=1 CLANG_VENDOR=Apple
 ifeq ($(Clang_Driver_Mode), Production)
 Clang_Make_Variables += CLANG_IS_PRODUCTION=1
+Clang_Make_Variables += CLANGXX_IS_PRODUCTION=1
 else ifeq ($(Clang_Driver_Mode), Development)
 # ... this is the default ...
 else
@@ -55,12 +56,12 @@
 endif
 
 # Set configure flags.
-Extra_Configure_Flags = --enable-targets=x86,arm \
-			--enable-optimized \
-			$(Assertions_Configure_Flag) \
-                        --with-optimize-option="$(Clang_Optimize_Option)" \
-                        --with-extra-options="$(Clang_Extra_Options)" \
-			--disable-doxygen
+Configure_Flags = --enable-targets=x86,arm \
+		  --enable-optimized \
+		  $(Assertions_Configure_Flag) \
+                  --with-optimize-option="$(Clang_Optimize_Option)" \
+                  --with-extra-options="$(Clang_Extra_Options)" \
+		  --disable-doxygen
 
 # Set up post install targets.
 Post_Install_Targets :=
@@ -130,26 +131,6 @@
 	fi
 
 ##
-# Check that expected RC variables are set and sane.
-
-ifneq (OK, $(shell test -d $(SRCROOT) && echo "OK"))
-  $(error "invalid SRCROOT: '$(SRCROOT)'")
-endif
-
-ifeq ($(RC_ARCHS),)
-  $(error "RC_ARCHS must be set")
-endif
-ifeq ($(OBJROOT),)
-  $(error "OBJROOT must be set")
-endif
-ifeq ($(SYMROOT),)
-  $(error "SYMROOT must be set")
-endif
-ifeq ($(DSTROOT),)
-  $(error "DSTROOT must be set")
-endif
-
-##
 # Additional Tool Paths
 
 CHOWN		= /usr/sbin/chown
@@ -173,9 +154,7 @@
 
 Sources		= $(SRCROOT)/$(Project)
 Configure	= $(Sources)/configure
-Environment	= CC="$(CC) -arch $$arch" CXX="$(CXX) -arch $$arch" ONLY_MAN_DOCS=1
-Configure_Flags = --prefix="$(Install_Prefix)" $(Extra_Configure_Flags)
-Install_Flags	= DESTDIR=$(OBJROOT)/install-$$arch
+Install_Flags	= DESTDIR=$(OBJROOT)/install-$$arch ONLY_MAN_DOCS=1
 
 OSV		= $(DSTROOT)/usr/local/OpenSourceVersions
 OSL		= $(DSTROOT)/usr/local/OpenSourceLicenses
@@ -196,8 +175,8 @@
 		echo "Installing $(Project) for $$arch..." && \
 		$(MKDIR) $(OBJROOT)/install-$$arch && \
 		umask 0022 && \
-		$(MAKE) -C $(OBJROOT)/$$arch $(Environment) \
-			$(Install_Flags) $(Install_Target) || exit 1 ; \
+		$(MAKE) -C $(OBJROOT)/$$arch \
+		  $(Install_Flags) $(Install_Target) || exit 1 ; \
 	done
 	$(_v) rm -rf $(DSTROOT)
 	$(_v) mkdir -p $(DSTROOT)
@@ -214,19 +193,40 @@
 	$(_v)- $(CHOWN) -R root:wheel $(DSTROOT) $(SYMROOT)
 	$(_v) $(MAKE) post-install
 
-build:: configure
+build:: build_final
+
+build_final:: configure_final
 	$(_v) for arch in $(RC_ARCHS) ; do \
-		echo "Building $(Project) for $$arch..." && \
-		$(MAKE) -j$(SYSCTL) -C $(OBJROOT)/$$arch $(Environment) $(Build_Target) || exit 1; \
+		echo "Building (Final) $(Project) for $$arch..." && \
+		$(MAKE) -j$(SYSCTL) -C $(OBJROOT)/$$arch $(Build_Target) || exit 1; \
 	done
 
-configure:: lazy_install_source
+configure_final:: build_stage1
 	$(_v) $(MKDIR) $(OBJROOT)
 	$(_v) for arch in $(RC_ARCHS) ; do \
-		echo "Configuring $(Project) for $$arch..." && \
+		echo "Configuring (Final) $(Project) for $$arch..." && \
 		$(MKDIR) $(OBJROOT)/$$arch && \
 		cd $(OBJROOT)/$$arch && \
-		$(Environment) $(Configure) $(Configure_Flags) || exit 1 ; \
+		$(Configure) --prefix="$(Install_Prefix)" $(Configure_Flags) \
+		  CC="$(OBJROOT)/stage1-install-$$arch/bin/clang -arch $$arch" \
+		  CXX="$(OBJROOT)/stage1-install-$$arch/bin/clang++ -arch $$arch" || exit 1 ; \
+	done
+
+build_stage1:: configure_stage1
+	$(_v) for arch in $(RC_ARCHS) ; do \
+		echo "Building (Stage 1) $(Project) for $$arch..." && \
+		$(MAKE) -j$(SYSCTL) -C $(OBJROOT)/stage1-$$arch $(Build_Target) || exit 1; \
+		$(MAKE) -j$(SYSCTL) -C $(OBJROOT)/stage1-$$arch $(Install_Target) || exit 1; \
+	done
+
+configure_stage1:: 
+	$(_v) $(MKDIR) $(OBJROOT)
+	$(_v) for arch in $(RC_ARCHS) ; do \
+		echo "Configuring (Stage 1) $(Project) for $$arch..." && \
+		$(MKDIR) $(OBJROOT)/stage1-$$arch && \
+		cd $(OBJROOT)/stage1-$$arch && \
+		$(Configure) --prefix="$(OBJROOT)/stage1-install-$$arch" $(Configure_Flags) \
+		  CC="$(CC) -arch $$arch" CXX="$(CXX) -arch $$arch" || exit 1 ; \
 	done
 
 lazy_install_source::





More information about the llvm-branch-commits mailing list