--- a/make/conf/version-numbers.conf
+++ b/make/conf/version-numbers.conf
@@ -37,6 +37,6 @@
DEFAULT_VERSION_CLASSFILE_MAJOR=65 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_VERSION_DOCS_API_SINCE=11
-DEFAULT_ACCEPTABLE_BOOT_VERSIONS="20 21"
+DEFAULT_ACCEPTABLE_BOOT_VERSIONS="17 20 21"
DEFAULT_JDK_SOURCE_TARGET_VERSION=21
DEFAULT_PROMOTED_VERSION_PRE=
--- a/make/CompileInterimLangtools.gmk
+++ b/make/CompileInterimLangtools.gmk
@@ -88,7 +88,14 @@
BIN := $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim/jdk/internal/javac/, \
))
-TARGETS += $(COMPILE_PREVIEW_FEATURES)
+$(eval $(call SetupJavaCompilation, COMPILE_OPT_MODULE, \
+ COMPILER := bootjdk, \
+ TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
+ SRC := $(TOPDIR)/src/jdk.internal.opt/share/classes, \
+ BIN := $(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt/, \
+))
+
+TARGETS += $(COMPILE_OPT_MODULE)
################################################################################
# Setup the rules to build interim langtools, which is compiled by the boot
@@ -119,6 +126,7 @@
--module-path $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules \
$$(INTERIM_LANGTOOLS_ADD_EXPORTS) \
--patch-module java.base=$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim \
+ --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt \
--add-exports java.base/jdk.internal.javac=java.compiler.interim \
--add-exports java.base/jdk.internal.javac=jdk.compiler.interim \
--add-exports jdk.internal.opt/jdk.internal.opt=jdk.compiler.interim \
--- a/make/CompileToolsJdk.gmk
+++ b/make/CompileToolsJdk.gmk
@@ -36,6 +36,16 @@
################################################################################
+$(eval $(call SetupJavaCompilation, COMPILE_OPT_MODULE_1, \
+ COMPILER := bootjdk, \
+ TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
+ SRC := $(TOPDIR)/src/jdk.internal.opt/share/classes \
+ , \
+ BIN := $(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt/, \
+))
+
+TARGETS += $(COMPILE_OPT_MODULE_1)
+
# Use += to be able to add to this from a custom extension
BUILD_TOOLS_SRC_DIRS += \
$(TOPDIR)/make/jdk/src/classes \
@@ -54,9 +64,11 @@
, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
DISABLED_WARNINGS := options, \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
JAVAC_FLAGS := \
--add-exports java.desktop/sun.awt=ALL-UNNAMED \
--add-exports java.base/sun.text=ALL-UNNAMED \
+ --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt \
--add-exports java.base/sun.security.util=ALL-UNNAMED \
--add-exports jdk.internal.opt/jdk.internal.opt=jdk.compiler.interim \
--add-exports jdk.internal.opt/jdk.internal.opt=jdk.javadoc.interim, \
@@ -86,6 +98,7 @@
INCLUDES := build/tools/depend, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/depend, \
DISABLED_WARNINGS := options, \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
JAVAC_FLAGS := \
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
--add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
--- a/make/CompileJavaModules.gmk
+++ b/make/CompileJavaModules.gmk
@@ -107,6 +107,7 @@
EXCLUDES := $(EXCLUDES), \
EXCLUDE_FILES := $(EXCLUDE_FILES), \
KEEP_ALL_TRANSLATIONS := $(KEEP_ALL_TRANSLATIONS), \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
JAVAC_FLAGS := \
$(DOCLINT) \
$(JAVAC_FLAGS) \
--- a/make/modules/java.base/gendata/GendataBreakIterator.gmk
+++ b/make/modules/java.base/gendata/GendataBreakIterator.gmk
@@ -51,6 +51,7 @@
$(TEXT_PKG)/BreakIteratorRules.java \
$(TEXT_PKG)/BreakIteratorInfo.java, \
BIN := $(BREAK_ITERATOR_CLASSES)/java.base, \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
DISABLED_WARNINGS := options, \
))
@@ -61,6 +62,7 @@
$(TEXT_PKG_LD)/BreakIteratorRules_th.java \
$(TEXT_PKG_LD)/BreakIteratorInfo_th.java, \
BIN := $(BREAK_ITERATOR_CLASSES)/jdk.localedata, \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
DISABLED_WARNINGS := options, \
))
--- a/make/CompileModuleTools.gmk
+++ b/make/CompileModuleTools.gmk
@@ -54,6 +54,7 @@
COPY := .properties .html, \
BIN := $(TOOLS_CLASSES_DIR), \
DISABLED_WARNINGS := fallthrough this-escape, \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
JAVAC_FLAGS := \
--add-modules jdk.jdeps \
--add-exports java.base/jdk.internal.module=ALL-UNNAMED \
--- a/make/modules/jdk.compiler/Gendata.gmk
+++ b/make/modules/jdk.compiler/Gendata.gmk
@@ -59,6 +59,7 @@
INCLUDES := build/tools/symbolgenerator com/sun/tools/classfile, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/create_symbols, \
DISABLED_WARNINGS := options this-escape, \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
JAVAC_FLAGS := \
$(INTERIM_LANGTOOLS_ARGS) \
$(COMPILECREATESYMBOLS_ADD_EXPORTS), \
--- a/make/modules/jdk.javadoc/Gendata.gmk
+++ b/make/modules/jdk.javadoc/Gendata.gmk
@@ -57,6 +57,7 @@
INCLUDES := build/tools/symbolgenerator com/sun/tools/classfile, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/create_symbols_javadoc, \
DISABLED_WARNINGS := options this-escape, \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
JAVAC_FLAGS := \
$(INTERIM_LANGTOOLS_ARGS) \
$(COMPILECREATESYMBOLS_ADD_EXPORTS), \
--- a/make/CompileDemos.gmk
+++ b/make/CompileDemos.gmk
@@ -134,6 +134,7 @@
SRCZIP := $(SUPPORT_OUTPUTDIR)/demos/image/$$($1_DEMO_SUBDIR)/$1/src.zip, \
EXCLUDE_FILES := $$($1_EXCLUDE_FILES), \
DISABLED_WARNINGS := $$($1_DISABLED_WARNINGS), \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
))
$1 += $$(BUILD_DEMO_$1)
--- a/make/GenerateLinkOptData.gmk
+++ b/make/GenerateLinkOptData.gmk
@@ -42,6 +42,7 @@
SRC := $(TOPDIR)/make/jdk/src/classes, \
INCLUDES := build/tools/classlist, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/classlist_classes, \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
JAR := $(SUPPORT_OUTPUTDIR)/classlist.jar, \
))
--- a/src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionParser.java
+++ b/src/jdk.internal.opt/share/classes/jdk/internal/joptsimple/OptionParser.java
@@ -219,6 +219,7 @@
* @author Paul Holser
* @see The GNU C Library
*/
+@SuppressWarnings("this-escape")
public class OptionParser implements OptionDeclarer {
private final OptionNameMap> recognizedOptions;
private final ArrayList> trainingOrder;
--- a/make/test/BuildJtregTestThreadFactory.gmk
+++ b/make/test/BuildJtregTestThreadFactory.gmk
@@ -41,6 +41,7 @@
TARGET_RELEASE := $(TARGET_RELEASE_NEWJDK_UPGRADED), \
SRC := $(TTF_BASEDIR)/src/share/classes, \
BIN := $(TTF_SUPPORT)/classes, \
+ JAVA_FLAGS := --patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
JAR := $(TTF_JAR), \
))
--- a/make/Docs.gmk
+++ b/make/Docs.gmk
@@ -310,7 +310,8 @@
$1_ALL_MODULES := $$(sort $$($1_MODULES) $$($1_INDIRECT_EXPORTS))
$1_JAVA_ARGS := -Dextlink.spec.version=$$(VERSION_SPECIFICATION) \
- -Djspec.version=$$(VERSION_SPECIFICATION)
+ -Djspec.version=$$(VERSION_SPECIFICATION) \
+ -patch-module jdk.internal.opt=$(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.internal.opt, \
ifeq ($$(ENABLE_FULL_DOCS), true)
$1_SEALED_GRAPHS_DIR := $$(SUPPORT_OUTPUTDIR)/docs/$1-sealed-graphs