--- a/make/lib/Awt2dLibraries.gmk Tue Mar 13 11:33:57 2018 +0100
+++ b/make/lib/Awt2dLibraries.gmk Thu Mar 15 09:33:36 2018 +0100
@@ -48,9 +48,8 @@
BUILD_LIBMLIB_LDLIBS += $(LIBM) $(LIBDL)
endif
-$(eval $(call SetupNativeCompilation, BUILD_LIBMLIB_IMAGE, \
+$(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE, \
NAME := mlib_image, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(BUILD_LIBMLIB_SRC), \
EXCLUDE_FILES := mlib_c_ImageBlendTable.c, \
OPTIMIZATION := HIGHEST, \
@@ -61,13 +60,6 @@
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(BUILD_LIBMLIB_LDLIBS) \
$(JDKLIB_LIBS), \
- LIBS_solaris := -lc, \
- VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
- RC_FLAGS := $(RC_FLAGS) \
- -D "JDK_FNAME=mlib_image.dll" \
- -D "JDK_INTERNAL_NAME=mlib_image" \
- -D "JDK_FTYPE=0x2L", \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libmlib_image, \
))
$(BUILD_LIBMLIB_IMAGE): $(call FindLib, java.base, java)
@@ -107,9 +99,8 @@
LIBMLIB_IMAGE_V_CFLAGS += $(filter-out -DMLIB_NO_LIBSUNMATH, $(BUILD_LIBMLIB_CFLAGS))
- $(eval $(call SetupNativeCompilation, BUILD_LIBMLIB_IMAGE_V, \
+ $(eval $(call SetupJdkLibrary, BUILD_LIBMLIB_IMAGE_V, \
NAME := mlib_image_v, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBMLIB_IMAGE_V_SRC), \
EXCLUDE_FILES := $(BUILD_LIBMLIB_IMAGE_V_EXFILES), \
OPTIMIZATION := HIGHEST, \
@@ -119,8 +110,7 @@
MAPFILE := $(BUILD_LIBMLIB_IMAGE_MAPFILE), \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LIBS := -ljava -ljvm -lc $(BUILD_LIBMLIB_LDLIBS), \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libmlib_image_v, \
+ LIBS := -ljava -ljvm $(BUILD_LIBMLIB_LDLIBS), \
))
$(BUILD_LIBMLIB_IMAGE_V): $(call FindLib, java.base, java)
@@ -226,9 +216,8 @@
LIBAWT_CFLAGS += -fgcse-after-reload
endif
-$(eval $(call SetupNativeCompilation, BUILD_LIBAWT, \
+$(eval $(call SetupJdkLibrary, BUILD_LIBAWT, \
NAME := awt, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBAWT_DIRS), \
EXCLUDES := $(LIBAWT_EXCLUDES), \
EXCLUDE_FILES := $(LIBAWT_EXFILES), \
@@ -249,7 +238,7 @@
-delayload:comctl32.dll -delayload:shlwapi.dll, \
LIBS_unix := -ljvm -ljava $(LIBM), \
LIBS_linux := $(LIBDL), \
- LIBS_solaris := $(LIBDL) -lc, \
+ LIBS_solaris := $(LIBDL), \
LIBS_aix := $(LIBDL),\
LIBS_macosx := -lmlib_image \
-framework Cocoa \
@@ -267,7 +256,6 @@
-D "JDK_FNAME=awt.dll" \
-D "JDK_INTERNAL_NAME=awt" \
-D "JDK_FTYPE=0x2L", \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt, \
))
$(BUILD_LIBAWT): $(call FindLib, java.base, java)
@@ -329,7 +317,7 @@
endif
endif
- LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
+ LIBAWT_XAWT_LIBS := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm
ifeq ($(OPENJDK_TARGET_OS), linux)
LIBAWT_XAWT_LIBS += -lpthread
@@ -346,9 +334,8 @@
BUILD_LIBAWT_XAWT_debug_mem.c_CFLAGS := -w
endif
- $(eval $(call SetupNativeCompilation, BUILD_LIBAWT_XAWT, \
+ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_XAWT, \
NAME := awt_xawt, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBAWT_XAWT_DIRS), \
EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
OPTIMIZATION := LOW, \
@@ -366,12 +353,10 @@
$(call SET_SHARED_LIBRARY_ORIGIN) \
-L$(INSTALL_LIBRARIES_HERE), \
LIBS := $(X_LIBS) $(LIBAWT_XAWT_LIBS), \
- VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
RC_FLAGS := $(RC_FLAGS) \
-D "JDK_FNAME=xawt.dll" \
-D "JDK_INTERNAL_NAME=xawt" \
-D "JDK_FTYPE=0x2L", \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_xawt, \
))
$(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
@@ -405,9 +390,8 @@
LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC))
endif
-$(eval $(call SetupNativeCompilation, BUILD_LIBLCMS, \
+$(eval $(call SetupJdkLibrary, BUILD_LIBLCMS, \
NAME := lcms, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBLCMS_SRC), \
INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
OPTIMIZATION := HIGHEST, \
@@ -428,15 +412,8 @@
LIBS_unix := -lawt -ljvm -ljava $(LCMS_LIBS), \
LIBS_linux := $(LIBM), \
LIBS_macosx := $(LIBM), \
- LIBS_solaris := -lc, \
LIBS_aix := $(LIBM),\
LIBS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
- VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
- RC_FLAGS := $(RC_FLAGS) \
- -D "JDK_FNAME=lcms.dll" \
- -D "JDK_INTERNAL_NAME=lcms" \
- -D "JDK_FTYPE=0x2L", \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/liblcms, \
))
TARGETS += $(BUILD_LIBLCMS)
@@ -482,9 +459,8 @@
BUILD_LIBJAVAJPEG_HEADERS := $(addprefix -I, $(LIBJAVAJPEG_SRC))
endif
-$(eval $(call SetupNativeCompilation, BUILD_LIBJAVAJPEG, \
+$(eval $(call SetupJdkLibrary, BUILD_LIBJAVAJPEG, \
NAME := javajpeg, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJAVAJPEG_SRC), \
INCLUDE_FILES := $(BUILD_LIBJAVAJPEG_INCLUDE_FILES), \
OPTIMIZATION := HIGHEST, \
@@ -497,13 +473,7 @@
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS := $(LIBJPEG_LIBS) $(JDKLIB_LIBS), \
LIBS_windows := $(WIN_JAVA_LIB) jvm.lib, \
- VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
- RC_FLAGS := $(RC_FLAGS) \
- -D "JDK_FNAME=javajpeg.dll" \
- -D "JDK_INTERNAL_NAME=javajpeg" \
- -D "JDK_FTYPE=0x2L", \
REORDER := $(BUILD_LIBJAVAJPEG_REORDER), \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjavajpeg, \
))
$(BUILD_LIBJAVAJPEG): $(call FindLib, java.base, java)
@@ -546,9 +516,8 @@
endif
endif
- $(eval $(call SetupNativeCompilation, BUILD_LIBAWT_HEADLESS, \
+ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
NAME := awt_headless, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBAWT_HEADLESS_DIRS), \
EXCLUDES := $(LIBAWT_HEADLESS_EXCLUDES), \
OPTIMIZATION := LOW, \
@@ -568,8 +537,7 @@
REORDER := $(LIBAWT_HEADLESS_REORDER), \
LIBS_unix := -lawt -ljvm -ljava, \
LIBS_linux := $(LIBM) $(LIBDL), \
- LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX) -lc, \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_headless, \
+ LIBS_solaris := $(LIBM) $(LIBDL) $(LIBCXX), \
))
# AIX warning explanation:
@@ -584,6 +552,38 @@
################################################################################
+ifeq ($(FREETYPE_TO_USE), system)
+ LIBFREETYPE_CFLAGS := $(FREETYPE_CFLAGS)
+ LIBFREETYPE_LIBS := $(FREETYPE_LIBS)
+else
+ LIBFREETYPE_SRC := $(TOPDIR)/src/java.desktop/share/native/libfreetype
+ BUILD_LIBFREETYPE_HEADERS := $(addprefix -I, $(LIBFREETYPE_SRC)/include)
+ LIBFREETYPE_CFLAGS := $(BUILD_LIBFREETYPE_HEADERS)
+ ifeq ($(OPENJDK_TARGET_OS), windows)
+ LIBFREETYPE_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfreetype/freetype.lib
+ else
+ LIBFREETYPE_LIBS := -lfreetype
+ endif
+
+ $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
+ NAME := freetype, \
+ SRC := $(LIBFREETYPE_SRC)/src, \
+ OPTIMIZATION := HIGHEST, \
+ CFLAGS := $(CFLAGS_JDKLIB) $(BUILD_LIBFREETYPE_HEADERS) \
+ -DFT2_BUILD_LIBRARY, \
+ DISABLED_WARNINGS_solstudio := \
+ E_STATEMENT_NOT_REACHED \
+ E_END_OF_LOOP_CODE_NOT_REACHED, \
+ DISABLED_WARNINGS_microsoft := 4267 2220 4244, \
+ LDFLAGS := $(LDFLAGS_JDKLIB) \
+ $(call SET_SHARED_LIBRARY_ORIGIN), \
+ ))
+
+ TARGETS += $(BUILD_LIBFREETYPE)
+endif
+
+###########################################################################
+
LIBFONTMANAGER_SRC := $(TOPDIR)/src/java.desktop/share/native/libfontmanager \
$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libfontmanager
LIBFONTMANAGER_CFLAGS := \
@@ -624,10 +624,10 @@
#### End harfbuzz configuration
-LIBFONTMANAGER_CFLAGS += $(FREETYPE_CFLAGS)
+LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS)
# This may be overridden in a custom makefile
BUILD_LIBFONTMANAGER_MAPFILE ?= $(TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers
-BUILD_LIBFONTMANAGER_FONTLIB += $(FREETYPE_LIBS)
+BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
LIBFONTMANAGER_OPTIMIZATION := HIGH
@@ -656,9 +656,8 @@
BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
endif
-$(eval $(call SetupNativeCompilation, BUILD_LIBFONTMANAGER, \
+$(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
NAME := fontmanager, \
- OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \
SRC := $(LIBFONTMANAGER_SRC), \
EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
AccelGlyphCache.c, \
@@ -689,40 +688,21 @@
LDFLAGS_macosx := -undefined dynamic_lookup, \
LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
- LIBS_linux := -lc, \
- LIBS_solaris := -lc, \
LIBS_aix := -lawt_headless,\
LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
$(WIN_AWT_LIB), \
- VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
- RC_FLAGS := $(RC_FLAGS) \
- -D "JDK_FNAME=fontmanager.dll" \
- -D "JDK_INTERNAL_NAME=fontmanager" \
- -D "JDK_FTYPE=0x2L", \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \
))
-$(INSTALL_LIBRARIES_HERE)/$(call SHARED_LIBRARY,fontmanager): $(BUILD_LIBFONTMANAGER_TARGET)
- $(install-file)
- ifneq ($(FREETYPE_BUNDLE_LIB_PATH), )
- ifeq ($(OPENJDK_TARGET_OS), macosx)
- # If bundling freetype on macosx, we need to rewrite the rpath location
- # in the libfontmanager library to point to the bundled location
- $(INSTALL_NAME_TOOL) -change \
- `$(OTOOL) -D $(FREETYPE_BUNDLE_LIB_PATH)/$(call SHARED_LIBRARY,freetype) | $(TAIL) -n1` \
- '@rpath/$(call SHARED_LIBRARY,freetype)' \
- $@
- endif
- endif
-
-BUILD_LIBFONTMANAGER += $(INSTALL_LIBRARIES_HERE)/$(call SHARED_LIBRARY,fontmanager)
-
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix))
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_HEADLESS)
endif
+ifeq ($(FREETYPE_TO_USE), bundled)
+ $(BUILD_LIBFONTMANAGER): $(BUILD_LIBFREETYPE)
+endif
+
TARGETS += $(BUILD_LIBFONTMANAGER)
################################################################################
@@ -743,9 +723,8 @@
ifeq ($(OPENJDK_TARGET_CPU), x86)
KERNEL32_LIB := kernel32.lib
endif
- $(eval $(call SetupNativeCompilation, BUILD_LIBJAWT, \
+ $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
NAME := jawt, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJAWT_SRC), \
INCLUDE_FILES := $(LIBJAWT_INCLUDE_FILES), \
OPTIMIZATION := LOW, \
@@ -754,12 +733,6 @@
$(LIBJAWT_CFLAGS), \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK), \
LIBS := $(JDKLIB_LIBS) $(KERNEL32_LIB) advapi32.lib $(WIN_AWT_LIB), \
- VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
- RC_FLAGS := $(RC_FLAGS) \
- -D "JDK_FNAME=jawt.dll" \
- -D "JDK_INTERNAL_NAME=jawt" \
- -D "JDK_FTYPE=0x2L", \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjawt, \
))
$(BUILD_LIBJAWT): $(BUILD_LIBAWT)
@@ -803,9 +776,8 @@
endif
endif
- $(eval $(call SetupNativeCompilation, BUILD_LIBJAWT, \
+ $(eval $(call SetupJdkLibrary, BUILD_LIBJAWT, \
NAME := jawt, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJAWT_SRC), \
INCLUDE_FILES := $(JAWT_FILES), \
OPTIMIZATION := LOW, \
@@ -821,7 +793,6 @@
LIBS_unix := $(JAWT_LIBS) $(JDKLIB_LIBS), \
LIBS_solaris := $(X_LIBS) -lXrender, \
LIBS_macosx := -framework Cocoa, \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjawt, \
))
ifeq ($(ENABLE_HEADLESS_ONLY), false)
@@ -920,7 +891,6 @@
endif
ifeq ($(OPENJDK_TARGET_OS), macosx)
- LIBSPLASHSCREEN_LDFLAGS := -L$(INSTALL_LIBRARIES_HERE)
LIBSPLASHSCREEN_LIBS += \
$(LIBM) -lpthread -liconv -losxapp \
-framework ApplicationServices \
@@ -928,15 +898,13 @@
-framework Cocoa \
-framework JavaNativeFoundation
else ifeq ($(OPENJDK_TARGET_OS), windows)
- LIBSPLASHSCREEN_LDFLAGS := -delayload:user32.dll
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
endif
- $(eval $(call SetupNativeCompilation, BUILD_LIBSPLASHSCREEN, \
+ $(eval $(call SetupJdkLibrary, BUILD_LIBSPLASHSCREEN, \
NAME := splashscreen, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBSPLASHSCREEN_DIRS), \
EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
@@ -949,17 +917,13 @@
DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
DISABLED_WARNINGS_microsoft := 4018 4244 4267, \
MAPFILE := $(TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
- LDFLAGS := $(LIBSPLASHSCREEN_LDFLAGS) $(LDFLAGS_JDKLIB) \
+ LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
+ LDFLAGS_macosx := -L$(INSTALL_LIBRARIES_HERE), \
+ LDFLAGS_windows := -delayload:user32.dll, \
LIBS := $(JDKLIB_LIBS) $(LIBSPLASHSCREEN_LIBS) $(LIBZ_LIBS) \
$(GIFLIB_LIBS) $(LIBJPEG_LIBS) $(PNG_LIBS), \
LIBS_aix := -liconv, \
- VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
- RC_FLAGS := $(RC_FLAGS) \
- -D "JDK_FNAME=splashscreen.dll" \
- -D "JDK_INTERNAL_NAME=splashscreen" \
- -D "JDK_FTYPE=0x2L", \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libsplashscreen, \
))
TARGETS += $(BUILD_LIBSPLASHSCREEN)
@@ -1006,9 +970,8 @@
LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
LIBAWT_LWAWT_EXCLUDES := $(TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
- $(eval $(call SetupNativeCompilation, BUILD_LIBAWT_LWAWT, \
+ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_LWAWT, \
NAME := awt_lwawt, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBAWT_LWAWT_DIRS), \
INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
@@ -1036,7 +999,6 @@
-framework JavaRuntimeSupport \
-framework OpenGL \
-framework QuartzCore -ljava, \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_lwawt, \
))
TARGETS += $(BUILD_LIBAWT_LWAWT)
@@ -1055,9 +1017,8 @@
ifeq ($(OPENJDK_TARGET_OS), macosx)
- $(eval $(call SetupNativeCompilation, BUILD_LIBOSXUI, \
+ $(eval $(call SetupJdkLibrary, BUILD_LIBOSXUI, \
NAME := osxui, \
- OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(TOPDIR)/src/java.desktop/macosx/native/libosxui, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
@@ -1078,7 +1039,6 @@
-framework JavaNativeFoundation \
-framework JavaRuntimeSupport \
-ljava -ljvm, \
- OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libosxui, \
))
TARGETS += $(BUILD_LIBOSXUI)