@@ -535,26 +535,13 @@ endif
535
535
536
536
###########################################################################
537
537
538
+
538
539
ifeq ($(USE_EXTERNAL_HARFBUZZ), true)
539
- LIBHARFBUZZ_LIBS := $(HARFBUZZ_LIBS)
540
+ LIBFONTMANAGER_EXTRA_SRC =
541
+ BUILD_LIBFONTMANAGER_FONTLIB += $(HARFBUZZ_LIBS)
540
542
else
543
+ LIBFONTMANAGER_EXTRA_SRC = libharfbuzz
541
544
HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
542
- # This is better than adding EXPORT_ALL_SYMBOLS
543
- ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang solstudio), )
544
- HARFBUZZ_CFLAGS += -DHB_EXTERN=__attribute__\(\(visibility\(\"default\"\)\)\)
545
- else ifeq ($(TOOLCHAIN_TYPE), microsoft)
546
- HARFBUZZ_CFLAGS += -DHB_EXTERN=__declspec\(dllexport\)
547
- endif
548
-
549
- LIBHARFBUZZ_LDFLAGS := $(LDFLAGS_JDKLIB) \
550
- $(call SET_SHARED_LIBRARY_ORIGIN)
551
- ifeq ($(TOOLCHAIN_TYPE), gcc)
552
- ifeq ($(CC_VERSION_NUMBER), 4.4.7)
553
- LIBHARFBUZZ_LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
554
- $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) \
555
- $(call SET_SHARED_LIBRARY_ORIGIN)
556
- endif
557
- endif
558
545
559
546
ifneq ($(OPENJDK_TARGET_OS), windows)
560
547
HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
@@ -571,84 +558,45 @@ else
571
558
HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
572
559
endif
573
560
ifneq ($(OPENJDK_TARGET_OS), macosx)
574
- LIBHARFBUZZ_EXCLUDE_FILES += harfbuzz /hb-coretext.cc
561
+ LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz /hb-coretext.cc
575
562
endif
576
563
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
577
- LIBHARFBUZZ_EXCLUDE_FILES += harfbuzz/hb-ft.cc
578
-
579
- LIBHARFBUZZ_CFLAGS += $(HARFBUZZ_CFLAGS)
580
-
581
- # For use by libfontmanager:
582
- ifeq ($(OPENJDK_TARGET_OS), windows)
583
- LIBHARFBUZZ_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libharfbuzz/harfbuzz.lib
584
- else
585
- LIBHARFBUZZ_LIBS := -lharfbuzz
586
- endif
587
-
588
- LIBHARFBUZZ_EXTRA_HEADER_DIRS := \
589
- libharfbuzz/hb-ucdn \
590
- #
591
-
592
- LIBHARFBUZZ_OPTIMIZATION := HIGH
593
-
594
- LIBHARFBUZZ_CFLAGS += $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
595
-
596
- $(eval $(call SetupJdkLibrary, BUILD_LIBHARFBUZZ, \
597
- NAME := harfbuzz, \
598
- EXCLUDE_FILES := $(LIBHARFBUZZ_EXCLUDE_FILES), \
599
- TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
600
- CFLAGS := $(CFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
601
- CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
602
- OPTIMIZATION := $(LIBHARFBUZZ_OPTIMIZATION), \
603
- CFLAGS_windows = -DCC_NOEX, \
604
- EXTRA_HEADER_DIRS := $(LIBHARFBUZZ_EXTRA_HEADER_DIRS), \
605
- WARNINGS_AS_ERRORS_xlc := false, \
606
- DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing, \
607
- DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
608
- maybe-uninitialized class-memaccess, \
609
- DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
610
- tautological-constant-out-of-range-compare int-to-pointer-cast \
611
- undef missing-field-initializers, \
612
- DISABLED_WARNINGS_C_solstudio := \
613
- E_INTEGER_OVERFLOW_DETECTED \
614
- E_ARG_INCOMPATIBLE_WITH_ARG_L \
615
- E_ENUM_VAL_OVERFLOWS_INT_MAX, \
616
- DISABLED_WARNINGS_CXX_solstudio := \
617
- truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
618
- hidevf w_novirtualdescr arrowrtn2 unknownpragma, \
619
- DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138, \
620
- LDFLAGS := $(LIBHARFBUZZ_LDFLAGS), \
621
- LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
622
- LDFLAGS_aix := -Wl$(COMMA)-berok, \
623
- LIBS := $(BUILD_LIBHARFBUZZ), \
624
- LIBS_unix := $(LIBM) $(LIBCXX), \
625
- LIBS_macosx := -framework CoreText -framework CoreFoundation -framework CoreGraphics, \
626
- LIBS_windows := user32.lib, \
627
- ))
628
-
629
- ifeq ($(FREETYPE_TO_USE), bundled)
630
- $(BUILD_LIBHARFBUZZ): $(BUILD_LIBFREETYPE)
631
- endif
564
+ LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz/hb-ft.cc
565
+
566
+ HARFBUZZ_DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing
567
+ HARFBUZZ_DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
568
+ maybe-uninitialized class-memaccess
569
+ HARFBUZZ_DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
570
+ tautological-constant-out-of-range-compare int-to-pointer-cast \
571
+ undef missing-field-initializers
572
+ HARFBUZZ_DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138
573
+ HARFBUZZ_DISABLED_WARNINGS_C_solstudio := \
574
+ E_INTEGER_OVERFLOW_DETECTED \
575
+ E_ARG_INCOMPATIBLE_WITH_ARG_L \
576
+ E_ENUM_VAL_OVERFLOWS_INT_MAX
577
+ HARFBUZZ_DISABLED_WARNINGS_CXX_solstudio := \
578
+ truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
579
+ hidevf w_novirtualdescr arrowrtn2 unknownpragma
632
580
633
- TARGETS += $(BUILD_LIBHARFBUZZ )
581
+ LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS )
634
582
635
583
endif
636
584
637
- ###########################################################################
638
585
639
586
LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
640
587
libharfbuzz \
588
+ libharfbuzz/hb-ucdn \
641
589
common/awt \
642
590
common/font \
643
591
libawt/java2d \
644
592
libawt/java2d/pipe \
645
593
libawt/java2d/loops \
646
594
#
647
595
648
- LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS) $(HARFBUZZ_FLAGS)
649
- BUILD_LIBFONTMANAGER_FONTLIB += $(LIBHARFBUZZ_LIBS) $(LIBFREETYPE_LIBS)
596
+ LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS)
597
+ BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
650
598
651
- LIBFONTMANAGER_OPTIMIZATION := HIGH
599
+ LIBFONTMANAGER_OPTIMIZATION := HIGHEST
652
600
653
601
ifeq ($(OPENJDK_TARGET_OS), windows)
654
602
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
@@ -686,35 +634,28 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
686
634
OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
687
635
CFLAGS_windows = -DCC_NOEX, \
688
636
EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
637
+ EXTRA_SRC := $(LIBFONTMANAGER_EXTRA_SRC), \
689
638
WARNINGS_AS_ERRORS_xlc := false, \
690
- DISABLED_WARNINGS_gcc := sign-compare unused-function int-to-pointer-cast, \
691
- DISABLED_WARNINGS_clang := sign-compare, \
692
- DISABLED_WARNINGS_C_solstudio := \
693
- E_INTEGER_OVERFLOW_DETECTED \
694
- E_ARG_INCOMPATIBLE_WITH_ARG_L \
695
- E_ENUM_VAL_OVERFLOWS_INT_MAX, \
696
- DISABLED_WARNINGS_CXX_solstudio := \
697
- truncwarn wvarhidenmem wvarhidemem wbadlkginit identexpected \
698
- hidevf w_novirtualdescr arrowrtn2 unknownpragma, \
699
- DISABLED_WARNINGS_microsoft := 4018 4146 4244 4996 4996 4146 4334 4819 4101 4068 4805 4138, \
639
+ DISABLED_WARNINGS_gcc := sign-compare unused-function int-to-pointer-cast $(HARFBUZZ_DISABLED_WARNINGS_gcc), \
640
+ DISABLED_WARNINGS_CXX_gcc := $(HARFBUZZ_DISABLED_WARNINGS_CXX_gcc), \
641
+ DISABLED_WARNINGS_clang := sign-compare $(HARFBUZZ_DISABLED_WARNINGS_clang), \
642
+ DISABLED_WARNINGS_C_solstudio := $(HARFBUZZ_DISABLED_WARNINGS_C_solstudio), \
643
+ DISABLED_WARNINGS_CXX_solstudio := $(HARFBUZZ_DISABLED_WARNINGS_CXX_solstudio), \
644
+ DISABLED_WARNINGS_microsoft := 4018 4996 $(HARFBUZZ_DISABLED_WARNINGS_microsoft), \
700
645
LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
701
646
$(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
702
647
$(call SET_SHARED_LIBRARY_ORIGIN), \
703
648
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
704
649
LDFLAGS_aix := -Wl$(COMMA)-berok, \
705
650
LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
706
651
LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
707
- LIBS_macosx := -lawt_lwawt, \
652
+ LIBS_macosx := -lawt_lwawt -framework CoreText -framework CoreFoundation -framework CoreGraphics , \
708
653
LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
709
654
$(WIN_AWT_LIB), \
710
655
))
711
656
712
657
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
713
658
714
- ifeq ($(USE_EXTERNAL_HARFBUZZ), false)
715
- $(BUILD_LIBFONTMANAGER): $(BUILD_LIBHARFBUZZ)
716
- endif
717
-
718
659
ifeq ($(OPENJDK_TARGET_OS), macosx)
719
660
$(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)
720
661
endif
0 commit comments