415 LIBFREETYPE_LIBS := -lfreetype
416 endif
417
418 $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
419 NAME := freetype, \
420 OPTIMIZATION := HIGHEST, \
421 CFLAGS := $(CFLAGS_JDKLIB) \
422 $(BUILD_LIBFREETYPE_CFLAGS), \
423 EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
424 DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
425 DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \
426 LDFLAGS := $(LDFLAGS_JDKLIB) \
427 $(call SET_SHARED_LIBRARY_ORIGIN), \
428 ))
429
430 TARGETS += $(BUILD_LIBFREETYPE)
431 endif
432
433 ###########################################################################
434
435 HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
436
437 # This is better than adding EXPORT_ALL_SYMBOLS
438 ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
439 HARFBUZZ_CFLAGS += -DHB_EXTERN=__attribute__\(\(visibility\(\"default\"\)\)\)
440 else ifeq ($(TOOLCHAIN_TYPE), microsoft)
441 HARFBUZZ_CFLAGS += -DHB_EXTERN=__declspec\(dllexport\)
442 endif
443
444 ifeq ($(call isTargetOs, windows), false)
445 HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
446 -DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H \
447 -DHB_NO_PRAGMA_GCC_DIAGNOSTIC
448 endif
449 ifeq ($(call isTargetOs, linux macosx), true)
450 HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
451 endif
452 ifeq ($(call isTargetOs, macosx), true)
453 HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
454 endif
491 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
492 tautological-constant-out-of-range-compare int-to-pointer-cast \
493 undef missing-field-initializers, \
494 DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138, \
495 LDFLAGS := $(LDFLAGS_JDKLIB) \
496 $(call SET_SHARED_LIBRARY_ORIGIN), \
497 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
498 LDFLAGS_aix := -Wl$(COMMA)-berok, \
499 LIBS := $(BUILD_LIBHARFBUZZ), \
500 LIBS_unix := $(LIBM) $(LIBCXX), \
501 LIBS_macosx := -framework CoreText -framework CoreFoundation -framework CoreGraphics, \
502 LIBS_windows := user32.lib, \
503 ))
504
505 ifeq ($(FREETYPE_TO_USE), bundled)
506 $(BUILD_LIBHARFBUZZ): $(BUILD_LIBFREETYPE)
507 endif
508
509 TARGETS += $(BUILD_LIBHARFBUZZ)
510
511 ###########################################################################
512
513 LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
514 libharfbuzz \
515 common/awt \
516 common/font \
517 libawt/java2d \
518 libawt/java2d/pipe \
519 libawt/java2d/loops \
520 #
521
522 LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS) $(HARFBUZZ_FLAGS)
523 BUILD_LIBFONTMANAGER_FONTLIB += $(LIBHARFBUZZ_LIBS) $(LIBFREETYPE_LIBS)
524
525 LIBFONTMANAGER_OPTIMIZATION := HIGH
526
527 ifeq ($(call isTargetOs, windows), true)
528 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
529 X11TextRenderer.c
530 LIBFONTMANAGER_OPTIMIZATION := HIGHEST
559 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
560 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
561 CFLAGS_windows = -DCC_NOEX, \
562 EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
563 WARNINGS_AS_ERRORS_xlc := false, \
564 DISABLED_WARNINGS_gcc := sign-compare unused-function, \
565 DISABLED_WARNINGS_clang := sign-compare, \
566 DISABLED_WARNINGS_microsoft := 4018 4146 4244 4996, \
567 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
568 $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
569 $(call SET_SHARED_LIBRARY_ORIGIN), \
570 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
571 LDFLAGS_aix := -Wl$(COMMA)-berok, \
572 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
573 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
574 LIBS_macosx := -lawt_lwawt, \
575 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
576 $(WIN_AWT_LIB), \
577 ))
578
579 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT) $(BUILD_LIBHARFBUZZ)
580
581 ifeq ($(call isTargetOs, macosx), true)
582 $(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)
583 endif
584
585 ifeq ($(FREETYPE_TO_USE), bundled)
586 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBFREETYPE)
587 endif
588
589 TARGETS += $(BUILD_LIBFONTMANAGER)
590
591 ################################################################################
592
593 ifeq ($(call isTargetOs, windows), true)
594
595 LIBJAWT_CFLAGS := -EHsc -DUNICODE -D_UNICODE
596
597 LIBJAWT_EXTRA_HEADER_DIRS := \
598 include \
599 common/awt/debug \
|
415 LIBFREETYPE_LIBS := -lfreetype
416 endif
417
418 $(eval $(call SetupJdkLibrary, BUILD_LIBFREETYPE, \
419 NAME := freetype, \
420 OPTIMIZATION := HIGHEST, \
421 CFLAGS := $(CFLAGS_JDKLIB) \
422 $(BUILD_LIBFREETYPE_CFLAGS), \
423 EXTRA_HEADER_DIRS := $(BUILD_LIBFREETYPE_HEADER_DIRS), \
424 DISABLED_WARNINGS_microsoft := 4018 4267 4244 4312 4819, \
425 DISABLED_WARNINGS_gcc := implicit-fallthrough cast-function-type bad-function-cast, \
426 LDFLAGS := $(LDFLAGS_JDKLIB) \
427 $(call SET_SHARED_LIBRARY_ORIGIN), \
428 ))
429
430 TARGETS += $(BUILD_LIBFREETYPE)
431 endif
432
433 ###########################################################################
434
435 ifeq ($(USE_EXTERNAL_HARFBUZZ), true)
436 LIBHARFBUZZ_LIBS := $(HARFBUZZ_LIBS)
437 else
438 HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
439
440 # This is better than adding EXPORT_ALL_SYMBOLS
441 ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
442 HARFBUZZ_CFLAGS += -DHB_EXTERN=__attribute__\(\(visibility\(\"default\"\)\)\)
443 else ifeq ($(TOOLCHAIN_TYPE), microsoft)
444 HARFBUZZ_CFLAGS += -DHB_EXTERN=__declspec\(dllexport\)
445 endif
446
447 ifeq ($(call isTargetOs, windows), false)
448 HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
449 -DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H \
450 -DHB_NO_PRAGMA_GCC_DIAGNOSTIC
451 endif
452 ifeq ($(call isTargetOs, linux macosx), true)
453 HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
454 endif
455 ifeq ($(call isTargetOs, macosx), true)
456 HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
457 endif
494 DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
495 tautological-constant-out-of-range-compare int-to-pointer-cast \
496 undef missing-field-initializers, \
497 DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138, \
498 LDFLAGS := $(LDFLAGS_JDKLIB) \
499 $(call SET_SHARED_LIBRARY_ORIGIN), \
500 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
501 LDFLAGS_aix := -Wl$(COMMA)-berok, \
502 LIBS := $(BUILD_LIBHARFBUZZ), \
503 LIBS_unix := $(LIBM) $(LIBCXX), \
504 LIBS_macosx := -framework CoreText -framework CoreFoundation -framework CoreGraphics, \
505 LIBS_windows := user32.lib, \
506 ))
507
508 ifeq ($(FREETYPE_TO_USE), bundled)
509 $(BUILD_LIBHARFBUZZ): $(BUILD_LIBFREETYPE)
510 endif
511
512 TARGETS += $(BUILD_LIBHARFBUZZ)
513
514 endif
515
516 ###########################################################################
517
518 LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
519 libharfbuzz \
520 common/awt \
521 common/font \
522 libawt/java2d \
523 libawt/java2d/pipe \
524 libawt/java2d/loops \
525 #
526
527 LIBFONTMANAGER_CFLAGS += $(LIBFREETYPE_CFLAGS) $(HARFBUZZ_FLAGS)
528 BUILD_LIBFONTMANAGER_FONTLIB += $(LIBHARFBUZZ_LIBS) $(LIBFREETYPE_LIBS)
529
530 LIBFONTMANAGER_OPTIMIZATION := HIGH
531
532 ifeq ($(call isTargetOs, windows), true)
533 LIBFONTMANAGER_EXCLUDE_FILES += X11FontScaler.c \
534 X11TextRenderer.c
535 LIBFONTMANAGER_OPTIMIZATION := HIGHEST
564 CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBFONTMANAGER_CFLAGS), \
565 OPTIMIZATION := $(LIBFONTMANAGER_OPTIMIZATION), \
566 CFLAGS_windows = -DCC_NOEX, \
567 EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
568 WARNINGS_AS_ERRORS_xlc := false, \
569 DISABLED_WARNINGS_gcc := sign-compare unused-function, \
570 DISABLED_WARNINGS_clang := sign-compare, \
571 DISABLED_WARNINGS_microsoft := 4018 4146 4244 4996, \
572 LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
573 $(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
574 $(call SET_SHARED_LIBRARY_ORIGIN), \
575 LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
576 LDFLAGS_aix := -Wl$(COMMA)-berok, \
577 LIBS := $(BUILD_LIBFONTMANAGER_FONTLIB), \
578 LIBS_unix := -lawt -ljava -ljvm $(LIBM) $(LIBCXX), \
579 LIBS_macosx := -lawt_lwawt, \
580 LIBS_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
581 $(WIN_AWT_LIB), \
582 ))
583
584 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
585
586 ifeq ($(USE_EXTERNAL_HARFBUZZ), false)
587 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBHARFBUZZ)
588 endif
589
590 ifeq ($(call isTargetOs, macosx), true)
591 $(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)
592 endif
593
594 ifeq ($(FREETYPE_TO_USE), bundled)
595 $(BUILD_LIBFONTMANAGER): $(BUILD_LIBFREETYPE)
596 endif
597
598 TARGETS += $(BUILD_LIBFONTMANAGER)
599
600 ################################################################################
601
602 ifeq ($(call isTargetOs, windows), true)
603
604 LIBJAWT_CFLAGS := -EHsc -DUNICODE -D_UNICODE
605
606 LIBJAWT_EXTRA_HEADER_DIRS := \
607 include \
608 common/awt/debug \
|