602 else ifeq ($(OPENJDK_TARGET_OS), macosx)
603 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
604 X11TextRenderer.c \
605 fontpath.c \
606 lcdglyph.c
607 else
608 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
609 lcdglyph.c
610 endif
611
612 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
613
614 ifeq ($(TOOLCHAIN_TYPE), gcc)
615 # Turn off all warnings for sunFont.c. This is needed because the specific warning
616 # about discarding 'const' qualifier cannot be turned off individually.
617 BUILD_LIBFONTMANAGER_sunFont.c_CFLAGS := -w
618 # Turn off aliasing with GCC for ExtensionSubtables.cpp
619 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
620 endif
621
622 $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
623 NAME := fontmanager, \
624 SRC := $(LIBFONTMANAGER_SRC), \
625 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
626 AccelGlyphCache.c, \
627 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
628 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
629 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
630 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
631 CFLAGS_windows = -DCC_NOEX, \
632 WARNINGS_AS_ERRORS_xlc := false, \
633 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
634 type-limits missing-field-initializers implicit-fallthrough, \
635 DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
636 maybe-uninitialized, \
637 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
638 tautological-constant-out-of-range-compare int-to-pointer-cast, \
639 DISABLED_WARNINGS_C_solstudio = \
640 E_INTEGER_OVERFLOW_DETECTED \
641 E_ARG_INCOMPATIBLE_WITH_ARG_L \
642 E_ENUM_VAL_OVERFLOWS_INT_MAX, \
643 DISABLED_WARNINGS_CXX_solstudio := \
644 truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
645 hidevf w_novirtualdescr arrowrtn2, \
646 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101, \
647 LDFLAGS := $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \
648 $(call SET_SHARED_LIBRARY_ORIGIN), \
649 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
650 LDFLAGS_macosx := -undefined dynamic_lookup, \
651 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
652 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
653 LIBS_aix := -lawt_headless,\
654 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
655 $(WIN_AWT_LIB), \
656 ))
657
658 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
659
660 ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix))
661 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_HEADLESS)
662 endif
663
664 ifeq ($(FREETYPE_TO_USE), bundled)
665 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBFREETYPE)
666 endif
667
|
602 else ifeq ($(OPENJDK_TARGET_OS), macosx)
603 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
604 X11TextRenderer.c \
605 fontpath.c \
606 lcdglyph.c
607 else
608 LIBFONTMANAGER_EXCLUDE_FILES += fontpath.c \
609 lcdglyph.c
610 endif
611
612 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
613
614 ifeq ($(TOOLCHAIN_TYPE), gcc)
615 # Turn off all warnings for sunFont.c. This is needed because the specific warning
616 # about discarding 'const' qualifier cannot be turned off individually.
617 BUILD_LIBFONTMANAGER_sunFont.c_CFLAGS := -w
618 # Turn off aliasing with GCC for ExtensionSubtables.cpp
619 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing
620 endif
621
622 # LDFLAGS clarification:
623 # Filter relevant linker flags disallowing unresolved symbols as we cannot
624 # build-time decide to which library to link against (libawt_headless or
625 # libawt_xawt). See JDK-8196516 for details.
626 $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
627 NAME := fontmanager, \
628 SRC := $(LIBFONTMANAGER_SRC), \
629 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \
630 AccelGlyphCache.c, \
631 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
632 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
633 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
634 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
635 CFLAGS_windows = -DCC_NOEX, \
636 WARNINGS_AS_ERRORS_xlc := false, \
637 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast \
638 type-limits missing-field-initializers implicit-fallthrough, \
639 DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
640 maybe-uninitialized, \
641 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
642 tautological-constant-out-of-range-compare int-to-pointer-cast, \
643 DISABLED_WARNINGS_C_solstudio = \
644 E_INTEGER_OVERFLOW_DETECTED \
645 E_ARG_INCOMPATIBLE_WITH_ARG_L \
646 E_ENUM_VAL_OVERFLOWS_INT_MAX, \
647 DISABLED_WARNINGS_CXX_solstudio := \
648 truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
649 hidevf w_novirtualdescr arrowrtn2, \
650 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334 4819 4101, \
651 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
652 $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
653 $(call SET_SHARED_LIBRARY_ORIGIN), \
654 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
655 LDFLAGS_macosx := -undefined dynamic_lookup, \
656 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
657 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
658 LIBS_aix := -lawt_headless,\
659 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
660 $(WIN_AWT_LIB), \
661 ))
662
663 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
664
665 ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix))
666 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_HEADLESS)
667 endif
668
669 ifeq ($(FREETYPE_TO_USE), bundled)
670 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBFREETYPE)
671 endif
672
|