diff --git a/.hgtags-top-repo b/.hgtags-top-repo index 7cd4cd8c8c6..36b6337e14d 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -366,3 +366,4 @@ e882bcdbdac436523f3d5681611d3118a3804ea7 jdk-9+117 cae471d3b87783e0a3deea658e1e1c84b2485b6c jdk-9+121 346be2df0f5b31d423807f53a719d1b9a67f3354 jdk-9+122 405d811c0d7b9b48ff718ae6c240b732f098c028 jdk-9+123 +f80c841ae2545eaf9acd2724bccc305d98cefbe2 jdk-9+124 diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index 44d6658a775..525a890bae3 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -5094,7 +5094,7 @@ VS_SDK_PLATFORM_NAME_2013= #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1466007828 +DATE_WHEN_GENERATED=1467039751 ############################################################################### # @@ -36621,7 +36621,6 @@ $as_echo "yes" >&6; } # Setup the assembler (AS) # if test "x$OPENJDK_TARGET_OS" = xsolaris; then - # FIXME: should this really be solaris, or solstudio? # Publish this variable in the help. @@ -37105,6 +37104,9 @@ $as_echo "$as_me: Rewriting AS to \"$new_complete\"" >&6;} fi fi + if test "x$AS" = x; then + as_fn_error $? "Solaris assembler (as) is required. Please install via \"pkg install pkg:/developer/assembler\"." "$LINENO" 5 + fi else # FIXME: is this correct for microsoft? AS="$CC -c" diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4 index 3f543a1ada2..e87cb24e7f2 100644 --- a/common/autoconf/toolchain.m4 +++ b/common/autoconf/toolchain.m4 @@ -597,9 +597,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE], # Setup the assembler (AS) # if test "x$OPENJDK_TARGET_OS" = xsolaris; then - # FIXME: should this really be solaris, or solstudio? BASIC_PATH_PROGS(AS, as) BASIC_FIXUP_EXECUTABLE(AS) + if test "x$AS" = x; then + AC_MSG_ERROR([Solaris assembler (as) is required. Please install via "pkg install pkg:/developer/assembler".]) + fi else # FIXME: is this correct for microsoft? AS="$CC -c" diff --git a/common/bin/compare.sh b/common/bin/compare.sh index 0126b9c23ce..c1663fd8e4c 100644 --- a/common/bin/compare.sh +++ b/common/bin/compare.sh @@ -360,9 +360,11 @@ compare_general_files() { $RM $OTHER_FILE $THIS_FILE #Note that | doesn't work on mac sed. HTML_FILTER="$SED \ - -e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}//g' \ + -e 's/20[0-9]\{2\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}//g' \ + -e 's/20[0-9]\{2\}-[0-9]\{2\}-[0-9]\{2\}//g' \ -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \ - -e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [0-9]\{4\} [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*//' + -e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [0-9]\{4\} [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*//' \ + -e 's/from .*\.idl/\.idl/' \ " $CAT $OTHER_DIR/$f | eval "$HTML_FILTER" > $OTHER_FILE & $CAT $THIS_DIR/$f | eval "$HTML_FILTER" > $THIS_FILE & diff --git a/make/Bundles.gmk b/make/Bundles.gmk index 376cd315866..84b7afc2b76 100644 --- a/make/Bundles.gmk +++ b/make/Bundles.gmk @@ -52,7 +52,7 @@ $(eval $(call IncludeCustomExtension, , Bundles-pre.gmk)) SetupBundleFile = $(NamedParamsMacroTemplate) define SetupBundleFileBody - $1_RELATIVE_FILES := $$(patsubst $$($1_BASE_DIR)/%, ./%, $$($1_FILES)) + $1_RELATIVE_FILES := $$(patsubst $$($1_BASE_DIR)/%, %, $$($1_FILES)) ifneq ($$(filter %.tar.gz, $$($1_BUNDLE_NAME)), ) $1_TYPE := tar.gz @@ -71,7 +71,7 @@ define SetupBundleFileBody $$(call MakeDir, $$(@D)) ifneq ($$($1_SPECIAL_INCLUDES), ) $$(foreach i, $$($1_SPECIAL_INCLUDES), \ - ($(CD) $$($1_BASE_DIR) && $(FIND) ./$$i \ + ($(CD) $$($1_BASE_DIR) && $(FIND) $$i \ >> $(SUPPORT_OUTPUTDIR)/bundles/_$1_files ) ; ) endif ifneq ($$($1_SUBDIR), ) diff --git a/make/CreateHgtipFiles.gmk b/make/CreateHgtipFiles.gmk new file mode 100644 index 00000000000..61e7be17ac5 --- /dev/null +++ b/make/CreateHgtipFiles.gmk @@ -0,0 +1,55 @@ +# +# Copyright (c) 2016, 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. +# + +default: all + +include $(SPEC) +include MakeBase.gmk + +define SetupCreateHgtip + + $$(strip $1)/$(HGTIP_FILENAME): FRC + $(HG) tip --repository $$(strip $1) --template '{node|short}\n' > $$@.tmp + if [ ! -f $$@ ] || [ "`$(CAT) $$@`" != "`$(CAT) $$@.tmp`" ]; then \ + $(MV) $$@.tmp $$@ ; \ + else \ + $(RM) $$@.tmp ; \ + fi + + TARGETS += $$(strip $1)/$(HGTIP_FILENAME) + +endef + +# Only try to create the tips if finding an actual hg repository. This will be +# false if building from a source bundle. +$(foreach r, $(call FindAllReposAbs), \ + $(if $(wildcard $r/.hg), $(eval $(call SetupCreateHgtip, $r))) \ +) + +all: $(TARGETS) + +FRC: + +.PHONY: all diff --git a/make/GensrcModuleInfo.gmk b/make/GensrcModuleInfo.gmk index f3487b4339d..79704ce020a 100644 --- a/make/GensrcModuleInfo.gmk +++ b/make/GensrcModuleInfo.gmk @@ -95,6 +95,7 @@ ifneq ($(MOD_FILES), ) $(strip $(wildcard $(addsuffix $(subst .,/,/$(strip $1)), \ $(MODULE_CLASSES_DIRS) \ $(addsuffix /$(MODULE), $(IMPORT_MODULES_CLASSES)) \ + $(JDK_OUTPUTDIR)/modules/$(MODULE) \ ))) # Convert the modification lines into arguments for the modification tool. diff --git a/make/Javadoc.gmk b/make/Javadoc.gmk index d27caaf85f1..4d946139940 100644 --- a/make/Javadoc.gmk +++ b/make/Javadoc.gmk @@ -463,7 +463,7 @@ DOCLETAPI_WINDOWTITLE := Doclet API DOCLETAPI_HEADER := Doclet API DOCLETAPI_BOTTOM := $(call CommonTrademarkBottom,$(DOCLETAPI_FIRST_COPYRIGHT_YEAR)) DOCLETAPI_GROUPNAME := Packages -DOCLETAPI_REGEXP := jdk.javadoc.doclet.* +DOCLETAPI_REGEXP := jdk.javadoc.doclet* # DOCLETAPI_PKGS is located in NON_CORE_PKGS.gmk # The index.html, options, and packages files diff --git a/make/Main.gmk b/make/Main.gmk index d8282b40533..7962a49722c 100644 --- a/make/Main.gmk +++ b/make/Main.gmk @@ -301,13 +301,16 @@ ALL_TARGETS += $(JMOD_TARGETS) ################################################################################ # Images targets -# Stores the tips for each repository. This file is be used when constructing the jdk image and can be -# used to track the exact sources used to build that image. +# Stores the tips for each repository. This file is be used when constructing +# the jdk image and can be used to track the exact sources used to build that +# image. source-tips: $(SUPPORT_OUTPUTDIR)/source_tips $(SUPPORT_OUTPUTDIR)/source_tips: FRC $(call MakeDir, $(@D)) - @$(RM) $@ - @$(call GetSourceTips) + $(call GetSourceTips) + +create-hgtip-files: + +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f CreateHgtipFiles.gmk) BOOTCYCLE_TARGET := product-images bootcycle-images: @@ -337,8 +340,8 @@ profiles: mac-bundles-jdk: +($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk) -ALL_TARGETS += source-tips bootcycle-images zip-security zip-source \ - jrtfs-jar jimages profiles mac-bundles-jdk +ALL_TARGETS += source-tips create-hgtip-files bootcycle-images zip-security \ + zip-source jrtfs-jar jimages profiles mac-bundles-jdk ################################################################################ # Docs targets diff --git a/make/common/MakeBase.gmk b/make/common/MakeBase.gmk index 3665297d036..703994958d6 100644 --- a/make/common/MakeBase.gmk +++ b/make/common/MakeBase.gmk @@ -335,25 +335,27 @@ endif # HAS_FILE_FUNCTION ################################################################################ # The source tips can come from the Mercurial repository, or in the files # $(HGTIP_FILENAME) which contains the tip but is also positioned in the same -# directory as the original $(HGDIR) directory. -# These should not be := assignments, only used from the root Makefile. -HG_VERSION = $(shell $(HG) version 2> /dev/null) -HG_DIRECTORY=.hg -HGTIP_FILENAME=.hgtip -HG_SEARCH = ./REPO ./*/REPO ./*/*/REPO ./*/*/*/REPO -REPO_LIST = $(patsubst ./%,%,$(patsubst %/,%,$(sort $(dir \ - $(shell $(CD) $(SRC_ROOT) ; \ - $(LS) -d $(HG_SEARCH:%/REPO=%/$(HG_DIRECTORY)) \ - $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) \ - 2> /dev/null))))) +# directory as the original .hg directory. The hgtip files are created in +# CreateHgtipFiles.gmk. +HGTIP_FILENAME := .hgtip +FindAllReposAbs = \ + $(strip $(sort $(dir $(filter-out $(SRC_ROOT)/build/%, $(wildcard \ + $(addprefix $(SRC_ROOT)/, \ + .hg */.hg */*/.hg */*/.hg */*/*/.hg \ + .hgtip */.hgtip */*/.hgtip */*/.hgtip */*/*/.hgtip \ + ) \ + ))))) + +FindAllReposRel = \ + $(strip $(subst $(SRC_ROOT)/,.,$(patsubst $(SRC_ROOT)/%/, %, $(FindAllReposAbs)))) # Emit the repo:tip pairs to $@, but only if they changed since last time define GetSourceTips $(CD) $(SRC_ROOT) ; \ - for i in $(REPO_LIST) IGNORE ; do \ + for i in $(FindAllReposRel) IGNORE ; do \ if [ "$${i}" = "IGNORE" ] ; then \ continue; \ - elif [ -d $${i}/$(HG_DIRECTORY) -a "$(HG_VERSION)" != "" ] ; then \ + elif [ -d $${i}/.hg -a "$(HG)" != "" ] ; then \ $(PRINTF) " %s:%s" \ "$${i}" `$(HG) tip --repository $${i} --template '{node|short}\n'` ; \ elif [ -f $${i}/$(HGTIP_FILENAME) ] ; then \ @@ -369,12 +371,6 @@ define GetSourceTips fi endef -# Create the HGTIP_FILENAME file. Called from closed/make/SourceBundles.gmk -define CreateHgTip - $(HG) tip --repository $1 --template '{node|short}\n' > $1/$(HGTIP_FILENAME); \ - $(ECHO) $1/$(HGTIP_FILENAME) -endef - ################################################################################ define SetupLogging diff --git a/make/common/NON_CORE_PKGS.gmk b/make/common/NON_CORE_PKGS.gmk index f6fbcd3a63b..b6ef5a9d450 100644 --- a/make/common/NON_CORE_PKGS.gmk +++ b/make/common/NON_CORE_PKGS.gmk @@ -69,7 +69,8 @@ NIO_PKGS = com.sun.nio.file OLD_DOCLETAPI_PKGS = com.sun.javadoc DOCLETAPI_PKGS = jdk.javadoc.doclet \ - jdk.javadoc.doclet.taglet + jdk.javadoc.doclet.taglet \ + jdk.javadoc.doclets TAGLETAPI_FILE = com/sun/tools/doclets/Taglet.java