Index: Makefile =================================================================== --- Makefile (revision 400756) +++ Makefile (working copy) @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= seamonkey -DISTVERSION= 2.33.1 -PORTREVISION= 8 +DISTVERSION= 2.38 CATEGORIES?= www mail news editors irc ipv6 MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source @@ -39,7 +38,7 @@ USE_QT5= # empty QT_NONSTANDARD= yes USE_GL= gl -USES= dos2unix tar:bzip2 +USES= dos2unix tar:xz DOS2UNIX_FILES= mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome Index: distinfo =================================================================== --- distinfo (revision 400756) +++ distinfo (working copy) @@ -1,4 +1,4 @@ -SHA256 (seamonkey-2.33.1.source.tar.bz2) = b29779cfd4b334ed21a8265ec13327aa7f35ef2895c38a971e41f3e63c85af08 -SIZE (seamonkey-2.33.1.source.tar.bz2) = 203015246 +SHA256 (seamonkey-2.38.source.tar.xz) = da306b2fe5a38853b110a74af35332857d1b8aa034498983c1ec6f0b88706e5b +SIZE (seamonkey-2.38.source.tar.xz) = 176647220 SHA256 (enigmail-1.8.2.tar.gz) = 1d2700799bc52aaa8e8c9f7a0f5111281ff9fbdffc093cdff070657d574eb2a6 SIZE (enigmail-1.8.2.tar.gz) = 1604159 Index: files/extra-patch-bug1125514 =================================================================== --- files/extra-patch-bug1125514 (revision 400756) +++ files/extra-patch-bug1125514 (working copy) @@ -5,7 +5,7 @@ --- mozilla/memory/build/mozjemalloc_compat.c~ +++ mozilla/memory/build/mozjemalloc_compat.c -@@ -66,6 +66,7 @@ jemalloc_stats_impl(jemalloc_stats_t *st +@@ -136,6 +136,7 @@ jemalloc_stats_impl(jemalloc_stats_t *st { unsigned narenas; size_t active, allocated, mapped, page, pdirty; @@ -13,27 +13,24 @@ size_t lg_chunk; // Refresh jemalloc's stats by updating its epoch, see ctl_refresh in -@@ -79,20 +80,19 @@ jemalloc_stats_impl(jemalloc_stats_t *st +@@ -149,17 +150,20 @@ jemalloc_stats_impl(jemalloc_stats_t *st CTL_GET("stats.active", active); CTL_GET("stats.allocated", allocated); CTL_GET("stats.mapped", mapped); + CTL_GET("stats.metadata", meta); CTL_GET("opt.lg_chunk", lg_chunk); + CTL_GET("stats.bookkeeping", stats->bookkeeping); /* get the summation for all arenas, i == narenas */ CTL_I_GET("stats.arenas.0.pdirty", pdirty, narenas); + CTL_I_GET("stats.arenas.0.metadata.allocated", ameta, narenas); - stats->chunksize = 1 << lg_chunk; + stats->chunksize = (size_t) 1 << lg_chunk; stats->mapped = mapped; stats->allocated = allocated; stats->waste = active - allocated; stats->page_cache = pdirty * page; -- -- // We could get this value out of base.c::base_pages, but that really should -- // be an upstream change, so don't worry about it for now. -- stats->bookkeeping = 0; + stats->bookkeeping = meta - ameta; - stats->bin_unused = 0; + stats->bin_unused = compute_bin_unused(narenas); + stats->waste -= stats->bin_unused; } - Index: files/patch-bug1021761 =================================================================== --- files/patch-bug1021761 (revision 400756) +++ files/patch-bug1021761 (working copy) @@ -103,11 +103,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-09-25 07:35:08.000000000 +0000 ++++ mozilla/media/libcubeb/src/cubeb_alsa.c 2015-10-08 14:38:37.151266000 +0000 +@@ -12,6 +12,7 @@ #include #include #include @@ -115,7 +113,7 @@ #include #include #include -@@ -24,6 +25,50 @@ +@@ -25,6 +26,50 @@ #define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin" @@ -166,7 +164,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 +173,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 +182,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 +196,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,7 +207,7 @@ 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 @@ } } @@ -218,7 +216,7 @@ assert(p); pthread_mutex_unlock(&stm->mutex); -@@ -327,10 +374,10 @@ alsa_refill_stream(cubeb_stream * stm) +@@ -328,10 +375,10 @@ b[i] *= stm->volume; } } @@ -232,7 +230,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 +239,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 +271,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 +280,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 +289,7 @@ } return NULL; -@@ -513,22 +560,22 @@ init_local_config_with_workaround(char const * pcm_name) +@@ -514,22 +561,22 @@ lconf = NULL; @@ -318,7 +316,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 +325,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 +340,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 +362,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 +371,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 +383,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 +392,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 +459,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 +468,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 +477,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 +492,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 +501,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,7 +531,7 @@ assert((nfds_t) r == stm->nfds); r = pthread_cond_init(&stm->cond, NULL); -@@ -895,7 +1001,7 @@ alsa_stream_destroy(cubeb_stream * stm) +@@ -896,7 +1002,7 @@ pthread_mutex_lock(&stm->mutex); if (stm->pcm) { if (stm->state == DRAINING) { @@ -542,42 +540,42 @@ } alsa_locked_pcm_close(stm->pcm); stm->pcm = NULL; -@@ -937,12 +1043,12 @@ alsa_get_max_channel_count(cubeb * ctx, uint32_t * max_channels) +@@ -938,12 +1044,12 @@ 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; } -- 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) { +- r = snd_pcm_hw_params_get_channels_max(hw_params, max_channels); ++ r = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels); + if (r < 0) { return CUBEB_ERROR; } -@@ -962,34 +1068,34 @@ alsa_get_preferred_sample_rate(cubeb * ctx, uint32_t * rate) { +@@ -963,34 +1069,34 @@ /* 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); @@ -587,9 +585,9 @@ /* 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; @@ -600,7 +598,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); @@ -609,7 +607,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); @@ -618,7 +616,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; @@ -629,7 +627,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. */ @@ -1070,11 +1068,9 @@ +CFLAGS += CONFIG['MOZ_OSS_CFLAGS'] CFLAGS += CONFIG['MOZ_ALSA_CFLAGS'] CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS'] -diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build -index 991f03f..3d99eb5 100644 ---- mozilla/media/webrtc/signaling/test/moz.build -+++ mozilla/media/webrtc/signaling/test/moz.build -@@ -112,8 +112,8 @@ if CONFIG['JS_SHARED_LIBRARY']: +--- mozilla/media/webrtc/signaling/test/common.build ++++ mozilla/media/webrtc/signaling/test/common.build +@@ -102,8 +102,8 @@ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] OS_LIBS += CONFIG['REALTIME_LIBS'] Index: files/patch-bug1103858 =================================================================== --- files/patch-bug1103858 (revision 400756) +++ 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 - #include - #include -+#ifdef __DragonFly__ -+#include -+#else - #include -+#endif - - #include - #include Index: files/patch-bug1112904 =================================================================== --- files/patch-bug1112904 (revision 400756) +++ files/patch-bug1112904 (working copy) @@ -1,161 +0,0 @@ -diff --git a/c-sdk/config/FreeBSD.mk b/c-sdk/config/FreeBSD.mk ---- ldap/sdks/c-sdk/config/FreeBSD.mk -+++ ldap/sdks/c-sdk/config/FreeBSD.mk -@@ -79,8 +79,8 @@ DLL_SUFFIX = so.1.0 - endif - - DSO_CFLAGS = -fPIC --DSO_LDOPTS = -Bshareable -+DSO_LDOPTS = -shared -Wl,-soname,$(notdir $@) - --MKSHLIB = $(LD) $(DSO_LDOPTS) -+MKSHLIB = $(CC) $(DSO_LDOPTS) - - G++INCLUDES = -I/usr/include/g++ -diff --git a/c-sdk/configure b/c-sdk/configure ---- ldap/sdks/c-sdk/configure -+++ ldap/sdks/c-sdk/configure -@@ -4241,8 +4241,10 @@ EOF - #define DRAGONFLY 1 - EOF - -+ LD='$(CC)' -+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' - DSO_CFLAGS=-fPIC -- DSO_LDOPTS='-shared' -+ DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)' - ;; - - *-freebsd*) -@@ -4261,6 +4263,7 @@ EOF - #define HAVE_BSD_FLOCK 1 - EOF - -+ LD='$(CC)' - CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" - MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` - if test "$MOZ_OBJFORMAT" = "elf"; then -@@ -4268,8 +4271,9 @@ EOF - else - DLL_SUFFIX=so.1.0 - fi -+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' - DSO_CFLAGS=-fPIC -- DSO_LDOPTS=-Bshareable -+ DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)' - ;; - - *-hpux*) -@@ -6512,8 +6516,15 @@ echo "configure:6510: checking whether $ - if test $? -eq 0; then - if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then - ac_cv_have_dash_pthread=yes -- CFLAGS="$CFLAGS -pthread" -- CXXFLAGS="$CXXFLAGS -pthread" -+ case "$target_os" in -+ dragonfly*|freebsd*) -+# Freebsd doesn't use -pthread for compiles, it uses them for linking -+ ;; -+ *) -+ CFLAGS="$CFLAGS -pthread" -+ CXXFLAGS="$CXXFLAGS -pthread" -+ ;; -+ esac - fi - fi - rm -f conftest* -@@ -6542,7 +6553,22 @@ echo "configure:6526: checking whether $ - _PTHREAD_LDFLAGS= - fi - ;; -- *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*) -+ *-dragonfly*|*-freebsd*) -+ cat >> confdefs.h <<\EOF -+#define _REENTRANT 1 -+EOF -+ -+ cat >> confdefs.h <<\EOF -+#define _THREAD_SAFE 1 -+EOF -+ -+ if test "$ac_cv_have_dash_pthread" = "yes"; then -+ _PTHREAD_LDFLAGS="-pthread" -+ else -+ _PTHREAD_LDFLAGS="-lc_r" -+ fi -+ ;; -+ *-openbsd*|*-bsdi*|*-netbsd*) - cat >> confdefs.h <<\EOF - #define _THREAD_SAFE 1 - EOF -diff --git a/c-sdk/configure.in b/c-sdk/configure.in ---- ldap/sdks/c-sdk/configure.in -+++ ldap/sdks/c-sdk/configure.in -@@ -1225,8 +1225,10 @@ tools are selected during the Xcode/Deve - fi - AC_DEFINE(XP_UNIX) - AC_DEFINE(DRAGONFLY) -+ LD='$(CC)' -+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' - DSO_CFLAGS=-fPIC -- DSO_LDOPTS='-shared' -+ DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)' - ;; - - *-freebsd*) -@@ -1236,6 +1238,7 @@ tools are selected during the Xcode/Deve - AC_DEFINE(XP_UNIX) - AC_DEFINE(FREEBSD) - AC_DEFINE(HAVE_BSD_FLOCK) -+ LD='$(CC)' - CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" - MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` - if test "$MOZ_OBJFORMAT" = "elf"; then -@@ -1243,8 +1246,9 @@ tools are selected during the Xcode/Deve - else - DLL_SUFFIX=so.1.0 - fi -+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' - DSO_CFLAGS=-fPIC -- DSO_LDOPTS=-Bshareable -+ DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)' - ;; - - *-hpux*) -@@ -2329,8 +2333,15 @@ if test -n "$USE_PTHREADS"; then - if test $? -eq 0; then - if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then - ac_cv_have_dash_pthread=yes -- CFLAGS="$CFLAGS -pthread" -- CXXFLAGS="$CXXFLAGS -pthread" -+ case "$target_os" in -+ dragonfly*|freebsd*) -+# Freebsd doesn't use -pthread for compiles, it uses them for linking -+ ;; -+ *) -+ CFLAGS="$CFLAGS -pthread" -+ CXXFLAGS="$CXXFLAGS -pthread" -+ ;; -+ esac - fi - fi - rm -f conftest* -@@ -2361,7 +2372,17 @@ if test -n "$USE_PTHREADS"; then - _PTHREAD_LDFLAGS= - fi - ;; -- *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*) -+ *-dragonfly*|*-freebsd*) -+ AC_DEFINE(_REENTRANT) -+ AC_DEFINE(_THREAD_SAFE) -+ dnl -pthread links in -lc_r, so don't specify it explicitly. -+ if test "$ac_cv_have_dash_pthread" = "yes"; then -+ _PTHREAD_LDFLAGS="-pthread" -+ else -+ _PTHREAD_LDFLAGS="-lc_r" -+ fi -+ ;; -+ *-openbsd*|*-bsdi*|*-netbsd*) - AC_DEFINE(_THREAD_SAFE) - dnl -pthread links in -lc_r, so don't specify it explicitly. - if test "$ac_cv_have_dash_pthread" = "yes"; then Index: files/patch-bug1122547 =================================================================== --- files/patch-bug1122547 (revision 400756) +++ files/patch-bug1122547 (working copy) @@ -1,20 +0,0 @@ -diff --git media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc -index e68a104..a090241 100644 ---- mozilla/media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc -+++ mozilla/media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc -@@ -159,12 +159,13 @@ VCMEncodedFrame* VCMReceiver::FrameForDecoding( - // Assume that render timing errors are due to changes in the video stream. - if (next_render_time_ms < 0) { - timing_error = true; -- } else if (std::abs(next_render_time_ms - now_ms) > max_video_delay_ms_) { -+ } else if (std::abs(static_cast(next_render_time_ms - now_ms)) > -+ max_video_delay_ms_) { - WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceVideoCoding, - VCMId(vcm_id_, receiver_id_), - "This frame is out of our delay bounds, resetting jitter " - "buffer: %d > %d", -- static_cast(std::abs(next_render_time_ms - now_ms)), -+ std::abs(static_cast(next_render_time_ms - now_ms)), - max_video_delay_ms_); - timing_error = true; - } else if (static_cast(timing_->TargetVideoDelay()) > Index: files/patch-bug1125579 =================================================================== --- files/patch-bug1125579 (revision 400756) +++ files/patch-bug1125579 (working copy) @@ -1,16 +0,0 @@ -diff --git js/src/jit/ExecutableAllocator.h js/src/jit/ExecutableAllocator.h -index d55c8ed..ab6188f 100644 ---- mozilla/js/src/jit/ExecutableAllocator.h -+++ mozilla/js/src/jit/ExecutableAllocator.h -@@ -405,6 +405,11 @@ public: - _flush_cache(reinterpret_cast(code), size, BCACHE); - #endif - } -+#elif defined(JS_CODEGEN_ARM) && (defined(__FreeBSD__) || defined(__NetBSD__)) -+ static void cacheFlush(void* code, size_t size) -+ { -+ __clear_cache(code, reinterpret_cast(code) + size); -+ } - #elif defined(JS_CODEGEN_ARM) && (defined(__linux__) || defined(ANDROID)) && defined(__GNUC__) - static void cacheFlush(void* code, size_t size) - { Index: files/patch-bug1125580 =================================================================== --- files/patch-bug1125580 (revision 400756) +++ files/patch-bug1125580 (working copy) @@ -1,13 +0,0 @@ -diff --git js/src/jit/arm/Architecture-arm.cpp js/src/jit/arm/Architecture-arm.cpp -index fe1373b..76641aa 100644 ---- mozilla/js/src/jit/arm/Architecture-arm.cpp -+++ mozilla/js/src/jit/arm/Architecture-arm.cpp -@@ -16,7 +16,7 @@ - #include "jit/arm/Assembler-arm.h" - #include "jit/RegisterSets.h" - --#if defined(ANDROID) || defined(JS_ARM_SIMULATOR) -+#if !defined(__linux__) || defined(ANDROID) || defined(JS_ARM_SIMULATOR) - // The Android NDK and B2G do not include the hwcap.h kernel header, and it is not - // defined when building the simulator, so inline the header defines we need. - # define HWCAP_VFP (1 << 6) Index: files/patch-bug1128161 =================================================================== --- files/patch-bug1128161 (revision 400756) +++ files/patch-bug1128161 (working copy) @@ -1,28 +0,0 @@ -commit 6af7f0e6 -Author: Chris Double -Date: Tue Feb 3 11:20:17 2015 +1300 - - Bug 1128161 - Fix build error when logging is disabled - r=ajones ---- - dom/media/mediasource/MediaSourceUtils.cpp | 2 -- - 1 file changed, 2 deletions(-) - -diff --git dom/media/mediasource/MediaSourceUtils.cpp dom/media/mediasource/MediaSourceUtils.cpp -index 44a40f5..83bba60 100644 ---- mozilla/dom/media/mediasource/MediaSourceUtils.cpp -+++ mozilla/dom/media/mediasource/MediaSourceUtils.cpp -@@ -11,7 +11,6 @@ - - namespace mozilla { - --#if defined(PR_LOGGING) - nsCString - DumpTimeRanges(dom::TimeRanges* aRanges) - { -@@ -31,6 +30,5 @@ DumpTimeRanges(dom::TimeRanges* aRanges) - - return dump; - } --#endif - - } // namespace mozilla Index: files/patch-bug1143411 =================================================================== --- files/patch-bug1143411 (revision 400756) +++ files/patch-bug1143411 (working copy) @@ -1,27 +0,0 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=1143411 - -diff --git a/config/system-headers b/config/system-headers ---- mozilla/config/system-headers -+++ mozilla/config/system-headers -@@ -465,16 +465,17 @@ freetype/tttables.h - freetype/t1tables.h - freetype/ftlcdfil.h - freetype/ftsizes.h - freetype/ftadvanc.h - freetype/ftbitmap.h - freetype/ftxf86.h - freetype.h - ftcache.h -+ftfntfmt.h - ftglyph.h - ftsynth.h - ftoutln.h - ttnameid.h - tttables.h - t1tables.h - ftlcdfil.h - ftsizes.h - - - - Index: files/patch-bug292127 =================================================================== --- files/patch-bug292127 (revision 400756) +++ files/patch-bug292127 (working copy) @@ -1,5 +1,5 @@ ---- ldap/sdks/c-sdk/ldap/include/ldap.h~ -+++ ldap/sdks/c-sdk/ldap/include/ldap.h +--- ldap/c-sdk/include/ldap.h~ ++++ ldap/c-sdk/include/ldap.h @@ -40,6 +40,229 @@ #ifndef _LDAP_H #define _LDAP_H Index: files/patch-bug702179 =================================================================== --- files/patch-bug702179 (revision 400756) +++ files/patch-bug702179 (working copy) @@ -1,24 +0,0 @@ -commit 6ddaacd -Author: Ginn Chen -Date: Wed Nov 30 07:23:46 2011 +0800 - - Bug 702179 dtrace probes are not installed on Solaris with static js lib r=glandium ---- - js/src/Makefile.in | 3 --- - toolkit/library/moz.build | 5 ----- - 2 files changed, 8 deletions(-) - -diff --git js/src/Makefile.in js/src/Makefile.in -index 62bbfa0..90400cb 100644 ---- mozilla/js/src/Makefile.in -+++ mozilla/js/src/Makefile.in -@@ -17,9 +17,6 @@ TOPLEVEL_BUILD := 1 - run_for_side_effects := $(shell echo 'MAKE: $(MAKE)') - EXTRA_LIBS += $(NSPR_LIBS) - --DIST_INSTALL = 1 --NO_EXPAND_LIBS = 1 -- - ifdef JS_HAS_CTYPES - ifdef MOZ_NATIVE_FFI - LOCAL_INCLUDES = $(MOZ_FFI_CFLAGS) Index: files/patch-bug779713 =================================================================== --- files/patch-bug779713 (revision 400756) +++ files/patch-bug779713 (working copy) @@ -47,14 +47,6 @@ index d317766..ddb13da 100644 --- mozilla/mfbt/Attributes.h +++ mozilla/mfbt/Attributes.h -@@ -51,6 +51,7 @@ - * http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug - */ - # if _MSC_VER >= 1800 -+# define MOZ_HAVE_CXX11_ALIGNAS - # define MOZ_HAVE_CXX11_DELETE - # endif - # if _MSC_VER >= 1700 @@ -74,6 +75,9 @@ # ifndef __has_extension # define __has_extension __has_feature /* compatibility, for older versions of clang */ @@ -65,13 +57,3 @@ # if __has_extension(cxx_constexpr) # define MOZ_HAVE_CXX11_CONSTEXPR # endif -@@ -95,6 +99,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 Index: files/patch-bug826985 =================================================================== --- files/patch-bug826985 (revision 400756) +++ files/patch-bug826985 (working copy) @@ -13,14 +13,12 @@ toolkit/library/Makefile.in | 1 + 6 files changed, 52 insertions(+), 1 deletion(-) -diff --git config/system-headers config/system-headers -index 55e4cd1..76567b3 100644 --- mozilla/config/system-headers -+++ mozilla/config/system-headers -@@ -635,6 +635,7 @@ libgnomevfs/gnome-vfs-mime-handlers.h - libgnomevfs/gnome-vfs-mime-utils.h - libgnomevfs/gnome-vfs-ops.h - libgnomevfs/gnome-vfs-standard-callbacks.h ++++ mozilla/config/system-headers 2015-10-07 18:57:23.534775000 +0000 +@@ -626,6 +626,7 @@ + libgnomeui/gnome-icon-lookup.h + libgnomeui/gnome-icon-theme.h + libgnomeui/gnome-ui-init.h +libv4l2.h lib$routines.h limits @@ -51,14 +49,12 @@ # basic stuff for everything 'include_internal_video_render': 0, 'clang_use_chrome_plugins': 0, -diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build -index b483cd1..f1dd1f0 100644 ---- mozilla/media/webrtc/signaling/test/moz.build -+++ mozilla/media/webrtc/signaling/test/moz.build -@@ -122,6 +122,7 @@ if CONFIG['JS_SHARED_LIBRARY']: - 'js', - ] +--- mozilla/media/webrtc/signaling/test/common.build ++++ mozilla/media/webrtc/signaling/test/common.build +@@ -99,6 +99,7 @@ + USE_LIBS += ['mozglue'] + +OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS'] OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] OS_LIBS += CONFIG['REALTIME_LIBS'] @@ -131,8 +127,6 @@ namespace webrtc { namespace videocapturemodule -diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi -index d46b5aa..e452223 100644 --- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi +++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi @@ -7,6 +7,9 @@ @@ -144,27 +138,27 @@ + }, 'targets': [ { - 'target_name': 'video_capture_module', -@@ -46,6 +49,19 @@ - 'linux/video_capture_linux.cc', - 'linux/video_capture_linux.h', - ], -+ 'conditions': [ -+ ['use_libv4l2==1', { -+ 'defines': [ -+ 'HAVE_LIBV4L2', -+ ], -+ 'cflags_mozilla': [ -+ '$(MOZ_LIBV4L2_CFLAGS)', -+ ], -+ 'libraries': [ -+ '-lv4l2', -+ ], -+ }], + # Note this library is missing an implementation for the video capture. +@@ -69,6 +72,19 @@ + 'linux/video_capture_linux.cc', + 'linux/video_capture_linux.h', + ], ++ 'conditions': [ ++ ['use_libv4l2==1', { ++ 'defines': [ ++ 'HAVE_LIBV4L2', + ], - }], # linux - ['OS=="mac"', { - 'sources': [ ++ 'cflags_mozilla': [ ++ '$(MOZ_LIBV4L2_CFLAGS)', ++ ], ++ 'libraries': [ ++ '-lv4l2', ++ ], ++ }], ++ ], + }], # linux + ['OS=="mac"', { + 'sources': [ diff --git toolkit/library/moz.build toolkit/library/moz.build index 9c16ffa..1db3794 100644 --- mozilla/toolkit/library/moz.build Index: files/patch-bug847568 =================================================================== --- files/patch-bug847568 (revision 400756) +++ files/patch-bug847568 (working copy) @@ -13,11 +13,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 -@@ -1357,3 +1357,11 @@ unicode/utypes.h +@@ -1352,3 +1352,11 @@ #endif libutil.h unwind.h @@ -29,11 +27,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 -@@ -7986,6 +7986,49 @@ if test "$USE_FC_FREETYPE"; then +@@ -8195,6 +8195,49 @@ fi dnl ======================================================== @@ -117,14 +113,12 @@ echo Here is what changed in the gfx/graphite2 directory: echo -diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla -index ca57d16..1ce21fe 100644 --- mozilla/gfx/harfbuzz/README-mozilla +++ mozilla/gfx/harfbuzz/README-mozilla -@@ -21,3 +21,8 @@ In addition, the src/Makefile.in file here is NOT from upstream, nor is it +@@ -18,3 +18,8 @@ + In addition, the src/Makefile.in file here is NOT from upstream, nor is it 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. + specific makefile that is maintained by hand. + +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 Index: files/patch-bug899126 =================================================================== --- files/patch-bug899126 (revision 400756) +++ files/patch-bug899126 (working copy) @@ -1,95 +0,0 @@ -commit 0f63381 -Author: Guilherme Goncalves -Date: Tue Nov 18 14:03:00 2014 -0800 - - Bug 899126 - Part 1 - Implement bin_unused for jemalloc3. r=glandium ---- - memory/build/mozjemalloc_compat.c | 57 ++++++++++++++++++++++++++++++++++++++- - 1 file changed, 56 insertions(+), 1 deletion(-) - -diff --git memory/build/mozjemalloc_compat.c memory/build/mozjemalloc_compat.c -index 70265a7..0a9b21a 100644 ---- mozilla/memory/build/mozjemalloc_compat.c -+++ mozilla/memory/build/mozjemalloc_compat.c -@@ -12,6 +12,8 @@ - #include "jemalloc_types.h" - #include "mozilla/Types.h" - -+#include -+ - #if defined(MOZ_NATIVE_JEMALLOC) - - MOZ_IMPORT_API int -@@ -47,6 +49,16 @@ je_(nallocm)(size_t *rsize, size_t size, int flags); - je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \ - } while (0) - -+#define CTL_IJ_GET(n, v, i, j) do { \ -+ size_t mib[6]; \ -+ size_t miblen = sizeof(mib) / sizeof(mib[0]); \ -+ size_t sz = sizeof(v); \ -+ je_(mallctlnametomib)(n, mib, &miblen); \ -+ mib[2] = i; \ -+ mib[4] = j; \ -+ je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \ -+} while (0) -+ - MOZ_MEMORY_API size_t - malloc_good_size_impl(size_t size) - { -@@ -61,6 +73,48 @@ malloc_good_size_impl(size_t size) - return size; - } - -+static size_t -+compute_bin_unused(unsigned int narenas) -+{ -+ size_t bin_unused = 0; -+ -+ uint32_t nregs; // number of regions per run in the j-th bin -+ size_t reg_size; // size of regions served by the j-th bin -+ size_t curruns; // number of runs belonging to a bin -+ size_t curregs; // number of allocated regions in a bin -+ -+ unsigned int nbins; // number of bins per arena -+ unsigned int i, j; -+ -+ // curruns and curregs are not defined for uninitialized arenas, -+ // so we skip them when computing bin_unused. However, initialized -+ // arenas are not guaranteed to be sequential, so we must test each -+ // one when iterating below. -+ bool initialized[100]; // should be narenas, but MSVC doesn't have VLAs -+ size_t isz = sizeof(initialized) / sizeof(initialized[0]); -+ -+ je_(mallctl)("arenas.initialized", initialized, &isz, NULL, 0); -+ CTL_GET("arenas.nbins", nbins); -+ -+ for (j = 0; j < nbins; j++) { -+ CTL_I_GET("arenas.bin.0.nregs", nregs, j); -+ CTL_I_GET("arenas.bin.0.size", reg_size, j); -+ -+ for (i = 0; i < narenas; i++) { -+ if (!initialized[i]) { -+ continue; -+ } -+ -+ CTL_IJ_GET("stats.arenas.0.bins.0.curruns", curruns, i, j); -+ CTL_IJ_GET("stats.arenas.0.bins.0.curregs", curregs, i, j); -+ -+ bin_unused += (nregs * curruns - curregs) * reg_size; -+ } -+ } -+ -+ return bin_unused; -+} -+ - MOZ_JEMALLOC_API void - jemalloc_stats_impl(jemalloc_stats_t *stats) - { -@@ -96,4 +150,5 @@ jemalloc_stats_impl(jemalloc_stats_t *stats) -- stats->bin_unused = 0; -+ -+ stats->bin_unused = compute_bin_unused(narenas); - } - - MOZ_JEMALLOC_API void Index: files/patch-ijg-libjpeg =================================================================== --- files/patch-ijg-libjpeg (revision 400756) +++ files/patch-ijg-libjpeg (working copy) @@ -17,11 +17,9 @@ 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-09-25 07:34:55.000000000 +0000 ++++ mozilla/image/decoders/nsJPEGDecoder.cpp 2015-10-07 19:39:13.123625000 +0000 +@@ -23,13 +23,28 @@ extern "C" { #include "iccjpeg.h" @@ -28,7 +26,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 @@ -51,7 +49,7 @@ static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width); -@@ -367,6 +382,7 @@ nsJPEGDecoder::WriteInternal(const char* +@@ -368,6 +383,7 @@ case JCS_GRAYSCALE: case JCS_RGB: case JCS_YCbCr: @@ -59,7 +57,7 @@ // if we're not color managing we can decode directly to // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB if (mCMSMode != eCMSMode_All) { -@@ -375,6 +391,9 @@ nsJPEGDecoder::WriteInternal(const char* +@@ -376,6 +392,9 @@ } else { mInfo.out_color_space = JCS_RGB; } @@ -69,7 +67,7 @@ break; case JCS_CMYK: case JCS_YCCK: -@@ -433,6 +452,15 @@ nsJPEGDecoder::WriteInternal(const char* +@@ -443,6 +462,16 @@ return; // I/O suspension } @@ -82,13 +80,14 @@ + mInfo.cconvert->color_convert = ycc_rgb_convert_argb; + } +#endif - ++ // If this is a progressive JPEG ... mState = mInfo.buffered_image ? -@@ -605,7 +633,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus - uint32_t* imageRow = ((uint32_t*)mImageData) + - (mInfo.output_scanline * mInfo.output_width); + JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL; +@@ -624,7 +653,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 @@ -97,10 +96,10 @@ // Special case: scanline will be directly converted into packed ARGB if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) { *suspend = true; // suspend -@@ -920,6 +952,282 @@ term_source (j_decompress_ptr jd) +@@ -948,6 +981,282 @@ + } // namespace image } // namespace mozilla - +#ifndef JCS_EXTENSIONS +/**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/ + Index: files/patch-mozilla-memory-jemalloc-Makefile.in =================================================================== --- files/patch-mozilla-memory-jemalloc-Makefile.in (revision 400756) +++ files/patch-mozilla-memory-jemalloc-Makefile.in (working copy) @@ -1,10 +0,0 @@ ---- mozilla/memory/jemalloc/Makefile.in~ -+++ mozilla/memory/jemalloc/Makefile.in -@@ -12,3 +12,7 @@ include $(topsrcdir)/config/rules.mk - ifdef GNU_CC - CFLAGS += -std=gnu99 - endif -+ -+# XXX startup crash workaround for gcc47 on amd64 -+jemalloc.$(OBJ_SUFFIX): OS_CFLAGS := $(filter-out -O3 -Ofast,$(OS_CFLAGS)) -+jemalloc.$(OBJ_SUFFIX): MOZ_OPTIMIZE_FLAGS= Index: files/patch-mozilla-memory-jemalloc-configure.ac =================================================================== --- files/patch-mozilla-memory-jemalloc-configure.ac (revision 400756) +++ files/patch-mozilla-memory-jemalloc-configure.ac (working copy) @@ -1,28 +0,0 @@ -commit 1aa25a3 -Author: Michael Neumann -Date: Tue Aug 5 03:06:02 2014 +0200 - - Support DragonFlyBSD - - Note that in contrast to FreeBSD, DragonFly does not work - with force_lazy_lock enabled. ---- - configure.ac | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git mozilla/memory/jemalloc/src/configure.ac mozilla/memory/jemalloc/src/configure.ac -index 645bd46..83c60ec 100644 ---- mozilla/memory/jemalloc/src/configure.ac -+++ mozilla/memory/jemalloc/src/configure.ac -@@ -283,6 +283,11 @@ case "${host}" in - AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE], [ ]) - force_lazy_lock="1" - ;; -+ *-*-dragonfly*) -+ CFLAGS="$CFLAGS" -+ abi="elf" -+ AC_DEFINE([JEMALLOC_PURGE_MADVISE_FREE], [ ]) -+ ;; - *-*-linux*) - CFLAGS="$CFLAGS" - CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" Index: files/patch-mozilla_toolkit_mozapps_installer_packager_mk =================================================================== --- files/patch-mozilla_toolkit_mozapps_installer_packager_mk (revision 400756) +++ files/patch-mozilla_toolkit_mozapps_installer_packager_mk (working copy) @@ -1,13 +0,0 @@ -$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 - $(NSINSTALL) -D $(DESTDIR)$(bindir) - $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME) - ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir) --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 $(DESTDIR)$(includedir) && tar -xf -) Index: files/patch-suite-app-nsSuiteApp.cpp =================================================================== --- files/patch-suite-app-nsSuiteApp.cpp (revision 400756) +++ files/patch-suite-app-nsSuiteApp.cpp (working copy) @@ -10,12 +10,3 @@ int gotCounters; #if defined(XP_UNIX) struct rusage initialRUsage; -@@ -339,7 +342,7 @@ int main(int argc, char* argv[]) - IO_COUNTERS ioCounters; - gotCounters = GetProcessIoCounters(GetCurrentProcess(), &ioCounters); - #endif -- -+ - nsIFile *xreDirectory; - - #ifdef HAS_DLL_BLOCKLIST Index: files/patch-z-bug517422 =================================================================== --- files/patch-z-bug517422 (revision 400756) +++ files/patch-z-bug517422 (working copy) @@ -18,13 +18,11 @@ $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers $(INSTALL) system_wrappers $(DIST) -diff --git config/external/moz.build config/external/moz.build -index f67c5c7..eb909ce 100644 ---- mozilla/config/external/moz.build -+++ mozilla/config/external/moz.build -@@ -16,13 +16,19 @@ if CONFIG['MOZ_UPDATER']: - if not CONFIG['MOZ_NATIVE_BZ2']: - external_dirs += ['modules/libbz2'] +--- mozilla/config/external/moz.build.orig 2015-09-25 07:36:05.000000000 +0000 ++++ mozilla/config/external/moz.build 2015-10-09 15:05:38.910712000 +0000 +@@ -19,12 +19,21 @@ + # There's no "native brotli" yet, but probably in the future... + external_dirs += ['modules/brotli'] -if CONFIG['MOZ_VORBIS']: +if not CONFIG['MOZ_NATIVE_OGG']: @@ -40,12 +38,13 @@ +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'] ++ external_dirs += ['media/libopus'] ++ + if CONFIG['MOZ_WEBM']: + external_dirs += ['media/libnestegg'] - if CONFIG['MOZ_WEBM']: -@@ -37,14 +43,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ_NATIVE_LIBVPX']: +@@ -37,6 +46,12 @@ if not CONFIG['MOZ_NATIVE_PNG']: external_dirs += ['media/libpng'] @@ -55,10 +54,15 @@ +if not CONFIG['MOZ_NATIVE_SOUNDTOUCH']: + external_dirs += ['media/libsoundtouch'] + + if CONFIG['CPU_ARCH'] == 'arm': + external_dirs += ['media/openmax_dl'] + +@@ -49,12 +64,7 @@ external_dirs += [ 'media/kiss_fft', 'media/libcubeb', - 'media/libogg', +- 'media/libopus', - 'media/libtheora', - 'media/libspeex_resampler', 'media/libstagefright', @@ -116,11 +120,9 @@ +#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.orig +++ mozilla/configure.in -@@ -5056,6 +5056,57 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then +@@ -5250,6 +5250,140 @@ fi dnl ======================================================== @@ -175,13 +177,6 @@ +AC_SUBST(MOZ_NATIVE_TREMOR) + +dnl ======================================================== - dnl = Disable Opus audio codec support - dnl ======================================================== - MOZ_ARG_DISABLE_BOOL(opus, -@@ -5064,6 +5115,89 @@ MOZ_ARG_DISABLE_BOOL(opus, - MOZ_OPUS=1) - - dnl ======================================================== +dnl Check for libopus +dnl ======================================================== + @@ -378,14 +373,13 @@ + +The in-tree copy may be omitted during build by --with-system-theora. +Keep version in configure.in in sync on updates. -diff --git media/libtheora/moz.build media/libtheora/moz.build -index 14265b1..3069e99 100644 --- mozilla/media/libtheora/moz.build +++ mozilla/media/libtheora/moz.build -@@ -93,3 +93,5 @@ if CONFIG['GNU_AS']: - if CONFIG['OS_TARGET'] == 'Android': - DEFINES['__linux__'] = True - +@@ -99,3 +99,6 @@ + '-march=armv7-a', + '-mfpu=neon', + ] ++ +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA @@ -431,37 +425,31 @@ + +if CONFIG['MOZ_NATIVE_OGG']: + CFLAGS += CONFIG['MOZ_OGG_CFLAGS'] -diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build -index bbc971c..6ed7e41 100644 --- mozilla/media/webrtc/signaling/test/moz.build +++ mozilla/media/webrtc/signaling/test/moz.build -@@ -127,6 +127,9 @@ if CONFIG['MOZ_ALSA']: - if CONFIG['MOZ_NATIVE_JPEG']: - OS_LIBS += CONFIG['MOZ_JPEG_LIBS'] +@@ -22,3 +22,6 @@ + 'mtransport_s', + ] +if CONFIG['MOZ_NATIVE_OPUS']: + OS_LIBS += CONFIG['MOZ_OPUS_LIBS'] + - if CONFIG['MOZ_NATIVE_LIBVPX']: - OS_LIBS += CONFIG['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 -@@ -17,9 +17,9 @@ +@@ -16,11 +16,8 @@ + 'type': 'static_library', 'conditions': [ ['build_with_mozilla==1', { - # Mozilla provides its own build of the opus library. +- # Mozilla provides its own build of the opus library. - 'include_dirs': [ - '/media/libopus/include', -- ] +- '/media/libopus/src', +- '/media/libopus/celt', + 'cflags_mozilla': [ + '$(MOZ_OPUS_CFLAGS)', -+ ], - }, { - 'dependencies': [ - '<(DEPTH)/third_party/opus/opus.gyp:opus' + ], + 'direct_dependent_settings': { + 'include_dirs': [ diff --git toolkit/library/moz.build toolkit/library/moz.build index d42137a..695e75a8 100644 --- mozilla/toolkit/library/moz.build