585 TARGETS += $(BUILD_LIBAWT_HEADLESS) 586 587 endif 588 endif 589 590 ################################################################################ 591 592 LIBFONTMANAGER_SRC := $(JDK_TOPDIR)/src/java.desktop/share/native/libfontmanager \ 593 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libfontmanager 594 LIBFONTMANAGER_CFLAGS := \ 595 $(addprefix -I, $(shell $(FIND) \ 596 $(LIBFONTMANAGER_SRC) \ 597 $(JDK_TOPDIR)/src/java.desktop/share/native/libawt \ 598 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \ 599 $(JDK_TOPDIR)/src/java.desktop/share/native/common \ 600 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common -type d)) \ 601 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ 602 $(LIBJAVA_HEADER_FLAGS) \ 603 # 604 605 ifndef OPENJDK 606 LIBFONTMANAGER_CFLAGS += -I$(JDK_TOPDIR)/src/closed/java.desktop/share/native/libt2k 607 BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers 608 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c 609 else 610 LIBFONTMANAGER_CFLAGS += $(FREETYPE_CFLAGS) 611 BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers.openjdk 612 BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE_LIBS) 613 endif 614 615 LIBFONTMANAGER_OPTIMIZATION := HIGH 616 617 ifeq ($(OPENJDK_TARGET_OS), windows) 618 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ 619 X11TextRenderer.c 620 LIBFONTMANAGER_OPTIMIZATION := HIGHEST 621 LIBFONTMANAGER_CFLAGS += -I$(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows 622 else ifeq ($(OPENJDK_TARGET_OS), macosx) 623 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ 624 X11TextRenderer.c \ 631 632 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS 633 634 # Turn off aliasing with GCC for ExtensionSubtables.cpp 635 ifeq ($(OPENJDK_TARGET_OS), linux) 636 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing 637 endif 638 639 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \ 640 LIBRARY := fontmanager, \ 641 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 642 SRC := $(LIBFONTMANAGER_SRC), \ 643 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \ 644 AccelGlyphCache.c, \ 645 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ 646 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \ 647 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \ 648 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \ 649 CFLAGS_windows = -DCC_NOEX, \ 650 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast reorder \ 651 delete-non-virtual-dtor type-limits, \ 652 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \ 653 tautological-constant-out-of-range-compare int-to-pointer-cast, \ 654 DISABLED_WARNINGS_solstudio := truncwarn, \ 655 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146, \ 656 WARNINGS_AS_ERRORS_gcc := false, \ 657 WARNINGS_AS_ERRORS_solstudio := false, \ 658 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \ 659 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \ 660 $(call SET_SHARED_LIBRARY_ORIGIN), \ 661 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ 662 LDFLAGS_macosx := -undefined dynamic_lookup, \ 663 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \ 664 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \ 665 LIBS_linux := -lc, \ 666 LIBS_solaris := -lawt_headless -lc, \ 667 LIBS_aix := -lawt_headless,\ 668 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ 669 $(WIN_AWT_LIB), \ 670 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ 671 RC_FLAGS := $(RC_FLAGS) \ 672 -D "JDK_FNAME=fontmanager.dll" \ 673 -D "JDK_INTERNAL_NAME=fontmanager" \ 674 -D "JDK_FTYPE=0x2L", \ 675 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \ | 585 TARGETS += $(BUILD_LIBAWT_HEADLESS) 586 587 endif 588 endif 589 590 ################################################################################ 591 592 LIBFONTMANAGER_SRC := $(JDK_TOPDIR)/src/java.desktop/share/native/libfontmanager \ 593 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libfontmanager 594 LIBFONTMANAGER_CFLAGS := \ 595 $(addprefix -I, $(shell $(FIND) \ 596 $(LIBFONTMANAGER_SRC) \ 597 $(JDK_TOPDIR)/src/java.desktop/share/native/libawt \ 598 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt \ 599 $(JDK_TOPDIR)/src/java.desktop/share/native/common \ 600 $(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common -type d)) \ 601 -I$(SUPPORT_OUTPUTDIR)/headers/java.desktop \ 602 $(LIBJAVA_HEADER_FLAGS) \ 603 # 604 605 #### Begin harfbuzz configuration 606 607 HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN 608 609 ifneq ($(OPENJDK_TARGET_OS), windows) 610 HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \ 611 -DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H 612 endif 613 ifneq (, $(findstring $(OPENJDK_TARGET_OS), linux macosx)) 614 HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES 615 endif 616 ifeq ($(OPENJDK_TARGET_OS), solaris) 617 HARFBUZZ_CFLAGS += -DHAVE_SOLARIS_ATOMIC_OPS 618 endif 619 ifeq ($(OPENJDK_TARGET_OS), macosx) 620 HARFBUZZ_CFLAGS += -DHAVE_CORETEXT 621 endif 622 ifneq ($(OPENJDK_TARGET_OS), macosx) 623 LIBFONTMANAGER_EXCLUDE_FILES += harfbuzz/hb-coretext.cc 624 endif 625 ifndef OPENJDK 626 LIBFONTMANAGER_EXCLUDE_FILES += harfbuzz/hb-ft.cc 627 endif 628 629 LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS) 630 631 #### End harfbuzz configuration 632 633 ifndef OPENJDK 634 LIBFONTMANAGER_CFLAGS += -I$(JDK_TOPDIR)/src/closed/java.desktop/share/native/libt2k 635 BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers 636 LIBFONTMANAGER_EXCLUDE_FILES += freetypeScaler.c 637 else 638 LIBFONTMANAGER_CFLAGS += $(FREETYPE_CFLAGS) 639 BUILD_LIBFONTMANAGER_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libfontmanager/mapfile-vers.openjdk 640 BUILD_LIBFONTMANAGER_FONTLIB := $(FREETYPE_LIBS) 641 endif 642 643 LIBFONTMANAGER_OPTIMIZATION := HIGH 644 645 ifeq ($(OPENJDK_TARGET_OS), windows) 646 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ 647 X11TextRenderer.c 648 LIBFONTMANAGER_OPTIMIZATION := HIGHEST 649 LIBFONTMANAGER_CFLAGS += -I$(JDK_TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/libawt/windows 650 else ifeq ($(OPENJDK_TARGET_OS), macosx) 651 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \ 652 X11TextRenderer.c \ 659 660 LIBFONTMANAGER_CFLAGS += $(FONT_HEADERS) $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS 661 662 # Turn off aliasing with GCC for ExtensionSubtables.cpp 663 ifeq ($(OPENJDK_TARGET_OS), linux) 664 BUILD_LIBFONTMANAGER_ExtensionSubtables.cpp_CXXFLAGS := -fno-strict-aliasing 665 endif 666 667 $(eval $(call SetupNativeCompilation,BUILD_LIBFONTMANAGER, \ 668 LIBRARY := fontmanager, \ 669 OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \ 670 SRC := $(LIBFONTMANAGER_SRC), \ 671 EXCLUDE_FILES := $(LIBFONTMANAGER_EXCLUDE_FILES) \ 672 AccelGlyphCache.c, \ 673 TOOLCHAIN := TOOLCHAIN_LINK_CXX, \ 674 CFLAGS := $(CFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \ 675 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \ 676 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \ 677 CFLAGS_windows = -DCC_NOEX, \ 678 DISABLED_WARNINGS_gcc := sign-compare int-to-pointer-cast reorder \ 679 delete-non-virtual-dtor type-limits missing-field-initializers, \ 680 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \ 681 tautological-constant-out-of-range-compare int-to-pointer-cast, \ 682 DISABLED_WARNINGS_solstudio := truncwarn, \ 683 DISABLED_WARNINGS_microsoft := 4267 4244 4018 4090 4996 4146 4334, \ 684 WARNINGS_AS_ERRORS_gcc := false, \ 685 WARNINGS_AS_ERRORS_solstudio := false, \ 686 MAPFILE := $(BUILD_LIBFONTMANAGER_MAPFILE), \ 687 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,,$(LDFLAGS_JDKLIB)) $(LDFLAGS_CXX_JDK) \ 688 $(call SET_SHARED_LIBRARY_ORIGIN), \ 689 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \ 690 LDFLAGS_macosx := -undefined dynamic_lookup, \ 691 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \ 692 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \ 693 LIBS_linux := -lc, \ 694 LIBS_solaris := -lawt_headless -lc, \ 695 LIBS_aix := -lawt_headless,\ 696 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ 697 $(WIN_AWT_LIB), \ 698 VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \ 699 RC_FLAGS := $(RC_FLAGS) \ 700 -D "JDK_FNAME=fontmanager.dll" \ 701 -D "JDK_INTERNAL_NAME=fontmanager" \ 702 -D "JDK_FTYPE=0x2L", \ 703 OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libfontmanager, \ |