JDK9: Build wb.jar which depends on JDK9 API
Erik Joelsson
erik.joelsson at oracle.com
Thu Oct 29 14:48:15 UTC 2015
Hello,
On 2015-10-29 14:43, Vladimir Ivanov wrote:
> Hi,
>
> Quick question: I have to use Java9 API in sun.misc.WhiteBox, but
> right now it is built using BOOT_JDK. Does the following change [1]
> look good?
>
The changes look ok, but may impact build times as the building of tests
will have to wait for a lot more of the product to finish before
starting. Of course, if you need it, you need it.
> The following dependency seems too conservative (depends on hotspot
> which is not necessary):
>
> build-test-lib: $(JAVA_TARGETS)
>
> but I haven't found how to enumerate only JDK modules:
>
The problem is that the java code for jdk.hotspot.agent is built in the
monolithic hotspot target. That in turn makes jdk.jdi-gensrc depend on
hotspot for now. If we could disentangle that java compilation from
hotspot, we would be able to build all the jdk java source without
building hotspot.
/Erik
> Thanks!
> Best regards,
> Vladimir Ivanov
>
> [1] diff --git a/make/Main.gmk b/make/Main.gmk
> --- a/make/Main.gmk
> +++ b/make/Main.gmk
> @@ -452,6 +452,8 @@
>
> test-make: clean-test-make
>
> + build-test-lib: $(JAVA_TARGETS)
> +
> build-test-hotspot-jtreg-native: buildtools-jdk
>
> build-test-jdk-jtreg-native: buildtools-jdk
> diff --git a/make/test/BuildTestLib.gmk b/make/test/BuildTestLib.gmk
> --- a/make/test/BuildTestLib.gmk
> +++ b/make/test/BuildTestLib.gmk
> @@ -35,14 +35,8 @@
> TEST_LIB_SOURCE_DIR := $(TOPDIR)/test/lib
> TEST_LIB_SUPPORT := $(SUPPORT_OUTPUTDIR)/test/lib
>
> -# Unfortunately, test-lib.jar does not compile properly without
> warnings.
> -$(eval $(call SetupJavaCompiler, BOOT_JAVAC_NOWARNINGS, \
> - JAVAC := $(JAVAC), \
> - FLAGS := -XDignore.symbol.file=true -g, \
> -))
> -
> $(eval $(call SetupJavaCompilation, BUILD_WB_JAR, \
> - SETUP := BOOT_JAVAC, \
> + SETUP := GENERATE_USINGJDKBYTECODE, \
> SRC := $(TEST_LIB_SOURCE_DIR)/sun, \
> BIN := $(TEST_LIB_SUPPORT), \
> JAR := $(TEST_LIB_SUPPORT)/wb.jar, \
> @@ -52,7 +46,7 @@
>
> # test-lib.jar will contain only hprof classes until JDK-8081381 is
> resolved
> $(eval $(call SetupJavaCompilation, BUILD_TEST_LIB_JAR, \
> - SETUP := BOOT_JAVAC_NOWARNINGS, \
> + SETUP := GENERATE_USINGJDKBYTECODE, \
> SRC := $(TEST_LIB_SOURCE_DIR)/share/classes/jdk/test/lib/hprof, \
> BIN := $(TEST_LIB_SUPPORT), \
> JAR := $(TEST_LIB_SUPPORT)/test-lib.jar, \
>
More information about the build-dev
mailing list