8218431: Improved platform checking in makefiles
Reviewed-by: erikj
This commit is contained in:
parent
551a272ced
commit
208c58c862
@ -35,7 +35,7 @@ DOCS_TARGETS :=
|
||||
# On Windows tar frequently complains that "file changed as we read it" for
|
||||
# some random source files. This seems to be cause by anti virus scanners and
|
||||
# is most likely safe to ignore. When it happens, tar returns '1'.
|
||||
ifeq ($(OPENJDK_BUILD_OS), windows)
|
||||
ifeq ($(call isBuildOs, windows), true)
|
||||
TAR_IGNORE_EXIT_VALUE := || test "$$$$?" = "1"
|
||||
endif
|
||||
|
||||
@ -144,7 +144,7 @@ endef
|
||||
|
||||
# On Macosx, we bundle up the macosx specific images which already have the
|
||||
# correct base directories.
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
|
||||
ifeq ($(call isTargetOs, macosx)+$(DEBUG_LEVEL), true+release)
|
||||
JDK_IMAGE_DIR := $(JDK_MACOSX_BUNDLE_DIR)
|
||||
JDK_IMAGE_HOMEDIR := $(JDK_MACOSX_CONTENTS_DIR)/Home
|
||||
JDK_BUNDLE_SUBDIR :=
|
||||
@ -167,7 +167,7 @@ ifneq ($(filter product-bundles, $(MAKECMDGOALS)), )
|
||||
|
||||
# Create special filter rules when dealing with unzipped .dSYM directories on
|
||||
# macosx
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
|
||||
JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
|
||||
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, $(ALL_JDK_FILES))))
|
||||
|
@ -234,7 +234,7 @@ $(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%: $(DEMO_SHARE_SRC)/nbproject/%
|
||||
$(call install-file)
|
||||
$(CHMOD) -f ug+w $@
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
TARGETS += $(patsubst $(DEMO_SHARE_SRC)/nbproject/%, \
|
||||
$(SUPPORT_OUTPUTDIR)/demos/image/nbproject/%, \
|
||||
$(call CacheFind, $(DEMO_SHARE_SRC)/nbproject))
|
||||
|
@ -51,21 +51,18 @@ java.base_EXCLUDES += java/lang/doc-files
|
||||
# data files and shouldn't go in the product
|
||||
java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), false)
|
||||
java.base_EXCLUDE_FILES += \
|
||||
SolarisLoginModule.java \
|
||||
SolarisSystem.java \
|
||||
#
|
||||
endif
|
||||
|
||||
ifeq ($(filter $(OPENJDK_TARGET_OS), solaris macosx aix), )
|
||||
#
|
||||
# only solaris, macosx and aix
|
||||
#
|
||||
ifeq ($(call isTargetOs, solaris macosx aix), false)
|
||||
java.base_EXCLUDE_FILES += sun/nio/fs/PollingWatchService.java
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
java.base_EXCLUDE_FILES += \
|
||||
sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
|
||||
#
|
||||
@ -124,7 +121,7 @@ java.desktop_EXCLUDE_FILES += \
|
||||
.template \
|
||||
#
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
# exclude all X11 on Mac.
|
||||
java.desktop_EXCLUDES += \
|
||||
sun/awt/X11 \
|
||||
@ -186,7 +183,7 @@ else
|
||||
sun/awt/X11/XwcTextItem.java
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
java.desktop_EXCLUDES += com/sun/java/swing/plaf/gtk
|
||||
endif
|
||||
|
||||
@ -194,8 +191,7 @@ ifdef BUILD_HEADLESS_ONLY
|
||||
java.desktop_EXCLUDES += sun/applet
|
||||
endif
|
||||
|
||||
# Used on windows and macosx
|
||||
ifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx), )
|
||||
ifeq ($(call isTargetOs, windows macosx), false)
|
||||
java.desktop_EXCLUDE_FILES += sun/awt/AWTCharset.java
|
||||
endif
|
||||
|
||||
@ -374,11 +370,11 @@ SCTP_IMPL_CLASSES = \
|
||||
$(TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/SendFailed.java \
|
||||
$(TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/Shutdown.java
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS),aix)
|
||||
ifeq ($(call isTargetOs, aix), true)
|
||||
jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
|
||||
endif
|
||||
|
||||
|
@ -38,7 +38,7 @@ CONF_DIR := $(wildcard $(addsuffix /$(MODULE), $(IMPORT_MODULES_CONF)))
|
||||
$(eval $(call FillCacheFind, $(LIBS_DIR) $(CMDS_DIR) $(CONF_DIR)))
|
||||
|
||||
ifneq ($(LIBS_DIR), )
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
TO_BIN_FILTER := %$(SHARED_LIBRARY_SUFFIX) %.diz %.pdb %.map
|
||||
|
||||
$(eval $(call SetupCopyFiles, COPY_LIBS_TO_BIN, \
|
||||
|
@ -118,7 +118,7 @@ ifeq ($(MODULE), java.base)
|
||||
endif
|
||||
endif
|
||||
else # not java.base
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
# Only java.base needs to include the MSVC*_DLLs. Make sure no other module
|
||||
# tries to include them (typically imported ones).
|
||||
ifneq ($(MSVCR_DLL), )
|
||||
|
@ -144,7 +144,7 @@ ifneq ($(filter jdk, $(MAKECMDGOALS)), )
|
||||
)
|
||||
|
||||
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
DEMO_FILES := $(call not-containing, .dSYM, $(DEMO_FILES))
|
||||
else
|
||||
DEMO_FILES := $(filter-out %.debuginfo %.pdb %.map, $(DEMO_FILES))
|
||||
@ -192,7 +192,7 @@ ALL_JDK_MODULES := $(JDK_MODULES)
|
||||
ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
|
||||
$(call FindTransitiveDepsForModule, $m)))
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
LIBS_TARGET_SUBDIR := bin
|
||||
else
|
||||
LIBS_TARGET_SUBDIR := lib
|
||||
@ -211,7 +211,7 @@ else
|
||||
DEBUGINFO_SUFFIXES := .debuginfo .pdb .map
|
||||
# On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM
|
||||
# dirs.
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
$(eval $(call FillCacheFind, \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs))
|
||||
FindDebuginfoFiles = \
|
||||
|
@ -483,7 +483,7 @@ else # $(HAS_SPEC)=true
|
||||
$(TOUCH) $(SJAVAC_SERVER_DIR)/server.port.stop; true
|
||||
endef
|
||||
|
||||
ifeq ($(OPENJDK_BUILD_OS), windows)
|
||||
ifeq ($(call isBuildOs, windows), true)
|
||||
# On windows we need to synchronize with the javac server to be able to
|
||||
# move or remove the build output directory. Since we have no proper
|
||||
# synchronization process, wait for a while and hope it helps. This is only
|
||||
|
@ -30,7 +30,7 @@ include TextFileProcessing.gmk
|
||||
default: bundles
|
||||
|
||||
# Only macosx has bundles defined.
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
|
||||
bundles: jre-bundle jdk-bundle
|
||||
|
||||
|
@ -1032,7 +1032,7 @@ ifneq ($(CREATE_BUILDJDK), true)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
product-images: mac-jdk-bundle
|
||||
endif
|
||||
|
||||
|
@ -42,7 +42,7 @@ TARGETS :=
|
||||
include $(MAKEFILE_PREFIX)-$(MODULE).gmk
|
||||
|
||||
# Setup copy rules from the modules directories to the jdk image directory.
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
TO_BIN_FILTER := %$(SHARED_LIBRARY_SUFFIX) %.diz %.pdb %.map
|
||||
|
||||
$(eval $(call SetupCopyFiles, COPY_LIBS_TO_BIN, \
|
||||
|
@ -61,7 +61,7 @@ define SetTestOpt
|
||||
endef
|
||||
|
||||
# Setup _NT_SYMBOL_PATH on Windows
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
ifndef _NT_SYMBOL_PATH
|
||||
# Can't use PathList here as it adds quotes around the value.
|
||||
_NT_SYMBOL_PATH := \
|
||||
@ -224,7 +224,7 @@ TEST_JOBS_FACTOR_MACHINE ?= 1
|
||||
|
||||
ifeq ($(TEST_JOBS), 0)
|
||||
CORES_DIVIDER := 2
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
|
||||
ifeq ($(call isTargetCpuArch, sparc), true)
|
||||
# For smaller SPARC machines we see reasonable scaling of throughput up to
|
||||
# cpus/4 without affecting test reliability. On the bigger machines, cpus/4
|
||||
# causes intermittent timeouts.
|
||||
@ -808,7 +808,7 @@ define SetupRunJtregTestBody
|
||||
$1_JTREG_MAX_RAM_PERCENTAGE := $$(shell $$(EXPR) 25 / $$($1_JTREG_JOBS))
|
||||
|
||||
# SPARC is in general slower per core so need to scale up timeouts a bit.
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
|
||||
ifeq ($(call isTargetCpuArch, sparc), true)
|
||||
JTREG_TIMEOUT_FACTOR ?= 8
|
||||
else
|
||||
JTREG_TIMEOUT_FACTOR ?= 4
|
||||
@ -835,7 +835,7 @@ define SetupRunJtregTestBody
|
||||
$1_JTREG_BASIC_OPTIONS += -e:JDK8_HOME=$$(BOOT_JDK)
|
||||
# If running on Windows, propagate the _NT_SYMBOL_PATH to enable
|
||||
# symbol lookup in hserr files
|
||||
ifeq ($$(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($$(call isTargetOs, windows), true)
|
||||
$1_JTREG_BASIC_OPTIONS += -e:_NT_SYMBOL_PATH
|
||||
endif
|
||||
|
||||
|
@ -30,7 +30,7 @@ include MakeBase.gmk
|
||||
|
||||
############################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
FIXPATH_COPY := $(TEST_IMAGE_DIR)/bin/fixpath.exe
|
||||
|
||||
$(FIXPATH_COPY): $(firstword $(FIXPATH))
|
||||
|
@ -70,7 +70,7 @@ TARGETS += $(IMAGES_OUTPUTDIR)/sec-bin.zip
|
||||
#
|
||||
# Windows specific binary security packages.
|
||||
#
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
# sec-windows-bin.zip is used by builds where the corresponding sources are not available
|
||||
$(eval $(call SetupZipArchive,BUILD_SEC_WINDOWS_BIN_ZIP, \
|
||||
SRC := $(JDK_OUTPUTDIR), \
|
||||
@ -80,7 +80,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
TARGETS += $(IMAGES_OUTPUTDIR)/sec-windows-bin.zip
|
||||
|
||||
# JGSS files contain the native Kerberos library
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
ifeq ($(call isTargetCpu, x86_64), true)
|
||||
JGSS_ZIP_NAME = jgss-windows-x64-bin.zip
|
||||
else
|
||||
JGSS_ZIP_NAME = jgss-windows-i586-bin.zip
|
||||
|
@ -258,7 +258,7 @@ MakeTargetDir = \
|
||||
################################################################################
|
||||
# All install-file and related macros automatically call DecodeSpace when needed.
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS),solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
# On Solaris, if the target is a symlink and exists, cp won't overwrite.
|
||||
# Cp has to operate in recursive mode to allow for -P flag, to preserve soft links. If the
|
||||
# name of the target file differs from the source file, rename after copy.
|
||||
@ -284,7 +284,7 @@ ifeq ($(OPENJDK_TARGET_OS),solaris)
|
||||
$(CP) -f '$(call DecodeSpace, $<)' '$(call DecodeSpace, $@)'; \
|
||||
fi
|
||||
endef
|
||||
else ifeq ($(OPENJDK_TARGET_OS),macosx)
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
# On mac, extended attributes sometimes creep into the source files, which may later
|
||||
# cause the creation of ._* files which confuses testing. Clear these with xattr if
|
||||
# set. Some files get their write permissions removed after being copied to the
|
||||
@ -418,7 +418,7 @@ endif
|
||||
# unchanged.
|
||||
# This is normally not needed since we use the FIXPATH prefix for command lines,
|
||||
# but might be needed in certain circumstances.
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
FixPath = \
|
||||
$(shell $(CYGPATH) -m $1)
|
||||
else
|
||||
|
@ -117,11 +117,11 @@ PLATFORM_MODULES += \
|
||||
jdk.zipfs \
|
||||
#
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
PLATFORM_MODULES += jdk.crypto.mscapi
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
PLATFORM_MODULES += jdk.crypto.ucrypto
|
||||
endif
|
||||
|
||||
|
@ -175,9 +175,9 @@ $(strip \
|
||||
)
|
||||
endef
|
||||
|
||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.cygwin)
|
||||
ifeq ($(call isBuildOsEnv, windows.cygwin), true)
|
||||
UNIX_PATH_PREFIX := /cygdrive
|
||||
else ifeq ($(OPENJDK_BUILD_OS_ENV), windows.msys)
|
||||
else ifeq ($(call isBuildOsEnv, windows.msys), true)
|
||||
UNIX_PATH_PREFIX :=
|
||||
endif
|
||||
|
||||
@ -770,7 +770,7 @@ define SetupNativeCompilationBody
|
||||
$(TOUCH) $$@
|
||||
|
||||
# On windows we need to create a resource file
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
ifneq ($$($1_VERSIONINFO_RESOURCE), )
|
||||
$1_RES := $$($1_OBJECT_DIR)/$$($1_BASENAME).res
|
||||
$1_RES_DEP := $$($1_RES).d
|
||||
@ -808,7 +808,7 @@ define SetupNativeCompilationBody
|
||||
|
||||
ifneq ($(DISABLE_MAPFILES), true)
|
||||
$1_REAL_MAPFILE := $$($1_MAPFILE)
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), false)
|
||||
ifneq ($$($1_REORDER), )
|
||||
$1_REAL_MAPFILE := $$($1_OBJECT_DIR)/mapfile
|
||||
|
||||
@ -845,13 +845,13 @@ define SetupNativeCompilationBody
|
||||
# Only copy debug symbols for dynamic libraries and programs.
|
||||
ifneq ($$($1_TYPE), STATIC_LIBRARY)
|
||||
# Generate debuginfo files.
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).pdb" \
|
||||
"-map:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).map"
|
||||
$1_DEBUGINFO_FILES := $$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).pdb \
|
||||
$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).map
|
||||
|
||||
else ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
|
||||
else ifeq ($(call isTargetOs, linux solaris), true)
|
||||
$1_DEBUGINFO_FILES := $$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).debuginfo
|
||||
# Setup the command line creating debuginfo files, to be run after linking.
|
||||
# It cannot be run separately since it updates the original target file
|
||||
@ -860,13 +860,13 @@ define SetupNativeCompilationBody
|
||||
$(CD) $$($1_OUTPUT_DIR) && \
|
||||
$$($1_OBJCOPY) --add-gnu-debuglink=$$($1_DEBUGINFO_FILES) $$($1_TARGET)
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
$1_DEBUGINFO_FILES := \
|
||||
$$($1_OUTPUT_DIR)/$$($1_BASENAME).dSYM/Contents/Info.plist \
|
||||
$$($1_OUTPUT_DIR)/$$($1_BASENAME).dSYM/Contents/Resources/DWARF/$$($1_BASENAME)
|
||||
$1_CREATE_DEBUGINFO_CMDS := \
|
||||
$(DSYMUTIL) --out $$($1_OUTPUT_DIR)/$$($1_BASENAME).dSYM $$($1_TARGET)
|
||||
endif # OPENJDK_TARGET_OS
|
||||
endif
|
||||
|
||||
# Since the link rule creates more than one file that we want to track,
|
||||
# we have to use some tricks to get make to cooperate. To properly
|
||||
@ -952,7 +952,7 @@ define SetupNativeCompilationBody
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
ifeq ($$($1_EMBED_MANIFEST), true)
|
||||
$1_EXTRA_LDFLAGS += -manifest:embed
|
||||
endif
|
||||
@ -1032,7 +1032,7 @@ define SetupNativeCompilationBody
|
||||
# Keep as much as possible on one execution line for best performance
|
||||
# on Windows
|
||||
$$(call LogInfo, Linking $$($1_BASENAME))
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
|
||||
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
|
||||
$(LD_OUT_OPTION)$$($1_TARGET) $$($1_LD_OBJ_ARG) $$($1_RES) $$(GLOBAL_LIBS) \
|
||||
@ -1050,7 +1050,7 @@ define SetupNativeCompilationBody
|
||||
$$($1_CREATE_DEBUGINFO_CMDS)
|
||||
$$($1_STRIP_CMD)
|
||||
endif
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
ifneq ($$($1_MANIFEST), )
|
||||
$$($1_MT) -nologo -manifest $$($1_MANIFEST) -identity:"$$($1_NAME).exe, version=$$($1_MANIFEST_VERSION)" -outputresource:$$@;#1
|
||||
endif
|
||||
|
@ -180,6 +180,23 @@ uppercase = \
|
||||
$(uppercase_result) \
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Boolean operators.
|
||||
|
||||
# Return the word "true" if all the boolean words given as argument is "true",
|
||||
# and returns "false" otherwise. Boolean words must be "true" or "false". It is
|
||||
# an error to supply a non-boolean word. An empty string is considered "true".
|
||||
And = \
|
||||
$(strip $(if $(filter-out true false, $1), $(error Non-boolean values: $1)) \
|
||||
$(if $(strip $(filter-out true, $1)), false, true))
|
||||
|
||||
# Return the word "false" if all the boolean words given as argument is "false",
|
||||
# and returns "true" otherwise. Boolean words must be "true" or "false". It is
|
||||
# an error to supply a non-boolean word. An empty string is considered "false".
|
||||
Or = \
|
||||
$(strip $(if $(filter-out true false, $1), $(error Non-boolean values: $1)) \
|
||||
$(if $(strip $(filter-out false, $1)), true, false))
|
||||
|
||||
################################################################################
|
||||
# Parse a multiple-keyword variable, like FOO="KEYWORD1=val1;KEYWORD2=val2;..."
|
||||
# These will be converted into a series of variables like FOO_KEYWORD1=val1,
|
||||
@ -268,6 +285,50 @@ check-jvm-variant = \
|
||||
$(error Internal error: Invalid variant tested: $1)) \
|
||||
$(if $(filter $1, $(JVM_VARIANTS)), true, false))
|
||||
|
||||
################################################################################
|
||||
# Check if our build or target conforms to certain restrictions. This set of
|
||||
# functions all work in similar ways, testing the property that the name
|
||||
# implies, so e.g. isTargetCpu test the CPU of the target system.
|
||||
#
|
||||
# $1 - A property, or a space separated list of properties to test for.
|
||||
#
|
||||
# Returns true if the actual property matches one of the properties in the list,
|
||||
# and false otherwise.
|
||||
#
|
||||
# Examples: $(call isTargetOs, linux solaris) will return true when executed
|
||||
# on either linux or solaris, and false otherwise.
|
||||
# $(call isBuildCpuArch, x86) will return true iff the build CPU Arch is x86.
|
||||
|
||||
isTargetOs = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_OS), $1), true, false))
|
||||
|
||||
isTargetOsType = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_OS_TYPE), $1), true, false))
|
||||
|
||||
isTargetCpu = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU), $1), true, false))
|
||||
|
||||
isTargetCpuArch = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_ARCH), $1), true, false))
|
||||
|
||||
isTargetCpuBits = \
|
||||
$(strip $(if $(filter $(OPENJDK_TARGET_CPU_BITS), $1), true, false))
|
||||
|
||||
isBuildOs = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS), $1), true, false))
|
||||
|
||||
isBuildOsType = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS_TYPE), $1), true, false))
|
||||
|
||||
isBuildOsEnv = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_OS_ENV), $1), true, false))
|
||||
|
||||
isBuildCpu = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_CPU), $1), true, false))
|
||||
|
||||
isBuildCpuArch = \
|
||||
$(strip $(if $(filter $(OPENJDK_BUILD_CPU_ARCH), $1), true, false))
|
||||
|
||||
################################################################################
|
||||
# Converts a space separated list to a comma separated list.
|
||||
#
|
||||
|
@ -31,7 +31,7 @@ $(eval $(call IncludeCustomExtension, copy/Copy-java.base.gmk))
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
ifeq ($(call isTargetOs, aix), true)
|
||||
|
||||
TZMAPPINGS_SRC := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/conf
|
||||
|
||||
@ -44,7 +44,7 @@ endif
|
||||
|
||||
################################################################################
|
||||
# Copy the microsoft runtime libraries on windows
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
|
||||
# Chmod to avoid permission issues if bundles are unpacked on unix platforms.
|
||||
define copy-and-chmod
|
||||
@ -81,7 +81,7 @@ endif
|
||||
################################################################################
|
||||
# In jvm.cfg, the first listed KNOWN variant is the default. On most build
|
||||
# configurations, that is the server variant.
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), windows-x86)
|
||||
ifeq ($(call And, $(call isTargetOs, windows) $(call isTargetCpu, x86)), true)
|
||||
DEFAULT_CFG_VARIANT ?= client
|
||||
endif
|
||||
DEFAULT_CFG_VARIANT ?= server
|
||||
@ -143,7 +143,7 @@ DEF_POLICY_DST := $(LIB_DST_DIR)/security/default.policy
|
||||
DEF_POLICY_SRC_LIST := $(DEF_POLICY_SRC)
|
||||
DEF_POLICY_SRC_LIST += $(CUSTOM_POLICY_SRC_LIST)
|
||||
|
||||
ifneq ($(filter $(OPENJDK_TARGET_OS), windows solaris), )
|
||||
ifeq ($(call isTargetOs, windows solaris), true)
|
||||
DEF_POLICY_SRC_LIST += $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/lib/security/default.policy
|
||||
endif
|
||||
|
||||
@ -183,7 +183,7 @@ $(eval $(call SetupCopyFiles, COPY_NET_PROPERTIES, \
|
||||
|
||||
TARGETS += $(COPY_NET_PROPERTIES)
|
||||
|
||||
ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux), )
|
||||
ifeq ($(call isTargetOs, solaris linux), true)
|
||||
$(eval $(call SetupCopyFiles, COPY_SDP_CONF, \
|
||||
FILES := $(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/conf/sdp/sdp.conf.template, \
|
||||
DEST := $(CONF_DST_DIR)/sdp, \
|
||||
|
@ -27,7 +27,7 @@ include CopyCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
|
||||
SUNPKCS11_CFG_SRC := \
|
||||
$(TOPDIR)/src/jdk.crypto.cryptoki/solaris/conf/security/sunpkcs11-solaris.cfg
|
||||
|
@ -27,7 +27,7 @@ include CopyCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
|
||||
UCRYPTO_CFG_SRC := $(TOPDIR)/src/jdk.crypto.ucrypto/solaris/conf/security/ucrypto-solaris.cfg
|
||||
UCRYPTO_CFG_DST := $(CONF_DST_DIR)/security/ucrypto-solaris.cfg
|
||||
|
@ -28,11 +28,11 @@ include GensrcCommonJdk.gmk
|
||||
# Hook to include the corresponding custom file, if present.
|
||||
$(eval $(call IncludeCustomExtension, gensrc/Gensrc-java.desktop.gmk))
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), false)
|
||||
include GensrcIcons.gmk
|
||||
endif
|
||||
|
||||
ifneq ($(filter $(OPENJDK_TARGET_OS), linux solaris aix), )
|
||||
ifeq ($(call isTargetOs, linux solaris aix), true)
|
||||
include GensrcX11Wrappers.gmk
|
||||
endif
|
||||
|
||||
@ -52,21 +52,21 @@ PROP_SRC_DIRS := \
|
||||
$(TOPDIR)/src/java.desktop/share/classes/sun/print/resources \
|
||||
#
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
PROP_SRC_DIRS += \
|
||||
$(TOPDIR)/src/java.desktop/macosx/classes/com/apple/laf/resources \
|
||||
$(TOPDIR)/src/java.desktop/macosx/classes/sun/awt/resources \
|
||||
#
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
PROP_SRC_DIRS += \
|
||||
$(TOPDIR)/src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/resources \
|
||||
$(TOPDIR)/src/java.desktop/windows/classes/sun/awt/windows \
|
||||
#
|
||||
endif
|
||||
|
||||
ifeq ($(filter $(OPENJDK_TARGET_OS), windows macosx), )
|
||||
ifeq ($(call isTargetOs, windows macosx), false)
|
||||
PROP_SRC_DIRS += $(TOPDIR)/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/resources
|
||||
endif
|
||||
|
||||
|
@ -42,7 +42,7 @@ TARGETS += $(SA_PROPERTIES)
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
MIG_OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.hotspot.agent
|
||||
MACH_EXC_HEADER := $(MIG_OUTPUT_DIR)/mach_exc.h
|
||||
MACH_EXC_USER := $(MIG_OUTPUT_DIR)/mach_excUser.c
|
||||
|
@ -108,7 +108,7 @@ GENSRC_JAVA_DESKTOP += $(GENSRC_AWT_ICONS)
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
|
||||
GENSRC_OSX_ICONS_DST := $(SUPPORT_OUTPUTDIR)/headers/java.desktop
|
||||
GENSRC_OSX_ICONS := $(GENSRC_OSX_ICONS_DST)/AWTIconData.h
|
||||
|
@ -89,7 +89,7 @@ GENSRC_JAVA_BASE += $(GENSRC_SOR_FILE)
|
||||
|
||||
################################################################################
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), false)
|
||||
|
||||
GENSRC_UC_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/UnixConstants.java
|
||||
|
||||
@ -103,7 +103,7 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
|
||||
GENSRC_SC_FILE := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/sun/nio/fs/SolarisConstants.java
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
# Copy all built libraries into exploded jdk
|
||||
LIB_TARGETS := $(filter $(LIB_OUTPUTDIR)/%, $(TARGETS))
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$(eval $(call SetupCopyFiles, COPY_LIBS_BIN, \
|
||||
SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base, \
|
||||
DEST := $(JDK_OUTPUTDIR)/bin, \
|
||||
|
@ -34,16 +34,16 @@ ifeq ($(call check-jvm-feature, compiler2), true)
|
||||
|
||||
# Flags depending on the build platform/tool chain
|
||||
# NOTE: No optimization or debug flags set here
|
||||
ifeq ($(OPENJDK_BUILD_OS), linux)
|
||||
ifeq ($(call isBuildOs, linux), true)
|
||||
ADLC_CFLAGS := -fno-exceptions -DLINUX
|
||||
else ifeq ($(OPENJDK_BUILD_OS), solaris)
|
||||
else ifeq ($(call isBuildOs, solaris), true)
|
||||
ADLC_LDFLAGS := -m64
|
||||
ADLC_CFLAGS := -m64
|
||||
ADLC_CFLAGS_WARNINGS := +w
|
||||
else ifeq ($(OPENJDK_BUILD_OS), aix)
|
||||
else ifeq ($(call isBuildOs, aix), true)
|
||||
ADLC_LDFLAGS := -q64
|
||||
ADLC_CFLAGS := -qnortti -qeh -q64 -DAIX
|
||||
else ifeq ($(OPENJDK_BUILD_OS), windows)
|
||||
else ifeq ($(call isBuildOs, windows), true)
|
||||
ADLC_LDFLAGS := -nologo
|
||||
ADLC_CFLAGS := -nologo -EHsc
|
||||
# NOTE: The old build also have -D_CRT_SECURE_NO_DEPRECATE but it doesn't
|
||||
@ -87,17 +87,17 @@ ifeq ($(call check-jvm-feature, compiler2), true)
|
||||
ADLCFLAGS += -q -T
|
||||
|
||||
# ADLC flags depending on target OS
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
ADLCFLAGS += -DLINUX=1 -D_GNU_SOURCE=1
|
||||
else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
else ifeq ($(call isTargetOs, solaris), true)
|
||||
ADLCFLAGS += -DSOLARIS=1 -DSPARC_WORKS=1
|
||||
else ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
else ifeq ($(call isTargetOs, aix), true)
|
||||
ADLCFLAGS += -DAIX=1
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
ADLCFLAGS += -D_ALLBSD_SOURCE=1 -D_GNU_SOURCE=1
|
||||
endif
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), false)
|
||||
# NOTE: Windows adlc flags was different in the old build. Is this really
|
||||
# correct?
|
||||
|
||||
@ -109,7 +109,7 @@ ifeq ($(call check-jvm-feature, compiler2), true)
|
||||
|
||||
# This generates checks in the generated C++ files that _LP64 is correctly
|
||||
# (un)defined when compiling them.
|
||||
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
|
||||
ifeq ($(call isTargetCpuBits, 64), true)
|
||||
ADLCFLAGS += -D_LP64=1
|
||||
else
|
||||
ADLCFLAGS += -U_LP64
|
||||
|
@ -28,12 +28,12 @@
|
||||
|
||||
ifeq ($(call check-jvm-feature, dtrace), true)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
DTRACE_FLAGS := -64
|
||||
DTRACE_CPP_FLAGS := -D_LP64
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
DTRACE_CPP_FLAGS := -D_LP64 -x c
|
||||
else ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
else ifeq ($(call isTargetOs, linux), true)
|
||||
DTRACE_CPP_FLAGS := -x c
|
||||
endif
|
||||
|
||||
@ -54,7 +54,7 @@ ifeq ($(call check-jvm-feature, dtrace), true)
|
||||
TARGETS += $(patsubst $(DTRACE_SOURCE_DIR)/%.d, \
|
||||
$(DTRACE_GENSRC_DIR)/%.h, $(wildcard $(DTRACE_SOURCE_DIR)/*.d))
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
############################################################################
|
||||
# First we need to generate the dtraceGenOffsets tool. When run, this will
|
||||
# produce two header files and a C++ file. Note that generateJvmOffsets.cpp
|
||||
|
@ -31,7 +31,7 @@ include MakeBase.gmk
|
||||
include JavaCompilation.gmk
|
||||
include SetupJavaCompilers.gmk
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
# The next part is a bit hacky. We include the CompileJvm.gmk to be
|
||||
# able to extact flags, but we do not wish to execute the rules.
|
||||
|
||||
@ -46,12 +46,12 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
|
||||
# Helper macro to convert a unix path to a Windows path, suitable for
|
||||
# inclusion in a command line.
|
||||
ifeq ($(OPENJDK_BUILD_OS_ENV), windows.cygwin)
|
||||
ifeq ($(call isBuildOsEnv, windows.cygwin), true)
|
||||
FixPath = \
|
||||
$(strip $(subst \,\\,$(shell $(CYGPATH) -w $1)))
|
||||
FixLinuxExecutable = \
|
||||
$(call FixPath, $1)
|
||||
else ifeq ($(OPENJDK_BUILD_OS_ENV), windows.wsl)
|
||||
else ifeq ($(call isBuildOsEnv, windows.wsl), true)
|
||||
FixPath = \
|
||||
$(strip $(subst \,\\,$(shell $(WSLPATH) -w $1)))
|
||||
FixLinuxExecutable = \
|
||||
|
@ -24,7 +24,7 @@
|
||||
#
|
||||
|
||||
ifeq ($(call check-jvm-feature, dtrace), true)
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
JNI_INCLUDE_FLAGS := \
|
||||
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
|
||||
-I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
|
||||
|
@ -31,7 +31,7 @@ GTEST_FRAMEWORK_SRC := $(TOPDIR)/test/fmw/gtest
|
||||
|
||||
# On Windows, there are no internal debug symbols so must set copying to true
|
||||
# to get any at all.
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
GTEST_COPY_DEBUG_SYMBOLS := true
|
||||
else
|
||||
GTEST_COPY_DEBUG_SYMBOLS := false
|
||||
@ -39,7 +39,7 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
GTEST_JVM_MAPFILE := $(JVM_MAPFILE)
|
||||
else
|
||||
GTEST_JVM_MAPFILE := $(JVM_OUTPUTDIR)/gtest/mapfile
|
||||
|
@ -56,9 +56,9 @@ JVM_EXCLUDE_FILES += args.cc
|
||||
JVM_EXCLUDES += adlc
|
||||
|
||||
# Needed by vm_version.cpp
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
ifeq ($(call isTargetCpu, x86_64), true)
|
||||
OPENJDK_TARGET_CPU_VM_VERSION := amd64
|
||||
else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
|
||||
else ifeq ($(call isTargetCpu, sparcv9), true)
|
||||
OPENJDK_TARGET_CPU_VM_VERSION := sparc
|
||||
else
|
||||
OPENJDK_TARGET_CPU_VM_VERSION := $(OPENJDK_TARGET_CPU)
|
||||
@ -107,10 +107,10 @@ DISABLED_WARNINGS_microsoft :=
|
||||
|
||||
# ARM source selection
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), linux-arm)
|
||||
ifeq ($(call And, $(call isTargetOs, linux) $(call isTargetCpu, arm)), true)
|
||||
JVM_EXCLUDE_PATTERNS += arm_64
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), linux-aarch64)
|
||||
else ifeq ($(call And, $(call isTargetOs, linux) $(call isTargetCpu, aarch64)), true)
|
||||
# For 64-bit arm builds, we use the 64 bit hotspot/src/cpu/arm
|
||||
# hotspot sources if HOTSPOT_TARGET_CPU_ARCH is set to arm.
|
||||
# Exclude the aarch64 and 32 bit arm files for this build.
|
||||
@ -119,21 +119,21 @@ else ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), linux-aarch64)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(filter $(OPENJDK_TARGET_OS), linux macosx windows), )
|
||||
ifeq ($(call isTargetOs, linux macosx windows), true)
|
||||
JVM_PRECOMPILED_HEADER := $(TOPDIR)/src/hotspot/share/precompiled/precompiled.hpp
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86)
|
||||
ifeq ($(call isTargetCpu, x86), true)
|
||||
JVM_EXCLUDE_PATTERNS += x86_64
|
||||
else ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
else ifeq ($(call isTargetCpu, x86_64), true)
|
||||
JVM_EXCLUDE_PATTERNS += x86_32
|
||||
endif
|
||||
|
||||
# Inline assembly for solaris
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
ifeq ($(call isTargetCpu, x86_64), true)
|
||||
JVM_CFLAGS += $(TOPDIR)/src/hotspot/os_cpu/solaris_x86/solaris_x86_64.il
|
||||
else ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
|
||||
else ifeq ($(call isTargetCpu, sparcv9), true)
|
||||
JVM_CFLAGS += $(TOPDIR)/src/hotspot/os_cpu/solaris_sparc/solaris_sparc.il
|
||||
endif
|
||||
# Exclude warnings in devstudio 12.6
|
||||
@ -143,7 +143,7 @@ ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
|
||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpu, sparcv9)), true)
|
||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), false)
|
||||
# NOTE: In the old build, we weirdly enough set -g/-g0 always, regardless
|
||||
# of if debug symbols were needed. Without it, compilation fails on
|
||||
@ -152,8 +152,8 @@ ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
ifeq ($(call isTargetCpuBits, 64), true)
|
||||
RC_DESC := 64-Bit$(SPACE)
|
||||
endif
|
||||
JVM_RCFLAGS += -D"HS_FILEDESC=$(HOTSPOT_VM_DISTRO) $(RC_DESC)$(JVM_VARIANT) VM"
|
||||
@ -209,7 +209,7 @@ $(VM_VERSION_OBJ): $(filter-out $(VM_VERSION_OBJ) $(JVM_MAPFILE), \
|
||||
$(BUILD_LIBJVM_TARGET_DEPS))
|
||||
|
||||
ifneq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
# It doesn't matter which jvm.lib file gets exported, but we need
|
||||
# to pick just one.
|
||||
ifeq ($(JVM_VARIANT), $(JVM_VARIANT_MAIN))
|
||||
|
@ -24,7 +24,7 @@
|
||||
#
|
||||
|
||||
ifeq ($(call check-jvm-feature, dtrace), true)
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
|
||||
############################################################################
|
||||
# Integrate with libjvm. Here we generate two object files which are
|
||||
@ -131,7 +131,7 @@ ifeq ($(call check-jvm-feature, dtrace), true)
|
||||
> $(DTRACE_SUPPORT_DIR)/$(@F).d))
|
||||
$(call ExecuteWithLog, $@, $(DTRACE) $(DTRACE_FLAGS) -o $@ \
|
||||
-s $(DTRACE_SUPPORT_DIR)/$(@F).d)
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
|
||||
ifeq ($(call isTargetCpuArch, sparc), true)
|
||||
$(call ExecuteWithLog, $@.elfedit, $(ELFEDIT) $(call GetElfeditCommands) $@)
|
||||
endif
|
||||
|
||||
|
@ -47,14 +47,14 @@ endif
|
||||
ifeq ($(call check-jvm-feature, zero), true)
|
||||
JVM_CFLAGS_FEATURES += -DZERO -DCC_INTERP -DZERO_LIBARCH='"$(OPENJDK_TARGET_CPU_LEGACY_LIB)"' $(LIBFFI_CFLAGS)
|
||||
JVM_LIBS_FEATURES += $(LIBFFI_LIBS)
|
||||
ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
|
||||
ifeq ($(call isTargetCpu, sparcv9), true)
|
||||
BUILD_LIBJVM_EXTRA_FILES := $(TOPDIR)/src/hotspot/cpu/sparc/memset_with_concurrent_readers_sparc.cpp
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(call check-jvm-feature, minimal), true)
|
||||
JVM_CFLAGS_FEATURES += -DMINIMAL_JVM -DVMTYPE=\"Minimal\"
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
# Override the default -g with a more liberal strip policy for the minimal JVM
|
||||
JVM_STRIPFLAGS := --strip-unneeded
|
||||
endif
|
||||
|
@ -74,7 +74,7 @@ ifeq ($(DEBUG_LEVEL), release)
|
||||
endif
|
||||
else ifeq ($(DEBUG_LEVEL), fastdebug)
|
||||
JVM_CFLAGS_DEBUGLEVEL := -DASSERT
|
||||
ifeq ($(filter $(OPENJDK_TARGET_OS), windows aix), )
|
||||
ifeq ($call isTargetOs, windows aix), false)
|
||||
# NOTE: Old build did not define CHECK_UNHANDLED_OOPS on Windows and AIX.
|
||||
JVM_CFLAGS_DEBUGLEVEL += -DCHECK_UNHANDLED_OOPS
|
||||
endif
|
||||
|
@ -28,13 +28,13 @@ $(eval $(call IncludeCustomExtension, hotspot/lib/JvmMapfile.gmk))
|
||||
################################################################################
|
||||
# Combine a list of static symbols
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), windows-x86_64)
|
||||
ifeq ($(call And, $(call isTargetOs, windows) $(call isTargetCpu, x86_64)), false)
|
||||
# On Windows x86_64, we should not have any symbols at all, since that
|
||||
# results in duplicate warnings from the linker (JDK-8043491).
|
||||
SYMBOLS_SRC += $(TOPDIR)/make/hotspot/symbols/symbols-shared
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
|
||||
ifeq ($(call isTargetOsType, unix), true)
|
||||
SYMBOLS_SRC += $(TOPDIR)/make/hotspot/symbols/symbols-unix
|
||||
endif
|
||||
|
||||
@ -48,7 +48,7 @@ ifneq ($(findstring debug, $(DEBUG_LEVEL)), )
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
ifeq ($(call check-jvm-feature, dtrace), true)
|
||||
# Additional mapfiles that are only used when dtrace is enabled
|
||||
ifeq ($(call check-jvm-feature, compiler2), true)
|
||||
@ -64,7 +64,7 @@ endif
|
||||
# Create a dynamic list of symbols from the built object files. This is highly
|
||||
# platform dependent.
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
DUMP_SYMBOLS_CMD := $(NM) --defined-only *.o
|
||||
ifneq ($(FILTER_SYMBOLS_PATTERN), )
|
||||
FILTER_SYMBOLS_PATTERN := $(FILTER_SYMBOLS_PATTERN)|
|
||||
@ -76,7 +76,7 @@ ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
if ($$3 ~ /$(FILTER_SYMBOLS_PATTERN)/) print $$3; \
|
||||
}'
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
else ifeq ($(call isTargetOs, solaris), true)
|
||||
DUMP_SYMBOLS_CMD := $(NM) -p *.o
|
||||
ifneq ($(FILTER_SYMBOLS_PATTERN), )
|
||||
FILTER_SYMBOLS_PATTERN := $(FILTER_SYMBOLS_PATTERN)|
|
||||
@ -90,7 +90,7 @@ else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
if ($$3 ~ /$(FILTER_SYMBOLS_PATTERN)/) print $$3; \
|
||||
}'
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
# nm on macosx prints out "warning: nm: no name list" to stderr for
|
||||
# files without symbols. Hide this, even at the expense of hiding real errors.
|
||||
DUMP_SYMBOLS_CMD := $(NM) -Uj *.o 2> /dev/null
|
||||
@ -107,7 +107,7 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
# The script below might be what was intended, but it failes to link with tons
|
||||
# of 'cannot export hidden symbol vtable for X'.
|
||||
# '{ if ($$1 ~ /^__ZTV/ || $$1 ~ /^_gHotSpotVM/) print substr($$1, 2) }'
|
||||
else ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
else ifeq ($(call isTargetOs, aix), true)
|
||||
# NOTE: The old build had the solution below. This should to be fixed in
|
||||
# configure instead.
|
||||
|
||||
@ -123,7 +123,7 @@ else ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
if ($$3 ~ /^SharedArchivePath__9Arguments$$/) print $$3; \
|
||||
}'
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
else ifeq ($(call isTargetOs, windows), true)
|
||||
DUMP_SYMBOLS_CMD := $(DUMPBIN) -symbols *.obj
|
||||
FILTER_SYMBOLS_AWK_SCRIPT := \
|
||||
'{ \
|
||||
@ -153,12 +153,12 @@ $(JVM_OUTPUTDIR)/symbols: $(SYMBOLS_SRC)
|
||||
################################################################################
|
||||
# Finally convert the symbol list into a platform-specific mapfile
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
# On macosx, we need to add a leading underscore
|
||||
define create-mapfile-work
|
||||
$(AWK) '{ if ($$0 ~ ".") { print " _" $$0 } }' < $^ > $@.tmp
|
||||
endef
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
else ifeq ($(call isTargetOs, windows), true)
|
||||
# On windows, add an 'EXPORTS' header
|
||||
define create-mapfile-work
|
||||
$(ECHO) "EXPORTS" > $@.tmp
|
||||
|
@ -51,7 +51,7 @@ ifneq ($(FDLIBM_CFLAGS), )
|
||||
LIBJVM_FDLIBM_COPY_OPT_FLAG := $(CXX_O_FLAG_NORM)
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
BUILD_LIBJVM_ostream.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
|
||||
BUILD_LIBJVM_logFileOutput.cpp_CXXFLAGS := -D_FILE_OFFSET_BITS=64
|
||||
|
||||
@ -65,7 +65,7 @@ ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
#
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86)
|
||||
ifeq ($(call isTargetCpu, x86), true)
|
||||
# Performance measurements show that by compiling GC related code, we could
|
||||
# significantly reduce the GC pause time on 32 bit Linux/Unix platforms by
|
||||
# compiling without the PIC flag (-fPIC on linux).
|
||||
@ -83,7 +83,7 @@ ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
$(foreach s, $(NONPIC_SRC), $(eval BUILD_LIBJVM_$(notdir $s)_CXXFLAGS := -fno-PIC))
|
||||
endif
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
else ifeq ($(call isTargetOs, solaris), true)
|
||||
ifneq ($(DEBUG_LEVEL), slowdebug)
|
||||
# dev studio 12.6 workaround
|
||||
BUILD_LIBJVM_arguments.cpp_OPTIMIZATION := LOW
|
||||
@ -97,7 +97,7 @@ else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
BUILD_LIBJVM_jni.cpp_CXXFLAGS := -Qoption ube -O~yz
|
||||
BUILD_LIBJVM_stubGenerator_$(HOTSPOT_TARGET_CPU).cpp_CXXFLAGS := -xspace
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
ifeq ($(call isTargetCpu, x86_64), true)
|
||||
# Temporary until SS10 C++ compiler is fixed
|
||||
BUILD_LIBJVM_generateOptoStub.cpp_CXXFLAGS := -xO2
|
||||
# Temporary util SS12u1 C++ compiler is fixed
|
||||
@ -118,7 +118,7 @@ else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
BUILD_LIBJVM_bytecodeInterpreter.cpp_CXXFLAGS := +d
|
||||
BUILD_LIBJVM_bytecodeInterpreterWithChecks.cpp_CXXFLAGS := +d
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
|
||||
ifeq ($(call isTargetCpuArch, x86), true)
|
||||
# ube explodes on x86
|
||||
BUILD_LIBJVM_bytecodeInterpreter.cpp_CXXFLAGS += -xO1
|
||||
BUILD_LIBJVM_bytecodeInterpreterWithChecks.cpp_CXXFLAGS += -xO1
|
||||
@ -129,7 +129,7 @@ else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
# Workaround for jvmciCompilerToVM.cpp long compilation time
|
||||
BUILD_LIBJVM_jvmciCompilerToVMInit.cpp_OPTIMIZATION := NONE
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
# The copied fdlibm routines in these files must not be optimized
|
||||
BUILD_LIBJVM_sharedRuntimeTrig.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
|
||||
BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(FDLIBM_CFLAGS) $(LIBJVM_FDLIBM_COPY_OPT_FLAG)
|
||||
@ -160,7 +160,7 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
#
|
||||
endif
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
else ifeq ($(call isTargetOs, aix), true)
|
||||
BUILD_LIBJVM_synchronizer.cpp_CXXFLAGS := -qnoinline
|
||||
BUILD_LIBJVM_sharedRuntimeTrans.cpp_CXXFLAGS := $(CXX_O_FLAG_NONE)
|
||||
# Disable aggressive optimizations for functions in sharedRuntimeTrig.cpp
|
||||
@ -185,7 +185,7 @@ else ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
# Disable ELF decoder on AIX (AIX uses XCOFF).
|
||||
JVM_EXCLUDE_PATTERNS += elf
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
else ifeq ($(call isTargetOs, windows), true)
|
||||
JVM_PRECOMPILED_HEADER_EXCLUDE := \
|
||||
bytecodeInterpreter.cpp \
|
||||
bytecodeInterpreterWithChecks.cpp \
|
||||
|
@ -37,7 +37,7 @@ $(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval TARGETS += $$(COPY_GTEST_$v)) \
|
||||
)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call SetupCopyFiles, COPY_GTEST_MSVCR_$v, \
|
||||
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
|
||||
@ -54,7 +54,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
)
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
$(foreach v, $(JVM_VARIANTS), \
|
||||
$(eval $(call SetupCopyFiles, COPY_GTEST_STLPORT_$v, \
|
||||
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
|
||||
|
@ -51,7 +51,7 @@ $(SUPPORT_OUTPUTDIR)/modules_cmds/java.base/java$(EXE_SUFFIX): $(BUILD_LAUNCHER_
|
||||
|
||||
TARGETS += $(SUPPORT_OUTPUTDIR)/modules_cmds/java.base/java$(EXE_SUFFIX)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$(eval $(call SetupBuildLauncher, javaw, \
|
||||
CFLAGS := -DJAVAW -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
|
||||
EXTRA_RC_FLAGS := $(JAVA_RC_FLAGS), \
|
||||
@ -65,7 +65,7 @@ $(eval $(call SetupBuildLauncher, keytool, \
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
$(eval $(call SetupJdkExecutable, BUILD_JEXEC, \
|
||||
NAME := jexec, \
|
||||
SRC := $(TOPDIR)/src/$(MODULE)/unix/native/launcher, \
|
||||
@ -84,7 +84,7 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris aix linux), )
|
||||
ifeq ($(call isTargetOs, macosx solaris aix linux), true)
|
||||
$(eval $(call SetupJdkExecutable, BUILD_JSPAWNHELPER, \
|
||||
NAME := jspawnhelper, \
|
||||
SRC := $(TOPDIR)/src/$(MODULE)/unix/native/jspawnhelper, \
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
include LauncherCommon.gmk
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$(eval $(call SetupBuildLauncher, kinit, \
|
||||
MAIN_CLASS := sun.security.krb5.internal.tools.Kinit, \
|
||||
))
|
||||
|
@ -28,7 +28,7 @@ include LauncherCommon.gmk
|
||||
################################################################################
|
||||
# jabswitch
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
|
||||
JABSWITCH_SRC := $(TOPDIR)/src/jdk.accessibility/windows/native/jabswitch
|
||||
ACCESSBRIDGE_SRC := $(TOPDIR)/src/jdk.accessibility/windows/native/common
|
||||
@ -98,7 +98,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
|
||||
endef
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
|
||||
ifeq ($(call isTargetCpuBits, 32), true)
|
||||
$(eval $(call SetupInspector,-32,32))
|
||||
$(eval $(call SetupWalker,-32,32))
|
||||
$(eval $(call SetupInspector,,LEGACY))
|
||||
|
@ -45,7 +45,7 @@ ifeq ($(TOOLCHAIN_TYPE), gcc)
|
||||
CXXFLAGS_JDKEXE += -fvisibility=hidden
|
||||
LDFLAGS_JDKEXE += -Wl,--exclude-libs,ALL
|
||||
else ifeq ($(TOOLCHAIN_TYPE), clang)
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), false)
|
||||
CXXFLAGS_JDKEXE += -fvisibility=hidden
|
||||
endif
|
||||
else ifeq ($(TOOLCHAIN_TYPE), solstudio)
|
||||
|
@ -105,7 +105,7 @@ define SetupBuildLauncherBody
|
||||
$$(addprefix -J, $$($1_JAVA_ARGS)) $$($1_LAUNCHER_CLASS), "$$a"$(COMMA) )) }'
|
||||
$1_CFLAGS += -DJAVA_ARGS=$$($1_JAVA_ARGS_STR)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
ifeq ($$($1_MACOSX_SIGNED), true)
|
||||
$1_PLIST_FILE := Info-privileged.plist
|
||||
$1_CODESIGN := true
|
||||
@ -179,11 +179,11 @@ define SetupBuildLauncherBody
|
||||
$1 += $$(BUILD_LAUNCHER_$1)
|
||||
TARGETS += $$($1)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
ifeq ($(call isTargetOs, aix), true)
|
||||
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, jli_static)
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, java, /libjava) \
|
||||
$$($1_WINDOWS_JLI_LIB)
|
||||
endif
|
||||
@ -194,7 +194,7 @@ endef
|
||||
# relationship between executables and man pages (even if this is not always
|
||||
# the case), so piggyback man page generation on the launcher compilation.
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
|
||||
ifeq ($(call isTargetOsType, unix), true)
|
||||
# Only build manpages on unix systems.
|
||||
# We assume all our man pages should reside in section 1.
|
||||
|
||||
|
@ -43,7 +43,7 @@ BUILD_LIBMLIB_EXCLUDE_SRC_PATTERNS := unix
|
||||
|
||||
BUILD_LIBMLIB_CFLAGS := -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES -DMLIB_NO_LIBSUNMATH
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
|
||||
ifeq ($(call isTargetCpuBits, 64), true)
|
||||
BUILD_LIBMLIB_CFLAGS += -DMLIB_OS64BIT
|
||||
endif
|
||||
|
||||
@ -68,7 +68,7 @@ TARGETS += $(BUILD_LIBMLIB_IMAGE)
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
|
||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpuArch, sparc)), true)
|
||||
|
||||
# libmlib_image_v is basically built from mlib_image sources, with some additions
|
||||
# and some exclusions.
|
||||
@ -80,7 +80,7 @@ ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
|
||||
LIBMLIB_IMAGE_V_CFLAGS := -xarch=sparcvis -D__USE_J2D_NAMES -D__MEDIALIB_OLD_NAMES \
|
||||
$(TOPDIR)/src/$(MODULE)/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
|
||||
ifeq ($(call isTargetCpuBits, 64), true)
|
||||
LIBMLIB_IMAGE_V_CFLAGS += -DMLIB_OS64BIT
|
||||
endif
|
||||
|
||||
@ -127,11 +127,11 @@ LIBAWT_EXTRA_SRC := \
|
||||
$(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
|
||||
#
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
|
||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpuArch, sparc)), true)
|
||||
LIBAWT_EXTRA_SRC += $(TOPDIR)/src/$(MODULE)/share/native/common/awt/medialib
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
LIBAWT_EXTRA_SRC += \
|
||||
$(TOPDIR)/src/$(MODULE)/share/native/common/awt/utility \
|
||||
$(TOPDIR)/src/$(MODULE)/share/native/common/font \
|
||||
@ -140,22 +140,22 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
#
|
||||
endif
|
||||
|
||||
ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx aix), )
|
||||
ifeq ($(call isTargetOs, solaris linux macosx aix), true)
|
||||
LIBAWT_EXFILES += awt_Font.c CUPSfuncs.c fontpath.c X11Color.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
LIBAWT_EXFILES += initIDs.c awt/image/cvutils/img_colors.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
LIBAWT_EXFILES += \
|
||||
java2d/d3d/D3DShaderGen.c \
|
||||
awt/image/cvutils/img_colors.c \
|
||||
#
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
|
||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpu, sparcv9)), true)
|
||||
LIBAWT_EXFILES += java2d/loops/MapAccelFunc.c
|
||||
else
|
||||
LIBAWT_EXCLUDES += \
|
||||
@ -182,20 +182,20 @@ LIBAWT_EXTRA_HEADER_DIRS := \
|
||||
|
||||
LIBAWT_CFLAGS += -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES $(X_CFLAGS)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU), solaris-sparcv9)
|
||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpu, sparcv9)), true)
|
||||
LIBAWT_CFLAGS += -xarch=sparcvis -DMLIB_ADD_SUFF \
|
||||
$(TOPDIR)/src/$(MODULE)/unix/native/libmlib_image/vis_$(OPENJDK_TARGET_CPU_BITS).il
|
||||
|
||||
LIBAWT_ASFLAGS = -P -xarch=v9a
|
||||
endif
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), false)
|
||||
LIBAWT_CFLAGS += -DMLIB_NO_LIBSUNMATH
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE
|
||||
ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
|
||||
ifeq ($(call isTargetCpuBits, 64), true)
|
||||
LIBAWT_CFLAGS += -DMLIB_OS64BIT
|
||||
endif
|
||||
|
||||
@ -203,7 +203,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBAWT_VERSIONINFO_RESOURCE := $(TOPDIR)/src/$(MODULE)/windows/native/libawt/windows/awt.rc
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
# FIXME: This is probably not what we want to do, but keep it now for compatibility.
|
||||
LIBAWT_CFLAGS += $(EXPORT_ALL_SYMBOLS)
|
||||
endif
|
||||
@ -263,7 +263,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
|
||||
|
||||
$(BUILD_LIBAWT): $(call FindLib, java.base, java)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
$(BUILD_LIBAWT): $(BUILD_LIBMLIB_IMAGE)
|
||||
endif
|
||||
|
||||
@ -271,7 +271,7 @@ TARGETS += $(BUILD_LIBAWT)
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx), )
|
||||
ifeq ($(call isTargetOs, windows macosx), false)
|
||||
ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
||||
|
||||
LIBAWT_XAWT_EXTRA_SRC := \
|
||||
@ -297,11 +297,11 @@ ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx), )
|
||||
$(FONTCONFIG_CFLAGS) \
|
||||
$(CUPS_CFLAGS)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
LIBAWT_XAWT_CFLAGS += -DFUNCPROTO=15
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
ifeq ($(DISABLE_XRENDER), true)
|
||||
LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
|
||||
endif
|
||||
@ -309,7 +309,7 @@ ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx), )
|
||||
|
||||
LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
LIBAWT_XAWT_LIBS += -lpthread
|
||||
endif
|
||||
|
||||
@ -443,7 +443,7 @@ TARGETS += $(BUILD_LIBJAVAJPEG)
|
||||
################################################################################
|
||||
|
||||
# Mac and Windows only use the native AWT lib, do not build libawt_headless
|
||||
ifeq ($(findstring $(OPENJDK_TARGET_OS), windows macosx),)
|
||||
ifeq ($(call isTargetOs, windows macosx), false)
|
||||
|
||||
LIBAWT_HEADLESS_EXTRA_SRC := \
|
||||
common/font \
|
||||
@ -504,7 +504,7 @@ else
|
||||
|
||||
# For use by libfontmanager:
|
||||
LIBFREETYPE_CFLAGS := -I$(BUILD_LIBFREETYPE_HEADER_DIRS)
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
|
||||
else
|
||||
LIBFREETYPE_LIBS := -lfreetype
|
||||
@ -534,20 +534,20 @@ endif
|
||||
|
||||
HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), false)
|
||||
HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
|
||||
-DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H
|
||||
endif
|
||||
ifneq (, $(findstring $(OPENJDK_TARGET_OS), linux macosx))
|
||||
ifeq ($(call isTargetOs, linux macosx), true)
|
||||
HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
|
||||
endif
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
HARFBUZZ_CFLAGS += -DHAVE_SOLARIS_ATOMIC_OPS
|
||||
endif
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
|
||||
endif
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), false)
|
||||
LIBFONTMANAGER_EXCLUDE_FILES += harfbuzz/hb-coretext.cc
|
||||
endif
|
||||
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
|
||||
@ -572,11 +572,11 @@ BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
|
||||
|
||||
LIBFONTMANAGER_OPTIMIZATION := HIGH
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
|
||||
X11TextRenderer.c
|
||||
LIBFONTMANAGER_OPTIMIZATION := HIGHEST
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
|
||||
X11TextRenderer.c \
|
||||
fontpath.c \
|
||||
@ -640,7 +640,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
|
||||
|
||||
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
$(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)
|
||||
endif
|
||||
|
||||
@ -652,7 +652,7 @@ TARGETS += $(BUILD_LIBFONTMANAGER)
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
|
||||
LIBJAWT_CFLAGS := -EHsc -DUNICODE -D_UNICODE
|
||||
|
||||
@ -667,7 +667,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
java.base:libjava \
|
||||
#
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86)
|
||||
ifeq ($(call isTargetCpu, x86), true)
|
||||
KERNEL32_LIB := kernel32.lib
|
||||
endif
|
||||
|
||||
@ -692,25 +692,25 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
|
||||
TARGETS += $(COPY_JAWT_LIB)
|
||||
|
||||
else # OPENJDK_TARGET_OS not windows
|
||||
else # not windows
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
# libjawt on macosx do not use the unix code
|
||||
LIBJAWT_EXCLUDE_SRC_PATTERNS := unix
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
JAWT_LIBS := -lawt_lwawt
|
||||
else
|
||||
JAWT_LIBS :=
|
||||
ifneq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), false)
|
||||
JAWT_LIBS += -lawt
|
||||
endif
|
||||
ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
||||
JAWT_LIBS += -lawt_xawt
|
||||
else
|
||||
JAWT_LIBS += -lawt_headless
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
JAWT_CFLAGS += -DHEADLESS
|
||||
endif
|
||||
endif
|
||||
@ -742,11 +742,11 @@ else # OPENJDK_TARGET_OS not windows
|
||||
$(BUILD_LIBJAWT): $(call FindLib, $(MODULE), awt_headless)
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
$(BUILD_LIBJAWT): $(call FindLib, $(MODULE), awt_lwawt)
|
||||
endif
|
||||
|
||||
endif # OPENJDK_TARGET_OS
|
||||
endif
|
||||
|
||||
TARGETS += $(BUILD_LIBJAWT)
|
||||
|
||||
@ -784,20 +784,20 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
||||
LIBSPLASHSCREEN_EXTRA_SRC += java.base:libzip/zlib
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
# libsplashscreen on macosx do not use the unix code
|
||||
LIBSPLASHSCREEN_EXCLUDE_SRC_PATTERNS := unix
|
||||
endif
|
||||
|
||||
LIBSPLASHSCREEN_CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE -DPNG_ARM_NEON_OPT=0
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
ifeq ($(call isTargetCpuArch, ppc), true)
|
||||
LIBSPLASHSCREEN_CFLAGS += -DPNG_POWERPC_VSX_OPT=0
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
LIBSPLASHSCREEN_CFLAGS += -DWITH_MACOSX
|
||||
|
||||
BUILD_LIBSPLASHSCREEN_java_awt_SplashScreen.c_CFLAGS := -x objective-c -O0
|
||||
@ -808,7 +808,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
||||
BUILD_LIBSPLASHSCREEN_splashscreen_png.c_CFLAGS := -x objective-c -O0
|
||||
BUILD_LIBSPLASHSCREEN_splashscreen_sys.m_CFLAGS := -O0
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
else ifeq ($(call isTargetOs, windows), true)
|
||||
LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
|
||||
else
|
||||
LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS)
|
||||
@ -816,14 +816,14 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
||||
|
||||
LIBSPLASHSCREEN_LIBS :=
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
LIBSPLASHSCREEN_LIBS += \
|
||||
$(LIBM) -lpthread -liconv -losxapp \
|
||||
-framework ApplicationServices \
|
||||
-framework Foundation \
|
||||
-framework Cocoa \
|
||||
-framework JavaNativeFoundation
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
else ifeq ($(call isTargetOs, windows), true)
|
||||
LIBSPLASHSCREEN_LIBS += kernel32.lib user32.lib gdi32.lib delayimp.lib $(WIN_JAVA_LIB) jvm.lib
|
||||
else
|
||||
LIBSPLASHSCREEN_LIBS += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread -ldl
|
||||
@ -863,7 +863,7 @@ ifeq ($(ENABLE_HEADLESS_ONLY), false)
|
||||
|
||||
TARGETS += $(BUILD_LIBSPLASHSCREEN)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
$(BUILD_LIBSPLASHSCREEN): $(call FindLib, $(MODULE), osxapp)
|
||||
endif
|
||||
|
||||
@ -871,7 +871,7 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
|
||||
LIBAWT_LWAWT_EXTRA_SRC := \
|
||||
$(TOPDIR)/src/$(MODULE)/unix/native/common/awt \
|
||||
@ -941,7 +941,7 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \
|
||||
NAME := osxui, \
|
||||
|
@ -35,7 +35,7 @@ $(eval $(call IncludeCustomExtension, lib/CoreLibraries.gmk))
|
||||
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := NONE
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
|
||||
endif
|
||||
|
||||
@ -68,7 +68,7 @@ $(eval $(call SetupNativeCompilation, BUILD_LIBFDLIBM, \
|
||||
##########################################################################################
|
||||
|
||||
LIBVERIFY_OPTIMIZATION := HIGH
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
|
||||
ifeq ($(call isTargetOs, solaris linux), true)
|
||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
||||
LIBVERIFY_OPTIMIZATION := LOW
|
||||
endif
|
||||
@ -92,7 +92,7 @@ TARGETS += $(BUILD_LIBVERIFY)
|
||||
|
||||
LIBJAVA_CFLAGS := -DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
|
||||
BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c
|
||||
endif
|
||||
@ -181,11 +181,11 @@ TARGETS += $(BUILD_LIBJIMAGE)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
LIBJLI_EXCLUDE_FILES += java_md_solinux.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
# Supply the name of the C runtime lib.
|
||||
LIBJLI_CFLAGS += -DMSVCR_DLL_NAME='"$(notdir $(MSVCR_DLL))"'
|
||||
ifneq ($(MSVCP_DLL), )
|
||||
@ -233,7 +233,7 @@ TARGETS += $(BUILD_LIBJLI)
|
||||
|
||||
LIBJLI_SRC_DIRS := $(call FindSrcDirsForComponent, java.base, libjli)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
ifeq ($(call isTargetOs, aix), true)
|
||||
# AIX also requires a static libjli because the compiler doesn't support '-rpath'
|
||||
$(eval $(call SetupNativeCompilation, BUILD_LIBJLI_STATIC, \
|
||||
NAME := jli_static, \
|
||||
|
@ -99,7 +99,7 @@ $(BUILD_LIBNIO): $(BUILD_LIBNET)
|
||||
################################################################################
|
||||
# Create the macosx security library
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
# JavaNativeFoundation framework not supported in static builds
|
||||
ifneq ($(STATIC_BUILD), true)
|
||||
|
||||
@ -130,7 +130,7 @@ endif
|
||||
################################################################################
|
||||
# Create the jsig library
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
|
||||
ifeq ($(call isTargetOsType, unix), true)
|
||||
ifeq ($(STATIC_BUILD), false)
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBJSIG, \
|
||||
NAME := jsig, \
|
||||
@ -205,7 +205,7 @@ endif
|
||||
################################################################################
|
||||
# Copy tzmappings file for Windows
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$(eval $(call SetupCopyFiles, COPY_TZMAPPINGS, \
|
||||
FILES := $(SUPPORT_OUTPUTDIR)/gensrc/java.base/windows/conf/tzmappings, \
|
||||
DEST := $(call FindLibDirForModule, $(MODULE)), \
|
||||
|
@ -39,7 +39,7 @@ include Awt2dLibraries.gmk
|
||||
################################################################################
|
||||
# Create the libjsound library
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), aix)
|
||||
ifeq ($(call isTargetOs, aix), false)
|
||||
|
||||
LIBJSOUND_CFLAGS := \
|
||||
$(ALSA_CFLAGS) \
|
||||
@ -48,14 +48,14 @@ ifneq ($(OPENJDK_TARGET_OS), aix)
|
||||
-DUSE_DAUDIO=TRUE \
|
||||
#
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), false)
|
||||
LIBJSOUND_CFLAGS += \
|
||||
-DUSE_PLATFORM_MIDI_OUT=TRUE \
|
||||
-DUSE_PLATFORM_MIDI_IN=TRUE \
|
||||
#
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
LIBJSOUND_TOOLCHAIN := TOOLCHAIN_LINK_CXX
|
||||
endif
|
||||
|
||||
@ -87,7 +87,7 @@ endif
|
||||
################################################################################
|
||||
# Create the macosx specific osxapp and osx libraries
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBOSXAPP, \
|
||||
NAME := osxapp, \
|
||||
@ -142,4 +142,3 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
$(BUILD_LIBOSX): $(call FindLib, java.base, java)
|
||||
|
||||
endif
|
||||
|
||||
|
@ -30,7 +30,7 @@ $(eval $(call IncludeCustomExtension, lib/Lib-java.instrument.gmk))
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
# equivalent of strcasecmp is stricmp on Windows
|
||||
LIBINSTRUMENT_CFLAGS := -Dstrcasecmp=stricmp
|
||||
WINDOWS_JLI_LIB := $(SUPPORT_OUTPUTDIR)/native/java.base/libjli/jli.lib
|
||||
@ -62,7 +62,7 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBINSTRUMENT, \
|
||||
$(WINDOWS_JLI_LIB), \
|
||||
))
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
ifeq ($(call isTargetOs, aix), true)
|
||||
$(BUILD_LIBINSTRUMENT): $(call FindStaticLib, java.base, jli_static)
|
||||
else
|
||||
$(BUILD_LIBINSTRUMENT): $(call FindLib, java.base, jli)
|
||||
|
@ -31,7 +31,7 @@ $(eval $(call IncludeCustomExtension, lib/Lib-java.management.gmk))
|
||||
################################################################################
|
||||
|
||||
LIBMANAGEMENT_OPTIMIZATION := HIGH
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
|
||||
ifeq ($(call isTargetOs, solaris linux), true)
|
||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
||||
LIBMANAGEMENT_OPTIMIZATION := LOW
|
||||
endif
|
||||
@ -57,4 +57,3 @@ TARGETS += $(BUILD_LIBMANAGEMENT)
|
||||
|
||||
# Include custom extension post hook
|
||||
$(eval $(call IncludeCustomExtension, lib/Lib-java.management-post.gmk))
|
||||
|
||||
|
@ -28,7 +28,7 @@ include LibCommon.gmk
|
||||
################################################################################
|
||||
|
||||
# libprefs on macosx do not use the unix code
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
LIBPREFS_EXCLUDE_SRC_PATTERNS := unix
|
||||
endif
|
||||
|
||||
|
@ -44,7 +44,7 @@ TARGETS += $(BUILD_LIBJ2GSS)
|
||||
|
||||
ifneq ($(BUILD_CRYPTO), false)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBW2K_LSA_AUTH, \
|
||||
NAME := w2k_lsa_auth, \
|
||||
OPTIMIZATION := LOW, \
|
||||
@ -59,7 +59,7 @@ ifneq ($(BUILD_CRYPTO), false)
|
||||
TARGETS += $(BUILD_LIBW2K_LSA_AUTH)
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
# libosxkrb5 needs to call deprecated krb5 APIs so that java
|
||||
# can use the native credentials cache.
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBOSXKRB5, \
|
||||
|
@ -27,7 +27,7 @@ include LibCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
|
||||
ROOT_SRCDIR := $(TOPDIR)/src/jdk.accessibility/windows/native
|
||||
|
||||
@ -100,7 +100,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
|
||||
endef
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
|
||||
ifeq ($(call isTargetCpuBits, 32), true)
|
||||
$(eval $(call SetupAccessBridgeSysInfo))
|
||||
$(eval $(call SetupJavaDLL,-32,32))
|
||||
$(eval $(call SetupJavaDLL,,LEGACY))
|
||||
|
@ -27,7 +27,7 @@ include LibCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
# In (at least) VS2013 and later, -DPSAPI_VERSION=1 is needed to generate
|
||||
# a binary that is compatible with windows versions older than 7/2008R2.
|
||||
# See MSDN documentation for GetProcessMemoryInfo for more information.
|
||||
|
@ -27,7 +27,7 @@ include LibCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBSUNMSCAPI, \
|
||||
NAME := sunmscapi, \
|
||||
|
@ -27,7 +27,7 @@ include LibCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBJ2UCRYPTO, \
|
||||
NAME := j2ucrypto, \
|
||||
|
@ -29,19 +29,19 @@ $(eval $(call IncludeCustomExtension, hotspot/lib/Lib-jdk.hotspot.agent.gmk))
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
SA_CFLAGS := -D_FILE_OFFSET_BITS=64
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
else ifeq ($(call isTargetOs, solaris), true)
|
||||
SA_LDFLAGS := -mt
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
else ifeq ($(call isTargetOs, macosx), true)
|
||||
SA_CFLAGS := -Damd64 -D_GNU_SOURCE -mno-omit-leaf-frame-pointer \
|
||||
-mstack-alignment=16 -fPIC
|
||||
LIBSA_EXTRA_SRC := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.hotspot.agent
|
||||
else ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
else ifeq ($(call isTargetOs, windows), true)
|
||||
SA_CFLAGS := -D_WINDOWS -D_DEBUG -D_CONSOLE -D_MBCS -EHsc
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
ifeq ($(call isTargetCpu, x86_64), true)
|
||||
SA_CXXFLAGS := -DWIN64
|
||||
else
|
||||
# Only add /RTC1 flag for debug builds as it's
|
||||
|
@ -27,7 +27,7 @@ include LibCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBLE, \
|
||||
NAME := le, \
|
||||
@ -39,6 +39,6 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
|
||||
TARGETS += $(BUILD_LIBLE)
|
||||
|
||||
endif # OPENJDK_TARGET_OS
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
@ -27,7 +27,7 @@ include LibCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBDT_SHMEM, \
|
||||
NAME := dt_shmem, \
|
||||
@ -42,6 +42,6 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
|
||||
TARGETS += $(BUILD_LIBDT_SHMEM)
|
||||
|
||||
endif # OPENJDK_TARGET_OS
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
@ -30,7 +30,7 @@ $(eval $(call IncludeCustomExtension, lib/Lib-jdk.management.gmk))
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
# In (at least) VS2013 and later, -DPSAPI_VERSION=1 is needed to generate
|
||||
# a binary that is compatible with windows versions older than 7/2008R2.
|
||||
# See MSDN documentation for GetProcessMemoryInfo for more information.
|
||||
@ -38,7 +38,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
endif
|
||||
|
||||
LIBMANAGEMENT_EXT_OPTIMIZATION := HIGH
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
|
||||
ifeq ($(call isTargetOs, solaris linux), true)
|
||||
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
|
||||
LIBMANAGEMENT_EXT_OPTIMIZATION := LOW
|
||||
endif
|
||||
@ -65,4 +65,3 @@ TARGETS += $(BUILD_LIBMANAGEMENT_EXT)
|
||||
|
||||
# Include custom extension post hook
|
||||
$(eval $(call IncludeCustomExtension, lib/Lib-jdk.management-post.gmk))
|
||||
|
||||
|
@ -27,7 +27,7 @@ include LibCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifneq ($(filter $(OPENJDK_TARGET_OS), solaris linux macosx), )
|
||||
ifeq ($(call isTargetOs, solaris linux macosx), true)
|
||||
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBEXTNET, \
|
||||
NAME := extnet, \
|
||||
|
@ -27,9 +27,9 @@ include LibCommon.gmk
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
|
||||
ifeq ($(call isTargetOsType, unix), true)
|
||||
|
||||
ifeq ($(filter $(OPENJDK_TARGET_OS), macosx aix), )
|
||||
ifeq ($(call isTargetOs, macosx aix), false)
|
||||
$(eval $(call SetupJdkLibrary, BUILD_LIBSCTP, \
|
||||
NAME := sctp, \
|
||||
OPTIMIZATION := LOW, \
|
||||
|
@ -61,7 +61,7 @@ TARGETS += $(BUILD_FAILURE_HANDLER)
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
|
||||
$(eval $(call SetupNativeCompilation, BUILD_LIBTIMEOUT_HANDLER, \
|
||||
NAME := timeoutHandler, \
|
||||
@ -99,7 +99,7 @@ IMAGES_TARGETS += $(COPY_FH)
|
||||
#
|
||||
RUN_DIR := $(FH_SUPPORT)/test
|
||||
# Add the dir of the dll to the path on windows
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
export PATH := $(PATH);$(FH_SUPPORT)
|
||||
endif
|
||||
|
||||
|
@ -140,7 +140,7 @@ NSK_AOD_INCLUDES := \
|
||||
-I$(VM_TESTBASE_DIR)/nsk/share/jni
|
||||
|
||||
NO_FRAMEPOINTER_CFLAGS :=
|
||||
ifeq ($(OPENJDK_TARGET_OS),linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
NO_FRAMEPOINTER_CFLAGS := -fomit-frame-pointer
|
||||
endif
|
||||
|
||||
@ -849,11 +849,11 @@ BUILD_HOTSPOT_JTREG_LIBRARIES_CFLAGS_libVirtualMachine09agent00 := $(NSK_AOD_INC
|
||||
################################################################################
|
||||
|
||||
# Platform specific setup
|
||||
ifneq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH), solaris-sparc)
|
||||
ifeq ($(call And, $(call isTargetOs, solaris) $(call isTargetCpuArch, sparc)), false)
|
||||
BUILD_HOTSPOT_JTREG_EXCLUDE += liboverflow.c exeThreadSignalMask.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rw := -z noexecstack
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LDFLAGS_libtest-rwx := -z execstack
|
||||
BUILD_HOTSPOT_JTREG_LIBRARIES_LIBS_libstepBreakPopReturn := -lpthread
|
||||
@ -870,11 +870,11 @@ endif
|
||||
|
||||
BUILD_HOTSPOT_JTREG_EXECUTABLES_LIBS_exesigtest := -ljvm
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifeq ($(call isTargetOs, solaris), true)
|
||||
BUILD_HOTSPOT_JTREG_EXCLUDE += libterminatedThread.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
BUILD_HOTSPOT_JTREG_EXECUTABLES_CFLAGS_exeFPRegs := -MT
|
||||
BUILD_HOTSPOT_JTREG_EXCLUDE += exesigtest.c libterminatedThread.c
|
||||
|
||||
|
@ -54,7 +54,7 @@ BUILD_JDK_JTREG_EXECUTABLES_CFLAGS_exeJliLaunchTest := \
|
||||
-I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS)/native/libjli
|
||||
|
||||
# Platform specific setup
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(call isTargetOs, windows), true)
|
||||
BUILD_JDK_JTREG_EXCLUDE += libDirectIO.c libInheritedChannel.c
|
||||
|
||||
WIN_LIB_JAVA := $(SUPPORT_OUTPUTDIR)/native/java.base/libjava/java.lib
|
||||
@ -64,15 +64,15 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
else
|
||||
BUILD_JDK_JTREG_LIBRARIES_LIBS_libstringPlatformChars := -ljava
|
||||
BUILD_JDK_JTREG_LIBRARIES_LIBS_libDirectIO := -ljava
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
ifeq ($(call isTargetOs, linux), true)
|
||||
BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava
|
||||
else ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
else ifeq ($(call isTargetOs, solaris), true)
|
||||
BUILD_JDK_JTREG_LIBRARIES_LIBS_libInheritedChannel := -ljava -lsocket -lnsl
|
||||
endif
|
||||
BUILD_JDK_JTREG_EXECUTABLES_LIBS_exeJliLaunchTest := -ljli
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(call isTargetOs, macosx), true)
|
||||
BUILD_JDK_JTREG_LIBRARIES_CFLAGS_libTestMainKeyWindow := -ObjC
|
||||
BUILD_JDK_JTREG_LIBRARIES_LIBS_libTestMainKeyWindow := -framework JavaVM \
|
||||
-framework Cocoa -framework JavaNativeFoundation
|
||||
|
@ -115,6 +115,28 @@ ifneq ($(call equals, $(EQUALS_VALUE2), $(EQUALS_EMPTY)), )
|
||||
$(error The strings >$(EQUALS_VALUE2)< and >$(EQUALS_EMPTY)< are equal)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Test boolean operators
|
||||
|
||||
$(eval $(call assert-equals, $(call And, true true true ), true))
|
||||
$(eval $(call assert-equals, $(call And, true false true ), false))
|
||||
$(eval $(call assert-equals, $(call And, false false false ), false))
|
||||
$(eval $(call assert-equals, $(call And, true), true))
|
||||
$(eval $(call assert-equals, $(call And, false), false))
|
||||
$(eval $(call assert-equals, $(call And, ), true))
|
||||
|
||||
$(eval $(call assert-equals, $(call Or, true true true ), true))
|
||||
$(eval $(call assert-equals, $(call Or, true false true ), true))
|
||||
$(eval $(call assert-equals, $(call Or, false false false ), false))
|
||||
$(eval $(call assert-equals, $(call Or, true), true))
|
||||
$(eval $(call assert-equals, $(call Or, false), false))
|
||||
$(eval $(call assert-equals, $(call Or, ), false))
|
||||
|
||||
# We cannot catch $(error) while testing, but you can enable this manually
|
||||
# by uncommenting and watch make fails.
|
||||
#$(eval $(call assert-equals, $(call And, non-boolean ), $(error ...)))
|
||||
#$(eval $(call assert-equals, $(call Or, non-boolean ), $(error ...)))
|
||||
|
||||
################################################################################
|
||||
# Test remove-prefixes
|
||||
|
||||
|
@ -37,6 +37,6 @@ endef
|
||||
|
||||
# On macosx, file system timestamps only have 1 second resultion so must add
|
||||
# sleeps to properly test dependencies.
|
||||
ifeq ($(OPENJDK_BUILD_OS), macosx)
|
||||
ifeq ($(call isBuildOs, macosx), true)
|
||||
SLEEP_ON_MAC := sleep 1
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user