@@ -434,102 +434,59 @@ endif
434
434
435
435
###########################################################################
436
436
437
+
437
438
ifeq ($(USE_EXTERNAL_HARFBUZZ), true)
438
- LIBHARFBUZZ_LIBS := $(HARFBUZZ_LIBS)
439
+ LIBFONTMANAGER_EXTRA_SRC =
440
+ BUILD_LIBFONTMANAGER_FONTLIB += $(HARFBUZZ_LIBS)
439
441
else
440
- HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
441
-
442
- # This is better than adding EXPORT_ALL_SYMBOLS
443
- ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
444
- HARFBUZZ_CFLAGS += -DHB_EXTERN=__attribute__\(\(visibility\(\"default\"\)\)\)
445
- else ifeq ($(TOOLCHAIN_TYPE), microsoft)
446
- HARFBUZZ_CFLAGS += -DHB_EXTERN=__declspec\(dllexport\)
447
- endif
448
-
449
- ifeq ($(call isTargetOs, windows), false)
450
- HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
451
- -DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H \
452
- -DHB_NO_PRAGMA_GCC_DIAGNOSTIC
453
- endif
454
- ifeq ($(call isTargetOs, linux macosx), true)
455
- HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
456
- endif
457
- ifeq ($(call isTargetOs, macosx), true)
458
- HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
459
- endif
460
- ifeq ($(call isTargetOs, macosx), false)
461
- LIBHARFBUZZ_EXCLUDE_FILES += harfbuzz/hb-coretext.cc
462
- endif
463
- # hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
464
- LIBHARFBUZZ_EXCLUDE_FILES += harfbuzz/hb-ft.cc
465
-
466
- LIBHARFBUZZ_CFLAGS += $(HARFBUZZ_CFLAGS)
467
-
468
- # For use by libfontmanager:
469
- ifeq ($(call isTargetOs, windows), true)
470
- LIBHARFBUZZ_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libharfbuzz/harfbuzz.lib
471
- else
472
- LIBHARFBUZZ_LIBS := -lharfbuzz
473
- endif
474
-
475
- LIBHARFBUZZ_EXTRA_HEADER_DIRS := \
476
- libharfbuzz/hb-ucdn \
477
- #
478
-
479
- LIBHARFBUZZ_OPTIMIZATION := HIGH
480
-
481
- LIBHARFBUZZ_CFLAGS += $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
482
-
483
- $(eval $(call SetupJdkLibrary, BUILD_LIBHARFBUZZ, \
484
- NAME := harfbuzz, \
485
- EXCLUDE_FILES := $(LIBHARFBUZZ_EXCLUDE_FILES), \
486
- TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
487
- CFLAGS := $(CFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
488
- CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
489
- OPTIMIZATION := $(LIBHARFBUZZ_OPTIMIZATION), \
490
- CFLAGS_windows = -DCC_NOEX, \
491
- EXTRA_HEADER_DIRS := $(LIBHARFBUZZ_EXTRA_HEADER_DIRS), \
492
- WARNINGS_AS_ERRORS_xlc := false, \
493
- DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing, \
494
- DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
495
- maybe-uninitialized class-memaccess, \
496
- DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
442
+ LIBFONTMANAGER_EXTRA_SRC = libharfbuzz
443
+ HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
444
+
445
+ ifeq ($(call isTargetOs, windows), false)
446
+ HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
447
+ -DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H \
448
+ -DHB_NO_PRAGMA_GCC_DIAGNOSTIC
449
+ endif
450
+ ifeq ($(call isTargetOs, linux macosx), true)
451
+ HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
452
+ endif
453
+ ifeq ($(call isTargetOs, macosx), true)
454
+ HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
455
+ endif
456
+
457
+ ifeq ($(call isTargetOs, macosx), false)
458
+ LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz/hb-coretext.cc
459
+ endif
460
+ # hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
461
+ LIBFONTMANAGER_EXCLUDE_FILES += libharfbuzz/hb-ft.cc
462
+
463
+ HARFBUZZ_DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing
464
+ HARFBUZZ_DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
465
+ maybe-uninitialized class-memaccess
466
+ HARFBUZZ_DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
497
467
tautological-constant-out-of-range-compare int-to-pointer-cast \
498
- undef missing-field-initializers, \
499
- DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138, \
500
- LDFLAGS := $(LDFLAGS_JDKLIB) \
501
- $(call SET_SHARED_LIBRARY_ORIGIN), \
502
- LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
503
- LDFLAGS_aix := -Wl$(COMMA)-berok, \
504
- LIBS := $(BUILD_LIBHARFBUZZ), \
505
- LIBS_unix := $(LIBM) $(LIBCXX), \
506
- LIBS_macosx := -framework CoreText -framework CoreFoundation -framework CoreGraphics, \
507
- LIBS_windows := user32.lib, \
508
- ))
509
-
510
- ifeq ($(FREETYPE_TO_USE), bundled)
511
- $(BUILD_LIBHARFBUZZ): $(BUILD_LIBFREETYPE)
512
- endif
468
+ undef missing-field-initializers
469
+ HARFBUZZ_DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138
513
470
514
- TARGETS += $(BUILD_LIBHARFBUZZ )
471
+ LIBFONTMANAGER_CFLAGS += $(HARFBUZZ_CFLAGS )
515
472
516
473
endif
517
474
518
- ###########################################################################
519
475
520
476
LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
521
477
libharfbuzz \
478
+ libharfbuzz/hb-ucdn \
522
479
common/awt \
523
480
common/font \
524
481
libawt/java2d \
525
482
libawt/java2d/pipe \
526
483
libawt/java2d/loops \
527
484
#
528
485
529
- LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS) $(HARFBUZZ_FLAGS)
530
- BUILD_LIBFONTMANAGER_FONTLIB += $(LIBHARFBUZZ_LIBS) $(LIBFREETYPE_LIBS)
486
+ LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS)
487
+ BUILD_LIBFONTMANAGER_FONTLIB += $(LIBFREETYPE_LIBS)
531
488
532
- LIBFONTMANAGER_OPTIMIZATION := HIGH
489
+ LIBFONTMANAGER_OPTIMIZATION := HIGHEST
533
490
534
491
ifeq ($(call isTargetOs, windows), true)
535
492
LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
@@ -567,28 +524,26 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
567
524
OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
568
525
CFLAGS_windows = -DCC_NOEX, \
569
526
EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
527
+ EXTRA_SRC := $(LIBFONTMANAGER_EXTRA_SRC), \
570
528
WARNINGS_AS_ERRORS_xlc := false, \
571
- DISABLED_WARNINGS_gcc := sign-compare unused-function int-to-pointer-cast, \
572
- DISABLED_WARNINGS_clang := sign-compare, \
573
- DISABLED_WARNINGS_microsoft := 4018 4146 4244 4996, \
529
+ DISABLED_WARNINGS_gcc := sign-compare unused-function int-to-pointer-cast $(HARFBUZZ_DISABLED_WARNINGS_gcc), \
530
+ DISABLED_WARNINGS_CXX_gcc := $(HARFBUZZ_DISABLED_WARNINGS_CXX_gcc), \
531
+ DISABLED_WARNINGS_clang := sign-compare $(HARFBUZZ_DISABLED_WARNINGS_clang), \
532
+ DISABLED_WARNINGS_microsoft := 4018 4996 $(HARFBUZZ_DISABLED_WARNINGS_microsoft), \
574
533
LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
575
534
$(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
576
535
$(call SET_SHARED_LIBRARY_ORIGIN), \
577
536
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
578
537
LDFLAGS_aix := -Wl$(COMMA)-berok, \
579
538
LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
580
539
LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
581
- LIBS_macosx := -lawt_lwawt, \
540
+ LIBS_macosx := -lawt_lwawt -framework CoreText -framework CoreFoundation -framework CoreGraphics , \
582
541
LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
583
542
$(WIN_AWT_LIB), \
584
543
))
585
544
586
545
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
587
546
588
- ifeq ($(USE_EXTERNAL_HARFBUZZ), false)
589
- $(BUILD_LIBFONTMANAGER): $(BUILD_LIBHARFBUZZ)
590
- endif
591
-
592
547
ifeq ($(call isTargetOs, macosx), true)
593
548
$(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)
594
549
endif
0 commit comments