8025715: Split CompileNativeLibraries.gmk
Reviewed-by: erikj
This commit is contained in:
parent
d38a1f186d
commit
a360c92c70
File diff suppressed because it is too large
Load Diff
1529
jdk/makefiles/lib/Awt2dLibraries.gmk
Normal file
1529
jdk/makefiles/lib/Awt2dLibraries.gmk
Normal file
File diff suppressed because it is too large
Load Diff
510
jdk/makefiles/lib/CoreLibraries.gmk
Normal file
510
jdk/makefiles/lib/CoreLibraries.gmk
Normal file
@ -0,0 +1,510 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
WIN_VERIFY_LIB := $(JDK_OUTPUTDIR)/objs/libverify/verify.lib
|
||||
|
||||
##########################################################################################
|
||||
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), solaris)
|
||||
BUILD_LIBFDLIBM_OPTIMIZATION := NONE
|
||||
endif
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM, \
|
||||
STATIC_LIBRARY := fdlibm, \
|
||||
OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := $(BUILD_LIBFDLIBM_OPTIMIZATION), \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
|
||||
CFLAGS_windows_debug := -DLOGGING, \
|
||||
ARFLAGS := $(ARFLAGS), \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
else
|
||||
|
||||
# On macosx the old build does partial (incremental) linking of fdlibm instead of
|
||||
# a plain static library.
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM_MAC, \
|
||||
LIBRARY := fdlibm, \
|
||||
OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/src, \
|
||||
LANG := C, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
|
||||
LDFLAGS := -nostdlib -r -arch x86_64, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBFDLIBM := $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX)
|
||||
$(BUILD_LIBFDLIBM): $(BUILD_LIBFDLIBM_MAC)
|
||||
$(call install-file)
|
||||
|
||||
endif
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBFDLIBM)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
BUILD_LIBVERIFY_SRC := check_code.c check_format.c
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifneq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
BUILD_LIBVERIFY_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/reorder-$(OPENJDK_TARGET_CPU)
|
||||
endif
|
||||
endif
|
||||
|
||||
LIBVERIFY_OPTIMIZATION := HIGH
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
|
||||
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
|
||||
LIBVERIFY_OPTIMIZATION := LOW
|
||||
endif
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBVERIFY, \
|
||||
LIBRARY := verify, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/common, \
|
||||
INCLUDE_FILES := $(BUILD_LIBVERIFY_SRC), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := $(LIBVERIFY_OPTIMIZATION), \
|
||||
CFLAGS := $(CFLAGS_JDKLIB), \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libverify/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_posix := -ljvm -lc, \
|
||||
LDFLAGS_SUFFIX_windows := jvm.lib, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=verify.dll" \
|
||||
-D "JDK_INTERNAL_NAME=verify" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
REORDER := $(BUILD_LIBVERIFY_REORDER), \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libverify, \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBVERIFY)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
LIBJAVA_SRC_DIRS := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \
|
||||
$(JDK_TOPDIR)/src/share/native/java/lang \
|
||||
$(JDK_TOPDIR)/src/share/native/java/lang/ref \
|
||||
$(JDK_TOPDIR)/src/share/native/java/lang/reflect \
|
||||
$(JDK_TOPDIR)/src/share/native/java/io \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
|
||||
$(JDK_TOPDIR)/src/share/native/java/nio \
|
||||
$(JDK_TOPDIR)/src/share/native/java/security \
|
||||
$(JDK_TOPDIR)/src/share/native/common \
|
||||
$(JDK_TOPDIR)/src/share/native/sun/misc \
|
||||
$(JDK_TOPDIR)/src/share/native/sun/reflect \
|
||||
$(JDK_TOPDIR)/src/share/native/java/util \
|
||||
$(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LIBJAVA_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider
|
||||
else
|
||||
LIBJAVA_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/util/locale/provider
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBJAVA_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/provider \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/io
|
||||
endif
|
||||
|
||||
LIBJAVA_CFLAGS := $(foreach dir, $(LIBJAVA_SRC_DIRS), -I$(dir)) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include \
|
||||
-DARCHPROPNAME='"$(OPENJDK_TARGET_CPU_OSARCH)"'
|
||||
|
||||
LIBJAVA_CFLAGS += -DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
|
||||
-DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
|
||||
-DJDK_MICRO_VERSION='"$(JDK_MICRO_VERSION)"' \
|
||||
-DJDK_BUILD_NUMBER='"$(JDK_BUILD_NUMBER)"'
|
||||
|
||||
ifneq (, $(JDK_UPDATE_VERSION))
|
||||
LIBJAVA_CFLAGS += -DJDK_UPDATE_VERSION='"$(JDK_UPDATE_VERSION)"'
|
||||
endif
|
||||
|
||||
LIBJAVA_EXCLUDE_FILES := check_code.c check_format.c jspawnhelper.c
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LIBJAVA_EXCLUDE_FILES += java_props_macosx.c
|
||||
else
|
||||
BUILD_LIBJAVA_java_props_md.c_CFLAGS := -x objective-c
|
||||
BUILD_LIBJAVA_java_props_macosx.c_CFLAGS := -x objective-c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBJAVA_EXCLUDE_FILES += \
|
||||
UNIXProcess_md.c \
|
||||
UnixFileSystem_md.c \
|
||||
FileSystemPreferences.c
|
||||
else
|
||||
LIBJAVA_EXCLUDE_FILES += \
|
||||
ProcessImpl_md.c \
|
||||
WinNTFileSystem_md.c \
|
||||
dirent_md.c \
|
||||
WindowsPreferences.c \
|
||||
sun/security/provider/WinCAPISeedGenerator.c \
|
||||
sun/io/Win32ErrorMode.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifneq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
LIBJAVA_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/reorder-$(OPENJDK_TARGET_CPU)
|
||||
endif
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA, \
|
||||
LIBRARY := java, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(LIBJAVA_SRC_DIRS), \
|
||||
EXCLUDES := fdlibm/src zip, \
|
||||
EXCLUDE_FILES := $(LIBJAVA_EXCLUDE_FILES), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := HIGH, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(LIBJAVA_CFLAGS), \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_posix := -ljvm -lverify, \
|
||||
LDFLAGS_SUFFIX_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc, \
|
||||
LDFLAGS_SUFFIX_linux := $(LIBDL) $(BUILD_LIBFDLIBM), \
|
||||
LDFLAGS_SUFFIX_macosx := -L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
|
||||
-framework CoreFoundation \
|
||||
-framework Foundation \
|
||||
-framework Security -framework SystemConfiguration, \
|
||||
LDFLAGS_SUFFIX_windows := -export:winFileHandleOpen -export:handleLseek \
|
||||
jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
|
||||
shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
|
||||
advapi32.lib, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=java.dll" \
|
||||
-D "JDK_INTERNAL_NAME=java" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
REORDER := $(LIBJAVA_REORDER), \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjava, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJAVA)
|
||||
|
||||
$(BUILD_LIBJAVA): $(LIBJLI_BINARY)
|
||||
|
||||
$(BUILD_LIBJAVA): $(BUILD_LIBVERIFY)
|
||||
|
||||
$(BUILD_LIBJAVA): $(BUILD_LIBFDLIBM)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
BUILD_LIBZIP_EXCLUDES :=
|
||||
ifeq ($(USE_EXTERNAL_LIBZ), true)
|
||||
LIBZ := -lz
|
||||
LIBZIP_EXCLUDES += zlib-1.2.5
|
||||
else
|
||||
ZLIB_CPPFLAGS := -I$(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
|
||||
endif
|
||||
|
||||
BUILD_LIBZIP_REORDER :=
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifneq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
BUILD_LIBZIP_REORDER := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/reorder-$(OPENJDK_TARGET_CPU)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(LIBZIP_CAN_USE_MMAP), true)
|
||||
BUILD_LIBZIP_MMAP := -DUSE_MMAP
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBZIP, \
|
||||
LIBRARY := zip, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/java/util/zip, \
|
||||
EXCLUDES := $(LIBZIP_EXCLUDES), \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(ZLIB_CPPFLAGS) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/java/io \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io, \
|
||||
CFLAGS_posix := $(BUILD_LIBZIP_MMAP) -UDEBUG, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libzip/mapfile-vers, \
|
||||
REORDER := $(BUILD_LIBZIP_REORDER), \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN) \
|
||||
$(EXPORT_ZIP_FUNCS), \
|
||||
LDFLAGS_windows := -export:ZIP_Open -export:ZIP_Close -export:ZIP_FindEntry \
|
||||
-export:ZIP_ReadEntry -export:ZIP_GetNextEntry jvm.lib \
|
||||
$(WIN_JAVA_LIB), \
|
||||
LDFLAGS_SUFFIX_linux := -ljvm -ljava $(LIBZ), \
|
||||
LDFLAGS_SUFFIX_solaris := -ljvm -ljava $(LIBZ) -lc, \
|
||||
LDFLAGS_SUFFIX_macosx := $(LIBZ) -ljava -ljvm, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=zip.dll" \
|
||||
-D "JDK_INTERNAL_NAME=zip" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libzip, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
|
||||
$(BUILD_LIBZIP): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBZIP)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK, \
|
||||
LIBRARY := unpack, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/com/sun/java/util/jar/pack, \
|
||||
EXCLUDE_FILES := main.cpp, \
|
||||
LANG := C++, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CXXFLAGS_JDKLIB) \
|
||||
-DNO_ZLIB -DUNPACK_JNI -DFULL, \
|
||||
CFLAGS_release := -DPRODUCT, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libunpack/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_windows := -map:$(JDK_OUTPUTDIR)/objs/unpack.map -debug \
|
||||
jvm.lib $(WIN_JAVA_LIB), \
|
||||
LDFLAGS_SUFFIX_posix := -ljvm $(LIBCXX) -ljava -lc, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libunpack, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=unpack.dll" \
|
||||
-D "JDK_INTERNAL_NAME=unpack" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(BUILD_LIBUNPACK): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBUNPACK)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.map: $(BUILD_LIBUNPACK)
|
||||
$(ECHO) Copying $(@F)
|
||||
$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX), %.map, $<) $@
|
||||
|
||||
$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)unpack.pdb: $(BUILD_LIBUNPACK)
|
||||
$(ECHO) Copying $(@F)
|
||||
$(CP) $(patsubst %$(SHARED_LIBRARY_SUFFIX), %.pdb, $<) $@
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
BUILD_LIBJLI_SRC_DIRS := $(JDK_TOPDIR)/src/share/bin $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin
|
||||
LIBJLI_CFLAGS := $(CFLAGS_JDKLIB) $(foreach dir, $(BUILD_LIBJLI_SRC_DIRS), -I$(dir))
|
||||
|
||||
BUILD_LIBJLI_FILES := \
|
||||
java.c \
|
||||
splashscreen_stubs.c \
|
||||
parse_manifest.c \
|
||||
version_comp.c \
|
||||
wildcard.c \
|
||||
jli_util.c
|
||||
|
||||
ifeq ($(JVM_VARIANT_ZERO), true)
|
||||
ERGO_FAMILY := zero
|
||||
else
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), x86)
|
||||
ERGO_FAMILY := i586
|
||||
else
|
||||
ERGO_FAMILY := $(OPENJDK_TARGET_CPU_ARCH)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LIBJLI_CFLAGS += -I$(JDK_TOPDIR)/src/macosx/bin
|
||||
BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/bin
|
||||
BUILD_LIBJLI_FILES += java_md_common.c java_md_macosx.c
|
||||
|
||||
BUILD_LIBJLI_java_md_macosx.c_CFLAGS := -x objective-c
|
||||
BUILD_LIBJLI_STATIC_java_md_macosx.c_CFLAGS := -x objective-c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
BUILD_LIBJLI_FILES += java_md.c \
|
||||
cmdtoargs.c
|
||||
# Staticically link with c runtime on windows.
|
||||
LIBJLI_CFLAGS := $(filter-out -MD, $(LIBJLI_CFLAGS))
|
||||
else ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
|
||||
BUILD_LIBJLI_FILES += java_md_common.c
|
||||
BUILD_LIBJLI_FILES += java_md_solinux.c ergo.c
|
||||
|
||||
ERGO_ARCH_FILE = ergo_$(ERGO_FAMILY).c
|
||||
|
||||
# if the architecture specific ergo file exists then
|
||||
# use it, else use the generic definitions from ergo.c
|
||||
ifneq ($(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/bin/$(ERGO_ARCH_FILE)), )
|
||||
BUILD_LIBJLI_FILES += $(ERGO_ARCH_FILE)
|
||||
else # !ERGO_ARCH_FILE
|
||||
LIBJLI_CFLAGS += -DUSE_GENERIC_ERGO
|
||||
endif # ERGO_ARCH_FILE
|
||||
endif #WINDOWS
|
||||
|
||||
# Append defines depending on target platform
|
||||
LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
|
||||
endif
|
||||
|
||||
ifneq ($(USE_EXTERNAL_LIBZ), true)
|
||||
BUILD_LIBJLI_SRC_DIRS += $(JDK_TOPDIR)/src/share/native/java/util/zip/zlib-1.2.5
|
||||
LIBJLI_CFLAGS += $(ZLIB_CPPFLAGS)
|
||||
BUILD_LIBJLI_FILES += \
|
||||
inflate.c \
|
||||
inftrees.c \
|
||||
inffast.c \
|
||||
zadler32.c \
|
||||
zcrc32.c \
|
||||
zutil.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)
|
||||
else
|
||||
LIBJLI_OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE)/jli
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJLI, \
|
||||
LIBRARY := jli, \
|
||||
OUTPUT_DIR := $(LIBJLI_OUTPUT_DIR), \
|
||||
SRC := $(BUILD_LIBJLI_SRC_DIRS), \
|
||||
INCLUDE_FILES := $(BUILD_LIBJLI_FILES), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := HIGH, \
|
||||
CFLAGS := $(LIBJLI_CFLAGS), \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjli/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
|
||||
LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
|
||||
LDFLAGS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
|
||||
LDFLAGS_SUFFIX_solaris := $(LIBZ) $(LIBDL) -lc, \
|
||||
LDFLAGS_SUFFIX_linux := $(LIBZ) $(LIBDL) -lc -lpthread, \
|
||||
LDFLAGS_SUFFIX_macosx := $(LIBZ), \
|
||||
LDFLAGS_SUFFIX_windows := \
|
||||
-export:JLI_Launch \
|
||||
-export:JLI_ManifestIterate \
|
||||
-export:JLI_SetTraceLauncher \
|
||||
-export:JLI_ReportErrorMessage \
|
||||
-export:JLI_ReportErrorMessageSys \
|
||||
-export:JLI_ReportMessage \
|
||||
-export:JLI_ReportExceptionDescription \
|
||||
-export:JLI_MemAlloc \
|
||||
-export:JLI_CmdToArgs \
|
||||
-export:JLI_GetStdArgc \
|
||||
-export:JLI_GetStdArgs \
|
||||
advapi32.lib \
|
||||
comctl32.lib \
|
||||
user32.lib, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=jli.dll" \
|
||||
-D "JDK_INTERNAL_NAME=jli" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjli, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJLI)
|
||||
|
||||
# On windows, the static library has the same suffix as the import library created by
|
||||
# with the shared library, so the static library is given a different name. No harm
|
||||
# in doing it for all platform to reduce complexity.
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC, \
|
||||
STATIC_LIBRARY := jli_static, \
|
||||
OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
|
||||
SRC := $(BUILD_LIBJLI_SRC_DIRS), \
|
||||
INCLUDE_FILES := $(BUILD_LIBJLI_FILES), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := HIGH, \
|
||||
CFLAGS := $(STATIC_LIBRARY_FLAGS) $(LIBJLI_CFLAGS), \
|
||||
ARFLAGS := $(ARFLAGS), \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjli_static, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
#
|
||||
# On macosx they do partial (incremental) linking of libjli_static.a
|
||||
# code it here...rather than add support to NativeCompilation
|
||||
# as this is first time I see it
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC, \
|
||||
LIBRARY := jli_static, \
|
||||
OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
|
||||
SRC := $(BUILD_LIBJLI_SRC_DIRS), \
|
||||
INCLUDE_FILES := $(BUILD_LIBJLI_FILES), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := HIGH, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \
|
||||
LDFLAGS := -nostdlib -r, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjli_static, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(JDK_OUTPUTDIR)/objs/libjli_static.a: $(BUILD_LIBJLI_STATIC)
|
||||
$(call install-file)
|
||||
|
||||
BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBNPT, \
|
||||
LIBRARY := npt, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/npt $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/npt \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnpt/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_macosx := -liconv, \
|
||||
LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate, \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=npt.dll" \
|
||||
-D "JDK_INTERNAL_NAME=npt" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnpt, \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBNPT)
|
98
jdk/makefiles/lib/NetworkingLibraries.gmk
Normal file
98
jdk/makefiles/lib/NetworkingLibraries.gmk
Normal file
@ -0,0 +1,98 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
LIBNET_SRC_DIRS := $(JDK_TOPDIR)/src/share/native/java/net \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/dns \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/spi
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBNET_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/www/protocol/http/ntlm
|
||||
else
|
||||
LIBNET_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/net/sdp
|
||||
endif
|
||||
|
||||
LIBNET_CFLAGS := $(foreach dir, $(LIBNET_SRC_DIRS), -I$(dir))
|
||||
|
||||
LIBNET_EXCLUDE_FILES :=
|
||||
ifneq ($(OPENJDK_TARGET_OS), linux)
|
||||
LIBNET_EXCLUDE_FILES += linux_close.c
|
||||
endif
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LIBNET_EXCLUDE_FILES += bsd_close.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c
|
||||
else
|
||||
LIBNET_EXCLUDE_FILES += TwoStacksPlainSocketImpl.c DualStackPlainSocketImpl.c \
|
||||
TwoStacksPlainDatagramSocketImpl.c DualStackPlainDatagramSocketImpl.c \
|
||||
NTLMAuthSequence.c NetworkInterface_winXP.c
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBNET, \
|
||||
LIBRARY := net, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(LIBNET_SRC_DIRS), \
|
||||
EXCLUDE_FILES := $(LIBNET_EXCLUDE_FILES), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(LIBNET_CFLAGS), \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnet/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_macosx := -ljvm -ljava, \
|
||||
LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lnsl -lsocket $(LIBDL) -lc, \
|
||||
LDFLAGS_SUFFIX_linux := $(LIBDL) -ljvm -lpthread -ljava, \
|
||||
LDFLAGS_SUFFIX_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \
|
||||
delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \
|
||||
-DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=net.dll" \
|
||||
-D "JDK_INTERNAL_NAME=net" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnet, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(BUILD_LIBNET): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBNET)
|
||||
|
||||
$(JDK_OUTPUTDIR)/lib/net.properties: $(JDK_TOPDIR)/src/share/lib/net.properties
|
||||
$(ECHO) $(LOG_INFO) Copying $(@F)
|
||||
$(call install-file)
|
||||
|
||||
COPY_FILES += $(JDK_OUTPUTDIR)/lib/net.properties
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
$(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template: $(JDK_TOPDIR)/src/${OPENJDK_TARGET_OS_API_DIR}/lib/sdp/sdp.conf.template
|
||||
$(ECHO) $(LOG_INFO) Copying $(@F)
|
||||
$(call install-file)
|
||||
|
||||
COPY_FILES += $(JDK_OUTPUTDIR)/lib/sdp/sdp.conf.template
|
||||
endif
|
185
jdk/makefiles/lib/NioLibraries.gmk
Normal file
185
jdk/makefiles/lib/NioLibraries.gmk
Normal file
@ -0,0 +1,185 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
BUILD_LIBNIO_SRC := \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/nio \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
|
||||
|
||||
BUILD_LIBNIO_CFLAGS := \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
|
||||
-I$(JDK_TOPDIR)/src/share/native/java/io \
|
||||
-I$(JDK_TOPDIR)/src/share/native/java/net \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net
|
||||
|
||||
BUILD_LIBNIO_FILES := \
|
||||
DatagramChannelImpl.c \
|
||||
DatagramDispatcher.c \
|
||||
FileChannelImpl.c \
|
||||
FileDispatcherImpl.c \
|
||||
FileKey.c \
|
||||
IOUtil.c \
|
||||
MappedByteBuffer.c \
|
||||
Net.c \
|
||||
ServerSocketChannelImpl.c \
|
||||
SocketChannelImpl.c \
|
||||
SocketDispatcher.c
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
BUILD_LIBNIO_FILES += \
|
||||
Iocp.c \
|
||||
RegistryFileTypeDetector.c \
|
||||
WindowsAsynchronousFileChannelImpl.c \
|
||||
WindowsAsynchronousServerSocketChannelImpl.c \
|
||||
WindowsAsynchronousSocketChannelImpl.c \
|
||||
WindowsNativeDispatcher.c \
|
||||
WindowsSelectorImpl.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
|
||||
BUILD_LIBNIO_FILES += \
|
||||
EPoll.c \
|
||||
EPollArrayWrapper.c \
|
||||
EPollPort.c \
|
||||
InheritedChannel.c \
|
||||
NativeThread.c \
|
||||
PollArrayWrapper.c \
|
||||
UnixAsynchronousServerSocketChannelImpl.c \
|
||||
UnixAsynchronousSocketChannelImpl.c \
|
||||
GnomeFileTypeDetector.c \
|
||||
MagicFileTypeDetector.c \
|
||||
LinuxNativeDispatcher.c \
|
||||
LinuxWatchService.c \
|
||||
UnixCopyFile.c \
|
||||
UnixNativeDispatcher.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
|
||||
BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
|
||||
BUILD_LIBNIO_FILES += \
|
||||
InheritedChannel.c \
|
||||
NativeThread.c \
|
||||
PollArrayWrapper.c \
|
||||
UnixAsynchronousServerSocketChannelImpl.c \
|
||||
UnixAsynchronousSocketChannelImpl.c \
|
||||
BsdNativeDispatcher.c \
|
||||
MacOSXNativeDispatcher.c \
|
||||
UnixCopyFile.c \
|
||||
UnixNativeDispatcher.c \
|
||||
KQueue.c \
|
||||
KQueuePort.c \
|
||||
KQueueArrayWrapper.c
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
|
||||
BUILD_LIBNIO_FILES += \
|
||||
DevPollArrayWrapper.c \
|
||||
InheritedChannel.c \
|
||||
NativeThread.c \
|
||||
PollArrayWrapper.c \
|
||||
SolarisEventPort.c \
|
||||
UnixAsynchronousServerSocketChannelImpl.c \
|
||||
UnixAsynchronousSocketChannelImpl.c \
|
||||
GnomeFileTypeDetector.c \
|
||||
SolarisNativeDispatcher.c \
|
||||
SolarisWatchService.c \
|
||||
UnixCopyFile.c \
|
||||
UnixNativeDispatcher.c
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBNIO, \
|
||||
LIBRARY := nio, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(BUILD_LIBNIO_SRC), \
|
||||
INCLUDE_FILES := $(BUILD_LIBNIO_FILES), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := HIGH, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(BUILD_LIBNIO_CFLAGS), \
|
||||
MAPFILE := $(BUILD_LIBNIO_MAPFILE), \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) $(BUILD_LIBNIO_LDFLAGS) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_linux := -ljava -lnet -lpthread $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_solaris := -ljvm -lsocket -lposix4 $(LIBDL) \
|
||||
-lsendfile -ljava -lnet -lc, \
|
||||
LDFLAGS_SUFFIX_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
|
||||
$(JDK_OUTPUTDIR)/objs/libnet/net.lib \
|
||||
advapi32.lib, \
|
||||
LDFLAGS_SUFFIX_macosx := -ljava -lnet -pthread -framework CoreFoundation, \
|
||||
LDFLAGS_SUFFIX :=, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=nio.dll" \
|
||||
-D "JDK_INTERNAL_NAME=nio" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libnio, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBNIO)
|
||||
|
||||
$(BUILD_LIBNIO): $(BUILD_LIBNET)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS_API), posix)
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
|
||||
SCTP_WERROR := -Werror
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
|
||||
SCTP_WERROR :=
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBSCTP, \
|
||||
LIBRARY := sctp, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch/sctp, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/nio/ch/sctp \
|
||||
-I$(JDK_TOPDIR)/src/share/native/java/net \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/ch \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/net, \
|
||||
CFLAGS_linux := $(SCTP_WERROR), \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsctp/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_linux := -lpthread $(LIBDL) -ljava -ljvm, \
|
||||
LDFLAGS_SUFFIX_posix := -lnio -lnet, \
|
||||
LDFLAGS_SUFFIX_solaris := -lsocket -ljava -ljvm -lc, \
|
||||
LDFLAGS_SUFFIX_macosx := -ljava -ljvm, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsctp, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBSCTP)
|
||||
|
||||
$(BUILD_LIBSCTP): $(BUILD_LIBNIO)
|
||||
endif
|
||||
endif
|
286
jdk/makefiles/lib/PlatformLibraries.gmk
Normal file
286
jdk/makefiles/lib/PlatformLibraries.gmk
Normal file
@ -0,0 +1,286 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBAPPLESCRIPTENGINE, \
|
||||
LIBRARY := AppleScriptEngine, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/macosx/native/apple/applescript, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/macosx/native/apple/applescript \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX := -framework Cocoa \
|
||||
-framework Carbon \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
-framework JavaNativeFoundation \
|
||||
$(LDFLAGS_JDKLIB_SUFFIX), \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libAppleScriptEngine, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(BUILD_LIBAPPLESCRIPTENGINE): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBAPPLESCRIPTENGINE)
|
||||
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBOSXAPP, \
|
||||
LIBRARY := osxapp, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/macosx/native/sun/osxapp, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
|
||||
-I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_macosx := \
|
||||
-framework Accelerate \
|
||||
-framework ApplicationServices \
|
||||
-framework AudioToolbox \
|
||||
-framework Carbon \
|
||||
-framework Cocoa \
|
||||
-framework Security \
|
||||
-framework ExceptionHandling \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
-framework JavaNativeFoundation \
|
||||
-framework JavaRuntimeSupport \
|
||||
-framework OpenGL \
|
||||
-framework IOSurface \
|
||||
-framework QuartzCore, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosxapp, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBOSXAPP)
|
||||
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
|
||||
LIBOSX_DIRS := \
|
||||
$(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
|
||||
$(JDK_TOPDIR)/src/macosx/native/java/util \
|
||||
$(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
|
||||
$(JDK_TOPDIR)/src/macosx/native/apple/security \
|
||||
$(JDK_TOPDIR)/src/macosx/native/apple/launcher
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBOSX, \
|
||||
LIBRARY := osx, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(LIBOSX_DIRS), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(foreach dir, $(LIBOSX_DIRS), -I$(dir)) \
|
||||
-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_macosx := \
|
||||
-losxapp \
|
||||
-framework Cocoa \
|
||||
-framework ApplicationServices \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
-framework JavaNativeFoundation \
|
||||
-framework JavaRuntimeSupport \
|
||||
-framework Security \
|
||||
-framework SystemConfiguration \
|
||||
$(LDFLAGS_JDKLIB_SUFFIX), \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libosx, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBOSX)
|
||||
|
||||
$(BUILD_LIBOSX): $(BUILD_LIBOSXAPP)
|
||||
|
||||
$(BUILD_LIBOSX): $(BUILD_LIBJAVA)
|
||||
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
|
||||
# Ugly hack to mimic behaviour in old build where this is built as an xcode project.
|
||||
SET_SHARED_LIBRARY_NAME = -Xlinker -install_name -Xlinker /usr/local/lib/libJObjC.dylib
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC32, \
|
||||
LIBRARY := JObjC, \
|
||||
OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/libjobjc32, \
|
||||
SRC := $(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
|
||||
$(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := -fpascal-strings \
|
||||
-fobjc-gc \
|
||||
-gdwarf-2 \
|
||||
$(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
-m32, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
-m32, \
|
||||
LDFLAGS_SUFFIX := -framework Foundation -framework JavaVM \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
-framework JavaNativeFoundation \
|
||||
-lffi, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjobjc32, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJOBJC64, \
|
||||
LIBRARY := JObjC, \
|
||||
OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/libjobjc64, \
|
||||
SRC := $(JDK_TOPDIR)/src/macosx/native/jobjc/src/core/native \
|
||||
$(JDK_TOPDIR)/src/macosx/native/jobjc/src/runtime-additions/native, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := -fpascal-strings \
|
||||
-fobjc-gc \
|
||||
-gdwarf-2 \
|
||||
$(CFLAGS_JDKLIB) -I$(JDK_OUTPUTDIR)/gensrc_headers_jobjc \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
, \
|
||||
LDFLAGS := -fpascal-strings \
|
||||
-fobjc-gc \
|
||||
-gdwarf-2 \
|
||||
$(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX := -framework Foundation -framework JavaVM \
|
||||
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
|
||||
-framework JavaNativeFoundation \
|
||||
-lffi, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjobjc64, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX): $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
|
||||
$(LIPO) -create -output $@ $(BUILD_LIBJOBJC32) $(BUILD_LIBJOBJC64)
|
||||
|
||||
BUILD_LIBRARIES += $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)JObjC$(SHARED_LIBRARY_SUFFIX)
|
||||
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifndef OPENJDK
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
|
||||
ACCESSBRIDGE_SRCDIR := $(JDK_TOPDIR)/src/closed/windows/native/sun/bridge
|
||||
|
||||
define SetupAccessBridge
|
||||
# Parameter 1 Suffix
|
||||
# Parameter 2 Machine
|
||||
# Parameter 3 ACCESSBRIDGE_ARCH_ suffix
|
||||
|
||||
$(call SetupNativeCompilation,BUILD_JAWTACCESSBRIDGE$1, \
|
||||
LIBRARY = JAWTAccessBridge$1, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(ACCESSBRIDGE_SRCDIR), \
|
||||
INCLUDE_FILES := JAWTAccessBridge.cpp, \
|
||||
LANG := C++, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-DACCESSBRIDGE_ARCH_$3, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
|
||||
winspool.lib jawt.lib comdlg32.lib advapi32.lib shell32.lib \
|
||||
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
|
||||
-subsystem:windows -machine:$2 \
|
||||
-def:$(ACCESSBRIDGE_SRCDIR)/JAWTAccessBridge.DEF, \
|
||||
VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS), \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawtaccessbridge$1, \
|
||||
DEBUG_SYMBOLS := true)
|
||||
|
||||
$$(BUILD_JAWTACCESSBRIDGE$1): $(JDK_OUTPUTDIR)/lib/$(LIBRARY_PREFIX)jawt$(STATIC_LIBRARY_SUFFIX)
|
||||
|
||||
$(call SetupNativeCompilation,BUILD_JAVAACCESSBRIDGE$1, \
|
||||
LIBRARY = JavaAccessBridge$1, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(ACCESSBRIDGE_SRCDIR), \
|
||||
INCLUDE_FILES := AccessBridgeATInstance.cpp AccessBridgeDebug.cpp \
|
||||
AccessBridgeJavaEntryPoints.cpp \
|
||||
AccessBridgeMessages.cpp JavaAccessBridge.cpp, \
|
||||
LANG := C++, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-DACCESSBRIDGE_ARCH_$3, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
|
||||
winspool.lib comdlg32.lib advapi32.lib shell32.lib \
|
||||
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
|
||||
-subsystem:windows -machine:$2 \
|
||||
-def:$(ACCESSBRIDGE_SRCDIR)/JavaAccessBridge.DEF, \
|
||||
VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS), \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjavaaccessbridge$1, \
|
||||
DEBUG_SYMBOLS := true)
|
||||
|
||||
$(call SetupNativeCompilation,BUILD_WINDOWSACCESSBRIDGE$1, \
|
||||
LIBRARY = WindowsAccessBridge$1, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(ACCESSBRIDGE_SRCDIR), \
|
||||
INCLUDE_FILES := AccessBridgeJavaVMInstance.cpp AccessBridgeMessageQueue.cpp \
|
||||
AccessBridgeMessages.cpp AccessBridgeWindowsEntryPoints.cpp \
|
||||
WinAccessBridge.cpp AccessBridgeDebug.cpp \
|
||||
AccessBridgeEventHandler.cpp, \
|
||||
LANG := C++, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(filter-out -MD, $(CFLAGS_JDKLIB)) -MT \
|
||||
-DACCESSBRIDGE_ARCH_$3, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) kernel32.lib user32.lib gdi32.lib \
|
||||
winspool.lib comdlg32.lib advapi32.lib shell32.lib \
|
||||
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \
|
||||
-subsystem:windows -machine:$2 \
|
||||
-def:$(ACCESSBRIDGE_SRCDIR)/WinAccessBridge.DEF, \
|
||||
VERSIONINFO_RESOURCE := $(ACCESSBRIDGE_SRCDIR)/AccessBridgeStatusWindow.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS), \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libwindowsaccessbridge$1, \
|
||||
DEBUG_SYMBOLS := true)
|
||||
|
||||
BUILD_LIBRARIES += $$(BUILD_JAWTACCESSBRIDGE$1) $$(BUILD_JAVAACCESSBRIDGE$1) \
|
||||
$$(BUILD_WINDOWSACCESSBRIDGE$1)
|
||||
|
||||
endef
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU_BITS), 32)
|
||||
$(eval $(call SetupAccessBridge,-32,I386,32))
|
||||
$(eval $(call SetupAccessBridge,,I386,LEGACY))
|
||||
else
|
||||
$(eval $(call SetupAccessBridge,-64,X64,64))
|
||||
endif
|
||||
endif
|
||||
endif
|
289
jdk/makefiles/lib/SecurityLibraries.gmk
Normal file
289
jdk/makefiles/lib/SecurityLibraries.gmk
Normal file
@ -0,0 +1,289 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
LIBJAAS_MAPFILE :=
|
||||
ifneq ($(OPENJDK_TARGET_OS), solaris)
|
||||
LIBJAAS_EXCLUDE_FILES := Solaris.c
|
||||
else
|
||||
# only on solaris...wonder why
|
||||
LIBJAAS_MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjaas/mapfile-vers
|
||||
endif
|
||||
|
||||
LIBJAAS_NAME := jaas_unix
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBJAAS_NAME := jaas_nt
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJAAS, \
|
||||
LIBRARY := $(LIBJAAS_NAME), \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/security/auth/module, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB), \
|
||||
MAPFILE := $(LIBJAAS_MAPFILE), \
|
||||
LDFLAGS := $(filter-out -ljava, $(LDFLAGS_JDKLIB)) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_windows := netapi32.lib user32.lib mpr.lib advapi32.lib, \
|
||||
LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX), \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
EXCLUDE_FILES := $(LIBJAAS_EXCLUDE_FILES), \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=$(LIBJAAS_NAME).dll" \
|
||||
-D "JDK_INTERNAL_NAME=$(LIBJAAS_NAME)" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjaas, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(BUILD_LIBJAAS): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJAAS)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PCSC, \
|
||||
LIBRARY := j2pcsc, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio, \
|
||||
LANG := C, \
|
||||
CFLAGS_posix := -D__sun_jdk, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/security/smartcardio \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/smartcardio/MUSCLE, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pcsc/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_posix := $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_windows := winscard.lib, \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=j2pcsc.dll" \
|
||||
-D "JDK_INTERNAL_NAME=j2pcsc" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2pcsc, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJ2PCSC)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJ2GSS, \
|
||||
LIBRARY := j2gss, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/security/jgss/wrapper \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/jgss/wrapper, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2gss/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX := $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2gss, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJ2GSS)
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifneq ($(BUILD_CRYPTO), no)
|
||||
BUILD_LIBKRB5_NAME :=
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
BUILD_LIBKRB5_NAME := w2k_lsa_auth
|
||||
BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5
|
||||
BUILD_LIBKRB5_LIBS := advapi32.lib Secur32.lib netapi32.lib kernel32.lib user32.lib \
|
||||
gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib \
|
||||
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
|
||||
else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
BUILD_LIBKRB5_NAME := osxkrb5
|
||||
BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/share/native/sun/security/krb5
|
||||
BUILD_LIBKRB5_LIBS := -framework Kerberos
|
||||
endif
|
||||
|
||||
ifneq ($(BUILD_LIBKRB5_NAME), )
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBKRB5, \
|
||||
LIBRARY := $(BUILD_LIBKRB5_NAME), \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(BUILD_LIBKRB5_SRC), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX := $(BUILD_LIBKRB5_LIBS), \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=$(BUILD_LIBKRB5_NAME).dll" \
|
||||
-D "JDK_INTERNAL_NAME=$(BUILD_LIBKRB5_NAME)" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libkrb5, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBKRB5)
|
||||
endif
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBSUNMSCAPI, \
|
||||
LIBRARY := sunmscapi, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi, \
|
||||
LANG := C++, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/mscapi, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX := Crypt32.Lib advapi32.lib, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=sunmscapi.dll" \
|
||||
-D "JDK_INTERNAL_NAME=sunmscapi" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunmscapi, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBSUNMSCAPI)
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJ2PKCS11, \
|
||||
LIBRARY := j2pkcs11, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
|
||||
$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11 \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11 \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/security/pkcs11/wrapper \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/pkcs11/wrapper, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2pkcs11/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_posix := $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=j2pkcs11.dll" \
|
||||
-D "JDK_INTERNAL_NAME=j2pkcs11" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2pkcs11, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJ2PKCS11)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifeq ($(ENABLE_INTREE_EC), yes)
|
||||
|
||||
BUILD_LIBSUNEC_FLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/security/ec \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl
|
||||
|
||||
#
|
||||
# On sol-sparc...all libraries are compiled with -xregs=no%appl
|
||||
# (set in CFLAGS_REQUIRED_sparc)
|
||||
#
|
||||
# except!!! libsunec.so
|
||||
#
|
||||
ECC_JNI_SOLSPARC_FILTER :=
|
||||
ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
|
||||
ECC_JNI_SOLSPARC_FILTER := -xregs=no%appl
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBSUNEC, \
|
||||
LIBRARY := sunec, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/sun/security/ec \
|
||||
$(JDK_TOPDIR)/src/share/native/sun/security/ec/impl, \
|
||||
LANG := C++, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CFLAGS_JDKLIB)) \
|
||||
$(BUILD_LIBSUNEC_FLAGS) \
|
||||
-DMP_API_COMPATIBLE -DNSS_ECC_MORE_THAN_SUITE_B, \
|
||||
CXXFLAGS := $(filter-out $(ECC_JNI_SOLSPARC_FILTER), $(CXXFLAGS_JDKLIB)) \
|
||||
$(BUILD_LIBSUNEC_FLAGS), \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libsunec/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
|
||||
LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX := $(LIBCXX), \
|
||||
LDFLAGS_SUFFIX_linux := -lc, \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=sunec.dll" \
|
||||
-D "JDK_INTERNAL_NAME=sunec" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsunec, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBSUNEC)
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
ifndef OPENJDK
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJ2UCRYPTO, \
|
||||
LIBRARY := j2ucrypto, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/closed/solaris/native/com/oracle/security/ucrypto, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libj2ucrypto/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB), \
|
||||
LDFLAGS_SUFFIX := $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libj2ucrypto, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(BUILD_LIBJ2UCRYPTO): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJ2UCRYPTO)
|
||||
|
||||
endif
|
||||
endif
|
431
jdk/makefiles/lib/ServiceabilityLibraries.gmk
Normal file
431
jdk/makefiles/lib/ServiceabilityLibraries.gmk
Normal file
@ -0,0 +1,431 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
LIBATTACH_EXCLUDE_FILES :=
|
||||
ifneq ($(OPENJDK_TARGET_OS), solaris)
|
||||
LIBATTACH_EXCLUDE_FILES += SolarisVirtualMachine.c
|
||||
endif
|
||||
ifneq ($(OPENJDK_TARGET_OS), linux)
|
||||
LIBATTACH_EXCLUDE_FILES += LinuxVirtualMachine.c
|
||||
endif
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LIBATTACH_EXCLUDE_FILES += BsdVirtualMachine.c
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBATTACH, \
|
||||
LIBRARY := attach, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tools/attach, \
|
||||
EXCLUDE_FILES := $(LIBATTACH_EXCLUDE_FILES), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB), \
|
||||
CFLAGS_windows := /Gy, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libattach/mapfile-$(OPENJDK_TARGET_OS), \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=attach.dll" \
|
||||
-D "JDK_INTERNAL_NAME=attach" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_solaris := -ldoor, \
|
||||
LDFLAGS_windows := /ORDER:@$(JDK_TOPDIR)/makefiles/mapfiles/libattach/reorder-windows-$(OPENJDK_TARGET_CPU), \
|
||||
LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
|
||||
LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib psapi.lib, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libattach, \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
$(BUILD_LIBATTACH): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBATTACH)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SOCKET, \
|
||||
LIBRARY := dt_socket, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/transport/socket \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
|
||||
-I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
|
||||
-I$(JDK_TOPDIR)/src/share/transport/socket \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/socket \
|
||||
-I$(JDK_TOPDIR)/src/share/back/export \
|
||||
-I$(JDK_TOPDIR)/src/share/back, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libdt_socket/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_linux := -lpthread, \
|
||||
LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lc, \
|
||||
LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=dt_socket.dll" \
|
||||
-D "JDK_INTERNAL_NAME=dt_socket" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdt_socket, \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
$(BUILD_LIBDT_SOCKET): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBDT_SOCKET)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBDT_SHMEM, \
|
||||
LIBRARY := dt_shmem, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/com/sun/tools/jdi \
|
||||
$(JDK_TOPDIR)/src/share/transport/shmem \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) -DUSE_MMAP \
|
||||
-I$(INCLUDEDIR) -I$(JDK_OUTPUTDIR)/include/$(OPENJDK_TARGET_OS) \
|
||||
-I$(JDK_TOPDIR)/src/share/transport/shmem \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/transport/shmem \
|
||||
-I$(JDK_TOPDIR)/src/share/back/export, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB), \
|
||||
LDFLAGS_windows := -export:jdwpTransport_OnLoad, \
|
||||
LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=dt_shmem.dll" \
|
||||
-D "JDK_INTERNAL_NAME=dt_shmem" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libdt_shmem, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBDT_SHMEM)
|
||||
|
||||
endif # OPENJDK_TARGET_OS
|
||||
|
||||
##########################################################################################
|
||||
|
||||
# JDWP_LOGGING causes log messages to be compiled into the library.
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJDWP, \
|
||||
LIBRARY := jdwp, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/back $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) -DJDWP_LOGGING \
|
||||
-I$(JDK_TOPDIR)/src/share/transport/export \
|
||||
-I$(JDK_TOPDIR)/src/share/back/export \
|
||||
-I$(JDK_TOPDIR)/src/share/npt \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
|
||||
-I$(JDK_TOPDIR)/src/share/back \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/back \
|
||||
-I$(JDK_OUTPUTDIR)/gensrc_jdwp_headers, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjdwp/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_linux := $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_solaris := $(LIBDL) -lc, \
|
||||
LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX), \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=jdwp.dll" \
|
||||
-D "JDK_INTERNAL_NAME=jdwp" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjdwp, \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
$(BUILD_LIBJDWP): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJDWP)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJSDT, \
|
||||
LIBRARY := jsdt, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/tracing/dtrace, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/native/sun/tracing/dtrace, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsdt/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_linux := $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_macosx := $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=jsdt.dll" \
|
||||
-D "JDK_INTERNAL_NAME=jsdt" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsdt, \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
$(BUILD_LIBJSDT): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJSDT)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
LIBINSTRUMENT_SRC := $(JDK_TOPDIR)/src/share/instrument \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument
|
||||
|
||||
LIBINSTRUMENT_FILES := \
|
||||
EncodingSupport.c \
|
||||
EncodingSupport_md.c \
|
||||
FileSystemSupport_md.c \
|
||||
InstrumentationImplNativeMethods.c \
|
||||
InvocationAdapter.c \
|
||||
JarFacade.c \
|
||||
JPLISAgent.c \
|
||||
JPLISAssert.c \
|
||||
JavaExceptions.c \
|
||||
PathCharsValidator.c \
|
||||
Reentrancy.c \
|
||||
Utilities.c \
|
||||
canonicalize_md.c
|
||||
|
||||
LIBINSTRUMENT_DIR := $(JDK_OUTPUTDIR)/objs/libinstrument
|
||||
LIBINSTRUMENT_CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/instrument \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/instrument \
|
||||
-I$(JDK_TOPDIR)/src/share/bin
|
||||
|
||||
LIBINSTRUMENT_LDFLAGS :=
|
||||
LIBINSTRUMENT_LDFLAGS_SUFFIX :=
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
LIBINSTRUMENT_LDFLAGS += $(JDK_OUTPUTDIR)/objs/jli_static.lib $(WIN_JAVA_LIB) \
|
||||
-export:Agent_OnAttach advapi32.lib
|
||||
# Statically link the C runtime so that there are not dependencies on modules
|
||||
# not on the search patch when invoked from the Windows system directory
|
||||
# (or elsewhere).
|
||||
LIBINSTRUMENT_CFLAGS := $(filter-out -MD, $(LIBINSTRUMENT_CFLAGS))
|
||||
# equivalent of strcasecmp is stricmp on Windows
|
||||
LIBINSTRUMENT_CFLAGS += -Dstrcasecmp=stricmp
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBINSTRUMENT, \
|
||||
LIBRARY := instrument, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(LIBINSTRUMENT_SRC), \
|
||||
INCLUDE_FILES := $(LIBINSTRUMENT_FILES), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(LIBINSTRUMENT_CFLAGS), \
|
||||
CFLAGS_debug := -DJPLIS_LOGGING, \
|
||||
CFLAGS_release := -DNO_JPLIS_LOGGING, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libinstrument/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN) \
|
||||
$(LIBINSTRUMENT_LDFLAGS), \
|
||||
LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
|
||||
LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
|
||||
LDFLAGS_macosx := -Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
|
||||
-framework Cocoa -framework Security -framework ApplicationServices, \
|
||||
LDFLAGS_SUFFIX := $(LIBINSTRUMENT_LDFLAGS_SUFFIX), \
|
||||
LDFLAGS_SUFFIX_macosx := -liconv $(LIBZ), \
|
||||
LDFLAGS_SUFFIX_solaris := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc, \
|
||||
LDFLAGS_SUFFIX_linux := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=instrument.dll" \
|
||||
-D "JDK_INTERNAL_NAME=instrument" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(LIBINSTRUMENT_DIR), \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
ifneq (, $(findstring $(OPENJDK_TARGET_OS), macosx windows))
|
||||
$(BUILD_LIBINSTRUMENT): $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
|
||||
else
|
||||
$(BUILD_LIBINSTRUMENT): $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
|
||||
endif
|
||||
$(BUILD_LIBINSTRUMENT): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBINSTRUMENT)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
BUILD_LIBMANAGEMENT_SRC := $(JDK_TOPDIR)/src/share/native/sun/management \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
|
||||
|
||||
BUILD_LIBMANAGEMENT_EXCLUDES :=
|
||||
|
||||
BUILD_LIBMANAGEMENT_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/management
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
|
||||
else
|
||||
BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
|
||||
endif
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), solaris)
|
||||
BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
|
||||
endif
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), linux)
|
||||
BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
|
||||
endif
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
|
||||
endif
|
||||
|
||||
LIBMANAGEMENT_OPTIMIZATION := HIGH
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
|
||||
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
|
||||
LIBMANAGEMENT_OPTIMIZATION := LOW
|
||||
endif
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBMANAGEMENT, \
|
||||
LIBRARY := management, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(BUILD_LIBMANAGEMENT_SRC), \
|
||||
EXCLUDE_FILES := $(BUILD_LIBMANAGEMENT_EXCLUDES), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := $(LIBMANAGEMENT_OPTIMIZATION), \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBMANAGEMENT_CFLAGS), \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libmanagement/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_solaris := -lkstat, \
|
||||
LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX), \
|
||||
LDFLAGS_SUFFIX_windows := jvm.lib psapi.lib $(WIN_JAVA_LIB) advapi32.lib, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=management.dll" \
|
||||
-D "JDK_INTERNAL_NAME=management" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libmanagement, \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
$(BUILD_LIBMANAGEMENT): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBMANAGEMENT)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
BUILD_LIBHPROF_SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/hprof $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/demo/jvmti/hprof
|
||||
BUILD_LIBHPROF_CFLAGS := -I$(JDK_TOPDIR)/src/share/demo/jvmti/hprof \
|
||||
-I$(JDK_TOPDIR)/src/share/npt \
|
||||
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \
|
||||
-I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo
|
||||
|
||||
BUILD_LIBHPROF_LDFLAGS :=
|
||||
|
||||
LIBHPROF_OPTIMIZATION := HIGHEST
|
||||
ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
|
||||
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
|
||||
LIBHPROF_OPTIMIZATION := LOW
|
||||
endif
|
||||
endif
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBHPROF, \
|
||||
LIBRARY := hprof, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(BUILD_LIBHPROF_SRC), \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := $(LIBHPROF_OPTIMIZATION), \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(BUILD_LIBHPROF_CFLAGS), \
|
||||
CFLAGS_debug := -DHPROF_LOGGING, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libhprof/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_windows := wsock32.lib winmm.lib advapi32.lib, \
|
||||
LDFLAGS_SUFFIX_linux := $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_macosx := $(LIBDL), \
|
||||
LDFLAGS_SUFFIX_solaris := -lsocket -lnsl $(LIBDL) -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=hprof.dll" \
|
||||
-D "JDK_INTERNAL_NAME=hprof" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libhprof_jvmti, \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBHPROF)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJAVA_CRW_DEMO, \
|
||||
LIBRARY := java_crw_demo, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/share/demo/jvmti/java_crw_demo, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjava_crw_demo/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=java_crw_demo.dll" \
|
||||
-D "JDK_INTERNAL_NAME=java_crw_demo" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjava_crw_demo, \
|
||||
DEBUG_SYMBOLS := true))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJAVA_CRW_DEMO)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifndef OPENJDK
|
||||
ifeq ($(ENABLE_JFR), true)
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJFR, \
|
||||
LIBRARY := jfr, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(JDK_TOPDIR)/src/closed/share/native/oracle/jfr, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
-I$(JDK_TOPDIR)/src/closed/share/javavm/export, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjfr/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=jfr.dll" \
|
||||
-D "JDK_INTERNAL_NAME=jfr" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjfr, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJFR)
|
||||
|
||||
endif
|
||||
endif
|
237
jdk/makefiles/lib/SoundLibraries.gmk
Normal file
237
jdk/makefiles/lib/SoundLibraries.gmk
Normal file
@ -0,0 +1,237 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License version 2 only, as
|
||||
# published by the Free Software Foundation. Oracle designates this
|
||||
# particular file as subject to the "Classpath" exception as provided
|
||||
# by Oracle in the LICENSE file that accompanied this code.
|
||||
#
|
||||
# This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# version 2 for more details (a copy is included in the LICENSE file that
|
||||
# accompanied this code).
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License version
|
||||
# 2 along with this work; if not, write to the Free Software Foundation,
|
||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
# or visit www.oracle.com if you need additional information or have any
|
||||
# questions.
|
||||
#
|
||||
|
||||
LIBJSOUND_SRC_DIRS := \
|
||||
$(JDK_TOPDIR)/src/share/native/com/sun/media/sound \
|
||||
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/media/sound
|
||||
|
||||
LIBJSOUND_SRC_FILES := Utilities.c Platform.c
|
||||
|
||||
LIBJSOUND_LANG := C
|
||||
LIBJSOUND_CFLAGS := $(foreach dir, $(LIBJSOUND_SRC_DIRS), -I$(dir))
|
||||
|
||||
EXTRA_SOUND_JNI_LIBS :=
|
||||
|
||||
LIBJSOUND_MIDIFILES := \
|
||||
MidiInDevice.c \
|
||||
MidiInDeviceProvider.c \
|
||||
MidiOutDevice.c \
|
||||
MidiOutDeviceProvider.c \
|
||||
PlatformMidi.c
|
||||
|
||||
# files needed for ports
|
||||
LIBJSOUND_PORTFILES := \
|
||||
PortMixerProvider.c \
|
||||
PortMixer.c
|
||||
|
||||
# files needed for direct audio
|
||||
LIBJSOUND_DAUDIOFILES := \
|
||||
DirectAudioDeviceProvider.c \
|
||||
DirectAudioDevice.c
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), windows)
|
||||
EXTRA_SOUND_JNI_LIBS += jsoundds
|
||||
LIBJSOUND_CFLAGS += -DX_PLATFORM=X_WINDOWS \
|
||||
-DUSE_PLATFORM_MIDI_OUT=TRUE \
|
||||
-DUSE_PLATFORM_MIDI_IN=TRUE \
|
||||
-DUSE_PORTS=TRUE
|
||||
LIBJSOUND_SRC_FILES += \
|
||||
PLATFORM_API_WinOS_MidiIn.cpp \
|
||||
PLATFORM_API_WinOS_MidiOut.c \
|
||||
PLATFORM_API_WinOS_Util.c \
|
||||
PLATFORM_API_WinOS_Ports.c
|
||||
LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
|
||||
LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
|
||||
endif # OPENJDK_TARGET_OS windows
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), linux)
|
||||
EXTRA_SOUND_JNI_LIBS += jsoundalsa
|
||||
LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX
|
||||
endif # OPENJDK_TARGET_OS linux
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
LIBJSOUND_LANG := C++
|
||||
LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
|
||||
-DUSE_PORTS=TRUE \
|
||||
-DUSE_DAUDIO=TRUE \
|
||||
-DUSE_PLATFORM_MIDI_OUT=TRUE \
|
||||
-DUSE_PLATFORM_MIDI_IN=TRUE
|
||||
LIBJSOUND_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/com/sun/media/sound
|
||||
LIBJSOUND_SRC_FILES += \
|
||||
PLATFORM_API_MacOSX_Utils.cpp \
|
||||
PLATFORM_API_MacOSX_PCM.cpp \
|
||||
PLATFORM_API_MacOSX_Ports.cpp \
|
||||
PLATFORM_API_MacOSX_MidiIn.c \
|
||||
PLATFORM_API_MacOSX_MidiOut.c \
|
||||
PLATFORM_API_MacOSX_MidiUtils.c
|
||||
LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
|
||||
LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
|
||||
LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
|
||||
endif # OPENJDK_TARGET_OS macosx
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), solaris)
|
||||
LIBJSOUND_CFLAGS += -DX_PLATFORM=X_SOLARIS \
|
||||
-DUSE_PORTS=TRUE \
|
||||
-DUSE_DAUDIO=TRUE
|
||||
LIBJSOUND_SRC_FILES += \
|
||||
PLATFORM_API_SolarisOS_Utils.c \
|
||||
PLATFORM_API_SolarisOS_Ports.c \
|
||||
PLATFORM_API_SolarisOS_PCM.c
|
||||
LIBJSOUND_SRC_FILES += $(LIBJSOUND_MIDIFILES)
|
||||
LIBJSOUND_SRC_FILES += $(LIBJSOUND_PORTFILES)
|
||||
LIBJSOUND_SRC_FILES += $(LIBJSOUND_DAUDIOFILES)
|
||||
endif # OPENJDK_TARGET_OS solaris
|
||||
|
||||
|
||||
ifeq ($(JVM_VARIANT_ZERO), true)
|
||||
LIBJSOUND_CFLAGS += -DX_ARCH=X_ZERO
|
||||
else
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86)
|
||||
LIBJSOUND_CFLAGS += -DX_ARCH=X_I586
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), sparc)
|
||||
LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARC
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), sparcv9)
|
||||
LIBJSOUND_CFLAGS += -DX_ARCH=X_SPARCV9
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), x86_64)
|
||||
LIBJSOUND_CFLAGS += -DX_ARCH=X_AMD64
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), arm)
|
||||
LIBJSOUND_CFLAGS += -DX_ARCH=X_ARM
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_CPU), ppc)
|
||||
LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC
|
||||
endif
|
||||
endif
|
||||
|
||||
LIBJSOUND_CFLAGS += -DEXTRA_SOUND_JNI_LIBS='"$(EXTRA_SOUND_JNI_LIBS)"'
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUND, \
|
||||
LIBRARY := jsound, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(LIBJSOUND_SRC_DIRS), \
|
||||
INCLUDE_FILES := $(LIBJSOUND_SRC_FILES), \
|
||||
LANG := $(LIBJSOUND_LANG), \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(LIBJSOUND_CFLAGS), \
|
||||
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBJSOUND_CFLAGS), \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsound/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_macosx := -framework CoreAudio -framework CoreFoundation \
|
||||
-framework CoreServices -framework AudioUnit $(LIBCXX) \
|
||||
-framework CoreMIDI -framework AudioToolbox, \
|
||||
LDFLAGS_windows := $(WIN_JAVA_LIB) advapi32.lib winmm.lib, \
|
||||
LDFLAGS_SUFFIX_posix := -ljava -ljvm, \
|
||||
LDFLAGS_SUFFIX_solaris := -lc, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=jsound.dll" \
|
||||
-D "JDK_INTERNAL_NAME=jsound" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsound, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(BUILD_LIBJSOUND): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJSOUND)
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifneq ($(filter jsoundalsa, $(EXTRA_SOUND_JNI_LIBS)), )
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDALSA, \
|
||||
LIBRARY := jsoundalsa, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(LIBJSOUND_SRC_DIRS), \
|
||||
INCLUDE_FILES := Utilities.c $(LIBJSOUND_MIDIFILES) $(LIBJSOUND_PORTFILES) \
|
||||
$(LIBJSOUND_DAUDIOFILES) \
|
||||
PLATFORM_API_LinuxOS_ALSA_CommonUtils.c \
|
||||
PLATFORM_API_LinuxOS_ALSA_PCM.c \
|
||||
PLATFORM_API_LinuxOS_ALSA_PCMUtils.c \
|
||||
PLATFORM_API_LinuxOS_ALSA_MidiIn.c \
|
||||
PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
|
||||
PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
|
||||
PLATFORM_API_LinuxOS_ALSA_Ports.c, \
|
||||
LANG := C, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
|
||||
$(LIBJSOUND_CFLAGS) \
|
||||
-DUSE_DAUDIO=TRUE \
|
||||
-DUSE_PORTS=TRUE \
|
||||
-DUSE_PLATFORM_MIDI_OUT=TRUE \
|
||||
-DUSE_PLATFORM_MIDI_IN=TRUE, \
|
||||
MAPFILE := $(JDK_TOPDIR)/makefiles/mapfiles/libjsoundalsa/mapfile-vers, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX := $(ALSA_LIBS) -ljava -ljvm, \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsoundalsa, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(BUILD_LIBJSOUNDALSA): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJSOUNDALSA)
|
||||
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
|
||||
ifneq ($(filter jsoundds, $(EXTRA_SOUND_JNI_LIBS)), )
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBJSOUNDDS, \
|
||||
LIBRARY := jsoundds, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(LIBJSOUND_SRC_DIRS), \
|
||||
INCLUDE_FILES := Utilities.c $(LIBJSOUND_DAUDIOFILES) \
|
||||
PLATFORM_API_WinOS_DirectSound.cpp, \
|
||||
LANG := C++, \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(LIBJSOUND_CFLAGS) \
|
||||
-DUSE_DAUDIO=TRUE, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX := $(LDFLAGS_JDKLIB_SUFFIX) dsound.lib winmm.lib user32.lib ole32.lib, \
|
||||
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
|
||||
RC_FLAGS := $(RC_FLAGS) \
|
||||
-D "JDK_FNAME=jsoundds.dll" \
|
||||
-D "JDK_INTERNAL_NAME=jsoundds" \
|
||||
-D "JDK_FTYPE=0x2L", \
|
||||
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsoundds, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(BUILD_LIBJSOUNDDS): $(BUILD_LIBJAVA)
|
||||
|
||||
BUILD_LIBRARIES += $(BUILD_LIBJSOUNDDS)
|
||||
|
||||
endif
|
Loading…
x
Reference in New Issue
Block a user