- firefox 31.0 - firefox-esr 24.7.0 - libxul 24.7.0 - seamonkey 2.26.1 - thunderbird 31.0 Among changes: - add workaround for crash with openldap on thunderbird and seamonkey [1] - add crashfix for architectures with strict alignmentment - backport crashfix with system sqlite/nss on firefox-esr and thunderbird - restore hooking jemalloc in sqlite on freebsd 10+ - fix thunderbird build with -jN [2] - respect MAKE_JOBS_NUMBER regardless of kern.smp.cpus [2] - define CPE_URI for nspr/nss and firefox/thunderbird/seamonkey - require recent gstreamer1-libav i386 crashfix - add DTRACE option for use with DTraceToolkit (js_flowtime.d, js_who.d, etc) PR: 165263 [1] PR: 184630 [2] Submitted by: Jan Beich
208 lines
6.2 KiB
Text
208 lines
6.2 KiB
Text
# 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 18e8703..bdc5f82 100644
|
|
--- mozilla/config/system-headers
|
|
+++ mozilla/config/system-headers
|
|
@@ -1145,3 +1145,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 ac38f40..87536b7 100644
|
|
--- mozilla/configure.in
|
|
+++ mozilla/configure.in
|
|
@@ -8032,6 +8032,52 @@ if test "$USE_FC_FREETYPE"; then
|
|
fi
|
|
|
|
dnl ========================================================
|
|
+dnl Check for 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)
|
|
+fi
|
|
+
|
|
+AC_SUBST(MOZ_NATIVE_HARFBUZZ)
|
|
+AC_SUBST(MOZ_HARFBUZZ_CFLAGS)
|
|
+AC_SUBST(MOZ_HARFBUZZ_LIBS)
|
|
+
|
|
+dnl ========================================================
|
|
+dnl Check for graphite2
|
|
+dnl ========================================================
|
|
+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)
|
|
+
|
|
+ dnl graphite2.pc has bogus version, check manually
|
|
+ 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,2,4)
|
|
+ #error "Insufficient graphite2 version."
|
|
+ #endif
|
|
+ ], [],
|
|
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
|
|
+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/moz.build content/base/src/moz.build
|
|
index d4f6380..0ee55df 100644
|
|
--- mozilla/content/base/src/moz.build
|
|
+++ mozilla/content/base/src/moz.build
|
|
@@ -179,6 +179,9 @@ SOURCES += [
|
|
'nsObjectLoadingContent.cpp',
|
|
]
|
|
|
|
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
|
|
+ SOURCES['nsContentUtils.cpp'].flags += [CONFIG['MOZ_HARFBUZZ_CFLAGS']]
|
|
+
|
|
EXTRA_COMPONENTS += [
|
|
'contentAreaDropListener.js',
|
|
'contentAreaDropListener.manifest',
|
|
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 ee0efb2..98e169d6f 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
|
|
|
|
ifeq ($(CPU_ARCH)_$(GNU_CC),arm_1)
|
|
diff --git gfx/thebes/Makefile.in gfx/thebes/Makefile.in
|
|
index 45c36ae..79d32cf 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..60863f4 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
|
|
+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
|
|
+endif
|
|
diff --git netwerk/dns/Makefile.in netwerk/dns/Makefile.in
|
|
index 1cacbd7..f5d72bb 100644
|
|
--- mozilla/netwerk/dns/Makefile.in
|
|
+++ mozilla/netwerk/dns/Makefile.in
|
|
@@ -5,6 +5,10 @@
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
+ifdef MOZ_NATIVE_HARFBUZZ
|
|
+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS)
|
|
+endif
|
|
+
|
|
# Generate the include file containing compact, static definitions
|
|
# for effective TLD data.
|
|
etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat
|
|
diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk
|
|
index 67f0db9..d42137a 100644
|
|
--- mozilla/toolkit/library/libxul.mk
|
|
+++ mozilla/toolkit/library/libxul.mk
|
|
@@ -89,6 +89,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
|