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