summaryrefslogtreecommitdiff
path: root/www/firefox/files/patch-z-bug517422
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox/files/patch-z-bug517422')
-rw-r--r--www/firefox/files/patch-z-bug517422379
1 files changed, 209 insertions, 170 deletions
diff --git a/www/firefox/files/patch-z-bug517422 b/www/firefox/files/patch-z-bug517422
index 482d6eba07d8..e3c4c41fbc6f 100644
--- a/www/firefox/files/patch-z-bug517422
+++ b/www/firefox/files/patch-z-bug517422
@@ -1,10 +1,10 @@
# Allow more config/external/ libs built against system-wide version.
diff --git build/moz.configure/old.configure build/moz.configure/old.configure
-index 42ab554..c91df3d 100644
+index d0fe7accffe6..c46bdd023225 100644
--- build/moz.configure/old.configure
+++ build/moz.configure/old.configure
-@@ -320,7 +320,12 @@ def old_configure_options(*options):
+@@ -288,7 +288,12 @@ def old_configure_options(*options):
'--with-system-libvpx',
'--with-system-nspr',
'--with-system-nss',
@@ -18,13 +18,13 @@ index 42ab554..c91df3d 100644
'--with-thumb',
'--with-thumb-interwork',
diff --git config/Makefile.in config/Makefile.in
-index 5383399..0410004 100644
+index a6206bb0ff30..f20987c61754 100644
--- config/Makefile.in
+++ config/Makefile.in
@@ -51,6 +51,11 @@ export:: $(export-preqs)
+ -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
+ -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
-DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
- -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
- -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
+ -DMOZ_SYSTEM_OGG=$(MOZ_SYSTEM_OGG) \
+ -DMOZ_SYSTEM_THEORA=$(MOZ_SYSTEM_THEORA) \
+ -DMOZ_SYSTEM_VORBIS=$(MOZ_SYSTEM_VORBIS) \
@@ -34,12 +34,12 @@ index 5383399..0410004 100644
$(INSTALL) system_wrappers $(DIST)
diff --git config/external/moz.build config/external/moz.build
-index f67c5c7..eb909ce 100644
+index 029ff8504795..2c3a40caa1ba 100644
--- config/external/moz.build
+++ config/external/moz.build
-@@ -20,12 +20,21 @@ if CONFIG['MOZ_UPDATER']:
- # There's no "native brotli" yet, but probably in the future...
+@@ -21,12 +21,21 @@ if CONFIG['MOZ_UPDATER']:
external_dirs += ['modules/brotli']
+ external_dirs += ['modules/woff2']
-if CONFIG['MOZ_VORBIS']:
+if not CONFIG['MOZ_SYSTEM_OGG']:
@@ -61,7 +61,7 @@ index f67c5c7..eb909ce 100644
if CONFIG['MOZ_WEBM_ENCODER']:
external_dirs += ['media/libmkv']
-@@ -51,12 +60,9 @@ external_dirs += [
+@@ -52,12 +61,9 @@ external_dirs += [
'media/kiss_fft',
'media/libcubeb',
'media/libnestegg',
@@ -71,17 +71,17 @@ index f67c5c7..eb909ce 100644
'media/libspeex_resampler',
'media/libstagefright',
- 'media/libsoundtouch',
+ 'media/psshparser'
]
- DIRS += ['../../' + i for i in external_dirs]
diff --git config/system-headers config/system-headers
-index bef567c..9807c29 100644
+index 5ee7f71f9634..13178ac3b3ab 100644
--- config/system-headers
+++ config/system-headers
-@@ -1364,3 +1363,17 @@ graphite2/Segment.h
- harfbuzz/hb-ot.h
- harfbuzz/hb.h
- #endif
+@@ -1348,3 +1348,17 @@ unicode/utypes.h
+ libutil.h
+ unwind.h
+ fenv.h
+#if MOZ_SYSTEM_OGG==1
+ogg/ogg.h
+ogg/os_types.h
@@ -96,128 +96,12 @@ index bef567c..9807c29 100644
+#if MOZ_SYSTEM_TREMOR==1
+tremor/ivorbiscodec.h
+#endif
-diff --git old-configure.in configure.in
-index 87db361..7947626 100644
---- old-configure.in
-+++ old-configure.in
-@@ -5401,6 +5401,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then
- fi
- fi
-
-+dnl ========================================================
-+dnl Check for libogg
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-ogg,
-+[ --with-system-ogg Use system libogg (located with pkgconfig)],
-+MOZ_SYSTEM_OGG=1,
-+MOZ_SYSTEM_OGG=)
-+
-+if test -n "$MOZ_SYSTEM_OGG"; then
-+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1)
-+
-+ _SAVE_LIBS=$LIBS
-+ LIBS="$LIBS $MOZ_OGG_LIBS"
-+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
-+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
-+ LIBS=$_SAVE_LIBS
-+fi
-+
-+AC_SUBST(MOZ_SYSTEM_OGG)
-+
-+dnl ========================================================
-+dnl Check for libvorbis
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-vorbis,
-+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
-+MOZ_SYSTEM_VORBIS=1,
-+MOZ_SYSTEM_VORBIS=)
-+
-+if test -n "$MOZ_SYSTEM_VORBIS"; then
-+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
-+fi
-+
-+AC_SUBST(MOZ_SYSTEM_VORBIS)
-+
-+dnl ========================================================
-+dnl Check for integer-only libvorbis aka tremor
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-tremor,
-+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
-+MOZ_SYSTEM_TREMOR=1,
-+MOZ_SYSTEM_TREMOR=)
-+
-+if test -n "$MOZ_SYSTEM_TREMOR"; then
-+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
-+fi
-+
-+AC_SUBST(MOZ_SYSTEM_TREMOR)
-+
-+dnl ========================================================
-+dnl Check for libtheora
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-theora,
-+[ --with-system-theora Use system libtheora (located with pkgconfig)],
-+MOZ_SYSTEM_THEORA=1,
-+MOZ_SYSTEM_THEORA=)
-+
-+if test -n "$MOZ_SYSTEM_THEORA"; then
-+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
-+fi
-+
-+AC_SUBST(MOZ_SYSTEM_THEORA)
-+
-+dnl ========================================================
-+dnl Check for libSoundTouch
-+dnl ========================================================
-+
-+MOZ_ARG_WITH_BOOL(system-soundtouch,
-+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
-+MOZ_SYSTEM_SOUNDTOUCH=1,
-+MOZ_SYSTEM_SOUNDTOUCH=)
-+
-+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
-+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
-+
-+ AC_LANG_SAVE
-+ AC_LANG_CPLUSPLUS
-+ _SAVE_CXXFLAGS=$CXXFLAGS
-+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
-+ AC_CACHE_CHECK(for soundtouch sample type,
-+ ac_cv_soundtouch_sample_type,
-+ [AC_TRY_COMPILE([#include <SoundTouch.h>
-+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
-+ #error soundtouch expects float samples
-+ #endif],
-+ [],
-+ [ac_cv_soundtouch_sample_type=short],
-+ [ac_cv_soundtouch_sample_type=float])])
-+ CXXFLAGS=$_SAVE_CXXFLAGS
-+ AC_LANG_RESTORE
-+
-+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
-+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
-+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
-+ fi
-+fi
-+
-+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
-+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
-+fi
-+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
-+
- dnl system libvpx Support
- dnl ========================================================
- MOZ_ARG_WITH_BOOL(system-libvpx,
diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
-index 2127256..1ec09fe 100644
+index 93ecda4319af..ff674c64ea07 100644
--- dom/media/AudioStream.cpp
+++ dom/media/AudioStream.cpp
-@@ -125,7 +125,9 @@ AudioStream::AudioStream(DataSource& aSo
- , mOutRate(0)
+@@ -115,7 +115,9 @@ AudioStream::AudioStream(DataSource& aSource)
+ : mMonitor("AudioStream")
, mChannels(0)
, mOutChannels(0)
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
@@ -226,7 +110,7 @@ index 2127256..1ec09fe 100644
, mDumpFile(nullptr)
, mState(INITIALIZED)
, mDataSource(aSource)
-@@ -152,9 +154,11 @@ AudioStream::~AudioStream()
+@@ -130,9 +132,11 @@ AudioStream::~AudioStream()
if (mDumpFile) {
fclose(mDumpFile);
}
@@ -238,7 +122,7 @@ index 2127256..1ec09fe 100644
}
size_t
-@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretche
+@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
{
mMonitor.AssertCurrentThreadOwns();
if (!mTimeStretcher) {
@@ -251,11 +135,11 @@ index 2127256..1ec09fe 100644
mTimeStretcher->setChannels(mOutChannels);
mTimeStretcher->setPitch(1.0);
diff --git dom/media/AudioStream.h dom/media/AudioStream.h
-index a552e3e..02b80b1 100644
+index 7dc1f60f95cc..67d402a4117f 100644
--- dom/media/AudioStream.h
+++ dom/media/AudioStream.h
-@@ -15,7 +15,11 @@
- #include "mozilla/RefPtr.h"
+@@ -16,7 +16,11 @@
+ #include "mozilla/TimeStamp.h"
#include "mozilla/UniquePtr.h"
#include "CubebUtils.h"
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
@@ -266,9 +150,9 @@ index a552e3e..02b80b1 100644
namespace mozilla {
-@@ -277,7 +277,11 @@ private:
- // Number of frames written to the buffers.
- int64_t mWritten;
+@@ -287,7 +291,11 @@ private:
+ uint32_t mChannels;
+ uint32_t mOutChannels;
AudioClock mAudioClock;
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
@@ -276,13 +160,13 @@ index a552e3e..02b80b1 100644
soundtouch::SoundTouch* mTimeStretcher;
+#endif
- // Stream start time for stream open delay telemetry.
- TimeStamp mStartTime;
+ // Output file for dumping audio
+ FILE* mDumpFile;
diff --git dom/media/moz.build dom/media/moz.build
-index 7526cff..e0a0ca0 100644
+index 86b051c58d33..fb6186dce78b 100644
--- dom/media/moz.build
+++ dom/media/moz.build
-@@ -300,6 +300,21 @@ if CONFIG['MOZ_WEBRTC']:
+@@ -308,6 +308,21 @@ if CONFIG['MOZ_WEBRTC']:
DEFINES['MOZILLA_INTERNAL_API'] = True
@@ -304,11 +188,50 @@ index 7526cff..e0a0ca0 100644
if CONFIG['OS_TARGET'] == 'WINNT':
DEFINES['WEBRTC_WIN'] = True
else:
+diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
+index 078f6ea5ef60..c600db067539 100644
+--- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
++++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
+@@ -11,9 +11,13 @@
+ #include "prmem.h"
+ #include "prlink.h"
+
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
++#include "nsXPCOMPrivate.h" // for XUL_DLL
++#else
+ // We use a known symbol located in lgpllibs to determine its location.
+ // soundtouch happens to be always included in lgpllibs
+ #include "soundtouch/SoundTouch.h"
++#endif
+
+ namespace mozilla {
+
+@@ -50,6 +54,12 @@ FFVPXRuntimeLinker::Init()
+
+ sLinkStatus = LinkStatus_FAILED;
+
++#ifdef MOZ_SYSTEM_SOUNDTOUCH
++ // We retrieve the path of the XUL library as this is where mozavcodec and
++ // mozavutil libs are located.
++ char* path =
++ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
++#else
+ // We retrieve the path of the lgpllibs library as this is where mozavcodec
+ // and mozavutil libs are located.
+ char* lgpllibsname = PR_GetLibraryName(nullptr, "lgpllibs");
+@@ -60,6 +70,7 @@ FFVPXRuntimeLinker::Init()
+ PR_GetLibraryFilePathname(lgpllibsname,
+ (PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
+ PR_FreeLibraryName(lgpllibsname);
++#endif
+ if (!path) {
+ return false;
+ }
diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
-index 0833e4d..7ece97b 100644
+index 6213fdc7770c..ada799916a17 100644
--- media/libogg/README_MOZILLA
+++ media/libogg/README_MOZILLA
-@@ -6,3 +6,6 @@ The svn revision number used was r17287.
+@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script.
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
@@ -316,7 +239,7 @@ index 0833e4d..7ece97b 100644
+The in-tree copy may be omitted during build by --with-system-ogg.
+Keep version in old-configure.in in sync on updates.
diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
-index bfd4b1a..15b158d 100644
+index dc0dbe8f6886..ea73b55e3e39 100644
--- media/libsoundtouch/README_MOZILLA
+++ media/libsoundtouch/README_MOZILLA
@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree,
@@ -326,7 +249,7 @@ index bfd4b1a..15b158d 100644
+The in-tree copy may be omitted during build by --with-system-soundtouch.
+Keep version in old-configure.in in sync on updates.
diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h
-index 0af2fe6..d80c145 100644
+index 0af2fe618311..10973564e7a4 100644
--- media/libsoundtouch/src/soundtouch_perms.h
+++ media/libsoundtouch/src/soundtouch_perms.h
@@ -12,7 +12,9 @@
@@ -340,7 +263,7 @@ index 0af2fe6..d80c145 100644
#endif // MOZILLA_SOUNDTOUCH_PERMS_H
diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA
-index d48dbfa..f08a2ed 100644
+index d48dbfa6f63d..6f30f250220e 100644
--- media/libtheora/README_MOZILLA
+++ media/libtheora/README_MOZILLA
@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh,
@@ -351,10 +274,10 @@ index d48dbfa..f08a2ed 100644
+The in-tree copy may be omitted during build by --with-system-theora.
+Keep version in old-configure.in in sync on updates.
diff --git media/libtheora/moz.build media/libtheora/moz.build
-index 14265b1..3069e99 100644
+index c7f85eebff95..aae7b814adb5 100644
--- media/libtheora/moz.build
+++ media/libtheora/moz.build
-@@ -21,6 +21,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
+@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias'
# The encoder is currently not included.
DEFINES['THEORA_DISABLE_ENCODE'] = True
@@ -362,10 +285,10 @@ index 14265b1..3069e99 100644
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+
# Suppress warnings in third-party code.
- if CONFIG['GNU_CC']:
+ if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']:
CFLAGS += ['-Wno-type-limits']
diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
-index ee67b53..3f34a09 100644
+index ee67b53a05c5..81c971773d55 100644
--- media/libtremor/README_MOZILLA
+++ media/libtremor/README_MOZILLA
@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system.
@@ -376,20 +299,20 @@ index ee67b53..3f34a09 100644
+The in-tree copy may be omitted during build by --with-system-tremor.
+Keep version in old-configure.in in sync on updates.
diff --git media/libtremor/moz.build media/libtremor/moz.build
-index 31831ba..a03d576 100644
+index 83afc8e37c64..71ef159da3d7 100644
--- media/libtremor/moz.build
+++ media/libtremor/moz.build
-@@ -6,3 +6,5 @@
+@@ -9,3 +9,5 @@ with Files('*'):
DIRS += ['include/tremor', 'lib']
+if CONFIG['MOZ_SYSTEM_OGG']:
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
-index 7c7454c..55baedd 100644
+index 1211ac074b33..eb31084aed25 100644
--- media/libvorbis/README_MOZILLA
+++ media/libvorbis/README_MOZILLA
-@@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.4@19059
+@@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.5@19464
Some files are renamed during the copy to prevent clashes with object
file names with other Mozilla libraries.
@@ -397,21 +320,137 @@ index 7c7454c..55baedd 100644
+The in-tree copy may be omitted during build by --with-system-vorbis.
+Keep version in old-configure.in in sync on updates.
diff --git media/libvorbis/moz.build media/libvorbis/moz.build
-index 919b99e..cc776f7 100644
+index adf393782cc9..923b76231107 100644
--- media/libvorbis/moz.build
+++ media/libvorbis/moz.build
-@@ -55,3 +55,6 @@ FINAL_LIBRARY = 'gkmedias'
+@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias'
# Suppress warnings in third-party code.
if CONFIG['GNU_CC']:
CFLAGS += ['-Wno-uninitialized']
+
+if CONFIG['MOZ_SYSTEM_OGG']:
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
+diff --git old-configure.in old-configure.in
+index b614eef85c89..85f9099dba4d 100644
+--- old-configure.in
++++ old-configure.in
+@@ -2941,6 +2941,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then
+ fi
+ fi
+
++dnl ========================================================
++dnl Check for libogg
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-ogg,
++[ --with-system-ogg Use system libogg (located with pkgconfig)],
++MOZ_SYSTEM_OGG=1,
++MOZ_SYSTEM_OGG=)
++
++if test -n "$MOZ_SYSTEM_OGG"; then
++ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.0)
++
++ _SAVE_LIBS=$LIBS
++ LIBS="$LIBS $MOZ_OGG_LIBS"
++ AC_CHECK_FUNC(ogg_set_mem_functions, [],
++ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
++ LIBS=$_SAVE_LIBS
++fi
++
++AC_SUBST(MOZ_SYSTEM_OGG)
++
++dnl ========================================================
++dnl Check for libvorbis
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-vorbis,
++[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
++MOZ_SYSTEM_VORBIS=1,
++MOZ_SYSTEM_VORBIS=)
++
++if test -n "$MOZ_SYSTEM_VORBIS"; then
++ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
++fi
++
++AC_SUBST(MOZ_SYSTEM_VORBIS)
++
++dnl ========================================================
++dnl Check for integer-only libvorbis aka tremor
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-tremor,
++[ --with-system-tremor Use system libtremor (located with pkgconfig)],
++MOZ_SYSTEM_TREMOR=1,
++MOZ_SYSTEM_TREMOR=)
++
++if test -n "$MOZ_SYSTEM_TREMOR"; then
++ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
++fi
++
++AC_SUBST(MOZ_SYSTEM_TREMOR)
++
++dnl ========================================================
++dnl Check for libtheora
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-theora,
++[ --with-system-theora Use system libtheora (located with pkgconfig)],
++MOZ_SYSTEM_THEORA=1,
++MOZ_SYSTEM_THEORA=)
++
++if test -n "$MOZ_SYSTEM_THEORA"; then
++ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
++fi
++
++AC_SUBST(MOZ_SYSTEM_THEORA)
++
++dnl ========================================================
++dnl Check for libSoundTouch
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-soundtouch,
++[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
++MOZ_SYSTEM_SOUNDTOUCH=1,
++MOZ_SYSTEM_SOUNDTOUCH=)
++
++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
++
++ AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ _SAVE_CXXFLAGS=$CXXFLAGS
++ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
++ AC_CACHE_CHECK(for soundtouch sample type,
++ ac_cv_soundtouch_sample_type,
++ [AC_TRY_COMPILE([#include <SoundTouch.h>
++ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
++ #error soundtouch expects float samples
++ #endif],
++ [],
++ [ac_cv_soundtouch_sample_type=short],
++ [ac_cv_soundtouch_sample_type=float])])
++ CXXFLAGS=$_SAVE_CXXFLAGS
++ AC_LANG_RESTORE
++
++ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
++ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
++ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
++ fi
++fi
++
++if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
++ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
++fi
++AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
++
+ dnl system libvpx Support
+ dnl ========================================================
+ MOZ_ARG_WITH_BOOL(system-libvpx,
diff --git toolkit/library/moz.build toolkit/library/moz.build
-index d42137a..695e75a8 100644
+index 079a575adec3..514d901195de 100644
--- toolkit/library/moz.build
+++ toolkit/library/moz.build
-@@ -178,6 +178,21 @@ if CONFIG['MOZ_SYSTEM_PNG']:
+@@ -237,6 +237,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
@@ -434,20 +473,20 @@ index d42137a..695e75a8 100644
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp
-index 2cf281e..6d7af0e 100644
+index c083ab4bc4f3..62b917043a2c 100644
--- xpcom/build/XPCOMInit.cpp
+++ xpcom/build/XPCOMInit.cpp
-@@ -138,7 +138,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
- #include "mozilla/VisualEventTracer.h"
- #endif
+@@ -154,7 +154,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
+
+ #include "mozilla/ipc/GeckoChildProcessHost.h"
+#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
-@@ -651,11 +653,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
+ #if defined(HAVE_STDINT_H)
+ // mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
+@@ -664,11 +666,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
// this oddness.
mozilla::SetICUMemoryFunctions();