diff options
Diffstat (limited to '0024-Bug-847568-Support-system-harfbuzz.patch')
-rw-r--r-- | 0024-Bug-847568-Support-system-harfbuzz.patch | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/0024-Bug-847568-Support-system-harfbuzz.patch b/0024-Bug-847568-Support-system-harfbuzz.patch new file mode 100644 index 000000000000..fbd0a5095206 --- /dev/null +++ b/0024-Bug-847568-Support-system-harfbuzz.patch @@ -0,0 +1,178 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Thomas Deutschmann <whissi@gentoo.org> +Date: Mon, 6 Apr 2020 19:32:39 +0200 +Subject: [PATCH] Bug 847568 - Support system harfbuzz + +Allow building against system-wide harfbuzz. + +Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=847568 +Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> +--- + config/system-headers.mozbuild | 7 +++++++ + dom/base/moz.build | 3 +++ + gfx/moz.build | 4 +++- + gfx/skia/generate_mozbuild.py | 3 +++ + gfx/skia/moz.build | 3 +++ + gfx/thebes/moz.build | 3 +++ + intl/unicharutil/util/moz.build | 3 +++ + netwerk/dns/moz.build | 3 +++ + toolkit/library/moz.build | 3 +++ + toolkit/moz.configure | 9 +++++++++ + 10 files changed, 40 insertions(+), 1 deletion(-) + +diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild +index b2ccfe5a41b1026cde2184b2881754a5a9b455a5..4886a4ef96ef739ee795e0309b7783c3f33856fd 100644 +--- a/config/system-headers.mozbuild ++++ b/config/system-headers.mozbuild +@@ -1237,6 +1237,13 @@ if CONFIG['OS_TARGET'] == 'Android': + 'vr/gvr/capi/include/gvr.h', + ] + ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ system_headers += [ ++ 'harfbuzz/hb-glib.h', ++ 'harfbuzz/hb-ot.h', ++ 'harfbuzz/hb.h', ++ ] ++ + if CONFIG['MOZ_JACK']: + system_headers += [ + 'jack/jack.h', +diff --git a/dom/base/moz.build b/dom/base/moz.build +index d4ed2d914eef0e3b52ae559d494ca298e27dc0ca..4f82e8d6e50dd3b47d0909b7125c830850cc8c02 100644 +--- a/dom/base/moz.build ++++ b/dom/base/moz.build +@@ -596,6 +596,9 @@ FINAL_LIBRARY = "xul" + if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": + CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] + ++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]: ++ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"] ++ + GeneratedFile( + "UseCounterList.h", + script="gen-usecounters.py", +diff --git a/gfx/moz.build b/gfx/moz.build +index c09fcbf3cef805b66a2ecab1f7c9f797897c1b6a..4c88ac6ad8cd53d7fcf89722b44ea17c88dd3242 100644 +--- a/gfx/moz.build ++++ b/gfx/moz.build +@@ -10,6 +10,9 @@ with Files("**"): + with Files("wr/**"): + BUG_COMPONENT = ("Core", "Graphics: WebRender") + ++if not CONFIG["MOZ_SYSTEM_HARFBUZZ"]: ++ DIRS += ["harfbuzz/src"] ++ + DIRS += [ + "cairo", + "2d", +@@ -20,7 +23,6 @@ DIRS += [ + "gl", + "layers", + "graphite2/src", +- "harfbuzz/src", + "ots/src", + "thebes", + "ipc", +diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py +index 20e29297331b8a268732a3af8255af1066aa5be8..256e68e29253243accdcda7c0558c6667fa4bb29 100755 +--- a/gfx/skia/generate_mozbuild.py ++++ b/gfx/skia/generate_mozbuild.py +@@ -91,6 +91,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): + '-Wno-unused-private-field', + ] + ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'): + LOCAL_INCLUDES += [ + "/gfx/cairo/cairo/src", +diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build +index 52966211bd9639fa29aa6153cc33e855fc803ba6..cdf81adf868d3414447dfb455e151f52c6b6a588 100644 +--- a/gfx/skia/moz.build ++++ b/gfx/skia/moz.build +@@ -487,6 +487,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): + '-Wno-unused-private-field', + ] + ++if CONFIG['MOZ_SYSTEM_HARFBUZZ']: ++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] ++ + if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'): + LOCAL_INCLUDES += [ + "/gfx/cairo/cairo/src", +diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build +index 176cc3c7e5dba33db636159486b54a71f99b2064..34ac0598acb48e21f866eedff83a22b5f7b244f1 100644 +--- a/gfx/thebes/moz.build ++++ b/gfx/thebes/moz.build +@@ -294,6 +294,9 @@ LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"] + + DEFINES["GRAPHITE2_STATIC"] = True + ++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]: ++ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"] ++ + CXXFLAGS += ["-Werror=switch"] + + include("/tools/fuzzing/libfuzzer-config.mozbuild") +diff --git a/intl/unicharutil/util/moz.build b/intl/unicharutil/util/moz.build +index b52920725e4f2937a41cb1f765d88eb2185c4caa..5272100b3e53e7d0d137b6d70442f48d04423cd1 100644 +--- a/intl/unicharutil/util/moz.build ++++ b/intl/unicharutil/util/moz.build +@@ -24,6 +24,9 @@ UNIFIED_SOURCES += [ + "nsUnicodeProperties.cpp", + ] + ++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]: ++ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"] ++ + include("/ipc/chromium/chromium-config.mozbuild") + + GeneratedFile( +diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build +index 66b12fce447547f0cde8d769d9453e441f2b49fa..e61c7237c11a6a55c858eca65b6ca16016f14d4a 100644 +--- a/netwerk/dns/moz.build ++++ b/netwerk/dns/moz.build +@@ -111,4 +111,7 @@ LOCAL_INCLUDES += [ + "/netwerk/protocol/http", + ] + ++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]: ++ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"] ++ + USE_LIBS += ["icu"] +diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build +index 0f9d7e95bf46b678246907efc93ef32fe13adf38..a6c079d252d153041db3ee13d0f1031e4c795d70 100644 +--- a/toolkit/library/moz.build ++++ b/toolkit/library/moz.build +@@ -291,6 +291,9 @@ if CONFIG["MOZ_ANDROID_GOOGLE_VR"]: + "-lgvr", + ] + ++if CONFIG["MOZ_SYSTEM_HARFBUZZ"]: ++ OS_LIBS += CONFIG["MOZ_HARFBUZZ_LIBS"] ++ + if CONFIG["MOZ_SYSTEM_JPEG"]: + OS_LIBS += CONFIG["MOZ_JPEG_LIBS"] + +diff --git a/toolkit/moz.configure b/toolkit/moz.configure +index daa9bbd9d6bc1df6ae7442e5037ac24379815d86..98cc8c2fb173ba3b5b70beafce37c11a037ca1a1 100644 +--- a/toolkit/moz.configure ++++ b/toolkit/moz.configure +@@ -629,6 +629,15 @@ def freetype2_combined_info(fontconfig_info, freetype2_info): + + set_define("MOZ_HAVE_FREETYPE2", depends_if(freetype2_info)(lambda _: True)) + ++# HarfBuzz ++# ============================================================== ++option('--with-system-harfbuzz', help="Use system harfbuzz (located with pkgconfig)") ++ ++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 2.7.4', ++ when='--with-system-harfbuzz') ++ ++set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) ++ + # Apple platform decoder support + # ============================================================== + @depends(toolkit) |