Changeset View
Changeset View
Standalone View
Standalone View
mail/thunderbird/files/patch-bug847568
# Allow building against system-wide graphite2/harfbuzz. | # Allow building against system-wide graphite2/harfbuzz. | ||||
diff --git config/Makefile.in config/Makefile.in | diff --git config/system-headers.mozbuild config/system-headers.mozbuild | ||||
index e2e11dc0e27e..a6206bb0ff30 100644 | index 7620b4d00623..09d3db5ca8c0 100644 | ||||
--- mozilla/config/Makefile.in | --- mozilla/config/system-headers.mozbuild | ||||
+++ mozilla/config/Makefile.in | +++ mozilla/config/system-headers.mozbuild | ||||
@@ -41,6 +41,8 @@ export:: $(export-preqs) | @@ -1312,6 +1312,19 @@ if not CONFIG['MOZ_TREE_PIXMAN']: | ||||
$(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \ | 'pixman.h', | ||||
-DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \ | ] | ||||
-DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \ | |||||
+ -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \ | +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: | ||||
+ -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \ | + system_headers += [ | ||||
-DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \ | + 'graphite2/Font.h', | ||||
-DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \ | + 'graphite2/Segment.h', | ||||
-DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \ | + ] | ||||
diff --git config/system-headers config/system-headers | + | ||||
index a0c53c651a3e..5ee7f71f9634 100644 | +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | ||||
--- mozilla/config/system-headers | + system_headers += [ | ||||
+++ mozilla/config/system-headers | + 'harfbuzz/hb-glib.h', | ||||
@@ -1269,6 +1269,15 @@ libsn/sn-launcher.h | + 'harfbuzz/hb-ot.h', | ||||
libsn/sn-monitor.h | + 'harfbuzz/hb.h', | ||||
libsn/sn-util.h | + ] | ||||
#endif | + | ||||
+#if MOZ_SYSTEM_GRAPHITE2==1 | if CONFIG['MOZ_SYSTEM_LIBVPX']: | ||||
+graphite2/Font.h | system_headers += [ | ||||
+graphite2/Segment.h | 'vpx_mem/vpx_mem.h', | ||||
+#endif | |||||
+#if MOZ_SYSTEM_HARFBUZZ==1 | |||||
+harfbuzz/hb-glib.h | |||||
+harfbuzz/hb-ot.h | |||||
+harfbuzz/hb.h | |||||
+#endif | |||||
#if MOZ_SYSTEM_HUNSPELL==1 | |||||
hunspell.hxx | |||||
#endif | |||||
diff --git dom/base/moz.build dom/base/moz.build | diff --git dom/base/moz.build dom/base/moz.build | ||||
index 8e19020315ae..2fcdbb6f7b42 100644 | index 8e19020315ae..2fcdbb6f7b42 100644 | ||||
--- mozilla/dom/base/moz.build | --- mozilla/dom/base/moz.build | ||||
+++ mozilla/dom/base/moz.build | +++ mozilla/dom/base/moz.build | ||||
@@ -464,6 +464,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']: | @@ -470,6 +470,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']: | ||||
if CONFIG['MOZ_X11']: | if CONFIG['MOZ_X11']: | ||||
CXXFLAGS += CONFIG['TK_CFLAGS'] | CXXFLAGS += CONFIG['TK_CFLAGS'] | ||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | ||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | ||||
+ | + | ||||
GENERATED_FILES += [ | GENERATED_FILES += [ | ||||
'PropertyUseCounterMap.inc', | 'PropertyUseCounterMap.inc', | ||||
▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | |||||
- 'harfbuzz/src', | - 'harfbuzz/src', | ||||
'ots/src', | 'ots/src', | ||||
'thebes', | 'thebes', | ||||
'ipc', | 'ipc', | ||||
diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py | diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py | ||||
index e06ae3457a47..93faa61594a3 100755 | index e06ae3457a47..93faa61594a3 100755 | ||||
--- mozilla/gfx/skia/generate_mozbuild.py | --- mozilla/gfx/skia/generate_mozbuild.py | ||||
+++ mozilla/gfx/skia/generate_mozbuild.py | +++ mozilla/gfx/skia/generate_mozbuild.py | ||||
@@ -143,6 +143,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: | @@ -135,6 +135,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: | ||||
'-Wno-unused-private-field', | '-Wno-unused-private-field', | ||||
] | ] | ||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | ||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | ||||
+ | + | ||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'): | if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'): | ||||
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] | CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] | ||||
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] | CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] | ||||
diff --git gfx/skia/moz.build gfx/skia/moz.build | diff --git gfx/skia/moz.build gfx/skia/moz.build | ||||
index 2118677ca3a8..e4978b413784 100644 | index 2118677ca3a8..e4978b413784 100644 | ||||
--- mozilla/gfx/skia/moz.build | --- mozilla/gfx/skia/moz.build | ||||
+++ mozilla/gfx/skia/moz.build | +++ mozilla/gfx/skia/moz.build | ||||
@@ -753,6 +753,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: | @@ -780,6 +780,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: | ||||
'-Wno-unused-private-field', | '-Wno-unused-private-field', | ||||
] | ] | ||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | ||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | ||||
+ | + | ||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android'): | if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'): | ||||
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] | CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] | ||||
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] | CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] | ||||
diff --git gfx/thebes/moz.build gfx/thebes/moz.build | diff --git gfx/thebes/moz.build gfx/thebes/moz.build | ||||
index dee9b7bfa2cb..bd801f3a468e 100644 | index 56f1b9fe3f4b..0ac1100b0df3 100644 | ||||
--- mozilla/gfx/thebes/moz.build | --- mozilla/gfx/thebes/moz.build | ||||
+++ mozilla/gfx/thebes/moz.build | +++ mozilla/gfx/thebes/moz.build | ||||
@@ -273,7 +273,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): | @@ -267,7 +267,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): | ||||
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] | LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] | ||||
-DEFINES['GRAPHITE2_STATIC'] = True | -DEFINES['GRAPHITE2_STATIC'] = True | ||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']: | +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: | ||||
+ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] | + CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] | ||||
+else: | +else: | ||||
+ DEFINES['GRAPHITE2_STATIC'] = True | + DEFINES['GRAPHITE2_STATIC'] = True | ||||
+ | + | ||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | ||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | ||||
if CONFIG['CLANG_CXX']: | if CONFIG['CC_TYPE'] == 'clang': | ||||
# Suppress warnings from Skia header files. | # Suppress warnings from Skia header files. | ||||
diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build | diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build | ||||
index cb1233c56d7e..06fb1f9f174b 100644 | index cb1233c56d7e..06fb1f9f174b 100644 | ||||
--- mozilla/intl/unicharutil/util/moz.build | --- mozilla/intl/unicharutil/util/moz.build | ||||
+++ mozilla/intl/unicharutil/util/moz.build | +++ mozilla/intl/unicharutil/util/moz.build | ||||
@@ -40,4 +40,7 @@ if CONFIG['_MSC_VER']: | @@ -25,4 +25,7 @@ UNIFIED_SOURCES += [ | ||||
if CONFIG['ENABLE_INTL_API']: | 'nsUnicodeProperties.cpp', | ||||
USE_LIBS += ['icu'] | ] | ||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | ||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | ||||
+ | + | ||||
DIST_INSTALL = True | FINAL_LIBRARY = 'xul' | ||||
diff --git netwerk/dns/moz.build netwerk/dns/moz.build | diff --git netwerk/dns/moz.build netwerk/dns/moz.build | ||||
index 79c26e3e7001..c4d93bc5f7dc 100644 | index 79c26e3e7001..c4d93bc5f7dc 100644 | ||||
--- mozilla/netwerk/dns/moz.build | --- mozilla/netwerk/dns/moz.build | ||||
+++ mozilla/netwerk/dns/moz.build | +++ mozilla/netwerk/dns/moz.build | ||||
@@ -69,6 +69,9 @@ LOCAL_INCLUDES += [ | @@ -73,3 +73,6 @@ USE_LIBS += ['icu'] | ||||
'/netwerk/base', | |||||
] | |||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'): | |||||
CXXFLAGS += ['-Wno-error=shadow'] | |||||
+ | |||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | ||||
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | ||||
+ | |||||
if CONFIG['ENABLE_INTL_API']: | |||||
DEFINES['IDNA2008'] = True | |||||
USE_LIBS += ['icu'] | |||||
diff --git old-configure.in old-configure.in | diff --git old-configure.in old-configure.in | ||||
index 95a58b634593..b614eef85c89 100644 | index 95a58b634593..b614eef85c89 100644 | ||||
--- mozilla/old-configure.in | --- mozilla/old-configure.in | ||||
+++ mozilla/old-configure.in | +++ mozilla/old-configure.in | ||||
@@ -4888,6 +4888,27 @@ dnl ======================================================== | @@ -4333,6 +4333,27 @@ dnl ======================================================== | ||||
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR) | AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR) | ||||
dnl ======================================================== | +dnl ======================================================== | ||||
+dnl Check for graphite2 | +dnl Check for graphite2 | ||||
+dnl ======================================================== | +dnl ======================================================== | ||||
+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then | +if test -n "$MOZ_SYSTEM_GRAPHITE2"; then | ||||
+ dnl graphite2.pc has bogus version, check manually | + dnl graphite2.pc has bogus version, check manually | ||||
+ _SAVE_CFLAGS=$CFLAGS | + _SAVE_CFLAGS=$CFLAGS | ||||
+ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS" | + CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS" | ||||
+ AC_TRY_COMPILE([ #include <graphite2/Font.h> | + AC_TRY_COMPILE([ #include <graphite2/Font.h> | ||||
+ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \ | + #define GR2_VERSION_REQUIRE(major,minor,bugfix) \ | ||||
+ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \ | + ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \ | ||||
+ * 100 + GR2_VERSION_BUGFIX >= \ | + * 100 + GR2_VERSION_BUGFIX >= \ | ||||
+ (major) * 10000 + (minor) * 100 + (bugfix) ) | + (major) * 10000 + (minor) * 100 + (bugfix) ) | ||||
+ ], [ | + ], [ | ||||
+ #if !GR2_VERSION_REQUIRE(1,3,8) | + #if !GR2_VERSION_REQUIRE(1,3,10) | ||||
+ #error "Insufficient graphite2 version." | + #error "Insufficient graphite2 version." | ||||
+ #endif | + #endif | ||||
+ ], [], | + ], [], | ||||
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) | + [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) | ||||
+ CFLAGS=$_SAVE_CFLAGS | + CFLAGS=$_SAVE_CFLAGS | ||||
+fi | +fi | ||||
+ | + | ||||
+dnl ======================================================== | dnl ======================================================== | ||||
dnl Check for pixman and cairo | dnl Check for pixman and cairo | ||||
dnl ======================================================== | dnl ======================================================== | ||||
diff --git toolkit/library/moz.build toolkit/library/moz.build | diff --git toolkit/library/moz.build toolkit/library/moz.build | ||||
index 24f940e1ed7e..079a575adec3 100644 | index 24f940e1ed7e..079a575adec3 100644 | ||||
--- mozilla/toolkit/library/moz.build | --- mozilla/toolkit/library/moz.build | ||||
+++ mozilla/toolkit/library/moz.build | +++ mozilla/toolkit/library/moz.build | ||||
@@ -228,6 +228,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: | @@ -231,6 +231,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: | ||||
if CONFIG['MOZ_SYSTEM_PNG']: | if CONFIG['MOZ_SYSTEM_PNG']: | ||||
OS_LIBS += CONFIG['MOZ_PNG_LIBS'] | OS_LIBS += CONFIG['MOZ_PNG_LIBS'] | ||||
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']: | +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: | ||||
+ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS'] | + OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS'] | ||||
+ | + | ||||
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | ||||
+ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS'] | + OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS'] | ||||
+ | + | ||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']: | if CONFIG['MOZ_SYSTEM_HUNSPELL']: | ||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] | OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] | ||||
diff --git toolkit/moz.configure toolkit/moz.configure | diff --git toolkit/moz.configure toolkit/moz.configure | ||||
index 9297e4d6f501..d8e273887e4b 100644 | index 9297e4d6f501..d8e273887e4b 100644 | ||||
--- mozilla/toolkit/moz.configure | --- mozilla/toolkit/moz.configure | ||||
+++ mozilla/toolkit/moz.configure | +++ mozilla/toolkit/moz.configure | ||||
@@ -343,6 +343,26 @@ add_old_configure_assignment('FT2_LIBS', | @@ -1065,6 +1065,26 @@ add_old_configure_assignment('FT2_LIBS', | ||||
add_old_configure_assignment('FT2_CFLAGS', | add_old_configure_assignment('FT2_CFLAGS', | ||||
delayed_getattr(ft2_info, 'cflags')) | ft2_info.cflags) | ||||
+# Graphite2 | +# Graphite2 | ||||
+# ============================================================== | +# ============================================================== | ||||
+option('--with-system-graphite2', | +option('--with-system-graphite2', | ||||
+ help="Use system graphite2 (located with pkgconfig)") | + help="Use system graphite2 (located with pkgconfig)") | ||||
+ | + | ||||
+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2', | +system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2', | ||||
+ when='--with-system-graphite2') | + when='--with-system-graphite2') | ||||
+ | + | ||||
+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True)) | +set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True)) | ||||
+ | + | ||||
+# HarfBuzz | +# HarfBuzz | ||||
+# ============================================================== | +# ============================================================== | ||||
+option('--with-system-harfbuzz', | +option('--with-system-harfbuzz', | ||||
+ help="Use system harfbuzz (located with pkgconfig)") | + help="Use system harfbuzz (located with pkgconfig)") | ||||
+ | + | ||||
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.1', | +system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.4', | ||||
+ when='--with-system-harfbuzz') | + when='--with-system-harfbuzz') | ||||
+ | + | ||||
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) | +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) | ||||
+ | + | ||||
# Apple platform decoder support | # Mortar | ||||
# ============================================================== | # ============================================================== | ||||
@depends(toolkit) | option('--enable-mortar', help='Enable mortar extension') |