Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell11
提交
67935886
D
dragonwell11
项目概览
openanolis
/
dragonwell11
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell11
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
67935886
编写于
5月 25, 2016
作者:
E
erikj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8157336: Generation of classlists at build time should be configurable
Reviewed-by: tbell, dholmes
上级
d691c7b3
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
143 addition
and
28 deletion
+143
-28
common/autoconf/configure.ac
common/autoconf/configure.ac
+1
-0
common/autoconf/generated-configure.sh
common/autoconf/generated-configure.sh
+58
-1
common/autoconf/jdk-options.m4
common/autoconf/jdk-options.m4
+43
-0
common/autoconf/spec.gmk.in
common/autoconf/spec.gmk.in
+2
-0
make/Images.gmk
make/Images.gmk
+22
-16
make/Main.gmk
make/Main.gmk
+17
-11
未找到文件。
common/autoconf/configure.ac
浏览文件 @
67935886
...
...
@@ -229,6 +229,7 @@ LIB_SETUP_LIBRARIES
JDKOPT_DETECT_INTREE_EC
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
###############################################################################
#
...
...
common/autoconf/generated-configure.sh
浏览文件 @
67935886
...
...
@@ -650,6 +650,7 @@ TEST_JOBS
JOBS
MEMORY_SIZE
NUM_CORES
ENABLE_GENERATE_CLASSLIST
BUILD_FAILURE_HANDLER
ENABLE_INTREE_EC
STLPORT_LIB
...
...
@@ -1226,6 +1227,7 @@ with_dxsdk
with_dxsdk_lib
with_dxsdk_include
enable_jtreg_failure_handler
enable_generate_classlist
with_num_cores
with_memory_size
with_jobs
...
...
@@ -2005,6 +2007,10 @@ Optional Features:
Default is auto, where the failure handler is built
if all dependencies are present and otherwise just
disabled.
--disable-generate-classlist
forces enabling or disabling of the generation of a
CDS classlist at build time. Default is to generate
it when either the server or client JVMs are built.
--enable-sjavac use sjavac to do fast incremental compiles
[disabled]
--disable-javac-server disable javac server [enabled]
...
...
@@ -4391,6 +4397,12 @@ VALID_JVM_VARIANTS="server client minimal core zero zeroshark custom"
#
################################################################################
#
# Enable or disable generation of the classlist at build time
#
#
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
...
...
@@ -5080,7 +5092,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=146
3732692
DATE_WHEN_GENERATED=146
4173584
###############################################################################
#
...
...
@@ -64812,6 +64824,51 @@ $as_echo "yes, jtreg present" >&6; }
# Check whether --enable-generate-classlist was given.
if test "${enable_generate_classlist+set}" = set; then :
enableval=$enable_generate_classlist;
fi
# Check if it's likely that it's possible to generate the classlist. Depending
# on exact jvm configuration it could be possible anyway.
if [[ " $JVM_VARIANTS " =~ " server " ]] || [[ " $JVM_VARIANTS " =~ " client " ]] ; then
ENABLE_GENERATE_CLASSLIST_POSSIBLE="true"
else
ENABLE_GENERATE_CLASSLIST_POSSIBLE="false"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the CDS classlist generation should be enabled" >&5
$as_echo_n "checking if the CDS classlist generation should be enabled... " >&6; }
if test "x$enable_generate_classlist" = "xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, forced" >&5
$as_echo "yes, forced" >&6; }
ENABLE_GENERATE_CLASSLIST="true"
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xfalse"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Generation of classlist might not be possible with JVM Variants $JVM_VARIANTS" >&5
$as_echo "$as_me: WARNING: Generation of classlist might not be possible with JVM Variants $JVM_VARIANTS" >&2;}
fi
elif test "x$enable_generate_classlist" = "xno"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no, forced" >&5
$as_echo "no, forced" >&6; }
ENABLE_GENERATE_CLASSLIST="false"
elif test "x$enable_generate_classlist" = "x"; then
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xtrue"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
ENABLE_GENERATE_CLASSLIST="true"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
ENABLE_GENERATE_CLASSLIST="false"
fi
else
as_fn_error $? "Invalid value for --enable-generate-classlist: $enable_generate_classlist" "$LINENO" 5
fi
###############################################################################
#
# Configure parts of the build that only affect the build performance,
common/autoconf/jdk-options.m4
浏览文件 @
67935886
...
...
@@ -491,3 +491,46 @@ AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER],
AC_SUBST(BUILD_FAILURE_HANDLER)
])
################################################################################
#
# Enable or disable generation of the classlist at build time
#
AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST],
[
AC_ARG_ENABLE([generate-classlist], [AS_HELP_STRING([--disable-generate-classlist],
[forces enabling or disabling of the generation of a CDS classlist at build time.
Default is to generate it when either the server or client JVMs are built.])])
# Check if it's likely that it's possible to generate the classlist. Depending
# on exact jvm configuration it could be possible anyway.
if HOTSPOT_CHECK_JVM_VARIANT(server) || HOTSPOT_CHECK_JVM_VARIANT(client); then
ENABLE_GENERATE_CLASSLIST_POSSIBLE="true"
else
ENABLE_GENERATE_CLASSLIST_POSSIBLE="false"
fi
AC_MSG_CHECKING([if the CDS classlist generation should be enabled])
if test "x$enable_generate_classlist" = "xyes"; then
AC_MSG_RESULT([yes, forced])
ENABLE_GENERATE_CLASSLIST="true"
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xfalse"; then
AC_MSG_WARN([Generation of classlist might not be possible with JVM Variants $JVM_VARIANTS])
fi
elif test "x$enable_generate_classlist" = "xno"; then
AC_MSG_RESULT([no, forced])
ENABLE_GENERATE_CLASSLIST="false"
elif test "x$enable_generate_classlist" = "x"; then
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xtrue"; then
AC_MSG_RESULT([yes])
ENABLE_GENERATE_CLASSLIST="true"
else
AC_MSG_RESULT([no])
ENABLE_GENERATE_CLASSLIST="false"
fi
else
AC_MSG_ERROR([Invalid value for --enable-generate-classlist: $enable_generate_classlist])
fi
AC_SUBST([ENABLE_GENERATE_CLASSLIST])
])
common/autoconf/spec.gmk.in
浏览文件 @
67935886
...
...
@@ -285,6 +285,8 @@ BUILD_HOTSPOT=@BUILD_HOTSPOT@
BUILD_FAILURE_HANDLER := @BUILD_FAILURE_HANDLER@
ENABLE_GENERATE_CLASSLIST := @ENABLE_GENERATE_CLASSLIST@
# The boot jdk to use. This is overridden in bootcycle-spec.gmk. Make sure to keep
# it in sync.
BOOT_JDK:=@BOOT_JDK@
...
...
make/Images.gmk
浏览文件 @
67935886
...
...
@@ -115,9 +115,12 @@ JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod)
# Use this file inside the image as target for make rule
JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX)
JLINK_ORDER_RESOURCES := \
*module-info.class* \
@$(SUPPORT_OUTPUTDIR)/classlist/classlist,/java.base/java/* \
JLINK_ORDER_RESOURCES := *module-info.class*
ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
JLINK_ORDER_RESOURCES += @$(SUPPORT_OUTPUTDIR)/classlist/classlist
endif
JLINK_ORDER_RESOURCES += \
/java.base/java/* \
/java.base/jdk/* \
/java.base/sun/* \
/java.base/com/* \
...
...
@@ -125,9 +128,10 @@ JLINK_ORDER_RESOURCES := \
#
JLINK_TOOL := $(JLINK) --modulepath $(IMAGES_OUTPUTDIR)/jmods \
--endian $(OPENJDK_BUILD_CPU_ENDIAN) \
--order-resources=$(call CommaList, $(JLINK_ORDER_RESOURCES)) \
--release-info $(BASE_RELEASE_FILE)
--endian $(OPENJDK_BUILD_CPU_ENDIAN) \
--release-info $(BASE_RELEASE_FILE) \
--order-resources=$(call CommaList, $(JLINK_ORDER_RESOURCES)) \
#
ifeq ($(JLINK_KEEP_PACKAGED_MODULES), true)
JLINK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods
...
...
@@ -369,19 +373,21 @@ JDK_TARGETS += $(JDK_IMAGE_DIR)/src.zip
################################################################################
# classlist
$(eval $(call SetupCopyFiles, JDK_COPY_CLASSLIST, \
FILES := $(SUPPORT_OUTPUTDIR)/classlist/classlist, \
DEST := $(JDK_IMAGE_DIR)/lib, \
))
ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
$(eval $(call SetupCopyFiles, JDK_COPY_CLASSLIST, \
FILES := $(SUPPORT_OUTPUTDIR)/classlist/classlist, \
DEST := $(JDK_IMAGE_DIR)/lib, \
))
JDK_TARGETS += $(JDK_COPY_CLASSLIST)
JDK_TARGETS += $(JDK_COPY_CLASSLIST)
$(eval $(call SetupCopyFiles, JRE_COPY_CLASSLIST, \
FILES := $(SUPPORT_OUTPUTDIR)/classlist/classlist, \
DEST := $(JRE_IMAGE_DIR)/lib, \
))
$(eval $(call SetupCopyFiles, JRE_COPY_CLASSLIST, \
FILES := $(SUPPORT_OUTPUTDIR)/classlist/classlist, \
DEST := $(JRE_IMAGE_DIR)/lib, \
))
JRE_TARGETS += $(JRE_COPY_CLASSLIST)
JRE_TARGETS += $(JRE_COPY_CLASSLIST)
endif
################################################################################
# /demo dir
...
...
make/Main.gmk
浏览文件 @
67935886
...
...
@@ -373,8 +373,10 @@ ALL_TARGETS += create-buildjdk-copy create-buildjdk-interim-image
interim-image:
+($(CD) $(SRC_ROOT)/make && $(MAKE) $(MAKE_ARGS) -f InterimImage.gmk)
generate-classlist:
ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
generate-classlist:
+($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GenerateClasslist.gmk)
endif
ALL_TARGETS += interim-image generate-classlist
...
...
@@ -640,18 +642,22 @@ else
jrtfs-jar: interim-langtools
ifeq ($(CREATE_BUILDJDK), true)
# If creating a buildjdk, the interim image needs to be based on that.
generate-classlist: create-buildjdk
else ifeq ($(EXTERNAL_BUILDJDK), false)
# If an external buildjdk has been provided, we skip generating an
# interim-image and just use the external buildjdk for generating
# classlist.
generate-classlist: interim-image
ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
ifeq ($(CREATE_BUILDJDK), true)
# If creating a buildjdk, the interim image needs to be based on that.
generate-classlist: create-buildjdk
else ifeq ($(EXTERNAL_BUILDJDK), false)
# If an external buildjdk has been provided, we skip generating an
# interim-image and just use the external buildjdk for generating
# classlist.
generate-classlist: interim-image
endif
generate-classlist: buildtools-jdk
jimages: generate-classlist
endif
generate-classlist: buildtools-jdk
jimages: jmods zip-source source-tips demos samples jrtfs-jar
generate-classlist
jimages: jmods zip-source source-tips demos samples jrtfs-jar
profiles: jmods zip-source source-tips jrtfs-jar
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录