8006828: "SKIP_BOOT_CYCLE=false" must work in new building infrastructure

Thu, 04 Apr 2013 09:24:21 +0200

author
erikj
date
Thu, 04 Apr 2013 09:24:21 +0200
changeset 668
52d1b385a4ed
parent 666
01f631f89fa3
child 669
2d4156e077fa

8006828: "SKIP_BOOT_CYCLE=false" must work in new building infrastructure
Reviewed-by: tbell, alanb

common/autoconf/bootcycle-spec.gmk.in file | annotate | diff | comparison | revisions
common/autoconf/spec.gmk.in file | annotate | diff | comparison | revisions
common/makefiles/Jprt.gmk file | annotate | diff | comparison | revisions
common/makefiles/Main.gmk file | annotate | diff | comparison | revisions
     1.1 --- a/common/autoconf/bootcycle-spec.gmk.in	Tue Apr 02 15:29:18 2013 -0700
     1.2 +++ b/common/autoconf/bootcycle-spec.gmk.in	Thu Apr 04 09:24:21 2013 +0200
     1.3 @@ -29,9 +29,16 @@
     1.4  include @SPEC@
     1.5  
     1.6  # Check that the user did not try to specify a different java to use for compiling.
     1.7 -ifneq ($(firstword $(SJAVAC_SERVER_JAVA)),$(firstword $(JAVA)))
     1.8 -  $(error Bootcycle builds are not possible if --with-sjavac-server-java is specified)
     1.9 +# On windows we need to account for fixpath being first word.
    1.10 +ifeq ($(firstword $(JAVA)),$(FIXPATH))
    1.11 +  JAVA_EXEC_POS=2
    1.12 +else
    1.13 +  JAVA_EXEC_POS=1
    1.14  endif
    1.15 +ifneq ($(word $(JAVA_EXEC_POS),$(SJAVAC_SERVER_JAVA)),$(word $(JAVA_EXEC_POS),$(JAVA)))
    1.16 +    $(error Bootcycle builds are not possible if --with-sjavac-server-java is specified)
    1.17 +endif
    1.18 +
    1.19  
    1.20  # Override specific values to do a boot cycle build
    1.21  
    1.22 @@ -39,5 +46,8 @@
    1.23  BUILD_OUTPUT:=@BUILD_OUTPUT@/bootcycle-build
    1.24  
    1.25  # Use a different Boot JDK
    1.26 +OLD_BOOT_JDK:=$(BOOT_JDK)
    1.27  BOOT_JDK:=@BUILD_OUTPUT@/images/j2sdk-image
    1.28  BOOT_RTJAR:=@BUILD_OUTPUT@/images/j2sdk-image/jre/lib/rt.jar
    1.29 +
    1.30 +SJAVAC_SERVER_JAVA:=$(subst $(OLD_BOOT_JDK),$(BOOT_JDK),$(SJAVAC_SERVER_JAVA))
     2.1 --- a/common/autoconf/spec.gmk.in	Tue Apr 02 15:29:18 2013 -0700
     2.2 +++ b/common/autoconf/spec.gmk.in	Thu Apr 04 09:24:21 2013 +0200
     2.3 @@ -225,6 +225,7 @@
     2.4  # directory.
     2.5  
     2.6  BUILD_OUTPUT:=@BUILD_OUTPUT@
     2.7 +# Colon left out to be able to override IMAGES_OUTPUTDIR for bootcycle-images
     2.8  LANGTOOLS_OUTPUTDIR=$(BUILD_OUTPUT)/langtools
     2.9  CORBA_OUTPUTDIR=$(BUILD_OUTPUT)/corba
    2.10  JAXP_OUTPUTDIR=$(BUILD_OUTPUT)/jaxp
    2.11 @@ -643,16 +644,17 @@
    2.12  JRE_IMAGE_SUBDIR:=j2re-image
    2.13  JDK_OVERLAY_IMAGE_SUBDIR:=j2sdk-overlay-image
    2.14  JRE_OVERLAY_IMAGE_SUBDIR:=j2re-overlay-image
    2.15 -JDK_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR)
    2.16 -JRE_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR)
    2.17 -JDK_OVERLAY_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/$(JDK_OVERLAY_IMAGE_SUBDIR)
    2.18 -JRE_OVERLAY_IMAGE_DIR:=$(IMAGES_OUTPUTDIR)/$(JRE_OVERLAY_IMAGE_SUBDIR)
    2.19 +# Colon left out to be able to override output dir for bootcycle-images
    2.20 +JDK_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_IMAGE_SUBDIR)
    2.21 +JRE_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_IMAGE_SUBDIR)
    2.22 +JDK_OVERLAY_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_OVERLAY_IMAGE_SUBDIR)
    2.23 +JRE_OVERLAY_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_OVERLAY_IMAGE_SUBDIR)
    2.24  
    2.25  # Macosx bundles directory definitions
    2.26 -JDK_BUNDLE_SUBDIR:=j2sdk-bundle/jdk$(JDK_VERSION).jdk/Contents
    2.27 -JRE_BUNDLE_SUBDIR:=j2re-bundle/jre$(JDK_VERSION).jre/Contents
    2.28 -JDK_BUNDLE_DIR:=$(IMAGES_OUTPUTDIR)/$(JDK_BUNDLE_SUBDIR)
    2.29 -JRE_BUNDLE_DIR:=$(IMAGES_OUTPUTDIR)/$(JRE_BUNDLE_SUBDIR)
    2.30 +JDK_BUNDLE_SUBDIR=j2sdk-bundle/jdk$(JDK_VERSION).jdk/Contents
    2.31 +JRE_BUNDLE_SUBDIR=j2re-bundle/jre$(JDK_VERSION).jre/Contents
    2.32 +JDK_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_BUNDLE_SUBDIR)
    2.33 +JRE_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_BUNDLE_SUBDIR)
    2.34  
    2.35  # Include the custom-spec.gmk file if it exists
    2.36  -include $(dir @SPEC@)/custom-spec.gmk
     3.1 --- a/common/makefiles/Jprt.gmk	Tue Apr 02 15:29:18 2013 -0700
     3.2 +++ b/common/makefiles/Jprt.gmk	Thu Apr 04 09:24:21 2013 +0200
     3.3 @@ -64,6 +64,10 @@
     3.4  # Build with the configure bridge. After running configure, restart make
     3.5  # to parse the new spec file.
     3.6  BRIDGE_TARGETS := all
     3.7 +# Add bootcycle-images target if legacy variable is set.
     3.8 +ifeq ($(SKIP_BOOT_CYCLE),false)
     3.9 +  BRIDGE_TARGETS += bootcycle-images
    3.10 +endif
    3.11  bridgeBuild: bridge2configure
    3.12  	@cd $(root_dir) && $(MAKE) -f NewMakefile.gmk $(BRIDGE_TARGETS)
    3.13  
     4.1 --- a/common/makefiles/Main.gmk	Tue Apr 02 15:29:18 2013 -0700
     4.2 +++ b/common/makefiles/Main.gmk	Thu Apr 04 09:24:21 2013 +0200
     4.3 @@ -175,9 +175,8 @@
     4.4  	@($(CD) $(JDK_TOPDIR)/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) $(MAKE_ARGS) -f BuildJdk.gmk sign-jars)
     4.5  	@$(call TargetExit)
     4.6  
     4.7 -bootcycle-images:
     4.8 -	@$(ECHO) Boot cycle build step 1: Building the JDK image normally
     4.9 -	@($(CD) $(SRC_ROOT)/common/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) SPEC=$(SPEC) images)
    4.10 +bootcycle-images: images bootcycle-images-only
    4.11 +bootcycle-images-only: start-make
    4.12  	@$(ECHO) Boot cycle build step 2: Building a new JDK image using previously built image
    4.13  	@($(CD) $(SRC_ROOT)/common/makefiles && $(BUILD_LOG_WRAPPER) $(MAKE) SPEC=$(dir $(SPEC))bootcycle-spec.gmk images)
    4.14  

mercurial