FreeBSD Bugzilla – Attachment 159076 Details for
Bug 201769
mail/thunderbird: update thunderbird to 38.1.0
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
to be applied in mail/thunderbird PATCH 1/3
thunderbird.patch (text/plain), 128.23 KB, created by
Christoph Moench-Tegeder
on 2015-07-22 18:14:49 UTC
(
hide
)
Description:
to be applied in mail/thunderbird PATCH 1/3
Filename:
MIME Type:
Creator:
Christoph Moench-Tegeder
Created:
2015-07-22 18:14:49 UTC
Size:
128.23 KB
patch
obsolete
>M Makefile >M distinfo >D files/patch-bug1013675 >D files/patch-bug1015547 >D files/patch-bug1021171 >M files/patch-bug1021761 >D files/patch-bug1026828 >D files/patch-bug1041795 >D files/patch-bug1046224 >D files/patch-bug1067377 >D files/patch-bug1073709 >D files/patch-bug1082199 >D files/patch-bug1103858 >D files/patch-bug1125579 >D files/patch-bug1125580 >M files/patch-bug1130155 >M files/patch-bug702179 >M files/patch-bug779713 >M files/patch-bug826985 >M files/patch-bug847568 >D files/patch-bug858919 >D files/patch-bug961264 >M files/patch-config-baseconfig.mk >M files/patch-ijg-libjpeg >M files/patch-mail-app-nsMailApp.cpp >M files/patch-mozilla_toolkit_mozapps_installer_packager_mk >M files/patch-z-bug517422 > >Index: Makefile >=================================================================== >--- Makefile (revision 392685) >+++ Makefile (working copy) >@@ -2,7 +2,7 @@ > # $FreeBSD$ > > PORTNAME= thunderbird >-DISTVERSION= 31.7.0 >+DISTVERSION= 38.1.0 > PORTREVISION= 1 > CATEGORIES= mail news net-im ipv6 > MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ >@@ -21,7 +21,6 @@ > harfbuzz>=0.9.25:${PORTSDIR}/print/harfbuzz \ > graphite2>=1.2.4:${PORTSDIR}/graphics/graphite2 \ > libvorbis>=1.3.5:${PORTSDIR}/audio/libvorbis \ >- opus>=1.1:${PORTSDIR}/audio/opus \ > libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \ > sqlite3>=3.8.4.2:${PORTSDIR}/databases/sqlite3 \ > ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ >@@ -29,15 +28,17 @@ > autoconf-2.13:${PORTSDIR}/devel/autoconf213 \ > zip:${PORTSDIR}/archivers/zip \ > unzip:${PORTSDIR}/archivers/unzip >+# opus>=1.1:${PORTSDIR}/audio/opus \ > > LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l > > EM_VERSION= 1.8.2 >-L_VERSION= 3.3.7 >+L_VERSION= 4.0.1 > > SSP_UNSAFE= yes > USE_GECKO= gecko >-USE_MOZILLA= # empty >+# USE_MOZILLA= # empty >+USE_MOZILLA= -opus > > USE_QT5= # empty > QT_NONSTANDARD= yes >@@ -67,7 +68,7 @@ > > .include <bsd.port.pre.mk> > >-WRKSRC= ${WRKDIR}/comm-esr31 >+WRKSRC= ${WRKDIR}/comm-esr38 > MOZSRC:= ${WRKSRC}/mozilla > > XPI_LIBDIR= ${PREFIX}/lib/xpi >@@ -103,7 +104,7 @@ > MOZ_OPTIONS+= --enable-calendar > MOZ_MK_OPTIONS+= MOZ_CO_PROJECT=calendar > LIGHTNING_DIR= share/lightning >-XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/xpi-stage/lightning-${L_VERSION}.en-US.${OPSYS:tl}${OSREL}-${ARCH:S/amd64/x86_64/}.xpi >+XPI_FILE= ${MOZ_OBJDIR}/dist/xpi-stage/lightning-${L_VERSION}.en-US.${OPSYS:tl}${OSREL}-${ARCH:S/amd64/x86_64/}.xpi > XPI_ORIG_ID= {e2fda1a4-762b-4020-b5ad-a41df1933103} > XPI_ID= lightning@thunderbird.mozilla.org > .else >Index: distinfo >=================================================================== >--- distinfo (revision 392685) >+++ distinfo (working copy) >@@ -1,4 +1,4 @@ >-SHA256 (thunderbird-31.7.0.source.tar.bz2) = dc3a6afaab486ba09745898f55986f98cc9bf7647cd992849f9c7ead563479b7 >-SIZE (thunderbird-31.7.0.source.tar.bz2) = 171059989 >+SHA256 (thunderbird-38.1.0.source.tar.bz2) = ddf1fd6048f07370bb0375eac76e687c19d29100c19e9f86fc04bb88d4409787 >+SIZE (thunderbird-38.1.0.source.tar.bz2) = 204161689 > SHA256 (enigmail-1.8.2.tar.gz) = 1d2700799bc52aaa8e8c9f7a0f5111281ff9fbdffc093cdff070657d574eb2a6 > SIZE (enigmail-1.8.2.tar.gz) = 1604159 >Index: files/patch-bug1013675 >=================================================================== >--- files/patch-bug1013675 (revision 392685) >+++ files/patch-bug1013675 (working copy) >@@ -1,88 +0,0 @@ >-diff --git xpcom/base/nsDebugImpl.cpp xpcom/base/nsDebugImpl.cpp >-index 13a286f..293bd73 100644 >---- mozilla/xpcom/base/nsDebugImpl.cpp >-+++ mozilla/xpcom/base/nsDebugImpl.cpp >-@@ -45,12 +45,43 @@ >- #endif >- #endif >- >--#if defined(XP_MACOSX) >-+#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \ >-+ || defined(__NetBSD__) || defined(__OpenBSD__) >- #include <stdbool.h> >- #include <unistd.h> >-+#include <sys/param.h> >- #include <sys/sysctl.h> >- #endif >- >-+#if defined(__OpenBSD__) >-+#include <sys/proc.h> >-+#endif >-+ >-+#if defined(__DragonFly__) || defined(__FreeBSD__) >-+#include <sys/user.h> >-+#endif >-+ >-+#if defined(__NetBSD__) >-+#undef KERN_PROC >-+#define KERN_PROC KERN_PROC2 >-+#define KINFO_PROC struct kinfo_proc2 >-+#else >-+#define KINFO_PROC struct kinfo_proc >-+#endif >-+ >-+#if defined(XP_MACOSX) >-+#define KP_FLAGS kp_proc.p_flag >-+#elif defined(__DragonFly__) >-+#define KP_FLAGS kp_flags >-+#elif defined(__FreeBSD__) >-+#define KP_FLAGS ki_flag >-+#elif defined(__OpenBSD__) && !defined(_P_TRACED) >-+#define KP_FLAGS p_psflags >-+#define P_TRACED PS_TRACED >-+#else >-+#define KP_FLAGS p_flag >-+#endif >-+ >- #include "mozilla/mozalloc_abort.h" >- >- static void >-@@ -144,16 +175,22 @@ nsDebugImpl::GetIsDebuggerAttached(bool* aResult) >- >- #if defined(XP_WIN) >- *aResult = ::IsDebuggerPresent(); >--#elif defined(XP_MACOSX) >-+#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \ >-+ || defined(__NetBSD__) || defined(__OpenBSD__) >- // Specify the info we're looking for >-- int mib[4]; >-- mib[0] = CTL_KERN; >-- mib[1] = KERN_PROC; >-- mib[2] = KERN_PROC_PID; >-- mib[3] = getpid(); >-+ int mib[] = { >-+ CTL_KERN, >-+ KERN_PROC, >-+ KERN_PROC_PID, >-+ getpid(), >-+#if defined(__NetBSD__) || defined(__OpenBSD__) >-+ sizeof(KINFO_PROC), >-+ 1, >-+#endif >-+ }; >- size_t mibSize = sizeof(mib) / sizeof(int); >- >-- struct kinfo_proc info; >-+ KINFO_PROC info; >- size_t infoSize = sizeof(info); >- memset(&info, 0, infoSize); >- >-@@ -163,7 +200,7 @@ nsDebugImpl::GetIsDebuggerAttached(bool* aResult) >- return NS_OK; >- } >- >-- if (info.kp_proc.p_flag & P_TRACED) { >-+ if (info.KP_FLAGS & P_TRACED) { >- *aResult = true; >- } >- #endif >Index: files/patch-bug1015547 >=================================================================== >--- files/patch-bug1015547 (revision 392685) >+++ files/patch-bug1015547 (working copy) >@@ -1,95 +0,0 @@ >-diff --git configure.in configure.in >-index 7bed45f..053de17 100644 >---- mozilla/configure.in >-+++ mozilla/configure.in >-@@ -2950,7 +2950,7 @@ dnl Checks for library functions. >- dnl ======================================================== >- AC_PROG_GCC_TRADITIONAL >- AC_FUNC_MEMCMP >--AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize localtime_r) >-+AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize localtime_r arc4random arc4random_buf) >- >- dnl check for clock_gettime(), the CLOCK_MONOTONIC clock >- AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC), >-diff --git xpcom/base/nsUUIDGenerator.cpp xpcom/base/nsUUIDGenerator.cpp >-index 0687344..ca3ff8b 100644 >---- mozilla/xpcom/base/nsUUIDGenerator.cpp >-+++ mozilla/xpcom/base/nsUUIDGenerator.cpp >-@@ -15,6 +15,10 @@ >- >- #include "nsUUIDGenerator.h" >- >-+#ifdef ANDROID >-+extern "C" NS_EXPORT void arc4random_buf(void *, size_t); >-+#endif >-+ >- using namespace mozilla; >- >- NS_IMPL_ISUPPORTS1(nsUUIDGenerator, nsIUUIDGenerator) >-@@ -34,7 +38,7 @@ nsUUIDGenerator::Init() >- // We're a service, so we're guaranteed that Init() is not going >- // to be reentered while we're inside Init(). >- >--#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(ANDROID) >-+#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(HAVE_ARC4RANDOM) >- /* initialize random number generator using NSPR random noise */ >- unsigned int seed; >- >-@@ -67,7 +71,7 @@ nsUUIDGenerator::Init() >- return NS_ERROR_FAILURE; >- #endif >- >--#endif /* non XP_WIN and non XP_MACOSX */ >-+#endif /* non XP_WIN and non XP_MACOSX and non ARC4RANDOM */ >- >- return NS_OK; >- } >-@@ -114,13 +118,16 @@ nsUUIDGenerator::GenerateUUIDInPlace(nsID* id) >- * back to it; instead, we use the value returned when we called >- * initstate, since older glibc's have broken setstate() return values >- */ >--#ifndef ANDROID >-+#ifndef HAVE_ARC4RANDOM >- setstate(mState); >- #endif >- >-+#ifdef HAVE_ARC4RANDOM_BUF >-+ arc4random_buf(id, sizeof(nsID)); >-+#else /* HAVE_ARC4RANDOM_BUF */ >- size_t bytesLeft = sizeof(nsID); >- while (bytesLeft > 0) { >--#ifdef ANDROID >-+#ifdef HAVE_ARC4RANDOM >- long rval = arc4random(); >- const size_t mRBytes = 4; >- #else >-@@ -141,6 +148,7 @@ nsUUIDGenerator::GenerateUUIDInPlace(nsID* id) >- >- bytesLeft -= toWrite; >- } >-+#endif /* HAVE_ARC4RANDOM_BUF */ >- >- /* Put in the version */ >- id->m2 &= 0x0fff; >-@@ -150,7 +158,7 @@ nsUUIDGenerator::GenerateUUIDInPlace(nsID* id) >- id->m3[0] &= 0x3f; >- id->m3[0] |= 0x80; >- >--#ifndef ANDROID >-+#ifndef HAVE_ARC4RANDOM >- /* Restore the previous RNG state */ >- setstate(mSavedState); >- #endif >-diff --git xpcom/base/nsUUIDGenerator.h xpcom/base/nsUUIDGenerator.h >-index 6a24212..68ed6f2 100644 >---- mozilla/xpcom/base/nsUUIDGenerator.h >-+++ mozilla/xpcom/base/nsUUIDGenerator.h >-@@ -27,7 +27,7 @@ private: >- protected: >- >- mozilla::Mutex mLock; >--#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(ANDROID) >-+#if !defined(XP_WIN) && !defined(XP_MACOSX) && !defined(HAVE_ARC4RANDOM) >- char mState[128]; >- char *mSavedState; >- uint8_t mRBytes; >Index: files/patch-bug1021171 >=================================================================== >--- files/patch-bug1021171 (revision 392685) >+++ files/patch-bug1021171 (working copy) >@@ -1,193 +0,0 @@ >-commit dd19f59 >-Author: Trevor Saunders <trev.saunders@gmail.com> >-Date: Fri Jun 6 15:31:30 2014 -0400 >- >- bug 1021171 - don't return nulllptr in functions returning bool r=bz,waldo >---- >- js/src/builtin/TypedObject.cpp | 32 ++++++++++++++++---------------- >- js/src/frontend/BytecodeCompiler.cpp | 2 +- >- js/xpconnect/wrappers/XrayWrapper.cpp | 2 +- >- netwerk/ipc/NeckoParent.cpp | 2 +- >- 4 files changed, 19 insertions(+), 19 deletions(-) >- >-diff --git js/src/builtin/TypedObject.cpp js/src/builtin/TypedObject.cpp >-index 9e284b9..7a0a7fc 100644 >---- mozilla/js/src/builtin/TypedObject.cpp >-+++ mozilla/js/src/builtin/TypedObject.cpp >-@@ -710,12 +710,12 @@ ArrayMetaTypeDescr::construct(JSContext *cx, unsigned argc, Value *vp) >- contents.append(")"); >- RootedAtom stringRepr(cx, contents.finishAtom()); >- if (!stringRepr) >-- return nullptr; >-+ return false; >- >- // Extract ArrayType.prototype >- RootedObject arrayTypePrototype(cx, GetPrototype(cx, arrayTypeGlobal)); >- if (!arrayTypePrototype) >-- return nullptr; >-+ return false; >- >- // Create the instance of ArrayType >- Rooted<UnsizedArrayTypeDescr *> obj(cx); >-@@ -728,7 +728,7 @@ ArrayMetaTypeDescr::construct(JSContext *cx, unsigned argc, Value *vp) >- if (!JSObject::defineProperty(cx, obj, cx->names().length, >- UndefinedHandleValue, nullptr, nullptr, >- JSPROP_READONLY | JSPROP_PERMANENT)) >-- return nullptr; >-+ return false; >- >- args.rval().setObject(*obj); >- return true; >-@@ -762,7 +762,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) >- if (!size.isValid()) { >- JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr, >- JSMSG_TYPEDOBJECT_TOO_BIG); >-- return nullptr; >-+ return false; >- } >- >- // Construct a canonical string `new ArrayType(<elementType>).dimension(N)`: >-@@ -775,7 +775,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) >- contents.append(")"); >- RootedAtom stringRepr(cx, contents.finishAtom()); >- if (!stringRepr) >-- return nullptr; >-+ return false; >- >- // Create the sized type object. >- Rooted<SizedArrayTypeDescr*> obj(cx); >-@@ -793,7 +793,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) >- if (!JSObject::defineProperty(cx, obj, cx->names().length, >- lengthVal, nullptr, nullptr, >- JSPROP_READONLY | JSPROP_PERMANENT)) >-- return nullptr; >-+ return false; >- >- // Add `unsized` property, which is a link from the sized >- // array to the unsized array. >-@@ -801,7 +801,7 @@ UnsizedArrayTypeDescr::dimension(JSContext *cx, unsigned int argc, jsval *vp) >- if (!JSObject::defineProperty(cx, obj, cx->names().unsized, >- unsizedTypeDescrValue, nullptr, nullptr, >- JSPROP_READONLY | JSPROP_PERMANENT)) >-- return nullptr; >-+ return false; >- >- args.rval().setObject(*obj); >- return true; >-@@ -1253,7 +1253,7 @@ DefineSimpleTypeDescr(JSContext *cx, >- Rooted<TypedProto*> proto(cx); >- proto = NewObjectWithProto<TypedProto>(cx, objProto, nullptr, TenuredObject); >- if (!proto) >-- return nullptr; >-+ return false; >- proto->initTypeDescrSlot(*descr); >- descr->initReservedSlot(JS_DESCR_SLOT_TYPROTO, ObjectValue(*proto)); >- >-@@ -1358,14 +1358,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle<GlobalObject*> global) >- #define BINARYDATA_SCALAR_DEFINE(constant_, type_, name_) \ >- if (!DefineSimpleTypeDescr<ScalarTypeDescr>(cx, global, module, constant_, \ >- cx->names().name_)) \ >-- return nullptr; >-+ return false; >- JS_FOR_EACH_SCALAR_TYPE_REPR(BINARYDATA_SCALAR_DEFINE) >- #undef BINARYDATA_SCALAR_DEFINE >- >- #define BINARYDATA_REFERENCE_DEFINE(constant_, type_, name_) \ >- if (!DefineSimpleTypeDescr<ReferenceTypeDescr>(cx, global, module, constant_, \ >- cx->names().name_)) \ >-- return nullptr; >-+ return false; >- JS_FOR_EACH_REFERENCE_TYPE_REPR(BINARYDATA_REFERENCE_DEFINE) >- #undef BINARYDATA_REFERENCE_DEFINE >- >-@@ -1375,14 +1375,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle<GlobalObject*> global) >- arrayType = DefineMetaTypeDescr<ArrayMetaTypeDescr>( >- cx, global, module, TypedObjectModuleObject::ArrayTypePrototype); >- if (!arrayType) >-- return nullptr; >-+ return false; >- >- RootedValue arrayTypeValue(cx, ObjectValue(*arrayType)); >- if (!JSObject::defineProperty(cx, module, cx->names().ArrayType, >- arrayTypeValue, >- nullptr, nullptr, >- JSPROP_READONLY | JSPROP_PERMANENT)) >-- return nullptr; >-+ return false; >- >- // StructType. >- >-@@ -1390,14 +1390,14 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle<GlobalObject*> global) >- structType = DefineMetaTypeDescr<StructMetaTypeDescr>( >- cx, global, module, TypedObjectModuleObject::StructTypePrototype); >- if (!structType) >-- return nullptr; >-+ return false; >- >- RootedValue structTypeValue(cx, ObjectValue(*structType)); >- if (!JSObject::defineProperty(cx, module, cx->names().StructType, >- structTypeValue, >- nullptr, nullptr, >- JSPROP_READONLY | JSPROP_PERMANENT)) >-- return nullptr; >-+ return false; >- >- // Everything is setup, install module on the global object: >- RootedValue moduleValue(cx, ObjectValue(*module)); >-@@ -1407,7 +1407,7 @@ GlobalObject::initTypedObjectModule(JSContext *cx, Handle<GlobalObject*> global) >- nullptr, nullptr, >- 0)) >- { >-- return nullptr; >-+ return false; >- } >- >- return module; >-@@ -2449,7 +2449,7 @@ TypedObject::constructUnsized(JSContext *cx, unsigned int argc, Value *vp) >- if (length < 0) { >- JS_ReportErrorNumber(cx, js_GetErrorMessage, >- nullptr, JSMSG_TYPEDOBJECT_BAD_ARGS); >-- return nullptr; >-+ return false; >- } >- Rooted<TypedObject*> obj(cx, createZeroed(cx, callee, length)); >- if (!obj) >-diff --git js/src/frontend/BytecodeCompiler.cpp js/src/frontend/BytecodeCompiler.cpp >-index 5aacc23..aed45ca 100644 >---- mozilla/js/src/frontend/BytecodeCompiler.cpp >-+++ mozilla/js/src/frontend/BytecodeCompiler.cpp >-@@ -544,7 +544,7 @@ CompileFunctionBody(JSContext *cx, MutableHandleFunction fun, const ReadOnlyComp >- >- RootedScriptSource sourceObject(cx, CreateScriptSourceObject(cx, options)); >- if (!sourceObject) >-- return nullptr; >-+ return false; >- ScriptSource* ss = sourceObject->source(); >- >- SourceCompressionTask sct(cx); >-diff --git js/xpconnect/wrappers/XrayWrapper.cpp js/xpconnect/wrappers/XrayWrapper.cpp >-index fd6458b..ab48770 100644 >---- mozilla/js/xpconnect/wrappers/XrayWrapper.cpp >-+++ mozilla/js/xpconnect/wrappers/XrayWrapper.cpp >-@@ -363,7 +363,7 @@ public: >- { >- JSAutoCompartment ac(cx, target); >- if (!JS_GetClassPrototype(cx, key, protop)) >-- return nullptr; >-+ return false; >- } >- return JS_WrapObject(cx, protop); >- } >-diff --git netwerk/ipc/NeckoParent.cpp netwerk/ipc/NeckoParent.cpp >-index 96dbb1d..ef3293b 100644 >---- mozilla/netwerk/ipc/NeckoParent.cpp >-+++ mozilla/netwerk/ipc/NeckoParent.cpp >-@@ -365,7 +365,7 @@ NeckoParent::RecvPRtspChannelConstructor( >- RtspChannelParent* p = static_cast<RtspChannelParent*>(aActor); >- return p->Init(aConnectArgs); >- #else >-- return nullptr; >-+ return false; >- #endif >- } >- >Index: files/patch-bug1021761 >=================================================================== >--- files/patch-bug1021761 (revision 392685) >+++ files/patch-bug1021761 (working copy) >@@ -1,8 +1,6 @@ >-diff --git configure.in configure.in >-index 48e60c0..ec08417 100644 >---- mozilla/configure.in >-+++ mozilla/configure.in >-@@ -5591,6 +5591,67 @@ fi >+--- ./mozilla/configure.in.orig 2015-07-07 19:45:45.000000000 +0200 >++++ ./mozilla/configure.in 2015-07-20 17:24:10.000000000 +0200 >+@@ -5606,6 +5606,67 @@ > AC_SUBST(MOZ_WEBM_ENCODER) > > dnl ================================== >@@ -70,20 +68,16 @@ > dnl = Check alsa availability on Linux > dnl ================================== > >-diff --git media/libcubeb/AUTHORS media/libcubeb/AUTHORS >-index b441e8a..950d9e5 100644 >---- mozilla/media/libcubeb/AUTHORS >-+++ mozilla/media/libcubeb/AUTHORS >-@@ -4,3 +4,4 @@ Michael Wu <mwu@mozilla.com> >+--- ./mozilla/media/libcubeb/AUTHORS.orig 2015-07-07 19:45:45.000000000 +0200 >++++ ./mozilla/media/libcubeb/AUTHORS 2015-07-20 17:24:33.000000000 +0200 >+@@ -4,3 +4,4 @@ > Paul Adenot <paul@paul.cx> > David Richards <drichards@mozilla.com> > Sebastien Alaiwan <sebastien.alaiwan@gmail.com> > +Evgeniy Vodolazskiy <waterlaz@gmail.com> >-diff --git media/libcubeb/src/cubeb.c media/libcubeb/src/cubeb.c >-index 9c3adcc..45d765b 100644 >---- mozilla/media/libcubeb/src/cubeb.c >-+++ mozilla/media/libcubeb/src/cubeb.c >-@@ -54,6 +54,9 @@ int opensl_init(cubeb ** context, char const * context_name); >+--- ./mozilla/media/libcubeb/src/cubeb.c.orig 2015-07-07 19:45:45.000000000 +0200 >++++ ./mozilla/media/libcubeb/src/cubeb.c 2015-07-20 17:24:51.000000000 +0200 >+@@ -56,6 +56,9 @@ > #if defined(USE_AUDIOTRACK) > int audiotrack_init(cubeb ** context, char const * context_name); > #endif >@@ -93,7 +87,7 @@ > > int > validate_stream_params(cubeb_stream_params stream_params) >-@@ -120,6 +123,9 @@ cubeb_init(cubeb ** context, char const * context_name) >+@@ -122,6 +125,9 @@ > #if defined(USE_AUDIOTRACK) > audiotrack_init, > #endif >@@ -103,11 +97,9 @@ > }; > int i; > >-diff --git media/libcubeb/src/cubeb_alsa.c media/libcubeb/src/cubeb_alsa.c >-index a962553..1f780f4 100644 >---- mozilla/media/libcubeb/src/cubeb_alsa.c >-+++ mozilla/media/libcubeb/src/cubeb_alsa.c >-@@ -11,6 +11,7 @@ >+--- ./mozilla/media/libcubeb/src/cubeb_alsa.c.orig 2015-07-20 19:30:37.000000000 +0200 >++++ ./mozilla/media/libcubeb/src/cubeb_alsa.c 2015-07-20 19:29:38.000000000 +0200 >+@@ -12,6 +12,7 @@ > #include <sys/time.h> > #include <assert.h> > #include <limits.h> >@@ -115,7 +107,7 @@ > #include <poll.h> > #include <unistd.h> > #include <alsa/asoundlib.h> >-@@ -24,6 +25,50 @@ >+@@ -25,6 +26,50 @@ > > #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin" > >@@ -166,7 +158,7 @@ > /* ALSA is not thread-safe. snd_pcm_t instances are individually protected > by the owning cubeb_stream's mutex. snd_pcm_t creation and destruction > is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1), >-@@ -64,6 +109,8 @@ struct cubeb { >+@@ -65,6 +110,8 @@ > workaround is not required. */ > snd_config_t * local_config; > int is_pa; >@@ -175,7 +167,7 @@ > }; > > enum stream_state { >-@@ -262,7 +309,7 @@ alsa_refill_stream(cubeb_stream * stm) >+@@ -263,7 +310,7 @@ > > pthread_mutex_lock(&stm->mutex); > >@@ -184,7 +176,7 @@ > if (r < 0 || revents != POLLOUT) { > /* This should be a stream error; it makes no sense for poll(2) to wake > for this stream and then have the stream report that it's not ready. >-@@ -271,10 +318,10 @@ alsa_refill_stream(cubeb_stream * stm) >+@@ -272,10 +319,10 @@ > return RUNNING; > } > >@@ -198,7 +190,7 @@ > } > > /* Failed to recover from an xrun, this stream must be broken. */ >-@@ -293,8 +340,8 @@ alsa_refill_stream(cubeb_stream * stm) >+@@ -294,8 +341,8 @@ > available to write. If avail is still zero here, the stream must be in > a funky state, so recover and try again. */ > if (avail == 0) { >@@ -209,21 +201,21 @@ > if (avail <= 0) { > pthread_mutex_unlock(&stm->mutex); > stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR); >-@@ -302,7 +349,7 @@ alsa_refill_stream(cubeb_stream * stm) >+@@ -303,7 +350,7 @@ > } > } > > - p = calloc(1, snd_pcm_frames_to_bytes(stm->pcm, avail)); >-+ p = calloc(1, WRAP(snd_pcm_frames_to_bytes)(stm->pcm, avail)); >++ p = calloc(1, WRAP(snd_pcm_frames_to_bytes(stm->pcm, avail))); > assert(p); > > pthread_mutex_unlock(&stm->mutex); >-@@ -313,10 +360,10 @@ alsa_refill_stream(cubeb_stream * stm) >- return ERROR; >- } >- if (got > 0) { >-- snd_pcm_sframes_t wrote = snd_pcm_writei(stm->pcm, p, got); >-+ snd_pcm_sframes_t wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got); >+@@ -328,10 +375,10 @@ >+ b[i] *= stm->volume; >+ } >+ } >+- wrote = snd_pcm_writei(stm->pcm, p, got); >++ wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got); > if (wrote == -EPIPE) { > - snd_pcm_recover(stm->pcm, wrote, 1); > - wrote = snd_pcm_writei(stm->pcm, p, got); >@@ -232,7 +224,7 @@ > } > assert(wrote >= 0 && wrote == got); > stm->write_position += wrote; >-@@ -342,7 +389,7 @@ alsa_refill_stream(cubeb_stream * stm) >+@@ -343,7 +390,7 @@ > > /* Fill the remaining buffer with silence to guarantee one full period > has been written. */ >@@ -241,7 +233,7 @@ > > set_timeout(&stm->drain_timeout, buffer_time * 1000); > >-@@ -453,26 +500,26 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm) >+@@ -454,26 +501,26 @@ > > slave_def = NULL; > >@@ -273,7 +265,7 @@ > if (r < 0) { > break; > } >-@@ -481,7 +528,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm) >+@@ -482,7 +529,7 @@ > if (r < 0 || r > (int) sizeof(node_name)) { > break; > } >@@ -282,7 +274,7 @@ > if (r < 0) { > break; > } >-@@ -490,7 +537,7 @@ get_slave_pcm_node(snd_config_t * lconf, snd_config_t * root_pcm) >+@@ -491,7 +538,7 @@ > } while (0); > > if (slave_def) { >@@ -291,7 +283,7 @@ > } > > return NULL; >-@@ -513,22 +560,22 @@ init_local_config_with_workaround(char const * pcm_name) >+@@ -514,22 +561,22 @@ > > lconf = NULL; > >@@ -301,7 +293,7 @@ > } > > - r = snd_config_copy(&lconf, snd_config); >-+ r = WRAP(snd_config_copy)(&lconf, *WRAP(snd_config)); >++ r = WRAP(snd_config_copy)(&lconf, snd_config); > if (r < 0) { > return NULL; > } >@@ -318,7 +310,7 @@ > if (r < 0) { > break; > } >-@@ -537,7 +584,7 @@ init_local_config_with_workaround(char const * pcm_name) >+@@ -538,7 +585,7 @@ > if (r < 0 || r > (int) sizeof(node_name)) { > break; > } >@@ -327,7 +319,7 @@ > if (r < 0) { > break; > } >-@@ -548,12 +595,12 @@ init_local_config_with_workaround(char const * pcm_name) >+@@ -549,12 +596,12 @@ > } > > /* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */ >@@ -342,7 +334,7 @@ > if (r < 0) { > break; > } >-@@ -564,18 +611,18 @@ init_local_config_with_workaround(char const * pcm_name) >+@@ -565,18 +612,18 @@ > > /* Don't clobber an explicit existing handle_underrun value, set it only > if it doesn't already exist. */ >@@ -364,7 +356,7 @@ > if (r < 0) { > break; > } >-@@ -583,7 +630,7 @@ init_local_config_with_workaround(char const * pcm_name) >+@@ -584,7 +631,7 @@ > return lconf; > } while (0); > >@@ -373,7 +365,7 @@ > > return NULL; > } >-@@ -595,9 +642,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, snd_pcm_stream_t stream, snd_config_t * l >+@@ -596,9 +643,9 @@ > > pthread_mutex_lock(&cubeb_alsa_mutex); > if (local_config) { >@@ -385,7 +377,7 @@ > } > pthread_mutex_unlock(&cubeb_alsa_mutex); > >-@@ -610,7 +657,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm) >+@@ -611,7 +658,7 @@ > int r; > > pthread_mutex_lock(&cubeb_alsa_mutex); >@@ -394,7 +386,7 @@ > pthread_mutex_unlock(&cubeb_alsa_mutex); > > return r; >-@@ -667,12 +714,65 @@ alsa_init(cubeb ** context, char const * context_name) >+@@ -668,12 +715,65 @@ > pthread_attr_t attr; > snd_pcm_t * dummy; > >@@ -461,7 +453,7 @@ > cubeb_alsa_error_handler_set = 1; > } > pthread_mutex_unlock(&cubeb_alsa_mutex); >-@@ -680,6 +780,8 @@ alsa_init(cubeb ** context, char const * context_name) >+@@ -681,6 +781,8 @@ > ctx = calloc(1, sizeof(*ctx)); > assert(ctx); > >@@ -470,7 +462,7 @@ > ctx->ops = &alsa_ops; > > r = pthread_mutex_init(&ctx->mutex, NULL); >-@@ -729,7 +831,7 @@ alsa_init(cubeb ** context, char const * context_name) >+@@ -730,7 +832,7 @@ > config fails with EINVAL, the PA PCM is too old for this workaround. */ > if (r == -EINVAL) { > pthread_mutex_lock(&cubeb_alsa_mutex); >@@ -479,7 +471,7 @@ > pthread_mutex_unlock(&cubeb_alsa_mutex); > ctx->local_config = NULL; > } else if (r >= 0) { >-@@ -768,9 +870,13 @@ alsa_destroy(cubeb * ctx) >+@@ -769,9 +871,13 @@ > pthread_mutex_destroy(&ctx->mutex); > free(ctx->fds); > >@@ -494,7 +486,7 @@ > pthread_mutex_unlock(&cubeb_alsa_mutex); > } > >-@@ -838,7 +944,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stream ** stream, char const * stream_name, >+@@ -839,7 +945,7 @@ > return CUBEB_ERROR; > } > >@@ -503,7 +495,7 @@ > assert(r == 0); > > /* Ugly hack: the PA ALSA plugin allows buffer configurations that can't >-@@ -848,23 +954,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stream ** stream, char const * stream_name, >+@@ -849,23 +955,23 @@ > latency = latency < 500 ? 500 : latency; > } > >@@ -533,54 +525,45 @@ > assert((nfds_t) r == stm->nfds); > > r = pthread_cond_init(&stm->cond, NULL); >-@@ -937,12 +1043,12 @@ alsa_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) >+@@ -938,7 +1044,7 @@ > return CUBEB_ERROR; > } > >-- rv = snd_pcm_hw_params_any(stm->pcm, hw_params); >-+ rv = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params); >- if (rv < 0) { >+- r = snd_pcm_hw_params_any(stm->pcm, hw_params); >++ r = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params); >+ if (r < 0) { > return CUBEB_ERROR; > } >+@@ -963,18 +1069,18 @@ > >-- rv = snd_pcm_hw_params_get_channels_max(hw_params, max_channels); >-+ rv = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels); >- if (rv < 0) { >- return CUBEB_ERROR; >- } >-@@ -962,34 +1068,34 @@ alsa_get_preferred_sample_rate(cubeb * ctx, uint32_t * rate) { >- > /* get a pcm, disabling resampling, so we get a rate the > * hardware/dmix/pulse/etc. supports. */ >-- rv = snd_pcm_open(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); >-+ rv = WRAP(snd_pcm_open)(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); >- if (rv < 0) { >+- r = snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); >++ r = WRAP(snd_pcm_open)(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0); >+ if (r < 0) { > return CUBEB_ERROR; > } > >-- rv = snd_pcm_hw_params_any(pcm, hw_params); >-+ rv = WRAP(snd_pcm_hw_params_any)(pcm, hw_params); >- if (rv < 0) { >+- r = snd_pcm_hw_params_any(pcm, hw_params); >++ r = WRAP(snd_pcm_hw_params_any)(pcm, hw_params); >+ if (r < 0) { > - snd_pcm_close(pcm); > + WRAP(snd_pcm_close)(pcm); > return CUBEB_ERROR; > } > >-- rv = snd_pcm_hw_params_get_rate(hw_params, rate, &dir); >-+ rv = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir); >- if (rv >= 0) { >+- r = snd_pcm_hw_params_get_rate(hw_params, rate, &dir); >++ r = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir); >+ if (r >= 0) { > /* There is a default rate: use it. */ >-- snd_pcm_close(pcm); >-+ WRAP(snd_pcm_close)(pcm); >- return CUBEB_OK; >- } >- >+ snd_pcm_close(pcm); >+@@ -984,13 +1090,13 @@ > /* Use a common rate, alsa may adjust it based on hw/etc. capabilities. */ > *rate = 44100; > >-- rv = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL); >-+ rv = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL); >- if (rv < 0) { >+- r = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL); >++ r = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL); >+ if (r < 0) { > - snd_pcm_close(pcm); > + WRAP(snd_pcm_close)(pcm); > return CUBEB_ERROR; >@@ -591,7 +574,7 @@ > > return CUBEB_OK; > } >-@@ -1013,7 +1119,7 @@ alsa_stream_start(cubeb_stream * stm) >+@@ -1014,7 +1120,7 @@ > ctx = stm->context; > > pthread_mutex_lock(&stm->mutex); >@@ -600,7 +583,7 @@ > gettimeofday(&stm->last_activity, NULL); > pthread_mutex_unlock(&stm->mutex); > >-@@ -1047,7 +1153,7 @@ alsa_stream_stop(cubeb_stream * stm) >+@@ -1048,7 +1154,7 @@ > pthread_mutex_unlock(&ctx->mutex); > > pthread_mutex_lock(&stm->mutex); >@@ -609,7 +592,7 @@ > pthread_mutex_unlock(&stm->mutex); > > return CUBEB_OK; >-@@ -1063,8 +1169,8 @@ alsa_stream_get_position(cubeb_stream * stm, uint64_t * position) >+@@ -1064,8 +1170,8 @@ > pthread_mutex_lock(&stm->mutex); > > delay = -1; >@@ -620,7 +603,7 @@ > *position = stm->last_position; > pthread_mutex_unlock(&stm->mutex); > return CUBEB_OK; >-@@ -1089,7 +1195,7 @@ alsa_stream_get_latency(cubeb_stream * stm, uint32_t * latency) >+@@ -1090,7 +1196,7 @@ > snd_pcm_sframes_t delay; > /* This function returns the delay in frames until a frame written using > snd_pcm_writei is sent to the DAC. The DAC delay should be < 1ms anyways. */ >@@ -629,11 +612,8 @@ > return CUBEB_ERROR; > } > >-diff --git media/libcubeb/src/cubeb_oss.c media/libcubeb/src/cubeb_oss.c >-new file mode 100644 >-index 0000000..5e38e27 >---- /dev/null >-+++ mozilla/media/libcubeb/src/cubeb_oss.c >+--- ./mozilla/media/libcubeb/src/cubeb_oss.c.orig 2015-07-20 19:42:45.000000000 +0200 >++++ ./mozilla/media/libcubeb/src/cubeb_oss.c 2015-07-20 19:42:45.000000000 +0200 > @@ -0,0 +1,397 @@ > +/* > + * Copyright © 2014 Mozilla Foundation >@@ -1032,11 +1012,9 @@ > + .stream_get_position = oss_stream_get_position, > + .stream_get_latency = oss_stream_get_latency > +}; >-diff --git media/libcubeb/src/moz.build media/libcubeb/src/moz.build >-index 8b7a0dd..31212ce 100644 >---- mozilla/media/libcubeb/src/moz.build >-+++ mozilla/media/libcubeb/src/moz.build >-@@ -17,6 +17,12 @@ if CONFIG['MOZ_ALSA']: >+--- ./mozilla/media/libcubeb/src/moz.build.orig 2015-07-07 19:45:45.000000000 +0200 >++++ ./mozilla/media/libcubeb/src/moz.build 2015-07-20 19:42:58.000000000 +0200 >+@@ -17,6 +17,12 @@ > ] > DEFINES['USE_ALSA'] = True > >@@ -1049,7 +1027,7 @@ > if CONFIG['MOZ_PULSEAUDIO']: > SOURCES += [ > 'cubeb_pulse.c', >-@@ -75,5 +81,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': >+@@ -75,5 +81,6 @@ > > FAIL_ON_WARNINGS = True > >@@ -1056,36 +1034,29 @@ > +CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] > CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] > CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] >-diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in >-index 991f03f..3d99eb5 100644 >---- mozilla/media/webrtc/signaling/test/Makefile.in >-+++ mozilla/media/webrtc/signaling/test/Makefile.in >-@@ -26,9 +26,9 @@ ifdef JS_SHARED_LIBRARY >- LIBS += $(MOZ_JS_LIBS) >- endif >+--- ./mozilla/media/webrtc/signaling/test/moz.build.orig 2015-07-20 19:43:50.000000000 +0200 >++++ ./mozilla/media/webrtc/signaling/test/moz.build 2015-07-20 19:45:33.000000000 +0200 >+@@ -112,8 +112,8 @@ >+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] >+ OS_LIBS += CONFIG['REALTIME_LIBS'] > >--ifdef MOZ_ALSA >-+ifdef MOZ_OSS >- LIBS += \ >-- $(MOZ_ALSA_LIBS) \ >-+ $(MOZ_OSS_LIBS) \ >- $(NULL) >- endif >+-if CONFIG['MOZ_ALSA']: >+- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] >++if CONFIG['MOZ_OSS']: >++ OS_LIBS += CONFIG['MOZ_OSS_LIBS'] > >-diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk >-index e191f13..4fb268a 100644 >---- mozilla/toolkit/library/libxul.mk >-+++ mozilla/toolkit/library/libxul.mk >-@@ -146,9 +146,9 @@ OS_LIBS += $(call EXPAND_LIBNAME,secur32 >- endif >- endif >+ if CONFIG['MOZ_NATIVE_JPEG']: >+ OS_LIBS += CONFIG['MOZ_JPEG_LIBS'] >+--- ./mozilla/toolkit/library/moz.build.orig 2015-07-20 19:41:09.000000000 +0200 >++++ ./mozilla/toolkit/library/moz.build 2015-07-20 19:41:51.000000000 +0200 >+@@ -234,8 +234,8 @@ >+ if not CONFIG['MOZ_TREE_PIXMAN']: >+ OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS'] > >--ifdef MOZ_ALSA >--EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS) >--endif >-+ifdef MOZ_OSS >-+EXTRA_DSO_LDOPTS += $(MOZ_OSS_LIBS) >-+endif >+-if CONFIG['MOZ_ALSA']: >+- OS_LIBS += CONFIG['MOZ_ALSA_LIBS'] >++if CONFIG['MOZ_OSS']: >++ OS_LIBS += CONFIG['MOZ_OSS_LIBS'] > >- ifdef HAVE_CLOCK_MONOTONIC >- EXTRA_DSO_LDOPTS += $(REALTIME_LIBS) >+ if CONFIG['HAVE_CLOCK_MONOTONIC']: >+ OS_LIBS += CONFIG['REALTIME_LIBS'] >Index: files/patch-bug1026828 >=================================================================== >--- files/patch-bug1026828 (revision 392685) >+++ files/patch-bug1026828 (working copy) >@@ -1,20 +0,0 @@ >-diff --git storage/src/moz.build storage/src/moz.build >-index 4cd2551..5c40536 100644 >---- mozilla/storage/src/moz.build >-+++ mozilla/storage/src/moz.build >-@@ -50,11 +50,14 @@ FINAL_LIBRARY = 'storagecomps' >- # (such as NSS) might trigger an initialization of sqlite and allocation >- # of memory using the default allocator, prior to the storage service >- # registering its allocator, causing memory management failures (bug 938730). >-+# However, this is not an issue if both the jemalloc allocator and the default >-+# allocator are the same thing. >- # >- # Note: On Windows our sqlite build assumes we use jemalloc. If you disable >- # MOZ_STORAGE_MEMORY on Windows, you will also need to change the "ifdef >- # MOZ_MEMORY" options in db/sqlite3/src/Makefile.in. >--if CONFIG['MOZ_MEMORY'] and not CONFIG['MOZ_NATIVE_SQLITE']: >-+if CONFIG['MOZ_MEMORY'] and (not CONFIG['MOZ_NATIVE_SQLITE'] >-+ or CONFIG['MOZ_NATIVE_JEMALLOC']): >- if CONFIG['OS_TARGET'] != 'Android': >- DEFINES['MOZ_STORAGE_MEMORY'] = True >- >Index: files/patch-bug1041795 >=================================================================== >--- files/patch-bug1041795 (revision 392685) >+++ files/patch-bug1041795 (working copy) >@@ -1,48 +0,0 @@ >-diff --git config/rules.mk config/rules.mk >-index 4d67eda..783942f 100644 >---- mozilla/config/rules.mk >-+++ mozilla/config/rules.mk >-@@ -858,7 +858,7 @@ ifdef DTRACE_PROBE_OBJ >- ifndef DTRACE_LIB_DEPENDENT >- NON_DTRACE_OBJS := $(filter-out $(DTRACE_PROBE_OBJ),$(OBJS)) >- $(DTRACE_PROBE_OBJ): $(NON_DTRACE_OBJS) >-- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS) >-+ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(NON_DTRACE_OBJS) >- endif >- endif >- endif >-@@ -876,7 +876,7 @@ ifndef INCREMENTAL_LINKER >- endif >- ifdef DTRACE_LIB_DEPENDENT >- ifndef XP_MACOSX >-- dtrace -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS)) >-+ dtrace -x nolibs -G -C -s $(MOZILLA_DTRACE_SRC) -o $(DTRACE_PROBE_OBJ) $(shell $(EXPAND_LIBS) $(MOZILLA_PROBE_LIBS)) >- endif >- $(EXPAND_MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(SUB_SHLOBJS) $(DTRACE_PROBE_OBJ) $(MOZILLA_PROBE_LIBS) $(RESFILE) $(LDFLAGS) $(WRAP_LDFLAGS) $(SHARED_LIBRARY_LIBS) $(EXTRA_DSO_LDOPTS) $(MOZ_GLUE_LDFLAGS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE) $(if $(LIB_IS_C_ONLY),,$(STLPORT_LIBS)) >- @$(RM) $(DTRACE_PROBE_OBJ) >-diff --git js/src/Makefile.in js/src/Makefile.in >-index 28ca5e8..96793d7 100644 >---- mozilla/js/src/Makefile.in >-+++ mozilla/js/src/Makefile.in >-@@ -342,7 +342,7 @@ endif >- >- ifdef HAVE_DTRACE >- $(CURDIR)/javascript-trace.h: $(srcdir)/devtools/javascript-trace.d >-- dtrace -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in >-+ dtrace -x nolibs -h -s $(srcdir)/devtools/javascript-trace.d -o javascript-trace.h.in >- sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \ >- -e '/const/!s/char \*/const char */g' \ >- javascript-trace.h.in > javascript-trace.h >-diff --git probes/Makefile.in probes/Makefile.in >-index 6d18f34..deec83f 100644 >---- mozilla/probes/Makefile.in >-+++ mozilla/probes/Makefile.in >-@@ -7,7 +7,7 @@ export:: $(DIST)/include/mozilla-trace.h >- >- # Replace _DTRACE_VERSION with INCLUDE_MOZILLA_DTRACE >- $(DIST)/include/mozilla-trace.h: mozilla-trace.d Makefile >-- dtrace -h -s $(srcdir)/mozilla-trace.d -o mozilla-trace.h.tmp >-+ dtrace -x nolibs -h -s $(srcdir)/mozilla-trace.d -o mozilla-trace.h.tmp >- sed -e 's/if _DTRACE_VERSION/ifdef INCLUDE_MOZILLA_DTRACE/' \ >- mozilla-trace.h.tmp > $(DIST)/include/mozilla-trace.h >- rm mozilla-trace.h.tmp >Index: files/patch-bug1046224 >=================================================================== >--- files/patch-bug1046224 (revision 392685) >+++ files/patch-bug1046224 (working copy) >@@ -1,26 +0,0 @@ >-diff --git configure.in configure.in >-index 1853029..559bd45 100644 >---- mozilla/configure.in >-+++ mozilla/configure.in >-@@ -2651,7 +2651,7 @@ if test "$ac_cv_sockaddr_sa_len" = true ; then >- AC_DEFINE(HAVE_SA_LEN) >- fi >- >--AC_ARG_ENABLE(dtrace, >-+MOZ_ARG_ENABLE_BOOL(dtrace, >- [ --enable-dtrace build with dtrace support if available (default=no)], >- [enable_dtrace="yes"],) >- if test "x$enable_dtrace" = "xyes"; then >-diff --git js/src/configure.in js/src/configure.in >-index 134dfd3..682c1fb 100644 >---- mozilla/js/src/configure.in >-+++ mozilla/js/src/configure.in >-@@ -2153,7 +2153,7 @@ dnl Quota support >- MOZ_CHECK_HEADERS(sys/quota.h) >- MOZ_CHECK_HEADERS(linux/quota.h) >- >--AC_ARG_ENABLE(dtrace, >-+MOZ_ARG_ENABLE_BOOL(dtrace, >- [ --enable-dtrace build with dtrace support if available (default=no)], >- [enable_dtrace="yes"],) >- if test "x$enable_dtrace" = "xyes"; then >Index: files/patch-bug1067377 >=================================================================== >--- files/patch-bug1067377 (revision 392685) >+++ files/patch-bug1067377 (working copy) >@@ -1,78 +0,0 @@ >-diff --git content/media/encoder/VP8TrackEncoder.cpp content/media/encoder/VP8TrackEncoder.cpp >-index 452821c..ede21c5 100644 >---- mozilla/content/media/encoder/VP8TrackEncoder.cpp >-+++ mozilla/content/media/encoder/VP8TrackEncoder.cpp >-@@ -84,7 +84,7 @@ VP8TrackEncoder::Init(int32_t aWidth, int32_t aHeight, int32_t aDisplayWidth, >- // Creating a wrapper to the image - setting image data to NULL. Actual >- // pointer will be set in encode. Setting align to 1, as it is meaningless >- // (actual memory is not allocated). >-- vpx_img_wrap(mVPXImageWrapper, IMG_FMT_I420, >-+ vpx_img_wrap(mVPXImageWrapper, VPX_IMG_FMT_I420, >- mFrameWidth, mFrameHeight, 1, nullptr); >- >- config.g_w = mFrameWidth; >-@@ -239,9 +239,9 @@ void VP8TrackEncoder::PrepareMutedFrame() >- uint8_t *cb = mMuteFrame.Elements() + yPlaneSize; >- uint8_t *cr = mMuteFrame.Elements() + yPlaneSize + uvPlaneSize; >- >-- mVPXImageWrapper->planes[PLANE_Y] = y; >-- mVPXImageWrapper->planes[PLANE_U] = cb; >-- mVPXImageWrapper->planes[PLANE_V] = cr; >-+ mVPXImageWrapper->planes[VPX_PLANE_Y] = y; >-+ mVPXImageWrapper->planes[VPX_PLANE_U] = cb; >-+ mVPXImageWrapper->planes[VPX_PLANE_V] = cr; >- mVPXImageWrapper->stride[VPX_PLANE_Y] = mFrameWidth; >- mVPXImageWrapper->stride[VPX_PLANE_U] = halfWidth; >- mVPXImageWrapper->stride[VPX_PLANE_V] = halfWidth; >-@@ -297,9 +297,9 @@ nsresult VP8TrackEncoder::PrepareRawFrame(VideoChunk &aChunk) >- const PlanarYCbCrImage::Data *data = yuv->GetData(); >- >- if (isYUV420(data) && !data->mCbSkip) { // 420 planar >-- mVPXImageWrapper->planes[PLANE_Y] = data->mYChannel; >-- mVPXImageWrapper->planes[PLANE_U] = data->mCbChannel; >-- mVPXImageWrapper->planes[PLANE_V] = data->mCrChannel; >-+ mVPXImageWrapper->planes[VPX_PLANE_Y] = data->mYChannel; >-+ mVPXImageWrapper->planes[VPX_PLANE_U] = data->mCbChannel; >-+ mVPXImageWrapper->planes[VPX_PLANE_V] = data->mCrChannel; >- mVPXImageWrapper->stride[VPX_PLANE_Y] = data->mYStride; >- mVPXImageWrapper->stride[VPX_PLANE_U] = data->mCbCrStride; >- mVPXImageWrapper->stride[VPX_PLANE_V] = data->mCbCrStride; >-@@ -355,9 +355,9 @@ nsresult VP8TrackEncoder::PrepareRawFrame(VideoChunk &aChunk) >- return NS_ERROR_NOT_IMPLEMENTED; >- } >- >-- mVPXImageWrapper->planes[PLANE_Y] = y; >-- mVPXImageWrapper->planes[PLANE_U] = cb; >-- mVPXImageWrapper->planes[PLANE_V] = cr; >-+ mVPXImageWrapper->planes[VPX_PLANE_Y] = y; >-+ mVPXImageWrapper->planes[VPX_PLANE_U] = cb; >-+ mVPXImageWrapper->planes[VPX_PLANE_V] = cr; >- mVPXImageWrapper->stride[VPX_PLANE_Y] = mFrameWidth; >- mVPXImageWrapper->stride[VPX_PLANE_U] = halfWidth; >- mVPXImageWrapper->stride[VPX_PLANE_V] = halfWidth; >-diff --git media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc >-index d9c3a22..75195ae 100644 >---- mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc >-+++ mozilla/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc >-@@ -180,7 +180,7 @@ int VP8EncoderImpl::InitEncode(const VideoCodec* inst, >- // Creating a wrapper to the image - setting image data to NULL. Actual >- // pointer will be set in encode. Setting align to 1, as it is meaningless >- // (actual memory is not allocated). >-- raw_ = vpx_img_wrap(NULL, IMG_FMT_I420, codec_.width, codec_.height, >-+ raw_ = vpx_img_wrap(NULL, VPX_IMG_FMT_I420, codec_.width, codec_.height, >- 1, NULL); >- // populate encoder configuration with default values >- if (vpx_codec_enc_config_default(vpx_codec_vp8_cx(), config_, 0)) { >-@@ -349,9 +349,9 @@ int VP8EncoderImpl::Encode(const I420VideoFrame& input_image, >- } >- // Image in vpx_image_t format. >- // Input image is const. VP8's raw image is not defined as const. >-- raw_->planes[PLANE_Y] = const_cast<uint8_t*>(input_image.buffer(kYPlane)); >-- raw_->planes[PLANE_U] = const_cast<uint8_t*>(input_image.buffer(kUPlane)); >-- raw_->planes[PLANE_V] = const_cast<uint8_t*>(input_image.buffer(kVPlane)); >-+ raw_->planes[VPX_PLANE_Y] = const_cast<uint8_t*>(input_image.buffer(kYPlane)); >-+ raw_->planes[VPX_PLANE_U] = const_cast<uint8_t*>(input_image.buffer(kUPlane)); >-+ raw_->planes[VPX_PLANE_V] = const_cast<uint8_t*>(input_image.buffer(kVPlane)); >- // TODO(mikhal): Stride should be set in initialization. >- raw_->stride[VPX_PLANE_Y] = input_image.stride(kYPlane); >- raw_->stride[VPX_PLANE_U] = input_image.stride(kUPlane); >Index: files/patch-bug1073709 >=================================================================== >--- files/patch-bug1073709 (revision 392685) >+++ files/patch-bug1073709 (working copy) >@@ -1,18 +0,0 @@ >-diff --git mfbt/Atomics.h mfbt/Atomics.h >-index 495a9d3..c7f7601 100644 >---- mozilla/mfbt/Atomics.h >-+++ mozilla/mfbt/Atomics.h >-@@ -34,10 +34,12 @@ >- * loose typing of the atomic builtins. GCC 4.5 and 4.6 lacks inline >- * definitions for unspecialized std::atomic and causes linking errors. >- * Therefore, we require at least 4.7.0 for using libstdc++. >-+ * >-+ * libc++ <atomic> is only functional with clang. >- */ >- # if MOZ_USING_LIBSTDCXX && MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 7, 0) >- # define MOZ_HAVE_CXX11_ATOMICS >--# elif MOZ_USING_LIBCXX >-+# elif MOZ_USING_LIBCXX && defined(__clang__) >- # define MOZ_HAVE_CXX11_ATOMICS >- # endif >- /* >Index: files/patch-bug1082199 >=================================================================== >--- files/patch-bug1082199 (revision 392685) >+++ files/patch-bug1082199 (working copy) >@@ -1,26 +0,0 @@ >-commit 258ec90 >-Author: Guilherme Goncalves <guilherme.p.gonc@gmail.com> >-Date: Fri Oct 17 15:55:00 2014 +0200 >- >- Bug 1082199 - Recompute stats in jemalloc_stats when using jemalloc3. r=glandium >---- >- memory/build/mozjemalloc_compat.c | 6 ++++++ >- 1 file changed, 6 insertions(+) >- >-diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c >-index 78bb13a..70265a7 100644 >---- mozilla/memory/build/mozjemalloc_compat.c >-+++ mozilla/memory/build/mozjemalloc_compat.c >-@@ -68,6 +68,12 @@ jemalloc_stats_impl(jemalloc_stats_t *stats) >- size_t active, allocated, mapped, page, pdirty; >- size_t lg_chunk; >- >-+ // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in >-+ // src/ctl.c >-+ uint64_t epoch = 0; >-+ size_t esz = sizeof(epoch); >-+ int ret = je_(mallctl)("epoch", &epoch, &esz, &epoch, esz); >-+ >- CTL_GET("arenas.narenas", narenas); >- CTL_GET("arenas.page", page); >- CTL_GET("stats.active", active); >Index: files/patch-bug1103858 >=================================================================== >--- files/patch-bug1103858 (revision 392685) >+++ files/patch-bug1103858 (working copy) >@@ -1,42 +0,0 @@ >-diff --git configure.in configure.in >-index b2b45e7..dcfdfb7 100644 >---- mozilla/configure.in >-+++ mozilla/configure.in >-@@ -8346,7 +8346,7 @@ case "$OS_TARGET" in >- NECKO_WIFI=1 >- fi >- ;; >-- Darwin|FreeBSD|SunOS|WINNT) >-+ Darwin|DragonFly|FreeBSD|SunOS|WINNT) >- NECKO_WIFI=1 >- ;; >- Linux) >-diff --git netwerk/wifi/moz.build netwerk/wifi/moz.build >-index d4de063..3949380 100644 >---- mozilla/netwerk/wifi/moz.build >-+++ mozilla/netwerk/wifi/moz.build >-@@ -35,7 +35,7 @@ if CONFIG['OS_ARCH'] == 'Darwin': >- UNIFIED_SOURCES += [ >- 'osx_corewlan.mm', >- ] >--elif CONFIG['OS_ARCH'] == 'FreeBSD': >-+elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD'): >- UNIFIED_SOURCES += [ >- 'nsWifiScannerFreeBSD.cpp', >- ] >-diff --git netwerk/wifi/nsWifiScannerFreeBSD.cpp netwerk/wifi/nsWifiScannerFreeBSD.cpp >-index bdf171e..4185d69 100644 >---- mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp >-+++ mozilla/netwerk/wifi/nsWifiScannerFreeBSD.cpp >-@@ -13,7 +13,11 @@ >- #include <sys/socket.h> >- #include <net/if.h> >- #include <net/if_media.h> >-+#ifdef __DragonFly__ >-+#include <netproto/802_11/ieee80211_ioctl.h> >-+#else >- #include <net80211/ieee80211_ioctl.h> >-+#endif >- >- #include <ifaddrs.h> >- #include <string.h> >Index: files/patch-bug1125579 >=================================================================== >--- files/patch-bug1125579 (revision 392685) >+++ files/patch-bug1125579 (working copy) >@@ -1,14 +0,0 @@ >---- mozilla/js/src/assembler/jit/ExecutableAllocator.h~ >-+++ mozilla/js/src/assembler/jit/ExecutableAllocator.h >-@@ -454,6 +454,11 @@ public: >- { >- User::IMB_Range(code, static_cast<char*>(code) + size); >- } >-+#elif WTF_CPU_ARM_TRADITIONAL && (WTF_OS_FREEBSD || WTF_OS_NETBSD) >-+ static void cacheFlush(void* code, size_t size) >-+ { >-+ __clear_cache(code, reinterpret_cast<char*>(code) + size); >-+ } >- #elif WTF_CPU_ARM_TRADITIONAL && WTF_OS_LINUX && WTF_COMPILER_RVCT >- static __asm void cacheFlush(void* code, size_t size); >- #elif WTF_CPU_ARM_TRADITIONAL && (WTF_OS_LINUX || WTF_OS_ANDROID) && WTF_COMPILER_GCC >Index: files/patch-bug1125580 >=================================================================== >--- files/patch-bug1125580 (revision 392685) >+++ files/patch-bug1125580 (working copy) >@@ -1,11 +0,0 @@ >---- mozilla/js/src/jit/arm/Architecture-arm.cpp~ >-+++ mozilla/js/src/jit/arm/Architecture-arm.cpp >-@@ -17,7 +17,7 @@ >- >- #define HWCAP_USE_HARDFP_ABI (1 << 28) >- >--#if !(defined(ANDROID) || defined(MOZ_B2G)) && !defined(JS_ARM_SIMULATOR) >-+#if defined(__linux__) && !defined(ANDROID) && !defined(MOZ_B2G) && !defined(JS_ARM_SIMULATOR) >- #define HWCAP_ARMv7 (1 << 29) >- #include <asm/hwcap.h> >- #else >Index: files/patch-bug1130155 >=================================================================== >--- files/patch-bug1130155 (revision 392685) >+++ files/patch-bug1130155 (working copy) >@@ -1,16 +1,5 @@ >-commit eab3e3a >-Author: Mikhail Teterin <mi@aldan.algebra.com> >-Date: Tue Dec 16 19:34:02 2014 -0800 >- >- Bug 1130155 - Avoid assert failures when consuming only part of buffer. >---- >- media/libcubeb/src/cubeb_alsa.c | 112 ++++++++++++++++++++++++++++++---------- >- 1 file changed, 85 insertions(+), 27 deletions(-) >- >-diff --git media/libcubeb/src/cubeb_alsa.c media/libcubeb/src/cubeb_alsa.c >-index 9bbc129..e72944a 100644 >---- mozilla/media/libcubeb/src/cubeb_alsa.c >-+++ mozilla/media/libcubeb/src/cubeb_alsa.c >+--- mozilla/media/libcubeb/src/cubeb_alsa.c.orig 2015-07-20 20:17:05.000000000 +0200 >++++ mozilla/media/libcubeb/src/cubeb_alsa.c 2015-07-20 20:30:57.000000000 +0200 > @@ -14,6 +14,8 @@ > #include <limits.h> > #include <dlfcn.h> >@@ -20,7 +9,7 @@ > #include <unistd.h> > #include <alsa/asoundlib.h> > #include "cubeb/cubeb.h" >-@@ -45,6 +47,7 @@ MAKE_TYPEDEF(snd_pcm_avail_update); >+@@ -45,6 +47,7 @@ > MAKE_TYPEDEF(snd_pcm_close); > MAKE_TYPEDEF(snd_pcm_delay); > MAKE_TYPEDEF(snd_pcm_drain); >@@ -28,7 +17,7 @@ > MAKE_TYPEDEF(snd_pcm_frames_to_bytes); > MAKE_TYPEDEF(snd_pcm_get_params); > /* snd_pcm_hw_params_alloca is actually a macro */ >-@@ -305,32 +308,35 @@ alsa_refill_stream(cubeb_stream * stm) >+@@ -305,32 +308,34 @@ > long got; > void * p; > int draining; >@@ -48,8 +37,7 @@ > - } > + for (pipefailures = 0;;) { > + r = WRAP(snd_pcm_poll_descriptors_revents)(stm->pcm, stm->fds, stm->nfds, &revents); >-+ if (r < 0 || revents != POLLOUT || >-+ (avail = WRAP(snd_pcm_avail_update)(stm->pcm)) == 0) { >++ if (r < 0 || revents != POLLOUT) { > + /* This should be a stream error; it makes no sense for poll(2) to wake > + for this stream and then have the stream report that it's not ready. > + Unfortunately, this does happen, so just bail out and try again. */ >@@ -82,7 +70,7 @@ > > /* This should never happen. */ > if ((unsigned int) avail > stm->buffer_size) { >-@@ -355,17 +361,67 @@ alsa_refill_stream(cubeb_stream * stm) >+@@ -359,6 +364,7 @@ > if (got < 0) { > pthread_mutex_unlock(&stm->mutex); > stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR); >@@ -90,7 +78,11 @@ > return ERROR; > } > if (got > 0) { >-- snd_pcm_sframes_t wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got); >+@@ -375,14 +381,63 @@ >+ b[i] *= stm->volume; >+ } >+ } >+- wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got); > - if (wrote == -EPIPE) { > - WRAP(snd_pcm_recover)(stm->pcm, wrote, 1); > - wrote = WRAP(snd_pcm_writei)(stm->pcm, p, got); >@@ -116,7 +108,7 @@ > + case -EAGAIN: > + if (againfailures++ > 3) { > + fprintf(stderr, "%s: Too many -EAGAIN errors from snd_pcm_writei, " >-+ "giving up\n", __func__); >++ "giving up\n", __func__); > + stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR); > + pthread_mutex_unlock(&stm->mutex); > + free(p); >@@ -144,7 +136,7 @@ > + gettimeofday(&stm->last_activity, NULL); > + if (wrote > towrite) { > + fprintf(stderr, "%s: snc_pcm_writei wrote %lld frames, which was more " >-+ "than we requested (%lld). This should not happen, giving up\n", >++ "than we requested (%lld). This should not happen, giving up\n", > + __func__, (long long)wrote, (long long)towrite); > + free(p); > + stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR); >@@ -158,7 +150,7 @@ > } > if (got != avail) { > long buffer_fill = stm->buffer_size - (avail - got); >-@@ -1177,7 +1232,10 @@ alsa_stream_get_position(cubeb_stream * stm, uint64_t * position) >+@@ -1177,7 +1232,10 @@ > return CUBEB_OK; > } > >Index: files/patch-bug702179 >=================================================================== >--- files/patch-bug702179 (revision 392685) >+++ files/patch-bug702179 (working copy) >@@ -1,36 +1,12 @@ >-commit 6ddaacd >-Author: Ginn Chen <ginn.chen@oracle.com> >-Date: Wed Nov 30 07:23:46 2011 +0800 >- >- Bug 702179 dtrace probes are not installed on Solaris with static js lib r=glandium >---- >- configure.in | 2 +- >- js/src/Makefile.in | 2 -- >- 2 files changed, 1 insertion(+), 3 deletions(-) >- >-diff --git configure.in configure.in >-index 66549c1..75b848d 100644 >---- mozilla/configure.in >-+++ mozilla/configure.in >-@@ -966,7 +966,7 @@ MOZ_BZ2_LIBS='$(call EXPAND_LIBNAME_PATH,bz2,$(DEPTH)/modules/libbz2/src)' >- MOZ_PNG_CFLAGS="-I$_objdir/dist/include" # needed for freetype compilation >- MOZ_PNG_LIBS='$(call EXPAND_LIBNAME_PATH,mozpng,$(DEPTH)/media/libpng)' >+--- mozilla/js/src/Makefile.in.orig 2015-07-20 20:47:30.000000000 +0200 >++++ mozilla/js/src/Makefile.in 2015-07-20 20:47:38.000000000 +0200 >+@@ -16,9 +16,6 @@ > >--MOZ_JS_STATIC_LIBS='$(call EXPAND_LIBNAME_PATH,js_static,$(LIBXUL_DIST)/lib)' >-+MOZ_JS_STATIC_LIBS='$(call EXPAND_LIBNAME_PATH,js_static,$(DEPTH)/js/src)' >- MOZ_JS_SHARED_LIBS='$(call EXPAND_LIBNAME_PATH,mozjs,$(LIBXUL_DIST)/lib)' >- MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' >- XPCOM_FROZEN_LDOPTS='$(call EXPAND_LIBNAME_PATH,xul mozalloc,$(LIBXUL_DIST)/bin)' >-diff --git js/src/Makefile.in js/src/Makefile.in >-index e28160a..28ca5e8 100644 >---- mozilla/js/src/Makefile.in >-+++ mozilla/js/src/Makefile.in >-@@ -18,8 +18,6 @@ run_for_side_effects := $(shell echo 'MAKE: $(MAKE)') >- STATIC_LIBRARY_NAME = js_static >- LIBS = $(NSPR_LIBS) >+ run_for_side_effects := $(shell echo 'MAKE: $(MAKE)') > > -DIST_INSTALL = 1 >+-NO_EXPAND_LIBS = 1 > - >- ifdef JS_STANDALONE >- SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,mfbt,$(DEPTH)/mfbt) >- ifndef MOZ_NATIVE_ZLIB >+ ifdef JS_HAS_CTYPES >+ ifdef MOZ_NATIVE_FFI >+ LOCAL_INCLUDES = $(MOZ_FFI_CFLAGS) >Index: files/patch-bug779713 >=================================================================== >--- files/patch-bug779713 (revision 392685) >+++ files/patch-bug779713 (working copy) >@@ -1,5 +1,5 @@ >---- mozilla/mfbt/Alignment.h >-+++ mozilla/mfbt/Alignment.h >+--- mozilla/mfbt/Alignment.h.orig 2015-07-20 20:56:53.000000000 +0200 >++++ mozilla/mfbt/Alignment.h 2015-07-20 20:57:16.000000000 +0200 > @@ -9,11 +9,20 @@ > #ifndef mozilla_Alignment_h > #define mozilla_Alignment_h >@@ -21,7 +21,7 @@ > /* > * This class, and the corresponding macro MOZ_ALIGNOF, figures out how many > * bytes of alignment a given type needs. >-@@ -32,6 +41,7 @@ public: >+@@ -32,6 +41,7 @@ > }; > > #define MOZ_ALIGNOF(T) mozilla::AlignmentFinder<T>::alignment >@@ -29,7 +29,7 @@ > > /* > * Declare the MOZ_ALIGNED_DECL macro for declaring aligned types. >-@@ -43,7 +53,10 @@ public: >+@@ -43,7 +53,10 @@ > * will declare a two-character array |arr| aligned to 8 bytes. > */ > >@@ -41,11 +41,17 @@ > # define MOZ_ALIGNED_DECL(_type, _align) \ > _type __attribute__((aligned(_align))) > #elif defined(_MSC_VER) >-diff --git mfbt/Attributes.h mfbt/Attributes.h >-index d317766..ddb13da 100644 >---- mozilla/mfbt/Attributes.h >-+++ mozilla/mfbt/Attributes.h >-@@ -54,6 +54,9 @@ >+--- mozilla/mfbt/Attributes.h.orig 2015-07-20 20:57:38.000000000 +0200 >++++ mozilla/mfbt/Attributes.h 2015-07-20 21:06:12.000000000 +0200 >+@@ -50,6 +50,7 @@ >+ * don't indicate support for them here, due to >+ * http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug >+ */ >++# define MOZ_HAVE_CXX11_ALIGNAS >+ # define MOZ_HAVE_NEVER_INLINE __declspec(noinline) >+ # define MOZ_HAVE_NORETURN __declspec(noreturn) >+ # ifdef __clang__ >+@@ -70,6 +71,9 @@ > # ifndef __has_extension > # define __has_extension __has_feature /* compatibility, for older versions of clang */ > # endif >@@ -55,21 +61,3 @@ > # if __has_extension(cxx_constexpr) > # define MOZ_HAVE_CXX11_CONSTEXPR > # endif >-@@ -75,6 +78,9 @@ >- # endif >- #elif defined(__GNUC__) >- # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L >-+# if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0) >-+# define MOZ_HAVE_CXX11_ALIGNAS >-+# endif >- # if MOZ_GCC_VERSION_AT_LEAST(4, 7, 0) >- # define MOZ_HAVE_CXX11_OVERRIDE >- # define MOZ_HAVE_CXX11_FINAL final >-@@ -96,6 +102,7 @@ >- # define MOZ_HAVE_NORETURN __attribute__((noreturn)) >- #elif defined(_MSC_VER) >- # if _MSC_VER >= 1800 >-+# define MOZ_HAVE_CXX11_ALIGNAS >- # define MOZ_HAVE_CXX11_DELETE >- # endif >- # if _MSC_VER >= 1700 >Index: files/patch-bug826985 >=================================================================== >--- files/patch-bug826985 (revision 392685) >+++ files/patch-bug826985 (working copy) >@@ -51,18 +51,16 @@ > # basic stuff for everything > 'include_internal_video_render': 0, > 'clang_use_chrome_plugins': 0, >-diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in >-index b483cd1..f1dd1f0 100644 >---- mozilla/media/webrtc/signaling/test/Makefile.in >-+++ mozilla/media/webrtc/signaling/test/Makefile.in >-@@ -7,6 +7,7 @@ LIBS = \ >- $(NSPR_LIBS) \ >- $(NSS_LIBS) \ >- $(REALTIME_LIBS) \ >-+ $(MOZ_LIBV4L2_LIBS) \ >- $(DEPTH)/xpcom/glue/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \ >- $(DEPTH)/media/mtransport/standalone/$(LIB_PREFIX)mtransport_s.$(LIB_SUFFIX) \ >- $(DEPTH)/media/webrtc/signalingtest/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \ >+--- mozilla/media/webrtc/signaling/test/moz.build.orig 2015-07-20 21:16:09.000000000 +0200 >++++ mozilla/media/webrtc/signaling/test/moz.build 2015-07-20 21:16:35.000000000 +0200 >+@@ -109,6 +109,7 @@ >+ 'js', >+ ] >+ >++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] >+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] >+ OS_LIBS += CONFIG['REALTIME_LIBS'] >+ > diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc > index 239a292..bab496c 100644 > --- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc >@@ -145,35 +143,34 @@ > 'targets': [ > { > 'target_name': 'video_capture_module', >-@@ -49,6 +52,16 @@ >- }, { # include_internal_video_capture == 1 >- 'conditions': [ >- ['include_v4l2_video_capture==1', { >-+ 'conditions': [ >-+ ['use_libv4l2==1', { >-+ 'defines': [ >-+ 'HAVE_LIBV4L2', >-+ ], >-+ 'libraries': [ >-+ '-lv4l2', >-+ ], >-+ }], >+@@ -69,6 +72,19 @@ >+ 'linux/video_capture_linux.cc', >+ 'linux/video_capture_linux.h', >+ ], >++ 'conditions': [ >++ ['use_libv4l2==1', { >++ 'defines': [ >++ 'HAVE_LIBV4L2', > + ], >- 'include_dirs': [ >- 'linux', >- ], >-diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in >-index 9c16ffa..1db3794 100644 >---- mozilla/toolkit/library/libxul.mk >-+++ mozilla/toolkit/library/libxul.mk >-@@ -182,6 +182,10 @@ endif >++ 'cflags_mozilla': [ >++ '$(MOZ_LIBV4L2_CFLAGS)', >++ ], >++ 'libraries': [ >++ '-lv4l2', >++ ], >++ }], >++ ], >+ }], # linux >+ ['OS=="mac"', { >+ 'sources': [ >+ >+--- mozilla/toolkit/library/moz.build.orig 2015-07-20 21:28:46.000000000 +0200 >++++ mozilla/toolkit/library/moz.build 2015-07-20 21:29:15.000000000 +0200 >+@@ -214,6 +214,7 @@ >+ ] > >- EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib) >+ OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS'] >++OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] >+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] > >-+ifdef MOZ_LIBV4L2_LIBS >-+EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS) >-+endif >-+ >- ifdef MOZ_WEBRTC >- ifeq (WINNT,$(OS_TARGET)) >- EXTRA_DSO_LDOPTS += \ >+ if CONFIG['MOZ_NATIVE_JPEG']: >Index: files/patch-bug847568 >=================================================================== >--- files/patch-bug847568 (revision 392685) >+++ files/patch-bug847568 (working copy) >@@ -1,10 +1,6 @@ >-# 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) >+--- ./mozilla/config/Makefile.in.orig 2015-07-20 21:48:20.000000000 +0200 >++++ ./mozilla/config/Makefile.in 2015-07-20 21:50:14.000000000 +0200 >+@@ -77,6 +77,8 @@ > -DMOZ_NATIVE_LIBEVENT=$(MOZ_NATIVE_LIBEVENT) \ > -DMOZ_NATIVE_LIBVPX=$(MOZ_NATIVE_LIBVPX) \ > -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ >@@ -13,11 +9,9 @@ > $(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 >+--- ./mozilla/config/system-headers.orig 2015-07-20 21:50:21.000000000 +0200 >++++ ./mozilla/config/system-headers 2015-07-20 22:12:28.000000000 +0200 >+@@ -1362,3 +1362,11 @@ > #endif > libutil.h > unwind.h >@@ -29,11 +23,9 @@ > +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 >+--- ./mozilla/configure.in.orig 2015-07-20 21:46:13.000000000 +0200 >++++ ./mozilla/configure.in 2015-07-20 22:10:29.000000000 +0200 >+@@ -8130,6 +8130,52 @@ > fi > > dnl ======================================================== >@@ -50,8 +42,8 @@ > +fi > + > +AC_SUBST(MOZ_NATIVE_HARFBUZZ) >-+AC_SUBST(MOZ_HARFBUZZ_CFLAGS) >-+AC_SUBST(MOZ_HARFBUZZ_LIBS) >++# AC_SUBST(MOZ_HARFBUZZ_CFLAGS) >++# AC_SUBST(MOZ_HARFBUZZ_LIBS) > + > +dnl ======================================================== > +dnl Check for graphite2 >@@ -79,32 +71,57 @@ > +fi > + > +AC_SUBST(MOZ_NATIVE_GRAPHITE2) >-+AC_SUBST(MOZ_GRAPHITE2_CFLAGS) >-+AC_SUBST(MOZ_GRAPHITE2_LIBS) >++# 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', >- ] >+--- ./mozilla/dom/base/moz.build.orig 2015-07-20 22:14:36.000000000 +0200 >++++ ./mozilla/dom/base/moz.build 2015-07-20 22:15:45.000000000 +0200 >+@@ -368,6 +368,9 @@ >+ SOURCES += ['nsTextFragmentSSE2.cpp'] >+ SOURCES['nsTextFragmentSSE2.cpp'].flags += CONFIG['SSE2_FLAGS'] > > +if CONFIG['MOZ_NATIVE_HARFBUZZ']: >-+ SOURCES['nsContentUtils.cpp'].flags += [CONFIG['MOZ_HARFBUZZ_CFLAGS']] >++ 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 @@ >+ 'ConsoleAPI.manifest', >+ 'ConsoleAPIStorage.js', >+--- ./mozilla/gfx/graphite2/moz-gr-update.sh.orig 2015-07-20 22:16:18.000000000 +0200 >++++ ./mozilla/gfx/graphite2/moz-gr-update.sh 2015-07-20 22:17:33.000000000 +0200 >+@@ -23,8 +23,14 @@ >+ 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/;" {} \; >+ >++# closest tag/release to require for system version >++TAG=$(cd ../graphitedev/ && hg parents --template {latesttag}) >++ >++perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$TAG/ and tr/./,/ \ >++ if /GR2_VERSION_REQUIRE/" configure.in >++ >+ # summarize what's been touched >+-echo Updated to $CHANGESET. >++echo Updated to $CHANGESET \($TAG for --with-system-graphite2\) >+ echo Here is what changed in the gfx/graphite2 directory: >+ echo >+ >+--- ./mozilla/gfx/harfbuzz/README-mozilla.orig 2015-07-20 22:17:50.000000000 +0200 >++++ ./mozilla/gfx/harfbuzz/README-mozilla 2015-07-20 22:18:20.000000000 +0200 >+@@ -21,3 +21,8 @@ >+ generated from src/Makefile.am (the original harfbuzz version); it is a mozilla- >+ specific makefile that is maintained by hand. It should only need updating when >+ new source files or exported headers are added in harfbuzz. >++ >++The in-tree copy may be omitted during build by --with-system-harfbuzz. >++Make sure to keep pkg-config version check within configure.in in sync >++with checkout version or increment latest tag by one if it's not based >++on upstream release. >+--- ./mozilla/gfx/moz.build.orig 2015-07-20 22:18:31.000000000 +0200 >++++ ./mozilla/gfx/moz.build 2015-07-20 22:19:11.000000000 +0200 >+@@ -7,6 +7,13 @@ > if CONFIG['MOZ_TREE_CAIRO']: > DIRS += ['cairo'] > >@@ -114,10 +131,11 @@ > +if not CONFIG['MOZ_NATIVE_HARFBUZZ']: > + DIRS += ['harfbuzz/src'] > + >++ > DIRS += [ > '2d', > 'ycbcr', >-@@ -15,8 +21,6 @@ DIRS += [ >+@@ -15,8 +22,6 @@ > 'qcms', > 'gl', > 'layers', >@@ -126,83 +144,79 @@ > '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 >+--- ./mozilla/gfx/skia/generate_mozbuild.py.orig 2015-07-20 22:19:33.000000000 +0200 >++++ ./mozilla/gfx/skia/generate_mozbuild.py 2015-07-20 22:20:30.000000000 +0200 >+@@ -142,6 +142,9 @@ >+ if not CONFIG['CLANG_CXX']: >+ CXXFLAGS += ['-Wno-logical-op'] > >-+ifdef MOZ_NATIVE_HARFBUZZ >-+OS_CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) >-+endif >++if CONFIG['MOZ_NATIVE_HARFBUZZ']: >++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] > + >- include $(topsrcdir)/config/rules.mk >+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'): >+ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] >+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] >+--- ./mozilla/gfx/skia/moz.build.orig 2015-07-20 22:20:36.000000000 +0200 >++++ ./mozilla/gfx/skia/moz.build 2015-07-20 22:21:08.000000000 +0200 >+@@ -970,6 +970,9 @@ >+ if not CONFIG['CLANG_CXX']: >+ CXXFLAGS += ['-Wno-logical-op'] > >- 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) >++if CONFIG['MOZ_NATIVE_HARFBUZZ']: >++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] >++ >+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3', 'android', 'gonk', 'qt'): >+ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] >+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] >+--- ./mozilla/gfx/thebes/moz.build.orig 2015-07-20 22:21:19.000000000 +0200 >++++ ./mozilla/gfx/thebes/moz.build 2015-07-20 22:22:14.000000000 +0200 >+@@ -287,6 +287,12 @@ >+ CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] >+ CFLAGS += CONFIG['TK_CFLAGS'] > >-+ifdef MOZ_NATIVE_GRAPHITE2 >-+CXXFLAGS += $(MOZ_GRAPHITE2_CFLAGS) >-+endif >++if CONFIG['MOZ_NATIVE_HARFBUZZ']: >++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] > + >-+ifdef MOZ_NATIVE_HARFBUZZ >-+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) >-+endif >++if CONFIG['MOZ_NATIVE_GRAPHITE2']: >++ CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS'] > + >- 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 @@ >+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk', 'qt'): >+ CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] > >- include $(topsrcdir)/config/rules.mk >+--- ./mozilla/intl/unicharutil/util/moz.build.orig 2015-07-20 22:22:27.000000000 +0200 >++++ ./mozilla/intl/unicharutil/util/moz.build 2015-07-20 22:23:08.000000000 +0200 >+@@ -38,5 +38,8 @@ >+ if CONFIG['ENABLE_INTL_API']: >+ CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS'] > >-+ifdef MOZ_NATIVE_HARFBUZZ >-+CXXFLAGS += $(MOZ_HARFBUZZ_CFLAGS) >-+endif >++if CONFIG['MOZ_NATIVE_HARFBUZZ']: >++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] > + >- # 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 >+ if CONFIG['GNU_CXX']: >+ FAIL_ON_WARNINGS = True >+--- ./mozilla/netwerk/dns/moz.build.orig 2015-07-20 22:23:23.000000000 +0200 >++++ ./mozilla/netwerk/dns/moz.build 2015-07-20 22:24:12.000000000 +0200 >+@@ -68,5 +68,8 @@ >+ '/netwerk/base', >+ ] > >-+ifdef MOZ_NATIVE_GRAPHITE2 >-+EXTRA_DSO_LDOPTS += $(MOZ_GRAPHITE2_LIBS) >-+endif >++if CONFIG['MOZ_NATIVE_HARFBUZZ']: >++ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS'] > + >-+ifdef MOZ_NATIVE_HARFBUZZ >-+EXTRA_DSO_LDOPTS += $(MOZ_HARFBUZZ_LIBS) >-+endif >+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] > '19': >+ CXXFLAGS += ['-I%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']] >+--- ./mozilla/toolkit/library/moz.build.orig 2015-07-20 22:24:20.000000000 +0200 >++++ ./mozilla/toolkit/library/moz.build 2015-07-20 22:25:30.000000000 +0200 >+@@ -235,6 +235,12 @@ >+ if not CONFIG['MOZ_TREE_PIXMAN']: >+ OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS'] >+ >++if CONFIG['MOZ_NATIVE_GRAPHITE2']: >++ OS_LIBS += CONFIG['MOZ_GRAPHITE2_LIBS'] > + >- ifdef MOZ_DMD >- EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib) >- endif >++if CONFIG['MOZ_NATIVE_HARFBUZZ']: >++ OS_LIBS += CONFIG['MOZ_HARFBUZZ_LIBS'] >++ >+ if CONFIG['MOZ_OSS']: >+ OS_LIBS += CONFIG['MOZ_OSS_LIBS'] >+ >Index: files/patch-bug858919 >=================================================================== >--- files/patch-bug858919 (revision 392685) >+++ files/patch-bug858919 (working copy) >@@ -1,391 +0,0 @@ >-commit a33d4f7 >-Author: Martin Stransky <stransky@redhat.com> >-Date: Fri Nov 14 04:04:00 2014 +0100 >- >- Bug 858919 - Add support for libnotify calls which was removed for new notification API. r=karlt >---- >- toolkit/components/alerts/nsAlertsService.cpp | 10 +-- >- toolkit/system/gnome/moz.build | 2 + >- toolkit/system/gnome/nsAlertsIconListener.cpp | 64 ++++++++++++------ >- toolkit/system/gnome/nsAlertsIconListener.h | 89 ++++++++++++++++++++++++++ >- toolkit/system/gnome/nsGnomeModule.cpp | 5 ++ >- toolkit/system/gnome/nsSystemAlertsService.cpp | 54 ++++++++++++++++ >- toolkit/system/gnome/nsSystemAlertsService.h | 27 ++++++++ >- 7 files changed, 226 insertions(+), 25 deletions(-) >- >-diff --git toolkit/components/alerts/nsAlertsService.cpp toolkit/components/alerts/nsAlertsService.cpp >-index 93f4536..f8b5e07 100644 >---- mozilla/toolkit/components/alerts/nsAlertsService.cpp >-+++ mozilla/toolkit/components/alerts/nsAlertsService.cpp >-@@ -100,9 +100,11 @@ NS_IMETHODIMP nsAlertsService::ShowAlertNotification(const nsAString & aImageUrl >- nsCOMPtr<nsIAlertsService> sysAlerts(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID)); >- nsresult rv; >- if (sysAlerts) { >-- return sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable, >-- aAlertCookie, aAlertListener, aAlertName, >-- aBidi, aLang, IPC::Principal(aPrincipal)); >-+ rv = sysAlerts->ShowAlertNotification(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable, >-+ aAlertCookie, aAlertListener, aAlertName, >-+ aBidi, aLang, IPC::Principal(aPrincipal)); >-+ if (NS_SUCCEEDED(rv)) >-+ return NS_OK; >- } >- >- if (!ShouldShowAlert()) { >-diff --git toolkit/system/gnome/moz.build toolkit/system/gnome/moz.build >-index c033f8b..9242209 100644 >---- mozilla/toolkit/system/gnome/moz.build >-+++ mozilla/toolkit/system/gnome/moz.build >-@@ -5,7 +5,9 @@ >- # file, You can obtain one at http://mozilla.org/MPL/2.0/. >- >- SOURCES += [ >-+ 'nsAlertsIconListener.cpp', >- 'nsGnomeModule.cpp', >-+ 'nsSystemAlertsService.cpp', >- ] >- >- if CONFIG['MOZ_ENABLE_GCONF']: >-diff --git toolkit/system/gnome/nsAlertsIconListener.cpp toolkit/system/gnome/nsAlertsIconListener.cpp >-index f39335e..55f4356 100644 >---- mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp >-+++ mozilla/toolkit/system/gnome/nsAlertsIconListener.cpp >-@@ -51,6 +51,21 @@ static void notify_closed_marshal(GClosure* closure, >- NS_RELEASE(alert); >- } >- >-+static GdkPixbuf* >-+GetPixbufFromImgRequest(imgIRequest* aRequest) >-+{ >-+ nsCOMPtr<imgIContainer> image; >-+ nsresult rv = aRequest->GetImage(getter_AddRefs(image)); >-+ if (NS_FAILED(rv)) { >-+ return nullptr; >-+ } >-+ >-+ nsCOMPtr<nsIImageToPixbuf> imgToPixbuf = >-+ do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1"); >-+ >-+ return imgToPixbuf->ConvertImageToPixbuf(image); >-+} >-+ >- NS_IMPL_ISUPPORTS(nsAlertsIconListener, imgINotificationObserver, >- nsIObserver, nsISupportsWeakReference) >- >-@@ -106,47 +121,45 @@ nsAlertsIconListener::Notify(imgIRequest *aRequest, int32_t aType, const nsIntRe >- nsresult >- nsAlertsIconListener::OnStopRequest(imgIRequest* aRequest) >- { >-+ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!"); >-+ >- uint32_t imgStatus = imgIRequest::STATUS_ERROR; >- nsresult rv = aRequest->GetImageStatus(&imgStatus); >- NS_ENSURE_SUCCESS(rv, rv); >- if (imgStatus == imgIRequest::STATUS_ERROR && !mLoadedFrame) { >- // We have an error getting the image. Display the notification with no icon. >- ShowAlert(nullptr); >-- } >- >-- if (mIconRequest) { >-+ // Cancel any pending request >- mIconRequest->Cancel(NS_BINDING_ABORTED); >- mIconRequest = nullptr; >- } >-+ >- return NS_OK; >- } >- >- nsresult >- nsAlertsIconListener::OnStopFrame(imgIRequest* aRequest) >- { >-- if (aRequest != mIconRequest) >-- return NS_ERROR_FAILURE; >-+ NS_ASSERTION(mIconRequest == aRequest, "aRequest does not match!"); >- >- if (mLoadedFrame) >- return NS_OK; // only use one frame >- >-- nsCOMPtr<imgIContainer> image; >-- nsresult rv = aRequest->GetImage(getter_AddRefs(image)); >-- if (NS_FAILED(rv)) >-- return rv; >-- >-- nsCOMPtr<nsIImageToPixbuf> imgToPixbuf = >-- do_GetService("@mozilla.org/widget/image-to-gdk-pixbuf;1"); >-- >-- GdkPixbuf* imagePixbuf = imgToPixbuf->ConvertImageToPixbuf(image); >-- if (!imagePixbuf) >-- return NS_ERROR_FAILURE; >-+ GdkPixbuf* imagePixbuf = GetPixbufFromImgRequest(aRequest); >-+ if (!imagePixbuf) { >-+ ShowAlert(nullptr); >-+ } else { >-+ ShowAlert(imagePixbuf); >-+ g_object_unref(imagePixbuf); >-+ } >- >-- ShowAlert(imagePixbuf); >-+ mLoadedFrame = true; >- >-- g_object_unref(imagePixbuf); >-+ // Cancel any pending request (multipart image loading/decoding for instance) >-+ mIconRequest->Cancel(NS_BINDING_ABORTED); >-+ mIconRequest = nullptr; >- >-- mLoadedFrame = true; >- return NS_OK; >- } >- >-@@ -180,6 +193,9 @@ nsAlertsIconListener::ShowAlert(GdkPixbuf* aPixbuf) >- mClosureHandler = g_signal_connect_closure(mNotification, "closed", closure, FALSE); >- gboolean result = notify_notification_show(mNotification, nullptr); >- >-+ if (result && mAlertListener) >-+ mAlertListener->Observe(nullptr, "alertshow", mAlertCookie.get()); >-+ >- return result ? NS_OK : NS_ERROR_FAILURE; >- } >- >-@@ -201,9 +217,15 @@ nsAlertsIconListener::StartRequest(const nsAString & aImageUrl) >- if (!il) >- return ShowAlert(nullptr); >- >-- return il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr, >-- this, nullptr, nsIRequest::LOAD_NORMAL, nullptr, >-- nullptr, getter_AddRefs(mIconRequest)); >-+ nsresult rv = il->LoadImageXPCOM(imageUri, nullptr, nullptr, nullptr, nullptr, >-+ this, nullptr, nsIRequest::LOAD_NORMAL, nullptr, >-+ 0 /* use default */, getter_AddRefs(mIconRequest)); >-+ if (NS_FAILED(rv)) >-+ return rv; >-+ >-+ mIconRequest->StartDecoding(); >-+ >-+ return NS_OK; >- } >- >- void >-diff --git toolkit/system/gnome/nsAlertsIconListener.h toolkit/system/gnome/nsAlertsIconListener.h >-new file mode 100644 >-index 0000000..ac96db9 >---- /dev/null >-+++ mozilla/toolkit/system/gnome/nsAlertsIconListener.h >-@@ -0,0 +1,89 @@ >-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ >-+/* This Source Code Form is subject to the terms of the Mozilla Public >-+ * License, v. 2.0. If a copy of the MPL was not distributed with this >-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ >-+ >-+#ifndef nsAlertsIconListener_h__ >-+#define nsAlertsIconListener_h__ >-+ >-+#include "nsCOMPtr.h" >-+#include "imgINotificationObserver.h" >-+#include "nsStringAPI.h" >-+#include "nsIObserver.h" >-+#include "nsWeakReference.h" >-+ >-+#include <gdk-pixbuf/gdk-pixbuf.h> >-+ >-+class imgIRequest; >-+ >-+struct NotifyNotification; >-+ >-+class nsAlertsIconListener : public imgINotificationObserver, >-+ public nsIObserver, >-+ public nsSupportsWeakReference >-+{ >-+public: >-+ NS_DECL_ISUPPORTS >-+ NS_DECL_IMGINOTIFICATIONOBSERVER >-+ NS_DECL_NSIOBSERVER >-+ >-+ nsAlertsIconListener(); >-+ >-+ nsresult InitAlertAsync(const nsAString & aImageUrl, >-+ const nsAString & aAlertTitle, >-+ const nsAString & aAlertText, >-+ bool aAlertTextClickable, >-+ const nsAString & aAlertCookie, >-+ nsIObserver * aAlertListener); >-+ >-+ void SendCallback(); >-+ void SendClosed(); >-+ >-+protected: >-+ virtual ~nsAlertsIconListener(); >-+ >-+ nsresult OnStopRequest(imgIRequest* aRequest); >-+ nsresult OnStopFrame(imgIRequest* aRequest); >-+ >-+ /** >-+ * The only difference between libnotify.so.4 and libnotify.so.1 for these symbols >-+ * is that notify_notification_new takes three arguments in libnotify.so.4 and >-+ * four in libnotify.so.1. >-+ * Passing the fourth argument as NULL is binary compatible. >-+ */ >-+ typedef void (*NotifyActionCallback)(NotifyNotification*, char*, gpointer); >-+ typedef bool (*notify_is_initted_t)(void); >-+ typedef bool (*notify_init_t)(const char*); >-+ typedef GList* (*notify_get_server_caps_t)(void); >-+ typedef NotifyNotification* (*notify_notification_new_t)(const char*, const char*, const char*, const char*); >-+ typedef bool (*notify_notification_show_t)(void*, char*); >-+ typedef void (*notify_notification_set_icon_from_pixbuf_t)(void*, GdkPixbuf*); >-+ typedef void (*notify_notification_add_action_t)(void*, const char*, const char*, NotifyActionCallback, gpointer, GFreeFunc); >-+ >-+ nsCOMPtr<imgIRequest> mIconRequest; >-+ nsCString mAlertTitle; >-+ nsCString mAlertText; >-+ >-+ nsCOMPtr<nsIObserver> mAlertListener; >-+ nsString mAlertCookie; >-+ >-+ bool mLoadedFrame; >-+ bool mAlertHasAction; >-+ >-+ static void* libNotifyHandle; >-+ static bool libNotifyNotAvail; >-+ static notify_is_initted_t notify_is_initted; >-+ static notify_init_t notify_init; >-+ static notify_get_server_caps_t notify_get_server_caps; >-+ static notify_notification_new_t notify_notification_new; >-+ static notify_notification_show_t notify_notification_show; >-+ static notify_notification_set_icon_from_pixbuf_t notify_notification_set_icon_from_pixbuf; >-+ static notify_notification_add_action_t notify_notification_add_action; >-+ NotifyNotification* mNotification; >-+ gulong mClosureHandler; >-+ >-+ nsresult StartRequest(const nsAString & aImageUrl); >-+ nsresult ShowAlert(GdkPixbuf* aPixbuf); >-+}; >-+ >-+#endif >-diff --git toolkit/system/gnome/nsGnomeModule.cpp toolkit/system/gnome/nsGnomeModule.cpp >-index 5ccc8e5..f893893 100644 >---- mozilla/toolkit/system/gnome/nsGnomeModule.cpp >-+++ mozilla/toolkit/system/gnome/nsGnomeModule.cpp >-@@ -22,6 +22,8 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGnomeVFSService, Init) >- NS_GENERIC_FACTORY_CONSTRUCTOR(nsGIOService) >- NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGSettingsService, Init) >- #endif >-+#include "nsSystemAlertsService.h" >-+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSystemAlertsService, Init) >- >- #ifdef MOZ_ENABLE_GCONF >- NS_DEFINE_NAMED_CID(NS_GCONFSERVICE_CID); >-@@ -33,6 +35,7 @@ NS_DEFINE_NAMED_CID(NS_GNOMEVFSSERVICE_CID); >- NS_DEFINE_NAMED_CID(NS_GIOSERVICE_CID); >- NS_DEFINE_NAMED_CID(NS_GSETTINGSSERVICE_CID); >- #endif >-+NS_DEFINE_NAMED_CID(NS_SYSTEMALERTSSERVICE_CID); >- >- static const mozilla::Module::CIDEntry kGnomeCIDs[] = { >- #ifdef MOZ_ENABLE_GCONF >-@@ -45,6 +48,7 @@ static const mozilla::Module::CIDEntry kGnomeCIDs[] = { >- { &kNS_GIOSERVICE_CID, false, nullptr, nsGIOServiceConstructor }, >- { &kNS_GSETTINGSSERVICE_CID, false, nullptr, nsGSettingsServiceConstructor }, >- #endif >-+ { &kNS_SYSTEMALERTSSERVICE_CID, false, nullptr, nsSystemAlertsServiceConstructor }, >- { nullptr } >- }; >- >-@@ -59,6 +63,7 @@ static const mozilla::Module::ContractIDEntry kGnomeContracts[] = { >- { NS_GIOSERVICE_CONTRACTID, &kNS_GIOSERVICE_CID }, >- { NS_GSETTINGSSERVICE_CONTRACTID, &kNS_GSETTINGSSERVICE_CID }, >- #endif >-+ { NS_SYSTEMALERTSERVICE_CONTRACTID, &kNS_SYSTEMALERTSSERVICE_CID }, >- { nullptr } >- }; >- >-diff --git toolkit/system/gnome/nsSystemAlertsService.cpp toolkit/system/gnome/nsSystemAlertsService.cpp >-new file mode 100644 >-index 0000000..b91b402 >---- /dev/null >-+++ mozilla/toolkit/system/gnome/nsSystemAlertsService.cpp >-@@ -0,0 +1,53 @@ >-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode:nil; c-basic-offset: 2 -*- */ >-+/* This Source Code Form is subject to the terms of the Mozilla Public >-+ * License, v. 2.0. If a copy of the MPL was not distributed with this >-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ >-+ >-+#include "nsXULAppAPI.h" >-+#include "nsSystemAlertsService.h" >-+#include "nsAlertsIconListener.h" >-+#include "nsAutoPtr.h" >-+ >-+NS_IMPL_ADDREF(nsSystemAlertsService) >-+NS_IMPL_RELEASE(nsSystemAlertsService) >-+ >-+NS_INTERFACE_MAP_BEGIN(nsSystemAlertsService) >-+ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIAlertsService) >-+ NS_INTERFACE_MAP_ENTRY(nsIAlertsService) >-+NS_INTERFACE_MAP_END_THREADSAFE >-+ >-+nsSystemAlertsService::nsSystemAlertsService() >-+{ >-+} >-+ >-+nsSystemAlertsService::~nsSystemAlertsService() >-+{} >-+ >-+nsresult >-+nsSystemAlertsService::Init() >-+{ >-+ return NS_OK; >-+} >-+ >-+NS_IMETHODIMP nsSystemAlertsService::ShowAlertNotification(const nsAString & aImageUrl, const nsAString & aAlertTitle, >-+ const nsAString & aAlertText, bool aAlertTextClickable, >-+ const nsAString & aAlertCookie, >-+ nsIObserver * aAlertListener, >-+ const nsAString & aAlertName, >-+ const nsAString & aBidi, >-+ const nsAString & aLang, >-+ nsIPrincipal * aPrincipal) >-+{ >-+ nsRefPtr<nsAlertsIconListener> alertListener = new nsAlertsIconListener(); >-+ if (!alertListener) >-+ return NS_ERROR_OUT_OF_MEMORY; >-+ >-+ return alertListener->InitAlertAsync(aImageUrl, aAlertTitle, aAlertText, aAlertTextClickable, >-+ aAlertCookie, aAlertListener); >-+} >-+ >-+NS_IMETHODIMP nsSystemAlertsService::CloseAlert(const nsAString& aAlertName, >-+ nsIPrincipal* aPrincipal) >-+{ >-+ return NS_ERROR_NOT_IMPLEMENTED; >-+} >-diff --git toolkit/system/gnome/nsSystemAlertsService.h toolkit/system/gnome/nsSystemAlertsService.h >-new file mode 100644 >-index 0000000..b0bd625 >---- /dev/null >-+++ mozilla/toolkit/system/gnome/nsSystemAlertsService.h >-@@ -0,0 +1,27 @@ >-+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ >-+/* This Source Code Form is subject to the terms of the Mozilla Public >-+ * License, v. 2.0. If a copy of the MPL was not distributed with this >-+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ >-+ >-+#ifndef nsSystemAlertsService_h__ >-+#define nsSystemAlertsService_h__ >-+ >-+#include "nsIAlertsService.h" >-+#include "nsCOMPtr.h" >-+ >-+class nsSystemAlertsService : public nsIAlertsService >-+{ >-+public: >-+ NS_DECL_NSIALERTSSERVICE >-+ NS_DECL_ISUPPORTS >-+ >-+ nsSystemAlertsService(); >-+ >-+ nsresult Init(); >-+ >-+protected: >-+ virtual ~nsSystemAlertsService(); >-+ >-+}; >-+ >-+#endif /* nsSystemAlertsService_h__ */ >Index: files/patch-bug961264 >=================================================================== >--- files/patch-bug961264 (revision 392685) >+++ files/patch-bug961264 (working copy) >@@ -1,266 +0,0 @@ >-commit d099acd >-Author: Trevor Saunders <trev.saunders@gmail.com> >-Date: Fri Jan 17 15:08:00 2014 -0800 >- >- Bug 961264 - Remove obsolete checks for gcc visibility stuff. >---- >- configure.in | 115 +++------------------------------------------------- >- js/src/configure.in | 111 ++------------------------------------------------ >- 2 files changed, 8 insertions(+), 218 deletions(-) >- >-diff --git configure.in configure.in >-index dfb8193..33d71b3 100644 >---- mozilla/configure.in >-+++ mozilla/configure.in >-@@ -2507,118 +2507,15 @@ MOZ_CXX11 >- >- AC_LANG_C >- >--dnl Check for .hidden assembler directive and visibility attribute. >--dnl Borrowed from glibc configure.in >-+dnl Setup default hidden visibility and wrapped system headers. >- dnl =============================================================== >- if test "$GNU_CC"; then >-- AC_CACHE_CHECK(for visibility(hidden) attribute, >-- ac_cv_visibility_hidden, >-- [cat > conftest.c <<EOF >-- int foo __attribute__ ((visibility ("hidden"))) = 1; >--EOF >-- ac_cv_visibility_hidden=no >-- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then >-- if egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then >-- ac_cv_visibility_hidden=yes >-- fi >-- fi >-- rm -f conftest.[cs] >-- ]) >-- if test "$ac_cv_visibility_hidden" = "yes"; then >-- AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) >-- >-- AC_CACHE_CHECK(for visibility(default) attribute, >-- ac_cv_visibility_default, >-- [cat > conftest.c <<EOF >-- int foo __attribute__ ((visibility ("default"))) = 1; >--EOF >-- ac_cv_visibility_default=no >-- if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then >-- if ! egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then >-- ac_cv_visibility_default=yes >-- fi >-- fi >-- rm -f conftest.[cs] >-- ]) >-- if test "$ac_cv_visibility_default" = "yes"; then >-- AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE) >-- >-- AC_CACHE_CHECK(for visibility pragma support, >-- ac_cv_visibility_pragma, >-- [cat > conftest.c <<EOF >--#pragma GCC visibility push(hidden) >-- int foo_hidden = 1; >--#pragma GCC visibility push(default) >-- int foo_default = 1; >--EOF >-- ac_cv_visibility_pragma=no >-- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then >-- if egrep '\.(hidden|private_extern).*foo_hidden' conftest.s >/dev/null; then >-- if ! egrep '\.(hidden|private_extern).*foo_default' conftest.s > /dev/null; then >-- ac_cv_visibility_pragma=yes >-- fi >-- fi >-- fi >-- rm -f conftest.[cs] >-- ]) >-- if test "$ac_cv_visibility_pragma" = "yes"; then >-- AC_CACHE_CHECK(For gcc visibility bug with class-level attributes (GCC bug 26905), >-- ac_cv_have_visibility_class_bug, >-- [cat > conftest.c <<EOF >--#pragma GCC visibility push(hidden) >--struct __attribute__ ((visibility ("default"))) TestStruct { >-- static void Init(); >--}; >--__attribute__ ((visibility ("default"))) void TestFunc() { >-- TestStruct::Init(); >--} >--EOF >-- ac_cv_have_visibility_class_bug=no >-- if ! ${CXX-g++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -S -o conftest.S conftest.c > /dev/null 2>&1 ; then >-- ac_cv_have_visibility_class_bug=yes >-- else >-- if test `egrep -c '@PLT|\\$stub' conftest.S` = 0; then >-- ac_cv_have_visibility_class_bug=yes >-- fi >-- fi >-- rm -rf conftest.{c,S} >-- ]) >-- >-- AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297), >-- ac_cv_have_visibility_builtin_bug, >-- [cat > conftest.c <<EOF >--#pragma GCC visibility push(hidden) >--#pragma GCC visibility push(default) >--#include <string.h> >--#pragma GCC visibility pop >-- >--__attribute__ ((visibility ("default"))) void Func() { >-- char c[[100]]; >-- memset(c, 0, sizeof(c)); >--} >--EOF >-- ac_cv_have_visibility_builtin_bug=no >-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then >-- ac_cv_have_visibility_builtin_bug=yes >-- else >-- if test `grep -c "@PLT" conftest.S` = 0; then >-- ac_cv_visibility_builtin_bug=yes >-- fi >-- fi >-- rm -f conftest.{c,S} >-- ]) >-- if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \ >-- "$ac_cv_have_visibility_class_bug" = "no"; then >-- VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' >-- WRAP_SYSTEM_INCLUDES=1 >-- STL_FLAGS='-I$(DIST)/stl_wrappers' >-- WRAP_STL_INCLUDES=1 >-- else >-- VISIBILITY_FLAGS='-fvisibility=hidden' >-- fi # have visibility pragma bug >-- fi # have visibility pragma >-- fi # have visibility(default) attribute >-- fi # have visibility(hidden) attribute >-+ AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) >-+ AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE) >-+ VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' >-+ WRAP_SYSTEM_INCLUDES=1 >-+ STL_FLAGS='-I$(DIST)/stl_wrappers' >-+ WRAP_STL_INCLUDES=1 >- fi # GNU_CC >- >- # visibility hidden flag for Sun Studio on Solaris >-diff --git js/src/configure.in js/src/configure.in >-index bddd46d..d4b522e 100644 >---- mozilla/js/src/configure.in >-+++ mozilla/js/src/configure.in >-@@ -2077,116 +2077,13 @@ AC_LANG_CPLUSPLUS >- >- MOZ_CXX11 >- >--dnl Check for .hidden assembler directive and visibility attribute. >--dnl Borrowed from glibc configure.in >-+dnl Setup default hidden visibility and wrapped system headers. >- dnl =============================================================== >- if test "$GNU_CC"; then >-- AC_CACHE_CHECK(for visibility(hidden) attribute, >-- ac_cv_visibility_hidden, >-- [cat > conftest.c <<EOF >-- int foo __attribute__ ((visibility ("hidden"))) = 1; >--EOF >-- ac_cv_visibility_hidden=no >-- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then >-- if egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then >-- ac_cv_visibility_hidden=yes >-- fi >-- fi >-- rm -f conftest.[cs] >-- ]) >-- if test "$ac_cv_visibility_hidden" = "yes"; then >-- AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) >-- >-- AC_CACHE_CHECK(for visibility(default) attribute, >-- ac_cv_visibility_default, >-- [cat > conftest.c <<EOF >-- int foo __attribute__ ((visibility ("default"))) = 1; >--EOF >-- ac_cv_visibility_default=no >-- if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then >-- if ! egrep '\.(hidden|private_extern).*foo' conftest.s >/dev/null; then >-- ac_cv_visibility_default=yes >-- fi >-- fi >-- rm -f conftest.[cs] >-- ]) >-- if test "$ac_cv_visibility_default" = "yes"; then >-- AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE) >-- >-- AC_CACHE_CHECK(for visibility pragma support, >-- ac_cv_visibility_pragma, >-- [cat > conftest.c <<EOF >--#pragma GCC visibility push(hidden) >-- int foo_hidden = 1; >--#pragma GCC visibility push(default) >-- int foo_default = 1; >--EOF >-- ac_cv_visibility_pragma=no >-- if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then >-- if egrep '\.(hidden|private_extern).*foo_hidden' conftest.s >/dev/null; then >-- if ! egrep '\.(hidden|private_extern).*foo_default' conftest.s > /dev/null; then >-- ac_cv_visibility_pragma=yes >-- fi >-- fi >-- fi >-- rm -f conftest.[cs] >-- ]) >-- if test "$ac_cv_visibility_pragma" = "yes"; then >-- AC_CACHE_CHECK(For gcc visibility bug with class-level attributes (GCC bug 26905), >-- ac_cv_have_visibility_class_bug, >-- [cat > conftest.c <<EOF >--#pragma GCC visibility push(hidden) >--struct __attribute__ ((visibility ("default"))) TestStruct { >-- static void Init(); >--}; >--__attribute__ ((visibility ("default"))) void TestFunc() { >-- TestStruct::Init(); >--} >--EOF >-- ac_cv_have_visibility_class_bug=no >-- if ! ${CXX-g++} ${CXXFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -S -o conftest.S conftest.c > /dev/null 2>&1 ; then >-- ac_cv_have_visibility_class_bug=yes >-- else >-- if test `egrep -c '@PLT|\\$stub' conftest.S` = 0; then >-- ac_cv_have_visibility_class_bug=yes >-- fi >-- fi >-- rm -rf conftest.{c,S} >-- ]) >-- >-- AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297), >-- ac_cv_have_visibility_builtin_bug, >-- [cat > conftest.c <<EOF >--#pragma GCC visibility push(hidden) >--#pragma GCC visibility push(default) >--#include <string.h> >--#pragma GCC visibility pop >-- >--__attribute__ ((visibility ("default"))) void Func() { >-- char c[[100]]; >-- memset(c, 0, sizeof(c)); >--} >--EOF >-- ac_cv_have_visibility_builtin_bug=no >-- if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -S -o conftest.S conftest.c > /dev/null 2>&1 ; then >-- ac_cv_have_visibility_builtin_bug=yes >-- else >-- if test `grep -c "@PLT" conftest.S` = 0; then >-- ac_cv_visibility_builtin_bug=yes >-- fi >-- fi >-- rm -f conftest.{c,S} >-- ]) >-- if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \ >-- "$ac_cv_have_visibility_class_bug" = "no"; then >-- VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' >-- WRAP_SYSTEM_INCLUDES=1 >-- else >-- VISIBILITY_FLAGS='-fvisibility=hidden' >-- fi # have visibility pragma bug >-- fi # have visibility pragma >-- fi # have visibility(default) attribute >-- fi # have visibility(hidden) attribute >-+ AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) >-+ AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE) >-+ VISIBILITY_FLAGS='-I$(DIST)/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' >-+ WRAP_SYSTEM_INCLUDES=1 >- fi # GNU_CC >- >- # visibility hidden flag for Sun Studio on Solaris >Index: files/patch-config-baseconfig.mk >=================================================================== >--- files/patch-config-baseconfig.mk (revision 392685) >+++ files/patch-config-baseconfig.mk (working copy) >@@ -1,6 +1,9 @@ >---- config/baseconfig.mk~ >-+++ config/baseconfig.mk >-@@ -1,7 +1,7 @@ >+--- mozilla/config/baseconfig.mk.orig 2015-07-20 22:39:14.000000000 +0200 >++++ mozilla/config/baseconfig.mk 2015-07-20 22:39:23.000000000 +0200 >+@@ -2,10 +2,10 @@ >+ # directly in python/mozbuild/mozbuild/base.py for gmake validation. >+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending >+ # whether a normal build is happening or whether the check is running. > -includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) > -idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) > -installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) >@@ -9,6 +12,6 @@ > +idldir = $(datadir)/idl/%%MOZILLA%% > +installdir = $(libdir)/%%MOZILLA%% > +sdkdir = $(libdir)/%%MOZILLA%% >- MOZILLA_SRCDIR = $(topsrcdir)/mozilla >- MOZDEPTH = $(DEPTH)/mozilla >- DIST = $(MOZDEPTH)/dist >+ ifndef TOP_DIST >+ TOP_DIST = dist >+ endif >Index: files/patch-ijg-libjpeg >=================================================================== >--- files/patch-ijg-libjpeg (revision 392685) >+++ files/patch-ijg-libjpeg (working copy) >@@ -17,11 +17,10 @@ > MOZ_NATIVE_JPEG=1, > AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg])) > fi >-diff --git mozilla/image/decoders/nsJPEGDecoder.cpp mozilla/image/decoders/nsJPEGDecoder.cpp >-index 8fa8200..1d2a259 100644 >---- mozilla/image/decoders/nsJPEGDecoder.cpp >-+++ mozilla/image/decoders/nsJPEGDecoder.cpp >-@@ -21,13 +21,28 @@ >+ >+--- mozilla/image/decoders/nsJPEGDecoder.cpp.orig 2015-07-07 19:45:40.000000000 +0200 >++++ mozilla/image/decoders/nsJPEGDecoder.cpp 2015-07-22 14:59:40.000000000 +0200 >+@@ -23,13 +23,28 @@ > > extern "C" { > #include "iccjpeg.h" >@@ -28,7 +27,7 @@ > -} > > +#ifdef JCS_EXTENSIONS >- #if defined(IS_BIG_ENDIAN) >+ #if MOZ_BIG_ENDIAN > #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB > #else > #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX >@@ -38,39 +37,39 @@ > +struct jpeg_color_deconverter { > + JMETHOD(void, start_pass, (j_decompress_ptr cinfo)); > + JMETHOD(void, color_convert, (j_decompress_ptr cinfo, >-+ JSAMPIMAGE input_buf, JDIMENSION input_row, >-+ JSAMPARRAY output_buf, int num_rows)); >++ JSAMPIMAGE input_buf, JDIMENSION input_row, >++ JSAMPARRAY output_buf, int num_rows)); > +}; > + > +METHODDEF(void) > +ycc_rgb_convert_argb (j_decompress_ptr cinfo, >-+ JSAMPIMAGE input_buf, JDIMENSION input_row, >-+ JSAMPARRAY output_buf, int num_rows); >++ JSAMPIMAGE input_buf, JDIMENSION input_row, >++ JSAMPARRAY output_buf, int num_rows); > +#endif > +} > > static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width); > >-@@ -324,6 +340,7 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, uint32_t aCount) >- case JCS_GRAYSCALE: >- case JCS_RGB: >- case JCS_YCbCr: >+@@ -373,6 +388,7 @@ >+ case JCS_GRAYSCALE: >+ case JCS_RGB: >+ case JCS_YCbCr: > +#ifdef JCS_EXTENSIONS >- // if we're not color managing we can decode directly to >- // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB >- if (mCMSMode != eCMSMode_All) { >-@@ -332,6 +349,9 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, uint32_t aCount) >- } else { >- mInfo.out_color_space = JCS_RGB; >- } >+ // if we're not color managing we can decode directly to >+ // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB >+ if (mCMSMode != eCMSMode_All) { >+@@ -381,6 +397,9 @@ >+ } else { >+ mInfo.out_color_space = JCS_RGB; >+ } > +#else >-+ mInfo.out_color_space = JCS_RGB; >++ mInfo.out_color_space = JCS_RGB; > +#endif >- break; >- case JCS_CMYK: >- case JCS_YCCK: >-@@ -399,6 +419,15 @@ nsJPEGDecoder::WriteInternal(const char *aBuffer, uint32_t aCount) >- return; /* I/O suspension */ >+ break; >+ case JCS_CMYK: >+ case JCS_YCCK: >+@@ -450,6 +469,15 @@ >+ return; // I/O suspension > } > > +#ifndef JCS_EXTENSIONS >@@ -83,24 +82,24 @@ > + } > +#endif > >- /* If this is a progressive JPEG ... */ >- mState = mInfo.buffered_image ? JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL; >-@@ -544,7 +573,11 @@ nsJPEGDecoder::OutputScanlines(bool* suspend) >- uint32_t *imageRow = ((uint32_t*)mImageData) + >- (mInfo.output_scanline * mInfo.output_width); >+ // If this is a progressive JPEG ... >+ mState = mInfo.buffered_image ? >+@@ -632,7 +660,11 @@ > >+ MOZ_ASSERT(imageRow, "Should have a row buffer here"); >+ > +#ifdef JCS_EXTENSIONS > if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) { > +#else > + if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) { > +#endif >- /* Special case: scanline will be directly converted into packed ARGB */ >+ // Special case: scanline will be directly converted into packed ARGB > if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) { >- *suspend = true; /* suspend */ >-@@ -854,6 +887,282 @@ term_source (j_decompress_ptr jd) >+ *suspend = true; // suspend >+@@ -958,6 +990,281 @@ >+ } // namespace image > } // namespace mozilla > >- > +#ifndef JCS_EXTENSIONS > +/**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/ > + >@@ -332,14 +331,14 @@ > + */ > + > +#ifdef RIGHT_SHIFT_IS_UNSIGNED >-+#define SHIFT_TEMPS INT32 shift_temp; >++#define SHIFT_TEMPS INT32 shift_temp; > +#define RIGHT_SHIFT(x,shft) \ >-+ ((shift_temp = (x)) < 0 ? \ >-+ (shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \ >-+ (shift_temp >> (shft))) >++ ((shift_temp = (x)) < 0 ? \ >++ (shift_temp >> (shft)) | ((~((INT32) 0)) << (32-(shft))) : \ >++ (shift_temp >> (shft))) > +#else > +#define SHIFT_TEMPS >-+#define RIGHT_SHIFT(x,shft) ((x) >> (shft)) >++#define RIGHT_SHIFT(x,shft) ((x) >> (shft)) > +#endif > + > + >@@ -376,7 +375,6 @@ > +} > +#endif > + >-+ >- /**************** Inverted CMYK -> RGB conversion **************/ >- /* >- * Input is (Inverted) CMYK stored as 4 bytes per pixel. >+ >+ ///*************** Inverted CMYK -> RGB conversion ************************* >+ /// Input is (Inverted) CMYK stored as 4 bytes per pixel. >Index: files/patch-mail-app-nsMailApp.cpp >=================================================================== >--- files/patch-mail-app-nsMailApp.cpp (revision 392685) >+++ files/patch-mail-app-nsMailApp.cpp (working copy) >@@ -1,10 +1,10 @@ >---- mail/app/nsMailApp.cpp~ >-+++ mail/app/nsMailApp.cpp >-@@ -154,6 +154,7 @@ int main(int argc, char* argv[]) >+--- mail/app/nsMailApp.cpp.orig 2015-07-07 19:34:06.000000000 +0200 >++++ mail/app/nsMailApp.cpp 2015-07-21 22:13:54.000000000 +0200 >+@@ -320,6 +320,7 @@ > TriggerQuirks(); > #endif > > + setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0); >- nsresult rv = mozilla::BinaryPath::Get(argv[0], exePath); >- if (NS_FAILED(rv)) { >- Output("Couldn't calculate the application directory.\n"); >+ int gotCounters; >+ #if defined(XP_UNIX) >+ struct rusage initialRUsage; >Index: files/patch-mozilla_toolkit_mozapps_installer_packager_mk >=================================================================== >--- files/patch-mozilla_toolkit_mozapps_installer_packager_mk (revision 392685) >+++ files/patch-mozilla_toolkit_mozapps_installer_packager_mk (working copy) >@@ -1,8 +1,6 @@ >-$OpenBSD: patch-toolkit_mozapps_installer_packager_mk,v 1.11 2012/06/11 15:29:56 landry Exp $ >-install headers/idl/sdk libs only if xulrunner >---- mozilla/toolkit/mozapps/installer/packager.mk.orig Fri Jun 1 14:04:20 2012 >-+++ mozilla/toolkit/mozapps/installer/packager.mk Tue Jun 5 07:55:51 2012 >-@@ -886,7 +886,7 @@ endif >+--- mozilla/toolkit/mozapps/installer/packager.mk.orig 2015-07-07 19:45:55.000000000 +0200 >++++ mozilla/toolkit/mozapps/installer/packager.mk 2015-07-21 23:04:19.000000000 +0200 >+@@ -123,7 +123,7 @@ > $(NSINSTALL) -D $(DESTDIR)$(bindir) > $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME) > ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir) >@@ -9,5 +7,5 @@ > -ifdef INSTALL_SDK # Here comes the hard part > +ifeq ($(MOZ_APP_NAME),xulrunner) > $(NSINSTALL) -D $(DESTDIR)$(includedir) >- (cd $(DIST)/include && tar $(TAR_CREATE_FLAGS) - .) | \ >+ (cd $(DIST)/include && $(TAR) $(TAR_CREATE_FLAGS) - .) | \ > (cd $(DESTDIR)$(includedir) && tar -xf -) >Index: files/patch-z-bug517422 >=================================================================== >--- files/patch-z-bug517422 (revision 392685) >+++ files/patch-z-bug517422 (working copy) >@@ -1,35 +1,16 @@ >-# Allow more config/external/ libs built against system-wide version. >- >-diff --git config/Makefile.in config/Makefile.in >-index 5383399..0410004 100644 >---- mozilla/config/Makefile.in >-+++ mozilla/config/Makefile.in >-@@ -79,6 +79,13 @@ export:: $(export-preqs) >- -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ >- -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ >- -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ >-+ -DMOZ_NATIVE_OGG=$(MOZ_NATIVE_OGG) \ >-+ -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \ >-+ -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \ >-+ -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \ >-+ -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \ >-+ -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \ >-+ -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \ >- $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers >- $(INSTALL) system_wrappers $(DIST) >+--- ./mozilla/config/external/moz.build.orig 2015-07-21 22:27:33.000000000 +0200 >++++ ./mozilla/config/external/moz.build 2015-07-21 22:27:40.000000000 +0200 >+@@ -19,10 +19,19 @@ >+ # There's no "native brotli" yet, but probably in the future... >+ external_dirs += ['modules/brotli'] > >-diff --git config/external/moz.build config/external/moz.build >-index f67c5c7..eb909ce 100644 >---- mozilla/config/external/moz.build >-+++ mozilla/config/external/moz.build >-@@ -15,13 +15,19 @@ if CONFIG['MOZ_UPDATER']: >- if not CONFIG['MOZ_NATIVE_BZ2']: >- external_dirs += ['modules/libbz2'] >- > -if CONFIG['MOZ_VORBIS']: > +if not CONFIG['MOZ_NATIVE_OGG']: > + external_dirs += ['media/libogg'] > + >++if not CONFIG['MOZ_NATIVE_CELT'] or not CONFIG['MOZ_NATIVE_OPUS']: >++ external_dirs += ['media/libopus'] >++ > +if not CONFIG['MOZ_NATIVE_THEORA']: > + external_dirs += ['media/libtheora'] > + >@@ -40,12 +21,8 @@ > +if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']: > external_dirs += ['media/libtremor'] > >--if CONFIG['MOZ_OPUS']: >-+if CONFIG['MOZ_OPUS'] and not CONFIG['MOZ_NATIVE_OPUS']: >- external_dirs += ['media/libopus'] >- > if CONFIG['MOZ_WEBM']: >-@@ -36,13 +42,15 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ_NATIVE_LIBVPX']: >+@@ -37,15 +46,16 @@ > if not CONFIG['MOZ_NATIVE_PNG']: > external_dirs += ['media/libpng'] > >@@ -59,35 +36,50 @@ > 'media/kiss_fft', > 'media/libcubeb', > - 'media/libogg', >+- 'media/libopus', > - 'media/libtheora', > - 'media/libspeex_resampler', >+ 'media/libstagefright', > - 'media/libsoundtouch', > ] > >- PARALLEL_DIRS += ['../../' + i for i in external_dirs] >-diff --git config/system-headers config/system-headers >-index bef567c..9807c29 100644 >---- mozilla/config/system-headers >-+++ mozilla/config/system-headers >-@@ -1050,8 +1050,6 @@ X11/Xutil.h >- xpt_struct.h >- xpt_xdr.h >+ DIRS += ['../../' + i for i in external_dirs] >+--- ./mozilla/config/Makefile.in.orig 2015-07-21 22:27:09.000000000 +0200 >++++ ./mozilla/config/Makefile.in 2015-07-21 22:27:14.000000000 +0200 >+@@ -79,6 +79,14 @@ >+ -DMOZ_NATIVE_ICU=$(MOZ_NATIVE_ICU) \ >+ -DMOZ_NATIVE_GRAPHITE2=$(MOZ_NATIVE_GRAPHITE2) \ >+ -DMOZ_NATIVE_HARFBUZZ=$(MOZ_NATIVE_HARFBUZZ) \ >++ -DMOZ_NATIVE_OGG=$(MOZ_NATIVE_OGG) \ >++ -DMOZ_NATIVE_THEORA=$(MOZ_NATIVE_THEORA) \ >++ -DMOZ_NATIVE_VORBIS=$(MOZ_NATIVE_VORBIS) \ >++ -DMOZ_NATIVE_TREMOR=$(MOZ_NATIVE_TREMOR) \ >++ -DMOZ_NATIVE_CELT=$(MOZ_NATIVE_CELT) \ >++ -DMOZ_NATIVE_OPUS=$(MOZ_NATIVE_OPUS) \ >++ -DMOZ_NATIVE_SPEEX=$(MOZ_NATIVE_SPEEX) \ >++ -DMOZ_NATIVE_SOUNDTOUCH=$(MOZ_NATIVE_SOUNDTOUCH) \ >+ $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers >+ $(INSTALL) system_wrappers $(DIST) >+ >+--- ./mozilla/config/system-headers.orig 2015-07-21 22:27:54.000000000 +0200 >++++ ./mozilla/config/system-headers 2015-07-21 22:29:34.000000000 +0200 >+@@ -1268,7 +1268,6 @@ >+ X11/Xos.h >+ X11/Xutil.h > zmouse.h >--speex/speex_resampler.h > -soundtouch/SoundTouch.h > #if MOZ_NATIVE_PNG==1 > png.h > #endif >-@@ -1119,6 +1117,8 @@ ogg/ogg.h >+@@ -1330,6 +1329,7 @@ >+ theora/theoradec.h >+ tremor/ivorbiscodec.h >+ speex/speex_resampler.h >++soundtouch/SoundTouch.h >+ ogg/ogg.h > ogg/os_types.h > nestegg/nestegg.h >- cubeb/cubeb.h >-+speex/speex_resampler.h >-+soundtouch/SoundTouch.h >- #endif >- gst/gst.h >- gst/app/gstappsink.h >-@@ -1155,3 +1155,29 @@ graphite2/Segment.h >+@@ -1371,3 +1371,35 @@ > harfbuzz/hb-ot.h > harfbuzz/hb.h > #endif >@@ -105,6 +97,12 @@ > +#if MOZ_NATIVE_TREMOR==1 > +tremor/ivorbiscodec.h > +#endif >++#if MOZ_NATIVE_CELT==1 >++celt.h >++celt_header.h >++celt/celt.h >++celt/celt_header.h >++#endif > +#if MOZ_NATIVE_OPUS==1 > +opus.h > +opus_multistream.h >@@ -117,11 +115,271 @@ > +#if MOZ_NATIVE_SOUNDTOUCH==1 > +soundtouch/SoundTouch.h > +#endif >-diff --git configure.in configure.in >-index 87db361..7947626 100644 >---- mozilla/configure.in >-+++ mozilla/configure.in >-@@ -5211,6 +5211,63 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then >+--- ./mozilla/media/libspeex_resampler/README_MOZILLA.orig 2015-07-21 22:39:41.000000000 +0200 >++++ ./mozilla/media/libspeex_resampler/README_MOZILLA 2015-07-21 22:39:53.000000000 +0200 >+@@ -3,3 +3,6 @@ >+ >+ It consists in the audio resampling code (resampler.c) and its header files >+ dependancies, imported into the tree using the update.sh script. >++ >++The in-tree copy may be omitted during build by --with-system-speex. >++Keep version in configure.in in sync on updates. >+--- ./mozilla/media/libtheora/README_MOZILLA.orig 2015-07-21 22:40:00.000000000 +0200 >++++ ./mozilla/media/libtheora/README_MOZILLA 2015-07-21 22:40:13.000000000 +0200 >+@@ -3,3 +3,6 @@ >+ the addition/update of Makefile.in files for the Mozilla build system. >+ >+ The subversion revision used was r17578. >++ >++The in-tree copy may be omitted during build by --with-system-theora. >++Keep version in configure.in in sync on updates. >+--- ./mozilla/media/libtheora/moz.build.orig 2015-07-21 22:40:25.000000000 +0200 >++++ ./mozilla/media/libtheora/moz.build 2015-07-21 22:41:05.000000000 +0200 >+@@ -93,3 +93,5 @@ >+ if CONFIG['OS_TARGET'] == 'Android': >+ DEFINES['__linux__'] = True >+ >++if CONFIG['MOZ_NATIVE_OGG']: >++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] >+--- ./mozilla/media/libogg/README_MOZILLA.orig 2015-07-21 22:37:54.000000000 +0200 >++++ ./mozilla/media/libogg/README_MOZILLA 2015-07-21 22:38:28.000000000 +0200 >+@@ -6,3 +6,6 @@ >+ The int-types.patch address a bug that config_types.h generated from >+ Linux platform can't be used on OpenSolaris directly see Mozilla bug >+ 449754 >++ >++The in-tree copy may be omitted during build by --with-system-ogg. >++Keep version in configure.in in sync on updates. >+--- ./mozilla/media/libopus/README_MOZILLA.orig 2015-07-21 22:38:46.000000000 +0200 >++++ ./mozilla/media/libopus/README_MOZILLA 2015-07-21 22:39:03.000000000 +0200 >+@@ -9,3 +9,6 @@ >+ The upstream repository is https://git.xiph.org/opus.git >+ >+ The git tag/revision used was v1.1. >++ >++The in-tree copy may be omitted during build by --with-system-opus. >++So, keep its pkg-config version check within configure.in in sync on updates. >+--- ./mozilla/media/libvorbis/README_MOZILLA.orig 2015-07-21 22:42:55.000000000 +0200 >++++ ./mozilla/media/libvorbis/README_MOZILLA 2015-07-21 22:43:08.000000000 +0200 >+@@ -8,3 +8,6 @@ >+ >+ Some files are renamed during the copy to prevent clashes with object >+ file names with other Mozilla libraries. >++ >++The in-tree copy may be omitted during build by --with-system-vorbis. >++Keep version in configure.in in sync on updates. >+--- ./mozilla/media/libvorbis/moz.build.orig 2015-07-21 22:43:16.000000000 +0200 >++++ ./mozilla/media/libvorbis/moz.build 2015-07-21 22:43:55.000000000 +0200 >+@@ -55,3 +55,6 @@ >+ # Suppress warnings in third-party code. >+ if CONFIG['GNU_CC']: >+ CFLAGS += ['-Wno-uninitialized'] >++ >++if CONFIG['MOZ_NATIVE_OGG']: >++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] >+--- ./mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi.orig 2015-07-21 22:47:33.000000000 +0200 >++++ ./mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/neteq/neteq.gypi 2015-07-21 22:48:34.000000000 +0200 >+@@ -84,19 +84,11 @@ >+ ], >+ }], >+ ['build_with_mozilla==1', { >+- 'include_dirs': [ >+- # Need Opus header files for the audio classifier. >+- '<(DEPTH)/../../../media/opus/celt', >+-# '<(DEPTH)/third_party/opus/src/src', >++ 'cflags_mozilla': [ >++ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', >++ '$(MOZ_OPUS_CFLAGS)', >++ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', >+ ], >+- 'direct_dependent_settings': { >+- 'include_dirs': [ >+- '../../../../../../media/opus/celt', >+- # Need Opus header files for the audio classifier. >+- '<(DEPTH)/../../../media/opus/celt', >+-# '<(DEPTH)/third_party/opus/src/src', >+- ], >+- }, >+ }], >+ ], >+ 'sources': [ >+--- ./mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi.orig 2015-07-21 22:45:37.000000000 +0200 >++++ ./mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi 2015-07-21 22:46:56.000000000 +0200 >+@@ -17,18 +17,11 @@ >+ 'conditions': [ >+ ['build_with_mozilla==1', { >+ # Mozilla provides its own build of the opus library. >+- 'include_dirs': [ >+- '/media/libopus/include', >+- '/media/libopus/src', >+- '/media/libopus/celt', >++ 'cflags_mozilla': [ >++ '$(filter -I%, $(MOZ_CELT_CFLAGS))/celt', >++ '$(MOZ_OPUS_CFLAGS)', >++ '$(filter -I%, $(MOZ_OPUS_CFLAGS))/../src', >+ ], >+- 'direct_dependent_settings': { >+- 'include_dirs': [ >+- '/media/libopus/include', >+- '/media/libopus/src', >+- '/media/libopus/celt', >+- ], >+- }, >+ }, { >+ 'dependencies': [ >+ '<(DEPTH)/third_party/opus/opus.gyp:opus' >+--- ./mozilla/media/webrtc/signaling/test/moz.build.orig 2015-07-21 22:44:10.000000000 +0200 >++++ ./mozilla/media/webrtc/signaling/test/moz.build 2015-07-21 22:44:32.000000000 +0200 >+@@ -119,6 +119,9 @@ >+ if CONFIG['MOZ_NATIVE_JPEG']: >+ OS_LIBS += CONFIG['MOZ_JPEG_LIBS'] >+ >++if CONFIG['MOZ_NATIVE_OPUS']: >++ OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] >++ >+ if CONFIG['MOZ_NATIVE_LIBVPX']: >+ OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS'] >+ >+--- ./mozilla/media/libtremor/README_MOZILLA.orig 2015-07-21 22:42:11.000000000 +0200 >++++ ./mozilla/media/libtremor/README_MOZILLA 2015-07-21 22:42:25.000000000 +0200 >+@@ -5,3 +5,6 @@ >+ >+ The upstream release used was http://svn.xiph.org/trunk/Tremor/ >+ The subversion revision used was r17547. >++ >++The in-tree copy may be omitted during build by --with-system-tremor. >++Keep version in configure.in in sync on updates. >+--- ./mozilla/media/libtremor/moz.build.orig 2015-07-21 22:42:31.000000000 +0200 >++++ ./mozilla/media/libtremor/moz.build 2015-07-21 22:42:48.000000000 +0200 >+@@ -6,3 +6,5 @@ >+ >+ DIRS += ['include/tremor', 'lib'] >+ >++if CONFIG['MOZ_NATIVE_OGG']: >++ CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] >+--- ./mozilla/media/libsoundtouch/README_MOZILLA.orig 2015-07-21 22:39:12.000000000 +0200 >++++ ./mozilla/media/libsoundtouch/README_MOZILLA 2015-07-21 22:39:27.000000000 +0200 >+@@ -6,3 +6,5 @@ >+ using the script `update.sh`. Some changes have been made to the files, using >+ the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h. >+ >++The in-tree copy may be omitted during build by --with-system-soundtouch. >++Keep version in configure.in in sync on updates. >+--- ./mozilla/media/libcubeb/src/moz.build.orig 2015-07-21 22:37:01.000000000 +0200 >++++ ./mozilla/media/libcubeb/src/moz.build 2015-07-21 22:37:33.000000000 +0200 >+@@ -71,6 +71,9 @@ >+ >+ FINAL_LIBRARY = 'gkmedias' >+ >++if CONFIG['MOZ_NATIVE_SPEEX']: >++ SOURCES['cubeb_resampler.cpp'].flags += CONFIG['MOZ_SPEEX_CFLAGS'] >++ >+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk': >+ CFLAGS += [ >+ '-I%s/%s' % (CONFIG['ANDROID_SOURCE'], d) for d in [ >+--- ./mozilla/dom/media/AudioStream.h.orig 2015-07-21 22:34:56.000000000 +0200 >++++ ./mozilla/dom/media/AudioStream.h 2015-07-21 22:35:18.000000000 +0200 >+@@ -17,7 +17,7 @@ >+ #include "CubebUtils.h" >+ >+ namespace soundtouch { >+-class SoundTouch; >++class MOZ_IMPORT_API SoundTouch; >+ } >+ >+ namespace mozilla { >+--- ./mozilla/dom/media/moz.build.orig 2015-07-21 22:35:30.000000000 +0200 >++++ ./mozilla/dom/media/moz.build 2015-07-21 22:36:41.000000000 +0200 >+@@ -280,6 +280,27 @@ >+ CFLAGS += CONFIG['GSTREAMER_CFLAGS'] >+ CXXFLAGS += CONFIG['GSTREAMER_CFLAGS'] >+ >++if CONFIG['MOZ_NATIVE_OGG']: >++ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS'] >++ >++if CONFIG['MOZ_NATIVE_THEORA']: >++ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS'] >++ >++if CONFIG['MOZ_NATIVE_VORBIS']: >++ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS'] >++ >++if CONFIG['MOZ_NATIVE_TREMOR']: >++ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS'] >++ >++if CONFIG['MOZ_NATIVE_OPUS']: >++ CXXFLAGS += CONFIG['MOZ_OPUS_CFLAGS'] >++ >++if CONFIG['MOZ_NATIVE_SPEEX']: >++ CXXFLAGS += CONFIG['MOZ_SPEEX_CFLAGS'] >++ >++if CONFIG['MOZ_NATIVE_SOUNDTOUCH']: >++ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS'] >++ >+ include('/ipc/chromium/chromium-config.mozbuild') >+ >+ # Suppress some GCC warnings being treated as errors: >+--- ./mozilla/xpcom/build/XPCOMInit.cpp.orig 2015-07-21 22:50:47.000000000 +0200 >++++ ./mozilla/xpcom/build/XPCOMInit.cpp 2015-07-21 22:53:32.000000000 +0200 >+@@ -141,7 +141,9 @@ >+ #include "mozilla/VisualEventTracer.h" >+ #endif >+ >++#ifndef MOZ_OGG_NO_MEM_REPORTING >+ #include "ogg/ogg.h" >++#endif >+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) >+ #if defined(HAVE_STDINT_H) >+ // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in >+@@ -669,11 +671,13 @@ >+ // this oddness. >+ mozilla::SetICUMemoryFunctions(); >+ >++#ifndef MOZ_OGG_NO_MEM_REPORTING >+ // Do the same for libogg. >+ ogg_set_mem_functions(OggReporter::CountingMalloc, >+ OggReporter::CountingCalloc, >+ OggReporter::CountingRealloc, >+ OggReporter::CountingFree); >++#endif >+ >+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) >+ // And for VPX. >+--- ./mozilla/toolkit/library/moz.build.orig 2015-07-21 22:49:27.000000000 +0200 >++++ ./mozilla/toolkit/library/moz.build 2015-07-21 22:50:12.000000000 +0200 >+@@ -226,6 +226,30 @@ >+ if CONFIG['MOZ_NATIVE_HUNSPELL']: >+ OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS'] >+ >++if CONFIG['MOZ_NATIVE_OGG']: >++ OS_LIBS += CONFIG['MOZ_OGG_LIBS'] >++ >++if CONFIG['MOZ_NATIVE_THEORA']: >++ OS_LIBS += CONFIG['MOZ_THEORA_LIBS'] >++ >++if CONFIG['MOZ_NATIVE_VORBIS']: >++ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS'] >++ >++if CONFIG['MOZ_NATIVE_TREMOR']: >++ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS'] >++ >++if CONFIG['MOZ_NATIVE_CELT']: >++ OS_LIBS += CONFIG['MOZ_CELT_LIBS'] >++ >++if CONFIG['MOZ_NATIVE_OPUS']: >++ OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] >++ >++if CONFIG['MOZ_NATIVE_SPEEX']: >++ OS_LIBS += CONFIG['MOZ_SPEEX_LIBS'] >++ >++if CONFIG['MOZ_NATIVE_SOUNDTOUCH']: >++ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS'] >++ >+ if CONFIG['MOZ_NATIVE_LIBEVENT']: >+ OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS'] >+ >+--- ./mozilla/configure.in.orig 2015-07-21 22:29:55.000000000 +0200 >++++ ./mozilla/configure.in 2015-07-21 22:34:38.000000000 +0200 >+@@ -5251,6 +5251,157 @@ > fi > > dnl ======================================================== >@@ -144,8 +402,6 @@ > +fi > + > +AC_SUBST(MOZ_NATIVE_OGG) >-+AC_SUBST(MOZ_OGG_CFLAGS) >-+AC_SUBST(MOZ_OGG_LIBS) > + > +dnl ======================================================== > +dnl Check for libvorbis >@@ -161,8 +417,6 @@ > +fi > + > +AC_SUBST(MOZ_NATIVE_VORBIS) >-+AC_SUBST(MOZ_VORBIS_CFLAGS) >-+AC_SUBST(MOZ_VORBIS_LIBS) > + > +dnl ======================================================== > +dnl Check for integer-only libvorbis aka tremor >@@ -178,17 +432,25 @@ > +fi > + > +AC_SUBST(MOZ_NATIVE_TREMOR) >-+AC_SUBST(MOZ_TREMOR_CFLAGS) >-+AC_SUBST(MOZ_TREMOR_LIBS) > + > +dnl ======================================================== >- dnl = Disable Opus audio codec support >- dnl ======================================================== >- MOZ_ARG_DISABLE_BOOL(opus, >-@@ -5219,6 +5274,97 @@ MOZ_ARG_DISABLE_BOOL(opus, >- MOZ_OPUS=1) >- >- dnl ======================================================== >++dnl Check for libcelt >++dnl ======================================================== >++ >++MOZ_ARG_WITH_BOOL(system-celt, >++[ --with-system-celt Use system libcelt (located with pkgconfig)], >++MOZ_NATIVE_CELT=1, >++MOZ_NATIVE_CELT=) >++ >++if test -n "$MOZ_NATIVE_CELT"; then >++ PKG_CHECK_MODULES(MOZ_CELT, celt) >++else >++ MOZ_CELT_CFLAGS='-I$(topsrcdir)/media/libopus' >++fi >++ >++AC_SUBST(MOZ_NATIVE_CELT) >++ >++dnl ======================================================== > +dnl Check for libopus > +dnl ======================================================== > + >@@ -204,8 +466,6 @@ > +fi > + > +AC_SUBST(MOZ_NATIVE_OPUS) >-+AC_SUBST(MOZ_OPUS_CFLAGS) >-+AC_SUBST(MOZ_OPUS_LIBS) > + > +dnl ======================================================== > +dnl Check for libtheora >@@ -221,8 +481,6 @@ > +fi > + > +AC_SUBST(MOZ_NATIVE_THEORA) >-+AC_SUBST(MOZ_THEORA_CFLAGS) >-+AC_SUBST(MOZ_THEORA_LIBS) > + > +dnl ======================================================== > +dnl Check for libspeex resampler >@@ -238,8 +496,6 @@ > +fi > + > +AC_SUBST(MOZ_NATIVE_SPEEX) >-+AC_SUBST(MOZ_SPEEX_CFLAGS) >-+AC_SUBST(MOZ_SPEEX_LIBS) > + > +dnl ======================================================== > +dnl Check for libsoundtouch >@@ -276,217 +532,8 @@ > +fi > + > +AC_SUBST(MOZ_NATIVE_SOUNDTOUCH) >-+AC_SUBST(MOZ_SOUNDTOUCH_CFLAGS) >-+AC_SUBST(MOZ_SOUNDTOUCH_LIBS) > + > +dnl ======================================================== > dnl = Disable VP8 decoder support > dnl ======================================================== > MOZ_ARG_DISABLE_BOOL(webm, >-diff --git content/media/AudioStream.h content/media/AudioStream.h >-index 085676d..00c54fb 100644 >---- mozilla/content/media/AudioStream.h >-+++ mozilla/content/media/AudioStream.h >-@@ -26,7 +26,7 @@ public: >- }; >- >- namespace soundtouch { >--class SoundTouch; >-+class MOZ_IMPORT_API SoundTouch; >- } >- >- namespace mozilla { >-diff --git content/media/Makefile.in content/media/Makefile.in >-index fd34449..c6c42c8 100644 >---- mozilla/content/media/Makefile.in >-+++ mozilla/content/media/Makefile.in >-@@ -6,3 +6,31 @@ include $(topsrcdir)/config/rules.mk >- >- CFLAGS += $(GSTREAMER_CFLAGS) >- CXXFLAGS += $(GSTREAMER_CFLAGS) >-+ >-+ifdef MOZ_NATIVE_OGG >-+CXXFLAGS += $(MOZ_OGG_CFLAGS) >-+endif >-+ >-+ifdef MOZ_NATIVE_THEORA >-+CXXFLAGS += $(MOZ_THEORA_CFLAGS) >-+endif >-+ >-+ifdef MOZ_NATIVE_VORBIS >-+CXXFLAGS += $(MOZ_VORBIS_CFLAGS) >-+endif >-+ >-+ifdef MOZ_NATIVE_TREMOR >-+CXXFLAGS += $(MOZ_TREMOR_CFLAGS) >-+endif >-+ >-+ifdef MOZ_NATIVE_OPUS >-+CXXFLAGS += $(MOZ_OPUS_CFLAGS) >-+endif >-+ >-+ifdef MOZ_NATIVE_SPEEX >-+CXXFLAGS += $(MOZ_SPEEX_CFLAGS) >-+endif >-+ >-+ifdef MOZ_NATIVE_SOUNDTOUCH >-+CXXFLAGS += $(MOZ_SOUNDTOUCH_CFLAGS) >-+endif >-diff --git media/libcubeb/src/Makefile.in media/libcubeb/src/Makefile.in >-index 4c14494..1cb98e2 100644 >---- mozilla/media/libcubeb/src/Makefile.in >-+++ mozilla/media/libcubeb/src/Makefile.in >-@@ -9,3 +9,7 @@ CFLAGS += \ >- $(MOZ_ALSA_CFLAGS) \ >- $(MOZ_PULSEAUDIO_CFLAGS) \ >- $(NULL) >-+ >-+ifdef MOZ_NATIVE_SPEEX >-+CFLAGS += $(MOZ_SPEEX_CFLAGS) >-+endif >-diff --git media/libtheora/Makefile.in media/libtheora/Makefile.in >-new file mode 100644 >-index 0000000..1f02dc0 >---- /dev/null >-+++ mozilla/media/libtheora/Makefile.in >-@@ -0,0 +1,9 @@ >-+# This Source Code Form is subject to the terms of the Mozilla Public >-+# License, v. 2.0. If a copy of the MPL was not distributed with this >-+# file, You can obtain one at http://mozilla.org/MPL/2.0/. >-+ >-+include $(topsrcdir)/config/rules.mk >-+ >-+ifdef MOZ_NATIVE_OGG >-+CFLAGS += $(MOZ_OGG_CFLAGS) >-+endif >-diff --git media/libtremor/Makefile.in media/libtremor/Makefile.in >-new file mode 100644 >-index 0000000..1f02dc0 >---- /dev/null >-+++ mozilla/media/libtremor/Makefile.in >-@@ -0,0 +1,9 @@ >-+# This Source Code Form is subject to the terms of the Mozilla Public >-+# License, v. 2.0. If a copy of the MPL was not distributed with this >-+# file, You can obtain one at http://mozilla.org/MPL/2.0/. >-+ >-+include $(topsrcdir)/config/rules.mk >-+ >-+ifdef MOZ_NATIVE_OGG >-+CFLAGS += $(MOZ_OGG_CFLAGS) >-+endif >-diff --git media/libvorbis/Makefile.in media/libvorbis/Makefile.in >-new file mode 100644 >-index 0000000..1f02dc0 >---- /dev/null >-+++ mozilla/media/libvorbis/Makefile.in >-@@ -0,0 +1,9 @@ >-+# This Source Code Form is subject to the terms of the Mozilla Public >-+# License, v. 2.0. If a copy of the MPL was not distributed with this >-+# file, You can obtain one at http://mozilla.org/MPL/2.0/. >-+ >-+include $(topsrcdir)/config/rules.mk >-+ >-+ifdef MOZ_NATIVE_OGG >-+CFLAGS += $(MOZ_OGG_CFLAGS) >-+endif >-diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in >-index bbc971c..6ed7e41 100644 >---- mozilla/media/webrtc/signaling/test/Makefile.in >-+++ mozilla/media/webrtc/signaling/test/Makefile.in >-@@ -48,6 +48,12 @@ LIBS += \ >- $(NULL) >- endif >- >-+ifdef MOZ_NATIVE_OPUS >-+LIBS += \ >-+ $(MOZ_OPUS_LIBS) \ >-+ $(NULL) >-+endif >-+ >- ifdef MOZ_NATIVE_LIBVPX >- LIBS += \ >- $(MOZ_LIBVPX_LIBS) \ >-diff --git media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi >-index 00e77e7..55f48ab 100644 >---- mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi >-+++ mozilla/media/webrtc/trunk/webrtc/modules/audio_coding/codecs/opus/opus.gypi >-@@ -14,9 +14,9 @@ >- 'conditions': [ >- ['build_with_mozilla==1', { >- # Mozilla provides its own build of the opus library. >-- 'include_dirs': [ >-- '/media/libopus/include', >-- ] >-+ 'cflags_mozilla': [ >-+ '$(MOZ_OPUS_CFLAGS)', >-+ ], >- }, { >- 'dependencies': [ >- '<(DEPTH)/third_party/opus/opus.gyp:opus' >-diff --git toolkit/library/libxul.mk toolkit/library/libxul.mk >-index d42137a..695e75a8 100644 >---- mozilla/toolkit/library/libxul.mk >-+++ mozilla/toolkit/library/libxul.mk >-@@ -77,6 +77,34 @@ ifdef MOZ_NATIVE_HUNSPELL >- EXTRA_DSO_LDOPTS += $(MOZ_HUNSPELL_LIBS) >- endif >- >-+ifdef MOZ_NATIVE_OGG >-+EXTRA_DSO_LDOPTS += $(MOZ_OGG_LIBS) >-+endif >-+ >-+ifdef MOZ_NATIVE_THEORA >-+EXTRA_DSO_LDOPTS += $(MOZ_THEORA_LIBS) >-+endif >-+ >-+ifdef MOZ_NATIVE_VORBIS >-+EXTRA_DSO_LDOPTS += $(MOZ_VORBIS_LIBS) >-+endif >-+ >-+ifdef MOZ_NATIVE_TREMOR >-+EXTRA_DSO_LDOPTS += $(MOZ_TREMOR_LIBS) >-+endif >-+ >-+ifdef MOZ_NATIVE_OPUS >-+EXTRA_DSO_LDOPTS += $(MOZ_OPUS_LIBS) >-+endif >-+ >-+ifdef MOZ_NATIVE_SPEEX >-+EXTRA_DSO_LDOPTS += $(MOZ_SPEEX_LIBS) >-+endif >-+ >-+ifdef MOZ_NATIVE_SOUNDTOUCH >-+EXTRA_DSO_LDOPTS += $(MOZ_SOUNDTOUCH_LIBS) >-+endif >-+ >- ifdef MOZ_NATIVE_LIBEVENT >- EXTRA_DSO_LDOPTS += $(MOZ_LIBEVENT_LIBS) >- endif >-diff --git xpcom/build/nsXPComInit.cpp xpcom/build/nsXPComInit.cpp >-index 2cf281e..6d7af0e 100644 >---- mozilla/xpcom/build/nsXPComInit.cpp >-+++ mozilla/xpcom/build/nsXPComInit.cpp >-@@ -130,7 +130,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports *, REFNSIID, void **) >- #include "mozilla/VisualEventTracer.h" >- #endif >- >-+#ifndef MOZ_OGG_NO_MEM_REPORTING >- #include "ogg/ogg.h" >-+#endif >- #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) >- #include "vpx_mem/vpx_mem.h" >- #endif >-@@ -571,11 +573,13 @@ NS_InitXPCOM2(nsIServiceManager* *result, >- // this oddness. >- mozilla::SetICUMemoryFunctions(); >- >-+#ifndef MOZ_OGG_NO_MEM_REPORTING >- // Do the same for libogg. >- ogg_set_mem_functions(OggReporter::CountingMalloc, >- OggReporter::CountingCalloc, >- OggReporter::CountingRealloc, >- OggReporter::CountingFree); >-+#endif >- >- #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING) >- // And for VPX.
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 201769
: 159076 |
159077
|
159078
|
159079