229 LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/java.base/windows/native/launcher/icons"
230 endif
231 LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/java.desktop/windows/native/libawt/windows/awt.rc
232 endif
233
234 LIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers
235 ifeq ($(OPENJDK_TARGET_OS), linux)
236 LIBAWT_MAPFILE :=
237 endif
238
239 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
240 LIBRARY := awt, \
241 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
242 SRC := $(LIBAWT_DIRS), \
243 EXCLUDES := $(LIBAWT_EXCLUDES), \
244 EXCLUDE_FILES := $(LIBAWT_EXFILES), \
245 OPTIMIZATION := LOW, \
246 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
247 DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
248 format-nonliteral parentheses, \
249 DISABLED_WARNINGS_clang := logical-op-parentheses, \
250 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \
251 DISABLED_WARNINGS_microsoft := 4297 4244 4267, \
252 ASFLAGS := $(LIBAWT_ASFLAGS), \
253 MAPFILE := $(LIBAWT_MAPFILE), \
254 LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
255 LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \
256 LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \
257 LDFLAGS_SUFFIX_aix :=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\
258 LDFLAGS_SUFFIX_macosx := -L$(INSTALL_LIBRARIES_HERE) \
259 -lmlib_image -ljvm $(LIBM) \
260 -framework Cocoa \
261 -framework OpenGL \
262 -framework JavaNativeFoundation \
263 -framework JavaRuntimeSupport \
264 -framework ApplicationServices \
265 -framework AudioToolbox \
266 -ljava, \
267 LDFLAGS_SUFFIX_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \
268 imm32.lib ole32.lib uuid.lib shell32.lib \
269 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
270 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
271 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
340 LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
341
342 ifeq ($(OPENJDK_TARGET_OS), linux)
343 # To match old build, add this to LDFLAGS instead of suffix.
344 LIBAWT_XAWT_LDFLAGS += -lpthread
345 endif
346
347 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
348 LIBRARY := awt_xawt, \
349 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
350 SRC := $(LIBAWT_XAWT_DIRS), \
351 EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
352 OPTIMIZATION := LOW, \
353 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
354 $(X_CFLAGS), \
355 DISABLED_WARNINGS_gcc := type-limits pointer-to-int-cast \
356 deprecated-declarations unused-result maybe-uninitialized format \
357 format-security int-to-pointer-cast parentheses, \
358 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE \
359 E_ASSIGNMENT_TYPE_MISMATCH E_NON_CONST_INIT, \
360 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
361 LDFLAGS := $(LDFLAGS_JDKLIB) \
362 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS) \
363 $(call SET_SHARED_LIBRARY_ORIGIN) \
364 $(call SET_SHARED_LIBRARY_ORIGIN,/..) \
365 -L$(INSTALL_LIBRARIES_HERE), \
366 LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \
367 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
368 RC_FLAGS := $(RC_FLAGS) \
369 -D "JDK_FNAME=xawt.dll" \
370 -D "JDK_INTERNAL_NAME=xawt" \
371 -D "JDK_FTYPE=0x2L", \
372 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_xawt, \
373 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
374
375 $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
376
377 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
378
379 TARGETS += $(BUILD_LIBAWT_XAWT)
391 #
392
393 ifeq ($(USE_EXTERNAL_LCMS), true)
394 # If we're using an external library, we'll just need the wrapper part.
395 # By including it explicitely, all other files will be excluded.
396 BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c
397 else
398 BUILD_LIBLCMS_INCLUDE_FILES :=
399 # If we're using the bundled library, we'll need to include it in the
400 # include path explicitly. Otherwise the system headers will be used.
401 LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC))
402 endif
403
404 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
405 LIBRARY := lcms, \
406 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
407 SRC := $(LIBLCMS_SRC), \
408 INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
409 OPTIMIZATION := HIGHEST, \
410 CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
411 $(SHARED_LIBRARY_FLAGS) $(LIBLCMS_CPPFLAGS) \
412 $(LCMS_CFLAGS), \
413 CFLAGS_solaris := -xc99=no_lib, \
414 CFLAGS_windows := -DCMS_IS_WINDOWS_, \
415 DISABLED_WARNINGS_gcc := format-nonliteral, \
416 DISABLED_WARNINGS_clang := tautological-compare, \
417 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
418 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \
419 LDFLAGS := $(LDFLAGS_JDKLIB) \
420 $(call SET_SHARED_LIBRARY_ORIGIN), \
421 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
422 LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \
423 LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
424 LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc $(LCMS_LIBS), \
425 LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm $(LCMS_LIBS), \
426 LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm $(LCMS_LIBS), \
427 LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm $(LCMS_LIBS),\
428 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
429 RC_FLAGS := $(RC_FLAGS) \
430 -D "JDK_FNAME=lcms.dll" \
431 -D "JDK_INTERNAL_NAME=lcms" \
432 -D "JDK_FTYPE=0x2L", \
433 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/liblcms, \
434 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
435
630
631 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
632
633 # Turn off aliasing with GCC for ExtensionSubtables.cpp
634 ifeq ($(OPENJDK_TARGET_OS), linux)
635 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
636 endif
637
638 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
639 LIBRARY := fontmanager, \
640 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
641 SRC := $(LIBFONTMANAGER_SRC), \
642 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
643 AccelGlyphCache.c, \
644 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
645 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
646 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
647 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
648 CFLAGS_windows = -DCC_NOEX, \
649 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast reorder \
650 delete-non-virtual-dtor, \
651 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types, \
652 DISABLED_WARNINGS_solstudio := truncwarn, \
653 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090, \
654 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
655 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
656 $(call SET_SHARED_LIBRARY_ORIGIN), \
657 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
658 LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \
659 LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
660 LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \
661 LDFLAGS_SUFFIX_aix := -lawt -lawt_headless $(LIBM) $(LIBCXX) -ljava -ljvm,\
662 LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
663 -ljava -ljvm, \
664 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
665 $(WIN_AWT_LIB), \
666 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
667 RC_FLAGS := $(RC_FLAGS) \
668 -D "JDK_FNAME=fontmanager.dll" \
669 -D "JDK_INTERNAL_NAME=fontmanager" \
670 -D "JDK_FTYPE=0x2L", \
671 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \
672 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
673
865 -framework Foundation \
866 -framework Cocoa \
867 -framework JavaNativeFoundation
868 else ifeq ($(OPENJDK_TARGET_OS), windows)
869 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
870 else
871 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
872 endif
873
874 $(eval $(call SetupNativeCompilation,BUILD_LIBSPLASHSCREEN, \
875 LIBRARY := splashscreen, \
876 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
877 SRC := $(LIBSPLASHSCREEN_DIRS), \
878 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
879 EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
880 OPTIMIZATION := LOW, \
881 CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
882 $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS), \
883 DISABLED_WARNINGS_gcc := type-limits unused-result maybe-uninitialized, \
884 DISABLED_WARNINGS_clang := incompatible-pointer-types, \
885 DISABLED_WARNINGS_solstudio := E_NEWLINE_NOT_LAST, \
886 DISABLED_WARNINGS_microsoft := 4244 4267, \
887 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
888 LDFLAGS := $(LDFLAGS_JDKLIB) \
889 $(call SET_SHARED_LIBRARY_ORIGIN), \
890 LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
891 $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) $(PNG_LIBS), \
892 LDFLAGS_SUFFIX_solaris := -lc, \
893 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
894 RC_FLAGS := $(RC_FLAGS) \
895 -D "JDK_FNAME=splashscreen.dll" \
896 -D "JDK_INTERNAL_NAME=splashscreen" \
897 -D "JDK_FTYPE=0x2L", \
898 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libsplashscreen, \
899 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
900
901 TARGETS += $(BUILD_LIBSPLASHSCREEN)
902
903 ifeq ($(OPENJDK_TARGET_OS), macosx)
904 $(BUILD_LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
905 endif
939 #
940
941 LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
942 LIBAWT_LWAWT_EXCLUDES := $(JDK_TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
943
944 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT, \
945 LIBRARY := awt_lwawt, \
946 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
947 SRC := $(LIBAWT_LWAWT_DIRS), \
948 INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
949 EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
950 EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
951 OPTIMIZATION := LOW, \
952 CFLAGS := $(CFLAGS_JDKLIB) \
953 $(X_CFLAGS) \
954 $(X_LIBS) \
955 $(LIBAWT_LWAWT_CFLAGS), \
956 DISABLED_WARNINGS_clang := incomplete-implementation \
957 deprecated-declarations objc-method-access bitwise-op-parentheses \
958 incompatible-pointer-types parentheses-equality extra-tokens, \
959 LDFLAGS := $(LDFLAGS_JDKLIB) \
960 $(call SET_SHARED_LIBRARY_ORIGIN) \
961 -L$(INSTALL_LIBRARIES_HERE), \
962 LDFLAGS_SUFFIX_macosx := -lawt -lmlib_image -losxapp -ljvm $(LIBM) \
963 -framework Accelerate \
964 -framework ApplicationServices \
965 -framework AudioToolbox \
966 -framework Carbon \
967 -framework Cocoa \
968 -framework Security \
969 -framework ExceptionHandling \
970 -framework JavaNativeFoundation \
971 -framework JavaRuntimeSupport \
972 -framework OpenGL \
973 -framework QuartzCore -ljava, \
974 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_lwawt, \
975 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
976
977 TARGETS += $(BUILD_LIBAWT_LWAWT)
978
|
229 LIBAWT_RC_FLAGS := -i "$(JDK_TOPDIR)/src/closed/java.base/windows/native/launcher/icons"
230 endif
231 LIBAWT_VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/java.desktop/windows/native/libawt/windows/awt.rc
232 endif
233
234 LIBAWT_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt/mapfile-vers
235 ifeq ($(OPENJDK_TARGET_OS), linux)
236 LIBAWT_MAPFILE :=
237 endif
238
239 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT, \
240 LIBRARY := awt, \
241 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
242 SRC := $(LIBAWT_DIRS), \
243 EXCLUDES := $(LIBAWT_EXCLUDES), \
244 EXCLUDE_FILES := $(LIBAWT_EXFILES), \
245 OPTIMIZATION := LOW, \
246 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_CFLAGS), \
247 DISABLED_WARNINGS_gcc := sign-compare unused-result maybe-uninitialized \
248 format-nonliteral parentheses, \
249 DISABLED_WARNINGS_clang := logical-op-parentheses extern-initializer, \
250 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE, \
251 DISABLED_WARNINGS_microsoft := 4297 4244 4267 4996, \
252 WARNINGS_AS_ERRORS_gcc := false, \
253 ASFLAGS := $(LIBAWT_ASFLAGS), \
254 MAPFILE := $(LIBAWT_MAPFILE), \
255 LDFLAGS := $(LDFLAGS_JDKLIB) $(call SET_SHARED_LIBRARY_ORIGIN), \
256 LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \
257 LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \
258 LDFLAGS_SUFFIX_aix :=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\
259 LDFLAGS_SUFFIX_macosx := -L$(INSTALL_LIBRARIES_HERE) \
260 -lmlib_image -ljvm $(LIBM) \
261 -framework Cocoa \
262 -framework OpenGL \
263 -framework JavaNativeFoundation \
264 -framework JavaRuntimeSupport \
265 -framework ApplicationServices \
266 -framework AudioToolbox \
267 -ljava, \
268 LDFLAGS_SUFFIX_windows := kernel32.lib user32.lib gdi32.lib winspool.lib \
269 imm32.lib ole32.lib uuid.lib shell32.lib \
270 comdlg32.lib winmm.lib comctl32.lib shlwapi.lib \
271 delayimp.lib jvm.lib $(WIN_JAVA_LIB) advapi32.lib \
272 -DELAYLOAD:user32.dll -DELAYLOAD:gdi32.dll \
341 LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
342
343 ifeq ($(OPENJDK_TARGET_OS), linux)
344 # To match old build, add this to LDFLAGS instead of suffix.
345 LIBAWT_XAWT_LDFLAGS += -lpthread
346 endif
347
348 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
349 LIBRARY := awt_xawt, \
350 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
351 SRC := $(LIBAWT_XAWT_DIRS), \
352 EXCLUDES := $(LIBAWT_XAWT_EXCLUDES), \
353 OPTIMIZATION := LOW, \
354 CFLAGS := $(CFLAGS_JDKLIB) $(LIBAWT_XAWT_CFLAGS) \
355 $(X_CFLAGS), \
356 DISABLED_WARNINGS_gcc := type-limits pointer-to-int-cast \
357 deprecated-declarations unused-result maybe-uninitialized format \
358 format-security int-to-pointer-cast parentheses, \
359 DISABLED_WARNINGS_solstudio := E_DECLARATION_IN_CODE \
360 E_ASSIGNMENT_TYPE_MISMATCH E_NON_CONST_INIT, \
361 WARNINGS_AS_ERRORS_gcc := false, \
362 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libawt_xawt/mapfile-vers, \
363 LDFLAGS := $(LDFLAGS_JDKLIB) \
364 $(X_LIBS) $(LIBAWT_XAWT_LDFLAGS) \
365 $(call SET_SHARED_LIBRARY_ORIGIN) \
366 $(call SET_SHARED_LIBRARY_ORIGIN,/..) \
367 -L$(INSTALL_LIBRARIES_HERE), \
368 LDFLAGS_SUFFIX := $(LIBAWT_XAWT_LDFLAGS_SUFFIX), \
369 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
370 RC_FLAGS := $(RC_FLAGS) \
371 -D "JDK_FNAME=xawt.dll" \
372 -D "JDK_INTERNAL_NAME=xawt" \
373 -D "JDK_FTYPE=0x2L", \
374 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_xawt, \
375 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
376
377 $(BUILD_LIBAWT_XAWT): $(call FindLib, java.base, java)
378
379 $(BUILD_LIBAWT_XAWT): $(BUILD_LIBAWT)
380
381 TARGETS += $(BUILD_LIBAWT_XAWT)
393 #
394
395 ifeq ($(USE_EXTERNAL_LCMS), true)
396 # If we're using an external library, we'll just need the wrapper part.
397 # By including it explicitely, all other files will be excluded.
398 BUILD_LIBLCMS_INCLUDE_FILES := LCMS.c
399 else
400 BUILD_LIBLCMS_INCLUDE_FILES :=
401 # If we're using the bundled library, we'll need to include it in the
402 # include path explicitly. Otherwise the system headers will be used.
403 LIBLCMS_CPPFLAGS += $(addprefix -I, $(LIBLCMS_SRC))
404 endif
405
406 $(eval $(call SetupNativeCompilation,BUILD_LIBLCMS, \
407 LIBRARY := lcms, \
408 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
409 SRC := $(LIBLCMS_SRC), \
410 INCLUDE_FILES := $(BUILD_LIBLCMS_INCLUDE_FILES), \
411 OPTIMIZATION := HIGHEST, \
412 CFLAGS := $(filter-out -xc99=%none, $(CFLAGS_JDKLIB)) \
413 $(LIBLCMS_CPPFLAGS) \
414 $(LCMS_CFLAGS), \
415 CFLAGS_solaris := -xc99=no_lib, \
416 CFLAGS_windows := -DCMS_IS_WINDOWS_, \
417 DISABLED_WARNINGS_gcc := format-nonliteral type-limits, \
418 DISABLED_WARNINGS_clang := tautological-compare, \
419 DISABLED_WARNINGS_solstudio := E_STATEMENT_NOT_REACHED, \
420 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/liblcms/mapfile-vers, \
421 LDFLAGS := $(LDFLAGS_JDKLIB) \
422 $(call SET_SHARED_LIBRARY_ORIGIN), \
423 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
424 LDFLAGS_solaris := /usr/lib$(OPENJDK_TARGET_CPU_ISADIR)/libm.so.2, \
425 LDFLAGS_windows := $(WIN_AWT_LIB) $(WIN_JAVA_LIB), \
426 LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc $(LCMS_LIBS), \
427 LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm $(LCMS_LIBS), \
428 LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm $(LCMS_LIBS), \
429 LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm $(LCMS_LIBS),\
430 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
431 RC_FLAGS := $(RC_FLAGS) \
432 -D "JDK_FNAME=lcms.dll" \
433 -D "JDK_INTERNAL_NAME=lcms" \
434 -D "JDK_FTYPE=0x2L", \
435 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/liblcms, \
436 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
437
632
633 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
634
635 # Turn off aliasing with GCC for ExtensionSubtables.cpp
636 ifeq ($(OPENJDK_TARGET_OS), linux)
637 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
638 endif
639
640 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \
641 LIBRARY := fontmanager, \
642 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
643 SRC := $(LIBFONTMANAGER_SRC), \
644 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
645 AccelGlyphCache.c, \
646 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
647 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
648 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
649 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
650 CFLAGS_windows = -DCC_NOEX, \
651 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast reorder \
652 delete-non-virtual-dtor type-limits, \
653 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
654 tautological-constant-out-of-range-compare int-to-pointer-cast, \
655 DISABLED_WARNINGS_solstudio := truncwarn, \
656 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996, \
657 WARNINGS_AS_ERRORS_gcc := false, \
658 WARNINGS_AS_ERRORS_solstudio := false, \
659 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \
660 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
661 $(call SET_SHARED_LIBRARY_ORIGIN), \
662 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
663 LDFLAGS_SUFFIX := $(BUILD_LIBFONTMANAGER_FONTLIB), \
664 LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
665 LDFLAGS_SUFFIX_solaris := -lawt -lawt_headless -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \
666 LDFLAGS_SUFFIX_aix := -lawt -lawt_headless $(LIBM) $(LIBCXX) -ljava -ljvm,\
667 LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
668 -ljava -ljvm, \
669 LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
670 $(WIN_AWT_LIB), \
671 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
672 RC_FLAGS := $(RC_FLAGS) \
673 -D "JDK_FNAME=fontmanager.dll" \
674 -D "JDK_INTERNAL_NAME=fontmanager" \
675 -D "JDK_FTYPE=0x2L", \
676 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \
677 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
678
870 -framework Foundation \
871 -framework Cocoa \
872 -framework JavaNativeFoundation
873 else ifeq ($(OPENJDK_TARGET_OS), windows)
874 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += kernel32.lib user32.lib gdi32.lib delayimp.lib -DELAYLOAD:user32.dll
875 else
876 LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
877 endif
878
879 $(eval $(call SetupNativeCompilation,BUILD_LIBSPLASHSCREEN, \
880 LIBRARY := splashscreen, \
881 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
882 SRC := $(LIBSPLASHSCREEN_DIRS), \
883 EXCLUDE_FILES := imageioJPEG.c jpegdecoder.c pngtest.c, \
884 EXCLUDES := $(LIBSPLASHSCREEN_EXCLUDES), \
885 OPTIMIZATION := LOW, \
886 CFLAGS := $(LIBSPLASHSCREEN_CFLAGS) $(CFLAGS_JDKLIB) \
887 $(GIFLIB_CFLAGS) $(LIBJPEG_CFLAGS) $(PNG_CFLAGS), \
888 DISABLED_WARNINGS_gcc := type-limits unused-result maybe-uninitialized, \
889 DISABLED_WARNINGS_clang := incompatible-pointer-types, \
890 DISABLED_WARNINGS_solstudio := E_NEWLINE_NOT_LAST E_DECLARATION_IN_CODE, \
891 DISABLED_WARNINGS_microsoft := 4244 4267, \
892 MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libsplashscreen/mapfile-vers, \
893 LDFLAGS := $(LDFLAGS_JDKLIB) \
894 $(call SET_SHARED_LIBRARY_ORIGIN), \
895 LDFLAGS_SUFFIX := $(LIBSPLASHSCREEN_LDFLAGS_SUFFIX) $(LIBZ) \
896 $(GIFLIB_LDFLAGS) $(LIBJPEG_LDFLAGS) $(PNG_LIBS), \
897 LDFLAGS_SUFFIX_solaris := -lc, \
898 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
899 RC_FLAGS := $(RC_FLAGS) \
900 -D "JDK_FNAME=splashscreen.dll" \
901 -D "JDK_INTERNAL_NAME=splashscreen" \
902 -D "JDK_FTYPE=0x2L", \
903 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libsplashscreen, \
904 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
905
906 TARGETS += $(BUILD_LIBSPLASHSCREEN)
907
908 ifeq ($(OPENJDK_TARGET_OS), macosx)
909 $(BUILD_LIBSPLASHSCREEN): $(INSTALL_LIBRARIES_HERE)/$(LIBRARY_PREFIX)osxapp$(SHARED_LIBRARY_SUFFIX)
910 endif
944 #
945
946 LIBAWT_LWAWT_EXFILES := fontpath.c awt_Font.c X11Color.c
947 LIBAWT_LWAWT_EXCLUDES := $(JDK_TOPDIR)/src/java.desktop/unix/native/common/awt/medialib
948
949 $(eval $(call SetupNativeCompilation,BUILD_LIBAWT_LWAWT, \
950 LIBRARY := awt_lwawt, \
951 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
952 SRC := $(LIBAWT_LWAWT_DIRS), \
953 INCLUDE_FILES := $(LIBAWT_LWAWT_FILES), \
954 EXCLUDE_FILES := $(LIBAWT_LWAWT_EXFILES), \
955 EXCLUDES := $(LIBAWT_LWAWT_EXCLUDES), \
956 OPTIMIZATION := LOW, \
957 CFLAGS := $(CFLAGS_JDKLIB) \
958 $(X_CFLAGS) \
959 $(X_LIBS) \
960 $(LIBAWT_LWAWT_CFLAGS), \
961 DISABLED_WARNINGS_clang := incomplete-implementation \
962 deprecated-declarations objc-method-access bitwise-op-parentheses \
963 incompatible-pointer-types parentheses-equality extra-tokens, \
964 WARNINGS_AS_ERRORS_clang := false, \
965 LDFLAGS := $(LDFLAGS_JDKLIB) \
966 $(call SET_SHARED_LIBRARY_ORIGIN) \
967 -L$(INSTALL_LIBRARIES_HERE), \
968 LDFLAGS_SUFFIX_macosx := -lawt -lmlib_image -losxapp -ljvm $(LIBM) \
969 -framework Accelerate \
970 -framework ApplicationServices \
971 -framework AudioToolbox \
972 -framework Carbon \
973 -framework Cocoa \
974 -framework Security \
975 -framework ExceptionHandling \
976 -framework JavaNativeFoundation \
977 -framework JavaRuntimeSupport \
978 -framework OpenGL \
979 -framework QuartzCore -ljava, \
980 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libawt_lwawt, \
981 DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
982
983 TARGETS += $(BUILD_LIBAWT_LWAWT)
984
|