8142336: Convert the SA agent build to modular build-infra makefiles
Reviewed-by: ihse, sla, dsamersoff, twisti
This commit is contained in:
parent
a861570b11
commit
2322723f91
@ -361,6 +361,29 @@ jdk.compiler_CLEAN_FILES := $(wildcard \
|
||||
|
||||
################################################################################
|
||||
|
||||
jdk.hotspot.agent_SRC += \
|
||||
$(SUPPORT_OUTPUTDIR)/gensrc/jdk.hotspot.agent \
|
||||
$(HOTSPOT_TOPDIR)/agent/src/share/classes \
|
||||
#
|
||||
jdk.hotspot.agent_ADD_JAVAC_FLAGS := $(DISABLE_WARNINGS),-overrides
|
||||
jdk.hotspot.agent_COPY := .png sa.js .properties
|
||||
|
||||
ifeq ($(MODULE), jdk.hotspot.agent)
|
||||
### Copy gif files
|
||||
# Special handling to copy gif files in images/toolbarButtonGraphics \
|
||||
# -> classes/toolbarButtonGraphics.
|
||||
# These can't be handled by COPY to SetupJavaCompilation since they chop off
|
||||
# one directory level.
|
||||
$(eval $(call SetupCopyFiles, COPY_SA_IMAGES, \
|
||||
SRC := $(HOTSPOT_TOPDIR)/agent/src/share/classes/images, \
|
||||
DEST := $(JDK_OUTPUTDIR)/modules/$(MODULE), \
|
||||
FILES := $(wildcard $(HOTSPOT_TOPDIR)/agent/src/share/classes/images/*/*/*.gif), \
|
||||
))
|
||||
jdk.hotspot.agent: $(COPY_SA_IMAGES)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
||||
jdk.internal.le_COPY := .properties
|
||||
|
||||
################################################################################
|
||||
@ -535,11 +558,6 @@ define SetupModuleCompilation
|
||||
ifneq ($(BUILD_CRYPTO), true)
|
||||
$1_CLASSPATH += $(JDK_OUTPUTDIR)/modules/$1
|
||||
endif
|
||||
ifeq ($1, jdk.hotspot.agent)
|
||||
## The source of this module is compiled elsewhere, hotspot, and imported.
|
||||
## Service types are required in the classpath when compiing module-info
|
||||
$1_CLASSPATH := $$($1_CLASSPATH) $$(addprefix $(JDK_OUTPUTDIR)/modules/,jdk.hotspot.agent)
|
||||
endif
|
||||
$1_JAVAC_FLAGS := -bootclasspath $(EMPTY_DIR) -extdirs $(EMPTY_DIR) -endorseddirs $(EMPTY_DIR) $$($1_ADD_JAVAC_FLAGS)
|
||||
|
||||
$$(eval $$(call SetupJavaCompilation,$1, \
|
||||
|
@ -27,6 +27,7 @@ default: all
|
||||
|
||||
include $(SPEC)
|
||||
include MakeBase.gmk
|
||||
include Modules.gmk
|
||||
|
||||
TOOL_TARGETS :=
|
||||
JDK_TARGETS :=
|
||||
@ -64,8 +65,8 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
MAIN_MODULES += jdk.deploy.osx
|
||||
endif
|
||||
|
||||
JRE_MODULES := $(MAIN_MODULES) $(PROVIDER_MODULES)
|
||||
JDK_MODULES := $(JRE_MODULES) $(TOOLS_MODULES)
|
||||
JRE_MODULES := $(filter-out $(MODULES_FILTER), $(MAIN_MODULES) $(PROVIDER_MODULES))
|
||||
JDK_MODULES := $(filter-out $(MODULES_FILTER), $(JRE_MODULES) $(TOOLS_MODULES))
|
||||
|
||||
# compact3 builds have additional modules
|
||||
JDK_COMPACT3_MODULES := java.compact3 java.smartcardio jdk.httpserver jdk.naming.dns \
|
||||
|
@ -53,8 +53,7 @@ ALL_TARGETS :=
|
||||
$(eval $(call IncludeCustomExtension, , Main.gmk))
|
||||
|
||||
# All modules for the current target platform.
|
||||
# Manually add jdk.hotspot.agent for now.
|
||||
ALL_MODULES := $(call FindAllModules) jdk.hotspot.agent
|
||||
ALL_MODULES := $(call FindAllModules)
|
||||
|
||||
################################################################################
|
||||
################################################################################
|
||||
@ -423,11 +422,6 @@ else
|
||||
# virtual target.
|
||||
jdk.jdwp.agent-libs: jdk.jdwp.agent-gensrc
|
||||
|
||||
# Until the module system is in place, jdk.jdi-gensrc needs to combine service
|
||||
# loader configuration with jdk.hotspot.agent so is dependent on importing
|
||||
# hotspot.
|
||||
jdk.jdi-gensrc-jdk: import-hotspot
|
||||
|
||||
# The swing beans need to have java base properly generated to avoid errors
|
||||
# in javadoc.
|
||||
java.desktop-gensrc-jdk: java.base-gensrc
|
||||
|
@ -29,6 +29,12 @@ _MODULES_GMK := 1
|
||||
include JavaCompilation.gmk
|
||||
include SetupJavaCompilers.gmk
|
||||
|
||||
################################################################################
|
||||
# Some platforms don't have the serviceability agent
|
||||
ifeq ($(INCLUDE_SA), false)
|
||||
MODULES_FILTER += jdk.hotspot.agent
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Module list macros
|
||||
|
||||
@ -43,21 +49,25 @@ ALL_TOP_SRC_DIRS := \
|
||||
#
|
||||
|
||||
# Find all modules with java sources by looking in the source dirs
|
||||
# jdk.hotspot.agent currently doesn't comply with source dir policy.
|
||||
define FindJavaModules
|
||||
$(filter-out $(MODULES_FILTER), $(sort $(notdir \
|
||||
$(patsubst %/,%, $(dir $(patsubst %/,%, $(dir $(patsubst %/,%, $(dir \
|
||||
$(wildcard $(patsubst %,%/*/share/classes/*, $(ALL_TOP_SRC_DIRS)) \
|
||||
$(patsubst %,%/*/$(OPENJDK_TARGET_OS)/classes/*, $(ALL_TOP_SRC_DIRS)) \
|
||||
$(patsubst %,%/*/$(OPENJDK_TARGET_OS_TYPE)/classes/*, $(ALL_TOP_SRC_DIRS))))))))))))
|
||||
$(patsubst %,%/*/$(OPENJDK_TARGET_OS_TYPE)/classes/*, $(ALL_TOP_SRC_DIRS))))))))))) \
|
||||
jdk.hotspot.agent)
|
||||
endef
|
||||
|
||||
# Find all modules with source for the target platform.
|
||||
# jdk.hotspot.agent currently doesn't comply with source dir policy.
|
||||
define FindAllModules
|
||||
$(sort $(filter-out $(MODULES_FILTER) closed demo sample, \
|
||||
$(notdir $(patsubst %/,%, $(dir \
|
||||
$(wildcard $(patsubst %, %/*/share, $(ALL_TOP_SRC_DIRS)) \
|
||||
$(patsubst %, %/*/$(OPENJDK_TARGET_OS), $(ALL_TOP_SRC_DIRS)) \
|
||||
$(patsubst %, %/*/$(OPENJDK_TARGET_OS_TYPE), $(ALL_TOP_SRC_DIRS))))))))
|
||||
$(patsubst %, %/*/$(OPENJDK_TARGET_OS_TYPE), $(ALL_TOP_SRC_DIRS)))))) \
|
||||
jdk.hotspot.agent))
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
|
@ -294,6 +294,10 @@ endef
|
||||
# LD the linker to use, default is $(LD)
|
||||
# OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
|
||||
# DISABLED_WARNINGS_<toolchain> Disable the given warnings for the specified toolchain
|
||||
# DISABLED_WARNINGS_C_<toolchain> Disable the given warnings for the specified toolchain
|
||||
# when compiling C code
|
||||
# DISABLED_WARNINGS_CXX_<toolchain> Disable the given warnings for the specified
|
||||
# toolchain when compiling C++ code
|
||||
# STRIP_SYMBOLS Set to true to strip the final binary if the toolchain allows for it
|
||||
# STRIPFLAGS Optionally change the flags given to the strip command
|
||||
SetupNativeCompilation = $(NamedParamsMacroTemplate)
|
||||
@ -537,8 +541,12 @@ define SetupNativeCompilationBody
|
||||
|
||||
# Pick up disabled warnings, if possible on this platform.
|
||||
ifneq ($(DISABLE_WARNING_PREFIX),)
|
||||
$1_EXTRA_CFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)))
|
||||
$1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)))
|
||||
$1_EXTRA_CFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
|
||||
$$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
|
||||
$$($1_DISABLED_WARNINGS_C_$(TOOLCHAIN_TYPE)))
|
||||
$1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), \
|
||||
$$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE)) \
|
||||
$$($1_DISABLED_WARNINGS_CXX_$(TOOLCHAIN_TYPE)))
|
||||
endif
|
||||
|
||||
# Check if warnings should be considered errors.
|
||||
|
Loading…
Reference in New Issue
Block a user