make/Defs-internal.gmk
changeset 21759 e24e22311718
parent 21510 0b432ae58dd5
child 21760 9f542d8601a8
--- a/make/Defs-internal.gmk	Thu Nov 07 08:16:05 2013 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,383 +0,0 @@
-#
-# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-#
-# Common variables used by all the Java makefiles.  This file should
-# not contain rules.
-#
-
-# The build times report is turned off by setting REPORT_BUILD_TIMES to nothing.
-# This is necessary for the target clobber/clean which will erase the
-# directories where the buildtimes are stored.
-REPORT_BUILD_TIMES=1
-# Store the build times in this directory.
-BUILDTIMESDIR=$(ABS_OUTPUTDIR)/tmp/buildtimes
-
-# Record starting time for build of a sub repository.
-define RecordStartTime
-$(MKDIR) -p $(BUILDTIMESDIR)
-$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_start_$1
-$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_start_$1_human_readable
-endef
-
-# Indicate that we started to build a sub repository and record starting time. 
-define MakeStart
-$(call RecordStartTime,$1)
-$(PRINTF) "\n\n%s\n%s\n##### %-60.60s #####\n%s\n\n" \
-"########################################################################" \
-"########################################################################" \
-"Entering $1 for target(s) $2" \
-"########################################################################"
-endef
-
-# Record ending time and calculate the difference and store it in a
-# easy to read format. Handles builds that cross midnight. Expects
-# that a build will never take 24 hours or more. 
-define RecordEndTime
-$(DATE) '+%Y %m %d %H %M %S' | $(NAWK) '{ print $$1,$$2,$$3,$$4,$$5,$$6,($$4*3600+$$5*60+$$6) }' > $(BUILDTIMESDIR)/build_time_end_$1
-$(DATE) '+%Y-%m-%d %H:%M:%S' > $(BUILDTIMESDIR)/build_time_end_$1_human_readable
-$(ECHO) `$(CAT) $(BUILDTIMESDIR)/build_time_start_$1` `$(CAT) $(BUILDTIMESDIR)/build_time_end_$1` $1 | \
-  $(NAWK) '{ F=$$7; T=$$14; if (F > T) { T+=3600*24 }; D=T-F; H=int(D/3600); \
-             M=int((D-H*3600)/60); S=D-H*3600-M*60; printf("%02d:%02d:%02d %s\n",H,M,S,$$15); }' \
-  > $(BUILDTIMESDIR)/build_time_diff_$1
-endef
-
-# Indicate that we are done.
-# Record ending time and print out the total time it took to build.
-define MakeFinish 
-$(if $(REPORT_BUILD_TIMES),$(call RecordEndTime,$1),) 
-$(PRINTF) "%s\n##### %-60.60s #####\n%s\n##### %-60.60s #####\n%s\n\n" \
-"########################################################################" \
-"Leaving $1 for target(s) $2" \
-"########################################################################" \
-$(if $(REPORT_BUILD_TIMES),"Build time `$(CAT) $(BUILDTIMESDIR)/build_time_diff_$1` for target(s) $2","") \
-"########################################################################" 
-endef
-
-# Find all build_time_* files and print their contents in a list sorted
-# on the name of the sub repository.
-define ReportBuildTimes
-$(PRINTF) -- "-- Build times ----------\nTarget %s\nStart %s\nEnd   %s\n%s\n%s\n-------------------------\n" \
-$1 \
-"`$(CAT) $(BUILDTIMESDIR)/build_time_start_TOTAL_human_readable`" \
-"`$(CAT) $(BUILDTIMESDIR)/build_time_end_TOTAL_human_readable`" \
-"`$(LS) $(BUILDTIMESDIR)/build_time_diff_* | $(GREP) -v _TOTAL | $(XARGS) $(CAT) | $(SORT) -k 2`" \
-"`$(CAT) $(BUILDTIMESDIR)/build_time_diff_TOTAL`"
-endef
-
-ifdef OPENJDK
-  ifneq ($(OPENJDK),true)
-    x:=$(error "OPENJDK (if defined) can only be set to true")
-  endif
-endif
-
-# Define absolute paths to TOPDIRs
-ABS_LANGTOOLS_TOPDIR:=$(call OptFullPath,"$(LANGTOOLS_TOPDIR)")
-ABS_CORBA_TOPDIR:=$(call OptFullPath,"$(CORBA_TOPDIR)")
-ABS_JAXP_TOPDIR:=$(call OptFullPath,"$(JAXP_TOPDIR)")
-ABS_JAXWS_TOPDIR:=$(call OptFullPath,"$(JAXWS_TOPDIR)")
-ABS_JDK_TOPDIR:=$(call OptFullPath,"$(JDK_TOPDIR)")
-ABS_HOTSPOT_TOPDIR:=$(call OptFullPath,"$(HOTSPOT_TOPDIR)")
-ABS_NASHORN_TOPDIR:=$(call OptFullPath,"$(NASHORN_TOPDIR)")
-ABS_INSTALL_TOPDIR:=$(call OptFullPath,"$(INSTALL_TOPDIR)")
-ABS_SPONSORS_TOPDIR:=$(call OptFullPath,"$(SPONSORS_TOPDIR)")
-ABS_DEPLOY_TOPDIR:=$(call OptFullPath,"$(DEPLOY_TOPDIR)")
-
-# Macro to return true or false if a file exists and is readable
-define MkExists
-$(shell if [ -r $1 ]; then $(ECHO) true; else $(ECHO) false; fi)
-endef
-
-HOTSPOT_SRC_AVAILABLE := $(call MkExists,$(HOTSPOT_TOPDIR)/make/Makefile)
-ifndef BUILD_HOTSPOT
-  ifdef ALT_HOTSPOT_IMPORT_PATH
-    BUILD_HOTSPOT := false
-  else
-    BUILD_HOTSPOT := $(HOTSPOT_SRC_AVAILABLE)
-  endif
-endif
-
-LANGTOOLS_SRC_AVAILABLE := $(call MkExists,$(LANGTOOLS_TOPDIR)/make/Makefile)
-ifndef BUILD_LANGTOOLS
-  ifdef ALT_LANGTOOLS_DIST
-    BUILD_LANGTOOLS := false
-  else
-    BUILD_LANGTOOLS := $(LANGTOOLS_SRC_AVAILABLE)
-  endif
-endif
-
-CORBA_SRC_AVAILABLE := $(call MkExists,$(CORBA_TOPDIR)/make/Makefile)
-ifndef BUILD_CORBA
-  ifdef ALT_CORBA_DIST
-    BUILD_CORBA := false
-  else
-    BUILD_CORBA := $(CORBA_SRC_AVAILABLE)
-  endif
-endif
-
-JAXP_SRC_AVAILABLE := $(call MkExists,$(JAXP_TOPDIR)/make/Makefile)
-ifndef BUILD_JAXP
-  ifdef ALT_JAXP_DIST
-    BUILD_JAXP := false
-  else
-    BUILD_JAXP := $(JAXP_SRC_AVAILABLE)
-  endif
-endif
-
-JAXWS_SRC_AVAILABLE := $(call MkExists,$(JAXWS_TOPDIR)/make/Makefile)
-ifndef BUILD_JAXWS
-  ifdef ALT_JAXWS_DIST
-    BUILD_JAXWS := false
-  else
-    BUILD_JAXWS := $(JAXWS_SRC_AVAILABLE)
-  endif
-endif
-
-JDK_SRC_AVAILABLE := $(call MkExists,$(JDK_TOPDIR)/make/Makefile)
-ifndef BUILD_JDK
-  BUILD_JDK := $(JDK_SRC_AVAILABLE)
-endif
-ifeq ($(JDK_SRC_AVAILABLE),true)
-  JDK_CLOSED_SRC_AVAILABLE := $(call MkExists,$(JDK_TOPDIR)/src/closed)
-  ifeq ($(JDK_CLOSED_SRC_AVAILABLE),false)
-    OPENJDK = true
-  endif
-endif
-
-NASHORN_SRC_AVAILABLE := $(call MkExists,$(NASHORN_TOPDIR)/make/Makefile)
-ifndef BUILD_NASHORN
-  ifdef ALT_NASHORN_DIST
-    BUILD_NASHORN := false
-  else
-    BUILD_NASHORN := $(NASHORN_SRC_AVAILABLE)
-  endif
-endif
-
-DEPLOY_SRC_AVAILABLE := $(call MkExists,$(DEPLOY_TOPDIR)/make/Makefile)
-ifndef BUILD_DEPLOY
-  BUILD_DEPLOY := $(DEPLOY_SRC_AVAILABLE)
-endif
-
-INSTALL_SRC_AVAILABLE := $(call MkExists,$(INSTALL_TOPDIR)/make/Makefile)
-ifndef BUILD_INSTALL
-  ifdef DEV_ONLY
-    BUILD_INSTALL := false
-  else
-    BUILD_INSTALL := $(INSTALL_SRC_AVAILABLE)
-  endif
-endif
-
-SPONSORS_SRC_AVAILABLE := $(call MkExists,$(SPONSORS_TOPDIR)/make/Makefile)
-ifndef BUILD_SPONSORS
-  ifdef DEV_ONLY
-    BUILD_SPONSORS := false
-  else
-    BUILD_SPONSORS := $(SPONSORS_SRC_AVAILABLE)
-  endif
-endif
-
-
-# Do we build the source bundles?
-BUNDLE_RULES = $(JDK_TOPDIR)/make/closed/bundles.gmk
-ifeq ($(SKIP_BUNDLES_BUILD), true)
-  BUNDLE_RULES_AVAILABLE := false
-else 
-  BUNDLE_RULES_AVAILABLE := $(call MkExists,$(BUNDLE_RULES))
-endif
-
-# Current things we do NOT build for OPENJDK
-ifdef OPENJDK
-  BUILD_DEPLOY = false
-  BUILD_INSTALL = false
-  BUILD_SPONSORS = false
-  BUNDLE_RULES_AVAILABLE := false
-  # These could be over-ridden on the command line or in environment
-  ifndef SKIP_FASTDEBUG_BUILD
-    SKIP_FASTDEBUG_BUILD = true
-  endif
-  ifndef SKIP_DEBUG_BUILD
-    SKIP_DEBUG_BUILD = true
-  endif
-  ifndef SKIP_COMPARE_IMAGES
-    SKIP_COMPARE_IMAGES = true
-  endif
-else
-  
-  # Various non-OPENJDK reasons to NOT build the deploy repository
-  ifeq ($(ARCH), ia64)
-    BUILD_DEPLOY=false
-  endif
-  ifeq ($(ARCH), sparcv9)
-    BUILD_DEPLOY=false
-  endif
-  ifeq ($(ARCH), amd64)
-    ifeq ($(PLATFORM), solaris)
-      BUILD_DEPLOY=false
-    endif
-  endif
-
-endif
-ifndef SKIP_PRODUCT_BUILD
-  SKIP_PRODUCT_BUILD = false
-endif
-
-# Many reasons why we would want to skip the comparison to previous jdk
-ifndef SKIP_COMPARE_IMAGES
-  ifeq ($(BUILD_JDK), false)
-    SKIP_COMPARE_IMAGES = true
-  endif
-  ifeq ($(BUILD_DEPLOY), false)
-    SKIP_COMPARE_IMAGES = true
-  endif
-  ifeq ($(BUILD_INSTALL), false)
-    SKIP_COMPARE_IMAGES = true
-  endif
-  ifdef DEV_ONLY
-    SKIP_COMPARE_IMAGES = true
-  endif
-endif
-
-# Select defaults if these are not set to true or false
-ifndef SKIP_DEBUG_BUILD
-  SKIP_DEBUG_BUILD=true
-endif
-ifndef SKIP_FASTDEBUG_BUILD
-  SKIP_FASTDEBUG_BUILD=true
-endif
-
-# Select javadoc setting GENERATE_DOCS
-ifndef NO_DOCS
-  # Default value (we want javadoc run)
-  GENERATE_DOCS=true
-  # No DOCS build when JDK_UPDATE_VERSION set on non-OPENJDK builds
-  ifndef OPENJDK
-    ifdef JDK_UPDATE_VERSION
-      GENERATE_DOCS=false
-    endif
-  endif
-  # If langtools, corba, jaxp, and jaxws are not being built, 
-  #   a full jdk javadoc is not possible
-  ifneq ($(BUILD_LANGTOOLS), true)
-    GENERATE_DOCS=false
-  endif
-  ifneq ($(BUILD_CORBA), true)
-    GENERATE_DOCS=false
-  endif
-  ifneq ($(BUILD_JAXP), true)
-    GENERATE_DOCS=false
-  endif
-  ifneq ($(BUILD_JAXWS), true)
-    GENERATE_DOCS=false
-  endif
-  ifeq ($(GENERATE_DOCS),false)
-    NO_DOCS=true
-  endif
-else
-  GENERATE_DOCS=false
-endif
-
-# Output directory for hotspot build
-HOTSPOT_DIR = $(ABS_OUTPUTDIR)/hotspot
-
-# If we are building components
-ifndef ALT_LANGTOOLS_DIST
-  LANGTOOLS_OUTPUTDIR = $(ABS_OUTPUTDIR)/langtools
-  ABS_LANGTOOLS_DIST = $(LANGTOOLS_OUTPUTDIR)/dist
-endif
-ifndef ALT_CORBA_DIST
-  CORBA_OUTPUTDIR = $(ABS_OUTPUTDIR)/corba
-  ABS_CORBA_DIST = $(CORBA_OUTPUTDIR)/dist
-endif
-ifndef ALT_JAXP_DIST
-  JAXP_OUTPUTDIR = $(ABS_OUTPUTDIR)/jaxp
-  ABS_JAXP_DIST = $(JAXP_OUTPUTDIR)/dist
-endif
-ifndef ALT_JAXWS_DIST
-  JAXWS_OUTPUTDIR = $(ABS_OUTPUTDIR)/jaxws
-  ABS_JAXWS_DIST = $(JAXWS_OUTPUTDIR)/dist
-endif
-ifndef ALT_NASHORN_DIST
-  NASHORN_OUTPUTDIR = $(ABS_OUTPUTDIR)/nashorn
-  ABS_NASHORN_DIST = $(NASHORN_OUTPUTDIR)/dist
-endif
-
-# Common make arguments (supplied to all component builds)
-COMMON_BUILD_ARGUMENTS = \
-    JDK_TOPDIR=$(ABS_JDK_TOPDIR) \
-    JDK_MAKE_SHARED_DIR=$(ABS_JDK_TOPDIR)/make/common/shared \
-    EXTERNALSANITYCONTROL=true \
-    SOURCE_LANGUAGE_VERSION=$(SOURCE_LANGUAGE_VERSION) \
-    TARGET_CLASS_VERSION=$(TARGET_CLASS_VERSION) \
-    MILESTONE=$(MILESTONE) \
-    BUILD_NUMBER=$(BUILD_NUMBER) \
-    JDK_BUILD_NUMBER=$(JDK_BUILD_NUMBER) \
-    FULL_VERSION=$(FULL_VERSION) \
-    PREVIOUS_JDK_VERSION=$(PREVIOUS_JDK_VERSION) \
-    JDK_VERSION=$(JDK_VERSION) \
-    JDK_MKTG_VERSION=$(JDK_MKTG_VERSION) \
-    JDK_MAJOR_VERSION=$(JDK_MAJOR_VERSION) \
-    JDK_MINOR_VERSION=$(JDK_MINOR_VERSION) \
-    JDK_MICRO_VERSION=$(JDK_MICRO_VERSION) \
-    PREVIOUS_MAJOR_VERSION=$(PREVIOUS_MAJOR_VERSION) \
-    PREVIOUS_MINOR_VERSION=$(PREVIOUS_MINOR_VERSION) \
-    PREVIOUS_MICRO_VERSION=$(PREVIOUS_MICRO_VERSION)
-
-ifdef OPENJDK
-  COMMON_BUILD_ARGUMENTS += OPENJDK=$(OPENJDK)
-endif
-
-ifdef ARCH_DATA_MODEL
-  COMMON_BUILD_ARGUMENTS += ARCH_DATA_MODEL=$(ARCH_DATA_MODEL)
-endif
-
-ifeq ($(DEBUG_NAME), debug)
-  COMMON_BUILD_ARGUMENTS += VARIANT=DBG DEBUG_CLASSFILES=true
-endif
-
-ifeq ($(DEBUG_NAME), fastdebug)
-  COMMON_BUILD_ARGUMENTS += VARIANT=DBG FASTDEBUG=true DEBUG_CLASSFILES=true
-endif
-
-ifdef COOKED_JDK_UPDATE_VERSION
-  COMMON_BUILD_ARGUMENTS += COOKED_JDK_UPDATE_VERSION=$(COOKED_JDK_UPDATE_VERSION)
-endif
-
-ifdef COOKED_BUILD_NUMBER
-  COMMON_BUILD_ARGUMENTS += COOKED_BUILD_NUMBER=$(COOKED_BUILD_NUMBER)
-endif
-
-ifdef ANT_HOME
-  COMMON_BUILD_ARGUMENTS += ANT_HOME="$(ANT_HOME)"
-endif
-
-# When all repos support FULL_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES,
-# then these can be set here:
-#ifdef FULL_DEBUG_SYMBOLS
-#  COMMON_BUILD_ARGUMENTS += FULL_DEBUG_SYMBOLS=$(FULL_DEBUG_SYMBOLS)
-#endif
-#
-#ifdef ZIP_DEBUGINFO_FILES
-#  COMMON_BUILD_ARGUMENTS += ZIP_DEBUGINFO_FILES="$(ZIP_DEBUGINFO_FILES)"
-#endif