Changeset View
Changeset View
Standalone View
Standalone View
head/mail/thunderbird/files/patch-bug847568
| Property | Old Value | New Value |
|---|---|---|
| fbsd:nokeywords | null | yes \ No newline at end of property |
| svn:eol-style | null | native \ No newline at end of property |
| svn:mime-type | null | text/plain \ No newline at end of property |
| # Allow building against system-wide graphite2/harfbuzz. | |||||
| diff --git config/system-headers.mozbuild config/system-headers.mozbuild | |||||
| index 7620b4d00623..09d3db5ca8c0 100644 | |||||
| --- config/system-headers.mozbuild | |||||
| +++ config/system-headers.mozbuild | |||||
| @@ -1312,6 +1312,19 @@ if not CONFIG['MOZ_TREE_PIXMAN']: | |||||
| 'pixman.h', | |||||
| ] | |||||
| +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: | |||||
| + system_headers += [ | |||||
| + 'graphite2/Font.h', | |||||
| + 'graphite2/Segment.h', | |||||
| + ] | |||||
| + | |||||
| +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | |||||
| + system_headers += [ | |||||
| + 'harfbuzz/hb-glib.h', | |||||
| + 'harfbuzz/hb-ot.h', | |||||
| + 'harfbuzz/hb.h', | |||||
| + ] | |||||
| + | |||||
| if CONFIG['MOZ_SYSTEM_LIBVPX']: | |||||
| system_headers += [ | |||||
| 'vpx_mem/vpx_mem.h', | |||||
| diff --git dom/base/moz.build dom/base/moz.build | |||||
| index 8e19020315ae..2fcdbb6f7b42 100644 | |||||
| --- dom/base/moz.build | |||||
| +++ dom/base/moz.build | |||||
| @@ -470,6 +470,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']: | |||||
| if CONFIG['MOZ_X11']: | |||||
| CXXFLAGS += CONFIG['TK_CFLAGS'] | |||||
| +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | |||||
| + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | |||||
| + | |||||
| GENERATED_FILES += [ | |||||
| 'PropertyUseCounterMap.inc', | |||||
| 'UseCounterList.h', | |||||
| diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh | |||||
| index faaab1b17971..04eff5f09882 100644 | |||||
| --- gfx/graphite2/moz-gr-update.sh | |||||
| +++ gfx/graphite2/moz-gr-update.sh | |||||
| @@ -1,6 +1,7 @@ | |||||
| #!/bin/bash | |||||
| # Script used to update the Graphite2 library in the mozilla source tree | |||||
| +# and bump version for --with-system-graphite2 | |||||
| # This script lives in gfx/graphite2, along with the library source, | |||||
| # but must be run from the top level of the mozilla-central tree. | |||||
| @@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla | |||||
| #find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \; | |||||
| #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \; | |||||
| +# chase version for --with-system-graphite2 | |||||
| +perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \ | |||||
| + if /GR2_VERSION_REQUIRE/" old-configure.in | |||||
| + | |||||
| # summarize what's been touched | |||||
| echo Updated to $RELEASE. | |||||
| echo Here is what changed in the gfx/graphite2 directory: | |||||
| echo | |||||
| -hg stat gfx/graphite2 | |||||
| +hg stat old-configure.in gfx/graphite2 | |||||
| echo | |||||
| echo If gfx/graphite2/src/files.mk has changed, please make corresponding | |||||
| diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla | |||||
| index 22c76a7df020..a01490bd49ee 100644 | |||||
| --- gfx/harfbuzz/README-mozilla | |||||
| +++ gfx/harfbuzz/README-mozilla | |||||
| @@ -19,3 +19,8 @@ the mozilla tree. | |||||
| If the collection of source files changes, manual updates to moz.build may be | |||||
| needed, as we don't use the upstream makefiles. | |||||
| + | |||||
| +The in-tree copy may be omitted during build by --with-system-harfbuzz. | |||||
| +Make sure to keep pkg-config version check within toolkit/moz.configure in sync | |||||
| +with checkout version or increment latest tag by one if it's not based | |||||
| +on upstream release. | |||||
| diff --git gfx/moz.build gfx/moz.build | |||||
| index 771f652e837a..3b358d84e384 100644 | |||||
| --- gfx/moz.build | |||||
| +++ gfx/moz.build | |||||
| @@ -10,6 +10,12 @@ with Files('**'): | |||||
| if CONFIG['MOZ_TREE_CAIRO']: | |||||
| DIRS += ['cairo'] | |||||
| +if not CONFIG['MOZ_SYSTEM_GRAPHITE2']: | |||||
| + DIRS += ['graphite2/src' ] | |||||
| + | |||||
| +if not CONFIG['MOZ_SYSTEM_HARFBUZZ']: | |||||
| + DIRS += ['harfbuzz/src'] | |||||
| + | |||||
| DIRS += [ | |||||
| '2d', | |||||
| 'ycbcr', | |||||
| @@ -18,8 +24,6 @@ DIRS += [ | |||||
| 'qcms', | |||||
| 'gl', | |||||
| 'layers', | |||||
| - 'graphite2/src', | |||||
| - 'harfbuzz/src', | |||||
| 'ots/src', | |||||
| 'thebes', | |||||
| 'ipc', | |||||
| diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py | |||||
| index e06ae3457a47..93faa61594a3 100755 | |||||
| --- gfx/skia/generate_mozbuild.py | |||||
| +++ gfx/skia/generate_mozbuild.py | |||||
| @@ -135,6 +135,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: | |||||
| '-Wno-unused-private-field', | |||||
| ] | |||||
| +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | |||||
| + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | |||||
| + | |||||
| if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'): | |||||
| CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] | |||||
| CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] | |||||
| diff --git gfx/skia/moz.build gfx/skia/moz.build | |||||
| index 2118677ca3a8..e4978b413784 100644 | |||||
| --- gfx/skia/moz.build | |||||
| +++ gfx/skia/moz.build | |||||
| @@ -780,6 +780,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']: | |||||
| '-Wno-unused-private-field', | |||||
| ] | |||||
| +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | |||||
| + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | |||||
| + | |||||
| if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk3', 'android'): | |||||
| CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] | |||||
| CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] | |||||
| diff --git gfx/thebes/moz.build gfx/thebes/moz.build | |||||
| index 56f1b9fe3f4b..0ac1100b0df3 100644 | |||||
| --- gfx/thebes/moz.build | |||||
| +++ gfx/thebes/moz.build | |||||
| @@ -267,7 +267,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): | |||||
| LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] | |||||
| -DEFINES['GRAPHITE2_STATIC'] = True | |||||
| +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: | |||||
| + CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] | |||||
| +else: | |||||
| + DEFINES['GRAPHITE2_STATIC'] = True | |||||
| + | |||||
| +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | |||||
| + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | |||||
| if CONFIG['CC_TYPE'] == 'clang': | |||||
| # Suppress warnings from Skia header files. | |||||
| diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build | |||||
| index cb1233c56d7e..06fb1f9f174b 100644 | |||||
| --- intl/unicharutil/util/moz.build | |||||
| +++ intl/unicharutil/util/moz.build | |||||
| @@ -25,4 +25,7 @@ UNIFIED_SOURCES += [ | |||||
| 'nsUnicodeProperties.cpp', | |||||
| ] | |||||
| +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | |||||
| + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | |||||
| + | |||||
| FINAL_LIBRARY = 'xul' | |||||
| diff --git netwerk/dns/moz.build netwerk/dns/moz.build | |||||
| index 79c26e3e7001..c4d93bc5f7dc 100644 | |||||
| --- netwerk/dns/moz.build | |||||
| +++ netwerk/dns/moz.build | |||||
| @@ -73,3 +73,6 @@ USE_LIBS += ['icu'] | |||||
| if CONFIG['CC_TYPE'] in ('clang', 'gcc'): | |||||
| CXXFLAGS += ['-Wno-error=shadow'] | |||||
| + | |||||
| +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | |||||
| + CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] | |||||
| diff --git old-configure.in old-configure.in | |||||
| index 95a58b634593..b614eef85c89 100644 | |||||
| --- old-configure.in | |||||
| +++ old-configure.in | |||||
| @@ -4333,6 +4333,27 @@ dnl ======================================================== | |||||
| AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR) | |||||
| +dnl ======================================================== | |||||
| +dnl Check for graphite2 | |||||
| +dnl ======================================================== | |||||
| +if test -n "$MOZ_SYSTEM_GRAPHITE2"; then | |||||
| + dnl graphite2.pc has bogus version, check manually | |||||
| + _SAVE_CFLAGS=$CFLAGS | |||||
| + CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS" | |||||
| + AC_TRY_COMPILE([ #include <graphite2/Font.h> | |||||
| + #define GR2_VERSION_REQUIRE(major,minor,bugfix) \ | |||||
| + ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \ | |||||
| + * 100 + GR2_VERSION_BUGFIX >= \ | |||||
| + (major) * 10000 + (minor) * 100 + (bugfix) ) | |||||
| + ], [ | |||||
| + #if !GR2_VERSION_REQUIRE(1,3,10) | |||||
| + #error "Insufficient graphite2 version." | |||||
| + #endif | |||||
| + ], [], | |||||
| + [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) | |||||
| + CFLAGS=$_SAVE_CFLAGS | |||||
| +fi | |||||
| + | |||||
| dnl ======================================================== | |||||
| dnl Check for pixman and cairo | |||||
| dnl ======================================================== | |||||
| diff --git toolkit/library/moz.build toolkit/library/moz.build | |||||
| index 24f940e1ed7e..079a575adec3 100644 | |||||
| --- toolkit/library/moz.build | |||||
| +++ toolkit/library/moz.build | |||||
| @@ -231,6 +231,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']: | |||||
| if CONFIG['MOZ_SYSTEM_PNG']: | |||||
| OS_LIBS += CONFIG['MOZ_PNG_LIBS'] | |||||
| +if CONFIG['MOZ_SYSTEM_GRAPHITE2']: | |||||
| + OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS'] | |||||
| + | |||||
| +if CONFIG['MOZ_SYSTEM_HARFBUZZ']: | |||||
| + OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS'] | |||||
| + | |||||
| if CONFIG['MOZ_SYSTEM_HUNSPELL']: | |||||
| OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] | |||||
| diff --git toolkit/moz.configure toolkit/moz.configure | |||||
| index 9297e4d6f501..d8e273887e4b 100644 | |||||
| --- toolkit/moz.configure | |||||
| +++ toolkit/moz.configure | |||||
| @@ -1065,6 +1065,26 @@ add_old_configure_assignment('FT2_LIBS', | |||||
| add_old_configure_assignment('FT2_CFLAGS', | |||||
| ft2_info.cflags) | |||||
| +# Graphite2 | |||||
| +# ============================================================== | |||||
| +option('--with-system-graphite2', | |||||
| + help="Use system graphite2 (located with pkgconfig)") | |||||
| + | |||||
| +system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2', | |||||
| + when='--with-system-graphite2') | |||||
| + | |||||
| +set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True)) | |||||
| + | |||||
| +# HarfBuzz | |||||
| +# ============================================================== | |||||
| +option('--with-system-harfbuzz', | |||||
| + help="Use system harfbuzz (located with pkgconfig)") | |||||
| + | |||||
| +system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.4', | |||||
| + when='--with-system-harfbuzz') | |||||
| + | |||||
| +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True)) | |||||
| + | |||||
| # Mortar | |||||
| # ============================================================== | |||||
| option('--enable-mortar', help='Enable mortar extension') | |||||