make/gensrc/Gensrc-java.base.gmk
author ihse
Tue, 05 Feb 2019 10:56:12 +0100
changeset 53638 e3fb7c599f83
parent 47217 72e3ae9a25eb
child 55013 8dae495a59e7
permissions -rw-r--r--
8218186: Clean up CLDR generation in build Reviewed-by: erikj

#
# Copyright (c) 2011, 2019, 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.
#

include GensrcCommonJdk.gmk

include GensrcLocaleData.gmk
include GensrcCharacterData.gmk
include GensrcMisc.gmk
include GensrcCharsetMapping.gmk
include GensrcCharsetCoder.gmk
include GensrcBuffer.gmk
include GensrcExceptions.gmk
include GensrcVarHandles.gmk
include GensrcModuleLoaderMap.gmk

################################################################################

CLDR_DATA_DIR := $(TOPDIR)/make/data/cldr/common
GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/java.base
CLDR_GEN_DONE := $(GENSRC_DIR)/_cldr-gensrc.marker
TZ_DATA_DIR := $(TOPDIR)/make/data/tzdata
ZONENAME_TEMPLATE := $(TOPDIR)/src/java.base/share/classes/java/time/format/ZoneName.java.template

$(CLDR_GEN_DONE): $(wildcard $(CLDR_DATA_DIR)/dtd/*.dtd) \
    $(wildcard $(CLDR_DATA_DIR)/main/en*.xml) \
    $(wildcard $(CLDR_DATA_DIR)/supplemental/*.xml) \
    $(wildcard $(TZ_DATA_DIR)/*) \
    $(ZONENAME_TEMPLATE) \
    $(BUILD_TOOLS_JDK)
	$(call MakeDir, $(GENSRC_DIR))
	$(call LogInfo, Processing CLDR data for java.base)
	$(call ExecuteWithLog, $@, \
	    $(TOOL_CLDRCONVERTER) -base $(CLDR_DATA_DIR) \
	    -baselocales "en-US" \
	    -o $(GENSRC_DIR) \
	    -basemodule \
	    -zntempfile $(ZONENAME_TEMPLATE) \
	    -tzdatadir $(TZ_DATA_DIR))
	$(TOUCH) $@

GENSRC_JAVA_BASE += $(CLDR_GEN_DONE)

################################################################################

include GensrcProperties.gmk

$(eval $(call SetupCompileProperties, LIST_RESOURCE_BUNDLE, \
    SRC_DIRS := $(TOPDIR)/src/java.base/share/classes/sun/launcher/resources, \
    CLASS := ListResourceBundle, \
))

$(eval $(call SetupCompileProperties, SUN_UTIL, \
    SRC_DIRS := $(TOPDIR)/src/java.base/share/classes/sun/util/resources, \
    CLASS := sun.util.resources.LocaleNamesBundle, \
))

GENSRC_JAVA_BASE += $(LIST_RESOURCE_BUNDLE) $(SUN_UTIL)

# Some resources bundles are already present as java files but still need to be
# copied to zh_HK locale.
$(eval $(call SetupCopy-zh_HK,COPY_ZH_HK, \
    $(addprefix $(TOPDIR)/src/java.base/share/classes/, \
        sun/security/util/AuthResources_zh_TW.java \
        sun/security/util/Resources_zh_TW.java)))

GENSRC_JAVA_BASE += $(COPY_ZH_HK)

################################################################################

GENSRC_LSREQUIVMAPS := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/util/locale/LocaleEquivalentMaps.java

$(GENSRC_LSREQUIVMAPS): $(TOPDIR)/make/data/lsrdata/language-subtag-registry.txt $(BUILD_TOOLS_JDK)
	$(call MakeDir, $(@D))
	$(TOOL_GENERATELSREQUIVMAPS) $< $@

GENSRC_JAVA_BASE += $(GENSRC_LSREQUIVMAPS)

################################################################################

java.base: $(GENSRC_JAVA_BASE)

all: java.base

.PHONY: all java.base