From owner-freebsd-gecko@FreeBSD.ORG Thu Feb 20 01:36:41 2014 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AD40B9C6 for ; Thu, 20 Feb 2014 01:36:41 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.244.247]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EB9A61A6E for ; Thu, 20 Feb 2014 01:36:40 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.244.247]) by trillian.chruetertee.ch (8.14.4/8.14.3) with ESMTP id s1K1ado5021467 for ; Thu, 20 Feb 2014 01:36:39 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.4/8.14.3/Submit) id s1K1aYu1018602 for freebsd-gecko@freebsd.org; Thu, 20 Feb 2014 01:36:34 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Thu, 20 Feb 2014 01:36:34 GMT Message-Id: <201402200136.s1K1aYu1018602@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org Subject: [SVN-Commit] r1503 - in trunk: Mk mail/thunderbird mail/thunderbird/files www/firefox www/firefox-esr www/firefox-esr/files www/firefox-nightly www/firefox-nightly/files www/firefox/files www/libxul www/libxul/files www/seamonkey www/seamonkey/files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list Reply-To: freebsd-gecko@freebsd.org List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Feb 2014 01:36:41 -0000 Author: jbeich Date: Thu Feb 20 01:36:33 2014 New Revision: 1503 Log: build against system harfbuzz Added: trunk/mail/thunderbird/files/patch-z-bug847568 trunk/www/firefox-esr/files/patch-z-bug847568 trunk/www/firefox-nightly/files/patch-bug847568 trunk/www/firefox/files/patch-bug847568 trunk/www/libxul/files/patch-z-bug847568 trunk/www/seamonkey/files/patch-bug847568 Modified: trunk/Mk/bsd.gecko.mk trunk/mail/thunderbird/Makefile trunk/www/firefox-esr/Makefile trunk/www/firefox-nightly/Makefile trunk/www/firefox/Makefile trunk/www/libxul/Makefile trunk/www/seamonkey/Makefile Modified: trunk/Mk/bsd.gecko.mk ============================================================================== --- trunk/Mk/bsd.gecko.mk Thu Feb 20 01:36:18 2014 (r1502) +++ trunk/Mk/bsd.gecko.mk Thu Feb 20 01:36:33 2014 (r1503) @@ -581,6 +581,11 @@ ffi_MOZ_OPTIONS= --enable-system-ffi ffi_EXTRACT_AFTER_ARGS= --exclude mozilla*/js/src/ctypes/libffi +harfbuzz_LIB_DEPENDS= harfbuzz:${PORTSDIR}/print/harfbuzz +harfbuzz_MOZ_OPTIONS= --with-system-harfbuzz +harfbuzz_EXTRACT_AFTER_ARGS= --exclude mozilla*/gfx/harfbuzz \ + --exclude mozilla*/gfx/graphite2 + hunspell_LIB_DEPENDS= hunspell-1.3:${PORTSDIR}/textproc/hunspell hunspell_MOZ_OPTIONS= --enable-system-hunspell Modified: trunk/mail/thunderbird/Makefile ============================================================================== --- trunk/mail/thunderbird/Makefile Thu Feb 20 01:36:18 2014 (r1502) +++ trunk/mail/thunderbird/Makefile Thu Feb 20 01:36:33 2014 (r1503) @@ -17,6 +17,7 @@ sqlite3>=3.7.17:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \ + harfbuzz>=0.9.16:${PORTSDIR}/print/harfbuzz \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ unzip:${PORTSDIR}/archivers/unzip LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l Added: trunk/mail/thunderbird/files/patch-z-bug847568 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/mail/thunderbird/files/patch-z-bug847568 Thu Feb 20 01:36:33 2014 (r1503) @@ -0,0 +1,201 @@ +# Allow building against system-wide graphite2/harfbuzz. + +diff --git config/Makefile.in config/Makefile.in +index 14bfc0d..5383399 100644 +--- mozilla/config/Makefile.in ++++ mozilla/config/Makefile.in +@@ -77,6 +77,8 @@ export:: $(export-preqs) + -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ + -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ + -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ ++ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ ++ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ + $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers + $(INSTALL) system_wrappers $(DIST) + +diff --git config/system-headers config/system-headers +index 126391e..b711fc3 100644 +--- mozilla/config/system-headers ++++ mozilla/config/system-headers +@@ -1144,3 +1144,11 @@ unicode/utypes.h + #endif + libutil.h + unwind.h ++#if MOZ_NATIVE_GRAPHITE2==1 ++graphite2/Font.h ++graphite2/Segment.h ++#endif ++#if MOZ_NATIVE_HARFBUZZ==1 ++harfbuzz/hb-ot.h ++harfbuzz/hb.h ++#endif +diff --git configure.in configure.in +index bbc7b40..1747206 100644 +--- mozilla/configure.in ++++ mozilla/configure.in +@@ -7830,6 +7830,35 @@ if test "$USE_FC_FREETYPE"; then + fi + + dnl ======================================================== ++dnl Check for graphite2 and harfbuzz ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-harfbuzz, ++[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)], ++MOZ_NATIVE_HARFBUZZ=1, ++MOZ_NATIVE_HARFBUZZ= ) ++ ++if test -n "$MOZ_NATIVE_HARFBUZZ"; then ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.16) ++ MOZ_NATIVE_GRAPHITE2=1 ++fi ++AC_SUBST(MOZ_NATIVE_HARFBUZZ) ++AC_SUBST(MOZ_HARFBUZZ_CFLAGS) ++AC_SUBST(MOZ_HARFBUZZ_LIBS) ++ ++MOZ_ARG_WITH_BOOL(system-graphite2, ++[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)], ++MOZ_NATIVE_GRAPHITE2=1, ++MOZ_NATIVE_GRAPHITE2= ) ++ ++if test -n "$MOZ_NATIVE_GRAPHITE2"; then ++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2 >= 1.2.3) ++fi ++AC_SUBST(MOZ_NATIVE_GRAPHITE2) ++AC_SUBST(MOZ_GRAPHITE2_CFLAGS) ++AC_SUBST(MOZ_GRAPHITE2_LIBS) ++ ++dnl ======================================================== + dnl Check for pixman and cairo + dnl ======================================================== + +diff --git content/base/src/Makefile.in content/base/src/Makefile.in +index a618096..596901a 100644 +--- mozilla/content/base/src/Makefile.in ++++ mozilla/content/base/src/Makefile.in +@@ -5,6 +5,10 @@ + + include $(topsrcdir)/config/rules.mk + ++ifdef MOZ_NATIVE_HARFBUZZ ++nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + # gcc requires -msse2 for this file since it uses SSE2 intrinsics. (See bug + # 585538 comment 12.) + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/harfbuzz/src/Makefile.in gfx/harfbuzz/src/Makefile.in +index b285844..92c87ea 100644 +--- mozilla/gfx/harfbuzz/src/Makefile.in ++++ mozilla/gfx/harfbuzz/src/Makefile.in +@@ -29,3 +29,7 @@ include $(topsrcdir)/config/rules.mk + # Cancel the effect of the -DDEBUG macro if present, + # because harfbuzz uses that name for its own purposes + COMPILE_CXXFLAGS += -UDEBUG ++ ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif +diff --git gfx/moz.build gfx/moz.build +index 519aa46..6929751 100644 +--- mozilla/gfx/moz.build ++++ mozilla/gfx/moz.build +@@ -7,6 +7,12 @@ + if CONFIG['MOZ_TREE_CAIRO']: + DIRS += ['cairo'] + ++if not CONFIG['MOZ_NATIVE_GRAPHITE2']: ++ DIRS += ['graphite2/src' ] ++ ++if not CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ DIRS += ['harfbuzz/src'] ++ + DIRS += [ + '2d', + 'ycbcr', +@@ -15,8 +21,6 @@ DIRS += [ + 'qcms', + 'gl', + 'layers', +- 'graphite2/src', +- 'harfbuzz/src', + 'ots/src', + 'thebes', + 'ipc', +diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in +index 07a77a3..067f7bd 100644 +--- mozilla/gfx/skia/Makefile.in ++++ mozilla/gfx/skia/Makefile.in +@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) + OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS) + endif + ++ifdef MOZ_NATIVE_HARFBUZZ ++OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + include $(topsrcdir)/config/rules.mk + + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in +index e9f6b6c..0df2d8d 100644 +--- mozilla/gfx/thebes/Makefile.in ++++ mozilla/gfx/thebes/Makefile.in +@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES)) + CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + ifeq ($(MOZ_WIDGET_TOOLKIT),android) + CXXFLAGS += $(CAIRO_FT_CFLAGS) + endif +diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in +index f6b9f7c..11c44f4 100644 +--- mozilla/intl/unicharutil/util/Makefile.in ++++ mozilla/intl/unicharutil/util/Makefile.in +@@ -21,3 +21,7 @@ ifdef _MSC_VER + OS_COMPILE_CXXFLAGS += -Zl + OS_COMPILE_CFLAGS += -Zl + endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsUnicodePropertyData.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in +index 1cacbd7..a8cd156 100644 +--- mozilla/netwerk/dns/Makefile.in ++++ mozilla/netwerk/dns/Makefile.in +@@ -9,3 +9,7 @@ include $(topsrcdir)/config/rules.mk + # for effective TLD data. + etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat + $(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsIDNService.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in +index 007f272..27f488e 100644 +--- mozilla/toolkit/library/Makefile.in ++++ mozilla/toolkit/library/Makefile.in +@@ -103,6 +103,14 @@ ifndef MOZ_TREE_PIXMAN + EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS) + endif + ++ifdef MOZ_NATIVE_GRAPHITE2 ++EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS) ++endif ++ + ifdef MOZ_DMD + EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib) + endif Modified: trunk/www/firefox-esr/Makefile ============================================================================== --- trunk/www/firefox-esr/Makefile Thu Feb 20 01:36:18 2014 (r1502) +++ trunk/www/firefox-esr/Makefile Thu Feb 20 01:36:33 2014 (r1503) @@ -17,6 +17,7 @@ sqlite3>=3.7.17:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \ + harfbuzz>=0.9.16:${PORTSDIR}/print/harfbuzz \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ unzip:${PORTSDIR}/archivers/unzip LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l Added: trunk/www/firefox-esr/files/patch-z-bug847568 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox-esr/files/patch-z-bug847568 Thu Feb 20 01:36:33 2014 (r1503) @@ -0,0 +1,201 @@ +# Allow building against system-wide graphite2/harfbuzz. + +diff --git config/Makefile.in config/Makefile.in +index 14bfc0d..5383399 100644 +--- config/Makefile.in ++++ config/Makefile.in +@@ -77,6 +77,8 @@ export:: $(export-preqs) + -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ + -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ + -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ ++ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ ++ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ + $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers + $(INSTALL) system_wrappers $(DIST) + +diff --git config/system-headers config/system-headers +index 126391e..b711fc3 100644 +--- config/system-headers ++++ config/system-headers +@@ -1144,3 +1144,11 @@ unicode/utypes.h + #endif + libutil.h + unwind.h ++#if MOZ_NATIVE_GRAPHITE2==1 ++graphite2/Font.h ++graphite2/Segment.h ++#endif ++#if MOZ_NATIVE_HARFBUZZ==1 ++harfbuzz/hb-ot.h ++harfbuzz/hb.h ++#endif +diff --git configure.in configure.in +index bbc7b40..1747206 100644 +--- configure.in ++++ configure.in +@@ -7830,6 +7830,35 @@ if test "$USE_FC_FREETYPE"; then + fi + + dnl ======================================================== ++dnl Check for graphite2 and harfbuzz ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-harfbuzz, ++[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)], ++MOZ_NATIVE_HARFBUZZ=1, ++MOZ_NATIVE_HARFBUZZ= ) ++ ++if test -n "$MOZ_NATIVE_HARFBUZZ"; then ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.16) ++ MOZ_NATIVE_GRAPHITE2=1 ++fi ++AC_SUBST(MOZ_NATIVE_HARFBUZZ) ++AC_SUBST(MOZ_HARFBUZZ_CFLAGS) ++AC_SUBST(MOZ_HARFBUZZ_LIBS) ++ ++MOZ_ARG_WITH_BOOL(system-graphite2, ++[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)], ++MOZ_NATIVE_GRAPHITE2=1, ++MOZ_NATIVE_GRAPHITE2= ) ++ ++if test -n "$MOZ_NATIVE_GRAPHITE2"; then ++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2 >= 1.2.3) ++fi ++AC_SUBST(MOZ_NATIVE_GRAPHITE2) ++AC_SUBST(MOZ_GRAPHITE2_CFLAGS) ++AC_SUBST(MOZ_GRAPHITE2_LIBS) ++ ++dnl ======================================================== + dnl Check for pixman and cairo + dnl ======================================================== + +diff --git content/base/src/Makefile.in content/base/src/Makefile.in +index a618096..596901a 100644 +--- content/base/src/Makefile.in ++++ content/base/src/Makefile.in +@@ -5,6 +5,10 @@ + + include $(topsrcdir)/config/rules.mk + ++ifdef MOZ_NATIVE_HARFBUZZ ++nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + # gcc requires -msse2 for this file since it uses SSE2 intrinsics. (See bug + # 585538 comment 12.) + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/harfbuzz/src/Makefile.in gfx/harfbuzz/src/Makefile.in +index b285844..92c87ea 100644 +--- gfx/harfbuzz/src/Makefile.in ++++ gfx/harfbuzz/src/Makefile.in +@@ -29,3 +29,7 @@ include $(topsrcdir)/config/rules.mk + # Cancel the effect of the -DDEBUG macro if present, + # because harfbuzz uses that name for its own purposes + COMPILE_CXXFLAGS += -UDEBUG ++ ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif +diff --git gfx/moz.build gfx/moz.build +index 519aa46..6929751 100644 +--- gfx/moz.build ++++ gfx/moz.build +@@ -7,6 +7,12 @@ + if CONFIG['MOZ_TREE_CAIRO']: + DIRS += ['cairo'] + ++if not CONFIG['MOZ_NATIVE_GRAPHITE2']: ++ DIRS += ['graphite2/src' ] ++ ++if not CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ DIRS += ['harfbuzz/src'] ++ + DIRS += [ + '2d', + 'ycbcr', +@@ -15,8 +21,6 @@ DIRS += [ + 'qcms', + 'gl', + 'layers', +- 'graphite2/src', +- 'harfbuzz/src', + 'ots/src', + 'thebes', + 'ipc', +diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in +index 07a77a3..067f7bd 100644 +--- gfx/skia/Makefile.in ++++ gfx/skia/Makefile.in +@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) + OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS) + endif + ++ifdef MOZ_NATIVE_HARFBUZZ ++OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + include $(topsrcdir)/config/rules.mk + + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in +index e9f6b6c..0df2d8d 100644 +--- gfx/thebes/Makefile.in ++++ gfx/thebes/Makefile.in +@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES)) + CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + ifeq ($(MOZ_WIDGET_TOOLKIT),android) + CXXFLAGS += $(CAIRO_FT_CFLAGS) + endif +diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in +index f6b9f7c..11c44f4 100644 +--- intl/unicharutil/util/Makefile.in ++++ intl/unicharutil/util/Makefile.in +@@ -21,3 +21,7 @@ ifdef _MSC_VER + OS_COMPILE_CXXFLAGS += -Zl + OS_COMPILE_CFLAGS += -Zl + endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsUnicodePropertyData.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in +index 1cacbd7..a8cd156 100644 +--- netwerk/dns/Makefile.in ++++ netwerk/dns/Makefile.in +@@ -9,3 +9,7 @@ include $(topsrcdir)/config/rules.mk + # for effective TLD data. + etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat + $(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsIDNService.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in +index 007f272..27f488e 100644 +--- toolkit/library/Makefile.in ++++ toolkit/library/Makefile.in +@@ -103,6 +103,14 @@ ifndef MOZ_TREE_PIXMAN + EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS) + endif + ++ifdef MOZ_NATIVE_GRAPHITE2 ++EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS) ++endif ++ + ifdef MOZ_DMD + EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib) + endif Modified: trunk/www/firefox-nightly/Makefile ============================================================================== --- trunk/www/firefox-nightly/Makefile Thu Feb 20 01:36:18 2014 (r1502) +++ trunk/www/firefox-nightly/Makefile Thu Feb 20 01:36:33 2014 (r1503) @@ -18,6 +18,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ sqlite3>=3.8.3.1:${PORTSDIR}/databases/sqlite3 \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ + harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ nspr>=4.10.3:${PORTSDIR}/devel/nspr \ unzip:${PORTSDIR}/archivers/unzip Added: trunk/www/firefox-nightly/files/patch-bug847568 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox-nightly/files/patch-bug847568 Thu Feb 20 01:36:33 2014 (r1503) @@ -0,0 +1,201 @@ +# Allow building against system-wide graphite2/harfbuzz. + +diff --git config/Makefile.in config/Makefile.in +index 14bfc0d..5383399 100644 +--- config/Makefile.in ++++ config/Makefile.in +@@ -77,6 +77,8 @@ export:: $(export-preqs) + -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ + -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ + -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ ++ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ ++ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ + $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers + $(INSTALL) system_wrappers $(DIST) + +diff --git config/system-headers config/system-headers +index 126391e..b711fc3 100644 +--- config/system-headers ++++ config/system-headers +@@ -1144,3 +1144,11 @@ unicode/utypes.h + #endif + libutil.h + unwind.h ++#if MOZ_NATIVE_GRAPHITE2==1 ++graphite2/Font.h ++graphite2/Segment.h ++#endif ++#if MOZ_NATIVE_HARFBUZZ==1 ++harfbuzz/hb-ot.h ++harfbuzz/hb.h ++#endif +diff --git configure.in configure.in +index bbc7b40..1747206 100644 +--- configure.in ++++ configure.in +@@ -7830,6 +7830,35 @@ if test "$USE_FC_FREETYPE"; then + fi + + dnl ======================================================== ++dnl Check for graphite2 and harfbuzz ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-harfbuzz, ++[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)], ++MOZ_NATIVE_HARFBUZZ=1, ++MOZ_NATIVE_HARFBUZZ= ) ++ ++if test -n "$MOZ_NATIVE_HARFBUZZ"; then ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.25) ++ MOZ_NATIVE_GRAPHITE2=1 ++fi ++AC_SUBST(MOZ_NATIVE_HARFBUZZ) ++AC_SUBST(MOZ_HARFBUZZ_CFLAGS) ++AC_SUBST(MOZ_HARFBUZZ_LIBS) ++ ++MOZ_ARG_WITH_BOOL(system-graphite2, ++[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)], ++MOZ_NATIVE_GRAPHITE2=1, ++MOZ_NATIVE_GRAPHITE2= ) ++ ++if test -n "$MOZ_NATIVE_GRAPHITE2"; then ++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2 >= 1.2.4) ++fi ++AC_SUBST(MOZ_NATIVE_GRAPHITE2) ++AC_SUBST(MOZ_GRAPHITE2_CFLAGS) ++AC_SUBST(MOZ_GRAPHITE2_LIBS) ++ ++dnl ======================================================== + dnl Check for pixman and cairo + dnl ======================================================== + +diff --git content/base/src/Makefile.in content/base/src/Makefile.in +index a618096..596901a 100644 +--- content/base/src/Makefile.in ++++ content/base/src/Makefile.in +@@ -5,6 +5,10 @@ + + include $(topsrcdir)/config/rules.mk + ++ifdef MOZ_NATIVE_HARFBUZZ ++nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + # gcc requires -msse2 for this file since it uses SSE2 intrinsics. (See bug + # 585538 comment 12.) + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/harfbuzz/src/Makefile.in gfx/harfbuzz/src/Makefile.in +index b285844..92c87ea 100644 +--- gfx/harfbuzz/src/Makefile.in ++++ gfx/harfbuzz/src/Makefile.in +@@ -29,3 +29,7 @@ include $(topsrcdir)/config/rules.mk + # Cancel the effect of the -DDEBUG macro if present, + # because harfbuzz uses that name for its own purposes + COMPILE_CXXFLAGS += -UDEBUG ++ ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif +diff --git gfx/moz.build gfx/moz.build +index 519aa46..6929751 100644 +--- gfx/moz.build ++++ gfx/moz.build +@@ -7,6 +7,12 @@ + if CONFIG['MOZ_TREE_CAIRO']: + DIRS += ['cairo'] + ++if not CONFIG['MOZ_NATIVE_GRAPHITE2']: ++ DIRS += ['graphite2/src' ] ++ ++if not CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ DIRS += ['harfbuzz/src'] ++ + DIRS += [ + '2d', + 'ycbcr', +@@ -15,8 +21,6 @@ DIRS += [ + 'qcms', + 'gl', + 'layers', +- 'graphite2/src', +- 'harfbuzz/src', + 'ots/src', + 'thebes', + 'ipc', +diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in +index 07a77a3..067f7bd 100644 +--- gfx/skia/Makefile.in ++++ gfx/skia/Makefile.in +@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) + OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS) + endif + ++ifdef MOZ_NATIVE_HARFBUZZ ++OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + include $(topsrcdir)/config/rules.mk + + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in +index e9f6b6c..0df2d8d 100644 +--- gfx/thebes/Makefile.in ++++ gfx/thebes/Makefile.in +@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES)) + CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + ifeq ($(MOZ_WIDGET_TOOLKIT),android) + CXXFLAGS += $(CAIRO_FT_CFLAGS) + endif +diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in +index f6b9f7c..11c44f4 100644 +--- intl/unicharutil/util/Makefile.in ++++ intl/unicharutil/util/Makefile.in +@@ -21,3 +21,7 @@ ifdef _MSC_VER + OS_COMPILE_CXXFLAGS += -Zl + OS_COMPILE_CFLAGS += -Zl + endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsUnicodePropertyData.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in +index 1cacbd7..a8cd156 100644 +--- netwerk/dns/Makefile.in ++++ netwerk/dns/Makefile.in +@@ -9,3 +9,7 @@ include $(topsrcdir)/config/rules.mk + # for effective TLD data. + etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat + $(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsIDNService.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in +index 007f272..27f488e 100644 +--- toolkit/library/Makefile.in ++++ toolkit/library/Makefile.in +@@ -103,6 +103,14 @@ ifndef MOZ_TREE_PIXMAN + EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS) + endif + ++ifdef MOZ_NATIVE_GRAPHITE2 ++EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS) ++endif ++ + ifdef MOZ_DMD + EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib) + endif Modified: trunk/www/firefox/Makefile ============================================================================== --- trunk/www/firefox/Makefile Thu Feb 20 01:36:18 2014 (r1502) +++ trunk/www/firefox/Makefile Thu Feb 20 01:36:33 2014 (r1503) @@ -14,6 +14,7 @@ BUILD_DEPENDS= nspr>=4.10.3:${PORTSDIR}/devel/nspr \ nss>=3.15.4:${PORTSDIR}/security/nss \ + harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ sqlite3>=3.8.1:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ Added: trunk/www/firefox/files/patch-bug847568 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/firefox/files/patch-bug847568 Thu Feb 20 01:36:33 2014 (r1503) @@ -0,0 +1,201 @@ +# Allow building against system-wide graphite2/harfbuzz. + +diff --git config/Makefile.in config/Makefile.in +index 14bfc0d..5383399 100644 +--- config/Makefile.in ++++ config/Makefile.in +@@ -77,6 +77,8 @@ export:: $(export-preqs) + -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ + -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ + -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ ++ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ ++ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ + $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers + $(INSTALL) system_wrappers $(DIST) + +diff --git config/system-headers config/system-headers +index 126391e..b711fc3 100644 +--- config/system-headers ++++ config/system-headers +@@ -1144,3 +1144,11 @@ unicode/utypes.h + #endif + libutil.h + unwind.h ++#if MOZ_NATIVE_GRAPHITE2==1 ++graphite2/Font.h ++graphite2/Segment.h ++#endif ++#if MOZ_NATIVE_HARFBUZZ==1 ++harfbuzz/hb-ot.h ++harfbuzz/hb.h ++#endif +diff --git configure.in configure.in +index bbc7b40..1747206 100644 +--- configure.in ++++ configure.in +@@ -7830,6 +7830,35 @@ if test "$USE_FC_FREETYPE"; then + fi + + dnl ======================================================== ++dnl Check for graphite2 and harfbuzz ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-harfbuzz, ++[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)], ++MOZ_NATIVE_HARFBUZZ=1, ++MOZ_NATIVE_HARFBUZZ= ) ++ ++if test -n "$MOZ_NATIVE_HARFBUZZ"; then ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.25) ++ MOZ_NATIVE_GRAPHITE2=1 ++fi ++AC_SUBST(MOZ_NATIVE_HARFBUZZ) ++AC_SUBST(MOZ_HARFBUZZ_CFLAGS) ++AC_SUBST(MOZ_HARFBUZZ_LIBS) ++ ++MOZ_ARG_WITH_BOOL(system-graphite2, ++[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)], ++MOZ_NATIVE_GRAPHITE2=1, ++MOZ_NATIVE_GRAPHITE2= ) ++ ++if test -n "$MOZ_NATIVE_GRAPHITE2"; then ++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2 >= 1.2.4) ++fi ++AC_SUBST(MOZ_NATIVE_GRAPHITE2) ++AC_SUBST(MOZ_GRAPHITE2_CFLAGS) ++AC_SUBST(MOZ_GRAPHITE2_LIBS) ++ ++dnl ======================================================== + dnl Check for pixman and cairo + dnl ======================================================== + +diff --git content/base/src/Makefile.in content/base/src/Makefile.in +index a618096..596901a 100644 +--- content/base/src/Makefile.in ++++ content/base/src/Makefile.in +@@ -5,6 +5,10 @@ + + include $(topsrcdir)/config/rules.mk + ++ifdef MOZ_NATIVE_HARFBUZZ ++nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + # gcc requires -msse2 for this file since it uses SSE2 intrinsics. (See bug + # 585538 comment 12.) + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/harfbuzz/src/Makefile.in gfx/harfbuzz/src/Makefile.in +index b285844..92c87ea 100644 +--- gfx/harfbuzz/src/Makefile.in ++++ gfx/harfbuzz/src/Makefile.in +@@ -29,3 +29,7 @@ include $(topsrcdir)/config/rules.mk + # Cancel the effect of the -DDEBUG macro if present, + # because harfbuzz uses that name for its own purposes + COMPILE_CXXFLAGS += -UDEBUG ++ ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif +diff --git gfx/moz.build gfx/moz.build +index 519aa46..6929751 100644 +--- gfx/moz.build ++++ gfx/moz.build +@@ -7,6 +7,12 @@ + if CONFIG['MOZ_TREE_CAIRO']: + DIRS += ['cairo'] + ++if not CONFIG['MOZ_NATIVE_GRAPHITE2']: ++ DIRS += ['graphite2/src' ] ++ ++if not CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ DIRS += ['harfbuzz/src'] ++ + DIRS += [ + '2d', + 'ycbcr', +@@ -15,8 +21,6 @@ DIRS += [ + 'qcms', + 'gl', + 'layers', +- 'graphite2/src', +- 'harfbuzz/src', + 'ots/src', + 'thebes', + 'ipc', +diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in +index 07a77a3..067f7bd 100644 +--- gfx/skia/Makefile.in ++++ gfx/skia/Makefile.in +@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) + OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS) + endif + ++ifdef MOZ_NATIVE_HARFBUZZ ++OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + include $(topsrcdir)/config/rules.mk + + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in +index e9f6b6c..0df2d8d 100644 +--- gfx/thebes/Makefile.in ++++ gfx/thebes/Makefile.in +@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES)) + CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + ifeq ($(MOZ_WIDGET_TOOLKIT),android) + CXXFLAGS += $(CAIRO_FT_CFLAGS) + endif +diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in +index f6b9f7c..11c44f4 100644 +--- intl/unicharutil/util/Makefile.in ++++ intl/unicharutil/util/Makefile.in +@@ -21,3 +21,7 @@ ifdef _MSC_VER + OS_COMPILE_CXXFLAGS += -Zl + OS_COMPILE_CFLAGS += -Zl + endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsUnicodePropertyData.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in +index 1cacbd7..a8cd156 100644 +--- netwerk/dns/Makefile.in ++++ netwerk/dns/Makefile.in +@@ -9,3 +9,7 @@ include $(topsrcdir)/config/rules.mk + # for effective TLD data. + etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat + $(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsIDNService.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in +index 007f272..27f488e 100644 +--- toolkit/library/Makefile.in ++++ toolkit/library/Makefile.in +@@ -103,6 +103,14 @@ ifndef MOZ_TREE_PIXMAN + EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS) + endif + ++ifdef MOZ_NATIVE_GRAPHITE2 ++EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS) ++endif ++ + ifdef MOZ_DMD + EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib) + endif Modified: trunk/www/libxul/Makefile ============================================================================== --- trunk/www/libxul/Makefile Thu Feb 20 01:36:18 2014 (r1502) +++ trunk/www/libxul/Makefile Thu Feb 20 01:36:33 2014 (r1503) @@ -16,6 +16,7 @@ sqlite3>=3.7.17:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \ + harfbuzz>=0.9.16:${PORTSDIR}/print/harfbuzz \ v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \ unzip:${PORTSDIR}/archivers/unzip LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l Added: trunk/www/libxul/files/patch-z-bug847568 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/libxul/files/patch-z-bug847568 Thu Feb 20 01:36:33 2014 (r1503) @@ -0,0 +1,201 @@ +# Allow building against system-wide graphite2/harfbuzz. + +diff --git config/Makefile.in config/Makefile.in +index 14bfc0d..5383399 100644 +--- config/Makefile.in ++++ config/Makefile.in +@@ -77,6 +77,8 @@ export:: $(export-preqs) + -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ + -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ + -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ ++ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ ++ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ + $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers + $(INSTALL) system_wrappers $(DIST) + +diff --git config/system-headers config/system-headers +index 126391e..b711fc3 100644 +--- config/system-headers ++++ config/system-headers +@@ -1144,3 +1144,11 @@ unicode/utypes.h + #endif + libutil.h + unwind.h ++#if MOZ_NATIVE_GRAPHITE2==1 ++graphite2/Font.h ++graphite2/Segment.h ++#endif ++#if MOZ_NATIVE_HARFBUZZ==1 ++harfbuzz/hb-ot.h ++harfbuzz/hb.h ++#endif +diff --git configure.in configure.in +index bbc7b40..1747206 100644 +--- configure.in ++++ configure.in +@@ -7830,6 +7830,35 @@ if test "$USE_FC_FREETYPE"; then + fi + + dnl ======================================================== ++dnl Check for graphite2 and harfbuzz ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-harfbuzz, ++[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)], ++MOZ_NATIVE_HARFBUZZ=1, ++MOZ_NATIVE_HARFBUZZ= ) ++ ++if test -n "$MOZ_NATIVE_HARFBUZZ"; then ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.16) ++ MOZ_NATIVE_GRAPHITE2=1 ++fi ++AC_SUBST(MOZ_NATIVE_HARFBUZZ) ++AC_SUBST(MOZ_HARFBUZZ_CFLAGS) ++AC_SUBST(MOZ_HARFBUZZ_LIBS) ++ ++MOZ_ARG_WITH_BOOL(system-graphite2, ++[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)], ++MOZ_NATIVE_GRAPHITE2=1, ++MOZ_NATIVE_GRAPHITE2= ) ++ ++if test -n "$MOZ_NATIVE_GRAPHITE2"; then ++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2 >= 1.2.3) ++fi ++AC_SUBST(MOZ_NATIVE_GRAPHITE2) ++AC_SUBST(MOZ_GRAPHITE2_CFLAGS) ++AC_SUBST(MOZ_GRAPHITE2_LIBS) ++ ++dnl ======================================================== + dnl Check for pixman and cairo + dnl ======================================================== + +diff --git content/base/src/Makefile.in content/base/src/Makefile.in +index a618096..596901a 100644 +--- content/base/src/Makefile.in ++++ content/base/src/Makefile.in +@@ -5,6 +5,10 @@ + + include $(topsrcdir)/config/rules.mk + ++ifdef MOZ_NATIVE_HARFBUZZ ++nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + # gcc requires -msse2 for this file since it uses SSE2 intrinsics. (See bug + # 585538 comment 12.) + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/harfbuzz/src/Makefile.in gfx/harfbuzz/src/Makefile.in +index b285844..92c87ea 100644 +--- gfx/harfbuzz/src/Makefile.in ++++ gfx/harfbuzz/src/Makefile.in +@@ -29,3 +29,7 @@ include $(topsrcdir)/config/rules.mk + # Cancel the effect of the -DDEBUG macro if present, + # because harfbuzz uses that name for its own purposes + COMPILE_CXXFLAGS += -UDEBUG ++ ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif +diff --git gfx/moz.build gfx/moz.build +index 519aa46..6929751 100644 +--- gfx/moz.build ++++ gfx/moz.build +@@ -7,6 +7,12 @@ + if CONFIG['MOZ_TREE_CAIRO']: + DIRS += ['cairo'] + ++if not CONFIG['MOZ_NATIVE_GRAPHITE2']: ++ DIRS += ['graphite2/src' ] ++ ++if not CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ DIRS += ['harfbuzz/src'] ++ + DIRS += [ + '2d', + 'ycbcr', +@@ -15,8 +21,6 @@ DIRS += [ + 'qcms', + 'gl', + 'layers', +- 'graphite2/src', +- 'harfbuzz/src', + 'ots/src', + 'thebes', + 'ipc', +diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in +index 07a77a3..067f7bd 100644 +--- gfx/skia/Makefile.in ++++ gfx/skia/Makefile.in +@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) + OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS) + endif + ++ifdef MOZ_NATIVE_HARFBUZZ ++OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + include $(topsrcdir)/config/rules.mk + + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in +index e9f6b6c..0df2d8d 100644 +--- gfx/thebes/Makefile.in ++++ gfx/thebes/Makefile.in +@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES)) + CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + ifeq ($(MOZ_WIDGET_TOOLKIT),android) + CXXFLAGS += $(CAIRO_FT_CFLAGS) + endif +diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in +index f6b9f7c..11c44f4 100644 +--- intl/unicharutil/util/Makefile.in ++++ intl/unicharutil/util/Makefile.in +@@ -21,3 +21,7 @@ ifdef _MSC_VER + OS_COMPILE_CXXFLAGS += -Zl + OS_COMPILE_CFLAGS += -Zl + endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsUnicodePropertyData.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in +index 1cacbd7..a8cd156 100644 +--- netwerk/dns/Makefile.in ++++ netwerk/dns/Makefile.in +@@ -9,3 +9,7 @@ include $(topsrcdir)/config/rules.mk + # for effective TLD data. + etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat + $(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsIDNService.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in +index 007f272..27f488e 100644 +--- toolkit/library/Makefile.in ++++ toolkit/library/Makefile.in +@@ -103,6 +103,14 @@ ifndef MOZ_TREE_PIXMAN + EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS) + endif + ++ifdef MOZ_NATIVE_GRAPHITE2 ++EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS) ++endif ++ + ifdef MOZ_DMD + EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib) + endif Modified: trunk/www/seamonkey/Makefile ============================================================================== --- trunk/www/seamonkey/Makefile Thu Feb 20 01:36:18 2014 (r1502) +++ trunk/www/seamonkey/Makefile Thu Feb 20 01:36:33 2014 (r1503) @@ -14,6 +14,7 @@ BUILD_DEPENDS= nspr>=4.10.3:${PORTSDIR}/devel/nspr \ nss>=3.15.4:${PORTSDIR}/security/nss \ + harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ sqlite3>=3.8.1:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ Added: trunk/www/seamonkey/files/patch-bug847568 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/www/seamonkey/files/patch-bug847568 Thu Feb 20 01:36:33 2014 (r1503) @@ -0,0 +1,201 @@ +# Allow building against system-wide graphite2/harfbuzz. + +diff --git config/Makefile.in config/Makefile.in +index 14bfc0d..5383399 100644 +--- mozilla/config/Makefile.in ++++ mozilla/config/Makefile.in +@@ -77,6 +77,8 @@ export:: $(export-preqs) + -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ + -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ + -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ ++ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ ++ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ + $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers + $(INSTALL) system_wrappers $(DIST) + +diff --git config/system-headers config/system-headers +index 126391e..b711fc3 100644 +--- mozilla/config/system-headers ++++ mozilla/config/system-headers +@@ -1144,3 +1144,11 @@ unicode/utypes.h + #endif + libutil.h + unwind.h ++#if MOZ_NATIVE_GRAPHITE2==1 ++graphite2/Font.h ++graphite2/Segment.h ++#endif ++#if MOZ_NATIVE_HARFBUZZ==1 ++harfbuzz/hb-ot.h ++harfbuzz/hb.h ++#endif +diff --git configure.in configure.in +index bbc7b40..1747206 100644 +--- mozilla/configure.in ++++ mozilla/configure.in +@@ -7830,6 +7830,35 @@ if test "$USE_FC_FREETYPE"; then + fi + + dnl ======================================================== ++dnl Check for graphite2 and harfbuzz ++dnl ======================================================== ++ ++MOZ_ARG_WITH_BOOL(system-harfbuzz, ++[ --with-system-harfbuzz Use system harfbuzz (located with pkgconfig)], ++MOZ_NATIVE_HARFBUZZ=1, ++MOZ_NATIVE_HARFBUZZ= ) ++ ++if test -n "$MOZ_NATIVE_HARFBUZZ"; then ++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.25) ++ MOZ_NATIVE_GRAPHITE2=1 ++fi ++AC_SUBST(MOZ_NATIVE_HARFBUZZ) ++AC_SUBST(MOZ_HARFBUZZ_CFLAGS) ++AC_SUBST(MOZ_HARFBUZZ_LIBS) ++ ++MOZ_ARG_WITH_BOOL(system-graphite2, ++[ --with-system-graphite2 Use system graphite2 (located with pkgconfig)], ++MOZ_NATIVE_GRAPHITE2=1, ++MOZ_NATIVE_GRAPHITE2= ) ++ ++if test -n "$MOZ_NATIVE_GRAPHITE2"; then ++ PKG_CHECK_MODULES(MOZ_GRAPHITE2, graphite2 >= 1.2.4) ++fi ++AC_SUBST(MOZ_NATIVE_GRAPHITE2) ++AC_SUBST(MOZ_GRAPHITE2_CFLAGS) ++AC_SUBST(MOZ_GRAPHITE2_LIBS) ++ ++dnl ======================================================== + dnl Check for pixman and cairo + dnl ======================================================== + +diff --git content/base/src/Makefile.in content/base/src/Makefile.in +index a618096..596901a 100644 +--- mozilla/content/base/src/Makefile.in ++++ mozilla/content/base/src/Makefile.in +@@ -5,6 +5,10 @@ + + include $(topsrcdir)/config/rules.mk + ++ifdef MOZ_NATIVE_HARFBUZZ ++nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + # gcc requires -msse2 for this file since it uses SSE2 intrinsics. (See bug + # 585538 comment 12.) + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/harfbuzz/src/Makefile.in gfx/harfbuzz/src/Makefile.in +index b285844..92c87ea 100644 +--- mozilla/gfx/harfbuzz/src/Makefile.in ++++ mozilla/gfx/harfbuzz/src/Makefile.in +@@ -29,3 +29,7 @@ include $(topsrcdir)/config/rules.mk + # Cancel the effect of the -DDEBUG macro if present, + # because harfbuzz uses that name for its own purposes + COMPILE_CXXFLAGS += -UDEBUG ++ ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif +diff --git gfx/moz.build gfx/moz.build +index 519aa46..6929751 100644 +--- mozilla/gfx/moz.build ++++ mozilla/gfx/moz.build +@@ -7,6 +7,12 @@ + if CONFIG['MOZ_TREE_CAIRO']: + DIRS += ['cairo'] + ++if not CONFIG['MOZ_NATIVE_GRAPHITE2']: ++ DIRS += ['graphite2/src' ] ++ ++if not CONFIG['MOZ_NATIVE_HARFBUZZ']: ++ DIRS += ['harfbuzz/src'] ++ + DIRS += [ + '2d', + 'ycbcr', +@@ -15,8 +21,6 @@ DIRS += [ + 'qcms', + 'gl', + 'layers', +- 'graphite2/src', +- 'harfbuzz/src', + 'ots/src', + 'thebes', + 'ipc', +diff --git gfx/skia/Makefile.in gfx/skia/Makefile.in +index 07a77a3..067f7bd 100644 +--- mozilla/gfx/skia/Makefile.in ++++ mozilla/gfx/skia/Makefile.in +@@ -15,6 +15,10 @@ ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) + OS_CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PANGO_CFLAGS) $(CAIRO_FT_CFLAGS) + endif + ++ifdef MOZ_NATIVE_HARFBUZZ ++OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + include $(topsrcdir)/config/rules.mk + + ifneq (,$(INTEL_ARCHITECTURE)) +diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in +index e9f6b6c..0df2d8d 100644 +--- mozilla/gfx/thebes/Makefile.in ++++ mozilla/gfx/thebes/Makefile.in +@@ -13,6 +13,14 @@ DEFINES := $(filter-out -DUNICODE,$(DEFINES)) + CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + CFLAGS += $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS) + ++ifdef MOZ_NATIVE_GRAPHITE2 ++CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) ++endif ++ + ifeq ($(MOZ_WIDGET_TOOLKIT),android) + CXXFLAGS += $(CAIRO_FT_CFLAGS) + endif +diff --git intl/unicharutil/util/Makefile.in intl/unicharutil/util/Makefile.in +index f6b9f7c..11c44f4 100644 +--- mozilla/intl/unicharutil/util/Makefile.in ++++ mozilla/intl/unicharutil/util/Makefile.in +@@ -21,3 +21,7 @@ ifdef _MSC_VER + OS_COMPILE_CXXFLAGS += -Zl + OS_COMPILE_CFLAGS += -Zl + endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsUnicodePropertyData.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in +index 1cacbd7..a8cd156 100644 +--- mozilla/netwerk/dns/Makefile.in ++++ mozilla/netwerk/dns/Makefile.in +@@ -9,3 +9,7 @@ include $(topsrcdir)/config/rules.mk + # for effective TLD data. + etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat + $(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++nsIDNService.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS) ++endif +diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in +index 007f272..27f488e 100644 +--- mozilla/toolkit/library/Makefile.in ++++ mozilla/toolkit/library/Makefile.in +@@ -103,6 +103,14 @@ ifndef MOZ_TREE_PIXMAN + EXTRA_DSO_LDOPTS += $(MOZ_PIXMAN_LIBS) + endif + ++ifdef MOZ_NATIVE_GRAPHITE2 ++EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS) ++endif ++ ++ifdef MOZ_NATIVE_HARFBUZZ ++EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS) ++endif ++ + ifdef MOZ_DMD + EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib) + endif