# HG changeset patch # User lana # Date 1493920455 0 # Node ID 36283f97da00a362a8979cd97f4511307e79e0b2 # Parent bd636df1bc6e824bb8918bbd94208816fc1b8c9f# Parent a48cc7288b83b41d0dbf0d3016a890bbc18d50a1 Merge diff -r bd636df1bc6e -r 36283f97da00 common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh Thu May 04 16:38:07 2017 +0000 +++ b/common/autoconf/generated-configure.sh Thu May 04 17:54:15 2017 +0000 @@ -995,8 +995,9 @@ OPENJDK_TARGET_CPU_ISADIR OPENJDK_TARGET_CPU_LEGACY_LIB OPENJDK_TARGET_CPU_LEGACY -OPENJDK_MODULE_TARGET_OS_ARCH -OPENJDK_MODULE_TARGET_OS_NAME +RELEASE_FILE_OS_ARCH +RELEASE_FILE_OS_NAME +OPENJDK_MODULE_TARGET_PLATFORM COMPILE_TYPE OPENJDK_TARGET_CPU_ENDIAN OPENJDK_TARGET_CPU_BITS @@ -4897,6 +4898,8 @@ + + #%%% Build and target systems %%% @@ -5180,7 +5183,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1492975963 +DATE_WHEN_GENERATED=1493884285 ############################################################################### # @@ -16040,6 +16043,27 @@ OPENJDK_MODULE_TARGET_OS_ARCH="$OPENJDK_TARGET_CPU" fi + OPENJDK_MODULE_TARGET_PLATFORM="${OPENJDK_MODULE_TARGET_OS_NAME}-${OPENJDK_MODULE_TARGET_OS_ARCH}" + + + + if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then + RELEASE_FILE_OS_NAME=SunOS + fi + if test "x$OPENJDK_TARGET_OS" = "xlinux"; then + RELEASE_FILE_OS_NAME=Linux + fi + if test "x$OPENJDK_TARGET_OS" = "xwindows"; then + RELEASE_FILE_OS_NAME=Windows + fi + if test "x$OPENJDK_TARGET_OS" = xmacosx; then + RELEASE_FILE_OS_NAME="Darwin" + fi + if test "x$OPENJDK_TARGET_OS" = "xaix"; then + RELEASE_FILE_OS_NAME="AIX" + fi + RELEASE_FILE_OS_ARCH=${OPENJDK_TARGET_CPU} + diff -r bd636df1bc6e -r 36283f97da00 common/autoconf/platform.m4 --- a/common/autoconf/platform.m4 Thu May 04 16:38:07 2017 +0000 +++ b/common/autoconf/platform.m4 Thu May 04 17:54:15 2017 +0000 @@ -433,6 +433,29 @@ ]) +AC_DEFUN([PLATFORM_SET_RELEASE_FILE_OS_VALUES], +[ + if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then + RELEASE_FILE_OS_NAME=SunOS + fi + if test "x$OPENJDK_TARGET_OS" = "xlinux"; then + RELEASE_FILE_OS_NAME=Linux + fi + if test "x$OPENJDK_TARGET_OS" = "xwindows"; then + RELEASE_FILE_OS_NAME=Windows + fi + if test "x$OPENJDK_TARGET_OS" = xmacosx; then + RELEASE_FILE_OS_NAME="Darwin" + fi + if test "x$OPENJDK_TARGET_OS" = "xaix"; then + RELEASE_FILE_OS_NAME="AIX" + fi + RELEASE_FILE_OS_ARCH=${OPENJDK_TARGET_CPU} + + AC_SUBST(RELEASE_FILE_OS_NAME) + AC_SUBST(RELEASE_FILE_OS_ARCH) +]) + AC_DEFUN([PLATFORM_SET_MODULE_TARGET_OS_VALUES], [ if test "x$OPENJDK_TARGET_OS" = xmacosx; then @@ -447,8 +470,8 @@ OPENJDK_MODULE_TARGET_OS_ARCH="$OPENJDK_TARGET_CPU" fi - AC_SUBST(OPENJDK_MODULE_TARGET_OS_NAME) - AC_SUBST(OPENJDK_MODULE_TARGET_OS_ARCH) + OPENJDK_MODULE_TARGET_PLATFORM="${OPENJDK_MODULE_TARGET_OS_NAME}-${OPENJDK_MODULE_TARGET_OS_ARCH}" + AC_SUBST(OPENJDK_MODULE_TARGET_PLATFORM) ]) #%%% Build and target systems %%% @@ -466,6 +489,7 @@ PLATFORM_EXTRACT_TARGET_AND_BUILD PLATFORM_SETUP_TARGET_CPU_BITS PLATFORM_SET_MODULE_TARGET_OS_VALUES + PLATFORM_SET_RELEASE_FILE_OS_VALUES PLATFORM_SETUP_LEGACY_VARS ]) diff -r bd636df1bc6e -r 36283f97da00 common/autoconf/spec.gmk.in --- a/common/autoconf/spec.gmk.in Thu May 04 16:38:07 2017 +0000 +++ b/common/autoconf/spec.gmk.in Thu May 04 17:54:15 2017 +0000 @@ -101,9 +101,12 @@ OPENJDK_BUILD_CPU_BITS:=@OPENJDK_BUILD_CPU_BITS@ OPENJDK_BUILD_CPU_ENDIAN:=@OPENJDK_BUILD_CPU_ENDIAN@ -# OS values for use in ModuleTarget class file attribute. -OPENJDK_MODULE_TARGET_OS_NAME:=@OPENJDK_MODULE_TARGET_OS_NAME@ -OPENJDK_MODULE_TARGET_OS_ARCH:=@OPENJDK_MODULE_TARGET_OS_ARCH@ +# Target platform value in ModuleTarget class file attribute. +OPENJDK_MODULE_TARGET_PLATFORM:=@OPENJDK_MODULE_TARGET_PLATFORM@ + +# OS_* properties in release file +RELEASE_FILE_OS_NAME:=@RELEASE_FILE_OS_NAME@ +RELEASE_FILE_OS_ARCH:=@RELEASE_FILE_OS_ARCH@ LIBM:=@LIBM@ LIBDL:=@LIBDL@ diff -r bd636df1bc6e -r 36283f97da00 common/doc/testing.md --- a/common/doc/testing.md Thu May 04 16:38:07 2017 +0000 +++ b/common/doc/testing.md Thu May 04 17:54:15 2017 +0000 @@ -199,9 +199,8 @@ Use `GTEST="OPTIONS=--help"` to see all available Gtest options. --- -# Override some definitions in http://openjdk.java.net/page.css that are -# unsuitable for this document. +# Override some definitions in the global css file that are not optimal for +# this document. header-includes: - '' - - '' --- diff -r bd636df1bc6e -r 36283f97da00 make/CreateJmods.gmk --- a/make/CreateJmods.gmk Thu May 04 16:38:07 2017 +0000 +++ b/make/CreateJmods.gmk Thu May 04 17:54:15 2017 +0000 @@ -135,8 +135,7 @@ $(RM) $@ $(JMODS_TEMPDIR)/$(notdir $@) $(JMOD) create \ --module-version $(VERSION_SHORT) \ - --os-name '$(OPENJDK_MODULE_TARGET_OS_NAME)' \ - --os-arch '$(OPENJDK_MODULE_TARGET_OS_ARCH)' \ + --target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \ --module-path $(JMODS_DIR) \ --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}' \ $(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@) diff -r bd636df1bc6e -r 36283f97da00 make/Javadoc.gmk --- a/make/Javadoc.gmk Thu May 04 16:38:07 2017 +0000 +++ b/make/Javadoc.gmk Thu May 04 17:54:15 2017 +0000 @@ -27,6 +27,7 @@ include $(SPEC) include MakeBase.gmk include Modules.gmk +include ProcessMarkdown.gmk include ZipArchive.gmk include $(JDK_TOPDIR)/make/Tools.gmk include $(JDK_TOPDIR)/make/ModuleTools.gmk @@ -356,7 +357,7 @@ # unmodified ALL_MODULES := $(call FindAllModules) -COPY_SPEC_FILTER := %.html %.gif %.jpg %.mib +COPY_SPEC_FILTER := %.html %.gif %.jpg %.mib %.css $(foreach m, $(ALL_MODULES), \ $(eval SPECS_$m := $(call FindModuleSpecsDirs, $m)) \ @@ -370,36 +371,35 @@ ) \ ) +# Copy the global resources +GLOBAL_SPECS_RESOURCES_DIR := $(JDK_TOPDIR)/make/data/docs-resources/specs +$(eval $(call SetupCopyFiles, COPY_GLOBAL_RESOURCES, \ + SRC := $(GLOBAL_SPECS_RESOURCES_DIR), \ + FILES := $(call CacheFind, $(GLOBAL_SPECS_RESOURCES_DIR)), \ + DEST := $(JAVADOC_OUTPUTDIR)/specs/, \ +)) +JDK_SPECS_TARGETS += $(COPY_GLOBAL_RESOURCES) + ifeq ($(ENABLE_FULL_DOCS), true) # For all markdown files in $module/share/specs directories, convert them to # html. - MARKDOWN_SPEC_FILTER := %.md - # Macro for SetupCopyFiles that converts from markdown to html using pandoc. - define markdown-to-html - $(call MakeDir, $(@D)) - $(RM) $@ - $(PANDOC) -t html -s -o $@ $< - endef - - rename-md-to-html = \ - $(patsubst %.md,%.html,$1) + GLOBAL_SPECS_DEFAULT_CSS_FILE := $(JAVADOC_OUTPUTDIR)/specs/resources/jdk-default.css $(foreach m, $(ALL_MODULES), \ $(eval SPECS_$m := $(call FindModuleSpecsDirs, $m)) \ - $(if $(SPECS_$m), \ - $(eval $(call SetupCopyFiles, CONVERT_MARKDOWN_$m, \ - SRC := $(SPECS_$m), \ - FILES := $(filter $(MARKDOWN_SPEC_FILTER), $(call CacheFind, $(SPECS_$m))), \ - DEST := $(JAVADOC_OUTPUTDIR)/specs/, \ - MACRO := markdown-to-html, \ - NAME_MACRO := rename-md-to-html, \ - LOG_ACTION := Converting from markdown, \ - )) \ - $(eval JDK_SPECS_TARGETS += $(CONVERT_MARKDOWN_$m)) \ + $(foreach d, $(SPECS_$m), \ + $(if $(filter %.md, $(call CacheFind, $d)), \ + $(eval $(call SetupProcessMarkdown, CONVERT_MARKDOWN_$m_$d, \ + SRC := $d, \ + FILES := $(filter %.md, $(call CacheFind, $d)), \ + DEST := $(JAVADOC_OUTPUTDIR)/specs/, \ + CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \ + )) \ + ) \ + $(eval JDK_SPECS_TARGETS += $(CONVERT_MARKDOWN_$m_$d)) \ ) \ ) - endif # Special treatment for generated documentation diff -r bd636df1bc6e -r 36283f97da00 make/ReleaseFile.gmk --- a/make/ReleaseFile.gmk Thu May 04 16:38:07 2017 +0000 +++ b/make/ReleaseFile.gmk Thu May 04 17:54:15 2017 +0000 @@ -48,6 +48,8 @@ $(call info-file-item, "SUN_ARCH_ABI", "$(JDK_ARCH_ABI_PROP_NAME)")) $(call info-file-item, "SOURCE", "$(strip $(SOURCE_REVISION))") $(call info-file-item, "IMPLEMENTOR", "$(COMPANY_NAME)") + $(call info-file-item, "OS_NAME", "$(RELEASE_FILE_OS_NAME)") + $(call info-file-item, "OS_ARCH", "$(RELEASE_FILE_OS_ARCH)") endef # Param 1 - The file containing the MODULES list diff -r bd636df1bc6e -r 36283f97da00 make/UpdateBuildDocs.gmk --- a/make/UpdateBuildDocs.gmk Thu May 04 16:38:07 2017 +0000 +++ b/make/UpdateBuildDocs.gmk Thu May 04 17:54:15 2017 +0000 @@ -27,6 +27,7 @@ include $(SPEC) include MakeBase.gmk +include ProcessMarkdown.gmk ################################################################################ # This makefile updates the generated build html documentation. @@ -38,62 +39,26 @@ $(error Cannot continue) endif -################################################################################ -# Setup make rules for converting a markdown file to html. -# -# Parameter 1 is the name of the rule. This name is used as variable prefix, -# and the targets generated are listed in a variable by that name. -# -# Remaining parameters are named arguments. These include: -# SOURCE_FILE The markdown source file -# TARGET_DIR The directory where to store the generated html file -# OPTIONS Additional options to pandoc -# -SetupMarkdownToHtml = $(NamedParamsMacroTemplate) -define SetupMarkdownToHtmlBody - ifeq ($$($1_SOURCE_FILE), ) - $$(error SOURCE_FILE is missing in SetupMarkdownToHtml $1) - endif - - ifeq ($$($1_TARGET_DIR), ) - $$(error TARGET_DIR is missing in SetupMarkdownToHtml $1) - endif - - $1_BASENAME := $$(notdir $$(basename $$($1_SOURCE_FILE))) - $1_OUTPUT_FILE := $$($1_TARGET_DIR)/$$($1_BASENAME).html - -$$($1_OUTPUT_FILE): $$($1_SOURCE_FILE) - $$(call LogInfo, Converting $$(notdir $1) to html) - $$(call MakeDir, $$($1_TARGET_DIR) $$(MAKESUPPORT_OUTPUTDIR)/markdown) - $$(call ExecuteWithLog, $$(MAKESUPPORT_OUTPUTDIR)/markdown/$1, \ - $$(PANDOC) $$($1_OPTIONS) -f markdown -t html --standalone \ - --css 'http://openjdk.java.net/page.css' '$$<' -o '$$@') - TOO_LONG_LINES=`$$(GREP) -E -e '^.{80}.+$$$$' $$<` || true ; \ - if [ "x$$$$TOO_LONG_LINES" != x ]; then \ - $$(ECHO) "Warning: Unsuitable markdown in $$<:" ; \ - $$(ECHO) "The following lines are longer than 80 characters:" ; \ - $$(GREP) -E -n -e '^.{80}.+$$$$' $$< || true ; \ - fi - - $1 := $$($1_OUTPUT_FILE) - - TARGETS += $$($1) -endef +GLOBAL_SPECS_DEFAULT_CSS_FILE := $(JDK_TOPDIR)/make/data/docs-resources/specs/resources/jdk-default.css ################################################################################ DOCS_DIR := $(TOPDIR)/common/doc -$(eval $(call SetupMarkdownToHtml, building, \ - SOURCE_FILE := $(DOCS_DIR)/building.md, \ - TARGET_DIR := $(DOCS_DIR), \ +$(eval $(call SetupProcessMarkdown, building, \ + FILES := $(DOCS_DIR)/building.md, \ + DEST := $(DOCS_DIR), \ + CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \ )) +TARGETS += $(building) -$(eval $(call SetupMarkdownToHtml, testing, \ - SOURCE_FILE := $(DOCS_DIR)/testing.md, \ - TARGET_DIR := $(DOCS_DIR), \ +$(eval $(call SetupProcessMarkdown, testing, \ + FILES := $(DOCS_DIR)/testing.md, \ + DEST := $(DOCS_DIR), \ + CSS := $(GLOBAL_SPECS_DEFAULT_CSS_FILE), \ OPTIONS := --toc, \ )) +TARGETS += $(testing) ################################################################################ diff -r bd636df1bc6e -r 36283f97da00 make/common/NativeCompilation.gmk --- a/make/common/NativeCompilation.gmk Thu May 04 16:38:07 2017 +0000 +++ b/make/common/NativeCompilation.gmk Thu May 04 17:54:15 2017 +0000 @@ -165,6 +165,7 @@ WINDOWS_SHOWINCLUDE_SED_PATTERN := \ -e '/^Note: including file:/!d' \ -e 's|Note: including file: *||' \ + -e 's|\r||g' \ -e 's|\\|/|g' \ -e 's|^\([a-zA-Z]\):|$(UNIX_PATH_PREFIX)/\1|g' \ -e '\|$(TOPDIR)|I !d' \ diff -r bd636df1bc6e -r 36283f97da00 make/common/ProcessMarkdown.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/common/ProcessMarkdown.gmk Thu May 04 17:54:15 2017 +0000 @@ -0,0 +1,103 @@ +# Copyright (c) 2017, 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. +# + +ifeq (,$(_MAKEBASE_GMK)) + $(error You must include MakeBase.gmk prior to including ProcessMarkdown.gmk) +endif + +# Helper function for SetupProcessMarkdown +# $1: The $1 from SetupProcessMarkdown +# $2: The name of the current source file, relative to $1_SRC +define ProcessMarkdown + $1_$2_OUTPUT_FILE := $$($1_DEST)/$$(basename $2).html + $1_$2_TARGET_DIR := $$(dir $$($1_$2_OUTPUT_FILE)) + ifneq ($$($1_CSS), ) + ifneq ($$(findstring http:/, $$($1_CSS)), ) + $1_$2_CSS_OPTION := --css '$$($1_CSS)' + else + $1_$2_CSS := $$(call RelativePath, $$($1_CSS), $$($1_$2_TARGET_DIR)) + $1_$2_CSS_OPTION := --css '$$($1_$2_CSS)' + endif + endif + $1_$2_OPTIONS = $$(shell $$(GREP) _pandoc-options_: $$($1_SRC)/$2 | $$(CUT) -d : -f 2-) + $1_$2_MARKER := $$(subst /,_,$1_$2) + + $1_$2_VARDEPS := $$($1_OPTIONS) $$($1_CSS) + $1_$2_VARDEPS_FILE := $$(call DependOnVariable, $1_$2_VARDEPS, \ + $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER).vardeps) + +$$($1_$2_OUTPUT_FILE): $$($1_SRC)/$2 $$($1_$2_VARDEPS_FILE) + $$(call LogInfo, Converting $2 to html) + $$(call MakeDir, $$($1_$2_TARGET_DIR) $$(SUPPORT_OUTPUTDIR)/markdown) + $$(call ExecuteWithLog, $$(SUPPORT_OUTPUTDIR)/markdown/$$($1_$2_MARKER), \ + $$(PANDOC) $$($1_OPTIONS) -f markdown -t html --standalone \ + $$($1_$2_CSS_OPTION) $$($1_$2_OPTIONS) '$$<' -o '$$@') + ifneq ($$(findstring $$(LOG_LEVEL), debug trace),) + TOO_LONG_LINES=`$$(GREP) -E -e '^.{80}.+$$$$' $$<` || true ; \ + if [ "x$$$$TOO_LONG_LINES" != x ]; then \ + $$(ECHO) "Warning: Unsuitable markdown in $$<:" ; \ + $$(ECHO) "The following lines are longer than 80 characters:" ; \ + $$(GREP) -E -n -e '^.{80}.+$$$$' $$< || true ; \ + fi + endif + + $1 += $$($1_$2_OUTPUT_FILE) +endef + +################################################################################ +# Setup make rules for converting a markdown file to html. +# +# Parameter 1 is the name of the rule. This name is used as variable prefix, +# and the targets generated are listed in a variable by that name. +# +# Remaining parameters are named arguments. These include: +# SRC : Source root dir (defaults to dir of first file) +# DEST : Dest root dir +# FILES : List of files to copy with absolute paths, or path relative to SRC. +# Must be in SRC. +# OPTIONS : Additional options to pandoc +# +SetupProcessMarkdown = $(NamedParamsMacroTemplate) +define SetupProcessMarkdownBody + ifeq ($$($1_FILES), ) + $$(error FILES is missing in SetupProcessMarkdown $1) + endif + + ifeq ($$($1_DEST), ) + $$(error DEST is missing in SetupProcessMarkdown $1) + endif + + # Default SRC to the dir of the first file. + ifeq ($$($1_SRC), ) + $1_SRC := $$(dir $$(firstword $$($1_FILES))) + endif + + # Remove any trailing slash from SRC and DEST + $1_SRC := $$(patsubst %/,%,$$($1_SRC)) + $1_DEST := $$(patsubst %/,%,$$($1_DEST)) + + $$(foreach f, $$(patsubst $$($1_SRC)/%,%,$$($1_FILES)), \ + $$(eval $$(call ProcessMarkdown,$1,$$f)) \ + ) +endef