svn commit: r319872 - in head: graphics/gnash www/gecko-mediaplayer www/libxul www/libxul/files
Florian Smeets
flo at FreeBSD.org
Tue Jun 4 15:47:53 UTC 2013
Author: flo
Date: Tue Jun 4 15:47:49 2013
New Revision: 319872
URL: http://svnweb.freebsd.org/changeset/ports/319872
Log:
Update to 17.0.6 (this should also fix the build on head after the
clang 3.3 merge)
PR: ports/179034 [1]
Submitted by: Jan Beich <jbeich at tormail.org>,
Nikolai Lifanov <lifanov at mail.lifanov.com> [1]
Added:
head/www/libxul/files/extra-bug780531 (contents, props changed)
head/www/libxul/files/patch-bug722975 (contents, props changed)
head/www/libxul/files/patch-bug732340 (contents, props changed)
head/www/libxul/files/patch-bug784631 (contents, props changed)
head/www/libxul/files/patch-bug786995 (contents, props changed)
head/www/libxul/files/patch-bug787904 (contents, props changed)
head/www/libxul/files/patch-bug788955 (contents, props changed)
head/www/libxul/files/patch-bug789656 (contents, props changed)
head/www/libxul/files/patch-bug799441 (contents, props changed)
head/www/libxul/files/patch-bug806139 (contents, props changed)
head/www/libxul/files/patch-bug810716 (contents, props changed)
head/www/libxul/files/patch-bug828003 (contents, props changed)
head/www/libxul/files/patch-bug854936 (contents, props changed)
head/www/libxul/files/patch-clang32-libc++-visibility-hack (contents, props changed)
head/www/libxul/files/patch-clang33 (contents, props changed)
head/www/libxul/files/patch-config-baseconfig.mk (contents, props changed)
head/www/libxul/files/patch-z-bug762445 (contents, props changed)
Deleted:
head/www/libxul/files/patch-bug653551
head/www/libxul/files/patch-bug691898
head/www/libxul/files/patch-bug696030
head/www/libxul/files/patch-bug714312
head/www/libxul/files/patch-bug725655
head/www/libxul/files/patch-bug728968
head/www/libxul/files/patch-bug729155
head/www/libxul/files/patch-bug741737
head/www/libxul/files/patch-bug761077
head/www/libxul/files/patch-bug778056
head/www/libxul/files/patch-bug779847
head/www/libxul/files/patch-bug781457
head/www/libxul/files/patch-bug784776
head/www/libxul/files/patch-clang32-visibility-hack
head/www/libxul/files/patch-config_autoconf.mk.in
head/www/libxul/files/patch-dom-ipc-ContentChild.cpp
head/www/libxul/files/patch-gfx-qcms-qcmstypes.h
head/www/libxul/files/patch-toolkit-xre-nsEmbedFunctions.cpp
Modified:
head/graphics/gnash/Makefile
head/www/gecko-mediaplayer/Makefile
head/www/libxul/Makefile
head/www/libxul/distinfo
head/www/libxul/files/patch-alsapulse (contents, props changed)
head/www/libxul/files/patch-bug753046
head/www/libxul/files/patch-bug778078 (contents, props changed)
head/www/libxul/files/patch-bug783463 (contents, props changed)
head/www/libxul/files/patch-bug788039 (contents, props changed)
head/www/libxul/files/patch-bug788108 (contents, props changed)
head/www/libxul/files/patch-bug789693
head/www/libxul/files/patch-bug791366
head/www/libxul/files/patch-extensions-spellcheck-hunspell-src-mozHunspell.cpp
Modified: head/graphics/gnash/Makefile
==============================================================================
--- head/graphics/gnash/Makefile Tue Jun 4 15:47:06 2013 (r319871)
+++ head/graphics/gnash/Makefile Tue Jun 4 15:47:49 2013 (r319872)
@@ -3,7 +3,7 @@
PORTNAME= gnash
PORTVERSION= 0.8.10
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= graphics
MASTER_SITES= GNU/${PORTNAME}/${PORTVERSION}/
Modified: head/www/gecko-mediaplayer/Makefile
==============================================================================
--- head/www/gecko-mediaplayer/Makefile Tue Jun 4 15:47:06 2013 (r319871)
+++ head/www/gecko-mediaplayer/Makefile Tue Jun 4 15:47:49 2013 (r319872)
@@ -3,6 +3,7 @@
PORTNAME= gecko-mediaplayer
PORTVERSION= 1.0.8
+PORTREVISION= 1
CATEGORIES= www multimedia gnome
MASTER_SITES= GOOGLE_CODE
Modified: head/www/libxul/Makefile
==============================================================================
--- head/www/libxul/Makefile Tue Jun 4 15:47:06 2013 (r319871)
+++ head/www/libxul/Makefile Tue Jun 4 15:47:49 2013 (r319872)
@@ -2,25 +2,26 @@
# $FreeBSD$
PORTNAME= libxul
-DISTVERSION= 10.0.12
+DISTVERSION= 17.0.6
CATEGORIES?= www devel
-MASTER_SITES= ${MASTER_SITE_MOZILLA}
-MASTER_SITE_SUBDIR= firefox/releases/${DISTVERSION}esr/source
+MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source
DISTNAME= firefox-${DISTVERSION}esr.source
MAINTAINER?= gecko at FreeBSD.org
COMMENT?= Mozilla runtime package that can be used to bootstrap XUL+XPCOM apps
-BUILD_DEPENDS= nspr>=4.8.8:${PORTSDIR}/devel/nspr \
+BUILD_DEPENDS= nspr>=4.9.2:${PORTSDIR}/devel/nspr \
nss>=3.13.6_1:${PORTSDIR}/security/nss \
- sqlite3>=3.7.7.1:${PORTSDIR}/databases/sqlite3 \
+ sqlite3>=3.7.13:${PORTSDIR}/databases/sqlite3 \
+ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
cairo>=1.10.2_1,1:${PORTSDIR}/graphics/cairo \
unzip:${PORTSDIR}/archivers/unzip
-WRKSRC= ${WRKDIR}/mozilla-esr10
-CONFLICTS= mozilla-[0-9]* libxul-1.9.*
+WRKSRC= ${WRKDIR}/mozilla-esr17
+CONFLICTS= libxul-1.9.*
USE_AUTOTOOLS= autoconf213:env
+USE_PYTHON_BUILD=-2.7
WANT_GNOME= yes
USE_QT4= # empty
QT_NONSTANDARD= yes
@@ -45,8 +46,6 @@ PLIST_DIRSTRY= share/idl
MOZ_PKGCONFIG_FILES= libxul-embedding libxul mozilla-js \
mozilla-plugin
-OPTIONS_DEFAULT=GIO
-
.include "${.CURDIR}/../../www/firefox/Makefile.options"
.include <bsd.port.pre.mk>
@@ -54,10 +53,6 @@ OPTIONS_DEFAULT=GIO
MOZ_PKGCONFIG_FILES+= mozilla-nss
.endif
-.if !empty(CXX:M*clang++*) || (${CXX:Mc++} && ${OSVERSION} > 1000023)
-CXXFLAGS+= -Wno-return-type-c-linkage
-.endif
-
post-patch:
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/xulrunner/stub/nsXULStub.cpp
Modified: head/www/libxul/distinfo
==============================================================================
--- head/www/libxul/distinfo Tue Jun 4 15:47:06 2013 (r319871)
+++ head/www/libxul/distinfo Tue Jun 4 15:47:49 2013 (r319872)
@@ -1,2 +1,2 @@
-SHA256 (firefox-10.0.12esr.source.tar.bz2) = 9f12cb7fd18fc51e995cd67b70a090f32fcd8dcf636be1b840281f2612d9db40
-SIZE (firefox-10.0.12esr.source.tar.bz2) = 75510903
+SHA256 (firefox-17.0.6esr.source.tar.bz2) = a8d05a2ce61c5b8c0ab93acb01191e282f7387d285ac59a9db2d9fd685cb6401
+SIZE (firefox-17.0.6esr.source.tar.bz2) = 91112621
Added: head/www/libxul/files/extra-bug780531
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/libxul/files/extra-bug780531 Tue Jun 4 15:47:49 2013 (r319872)
@@ -0,0 +1,13 @@
+--- configure.in~
++++ configure.in
+@@ -5151,8 +5148,8 @@ fi
+
+ AC_SUBST(MOZ_WEBRTC)
+
+-case "$target_cpu" in
+-arm*)
++case "$target" in
++arm-*-linux*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*)
+ MOZ_SAMPLE_TYPE_S16LE=1
+ AC_DEFINE(MOZ_SAMPLE_TYPE_S16LE)
+ AC_SUBST(MOZ_SAMPLE_TYPE_S16LE)
Modified: head/www/libxul/files/patch-alsapulse
==============================================================================
--- head/www/libxul/files/patch-alsapulse Tue Jun 4 15:47:06 2013 (r319871)
+++ head/www/libxul/files/patch-alsapulse Tue Jun 4 15:47:49 2013 (r319872)
@@ -1,74 +1,65 @@
---- config/autoconf.mk.in~
-+++ config/autoconf.mk.in
-@@ -568,7 +568,13 @@ MOZ_LIBNOTIFY_CFLAGS = @MOZ_LIBNOTIFY_CF
- MOZ_LIBNOTIFY_LIBS = @MOZ_LIBNOTIFY_LIBS@
- MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNOTIFY@
-
-+MOZ_ALSA = @MOZ_ALSA@
- MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@
-+MOZ_ALSA_CFLAGS = @MOZ_ALSA_CFLAGS@
-+
-+MOZ_PULSEAUDIO = @MOZ_PULSEAUDIO@
-+MOZ_PULSEAUDIO_LIBS = @MOZ_PULSEAUDIO_LIBS@
-+MOZ_PULSEAUDIO_CFLAGS = @MOZ_PULSEAUDIO_CFLAGS@
-
- GLIB_CFLAGS = @GLIB_CFLAGS@
- GLIB_LIBS = @GLIB_LIBS@
---- configure.in~
+diff --git configure.in configure.in
+index 5980b76..11f5f77 100644
+--- configure.in
+++ configure.in
-@@ -5758,17 +5775,48 @@ dnl ====================================
+@@ -5600,13 +5600,25 @@ dnl ========================================================
dnl = Check alsa availability on Linux if using sydneyaudio
dnl ========================================================
+MOZ_ARG_ENABLE_BOOL(alsa,
-+[ --enable-alsa Enable Alsa support],
++[ --enable-alsa Enable Alsa support (default on Linux)],
+MOZ_ALSA=1,
+MOZ_ALSA= MOZ_ALSA_FORCE=$enableval)
+
dnl If using sydneyaudio with Linux, ensure that the alsa library is available
--if test -n "$MOZ_SYDNEYAUDIO"; then
-+if test -n "$MOZ_SYDNEYAUDIO" -a "$MOZ_ALSA_FORCE" != "no"; then
- case "$target_os" in
- linux*)
-+ MOZ_ALSA=1
-+ ;;
-+ esac
+-if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux"; then
++if test -n "$MOZ_SYDNEYAUDIO" -a "$OS_TARGET" = "Linux" -a "$MOZ_ALSA_FORCE" != "no"; then
++ MOZ_ALSA=1
+fi
+
+if test -n "$MOZ_ALSA"; then
- PKG_CHECK_MODULES(MOZ_ALSA, alsa, ,
++ AC_DEFINE(MOZ_CUBEB)
+ PKG_CHECK_MODULES(MOZ_ALSA, alsa, ,
[echo "$MOZ_ALSA_PKG_ERRORS"
AC_MSG_ERROR([Need alsa for Ogg, Wave or WebM decoding on Linux. Disable with --disable-ogg --disable-wave --disable-webm. (On Ubuntu, you might try installing the package libasound2-dev.)])])
-- ;;
-- esac
fi
-+AC_SUBST(MOZ_ALSA_CFLAGS)
+AC_SUBST(MOZ_ALSA)
+
-+dnl ========================================================
-+dnl = Enable PulseAudio
-+dnl ========================================================
-+
-+MOZ_ARG_ENABLE_BOOL(pulseaudio,
-+[ --enable-pulseaudio Enable PulseAudio support],
-+MOZ_PULSEAUDIO=1,
-+MOZ_PULSEAUDIO=)
-+
-+if test -n "$MOZ_PULSEAUDIO"; then
-+ PKG_CHECK_MODULES(MOZ_PULSEAUDIO, libpulse, ,
-+ [echo "$MOZ_PULSEAUDIO_PKG_ERRORS"
-+ AC_MSG_ERROR([pulseaudio audio backend requires libpulse package])])
-+fi
-+
-+AC_SUBST(MOZ_PULSEAUDIO_CFLAGS)
-+AC_SUBST(MOZ_PULSEAUDIO_LIBS)
-+AC_SUBST(MOZ_PULSEAUDIO)
-+
dnl ========================================================
- dnl Permissions System
+ dnl = Enable PulseAudio
dnl ========================================================
---- media/libsydneyaudio/src/Makefile.in~
+diff --git media/libcubeb/src/Makefile.in media/libcubeb/src/Makefile.in
+index 5ab4dd8..c8df26f 100644
+--- media/libcubeb/src/Makefile.in
++++ media/libcubeb/src/Makefile.in
+@@ -24,10 +24,6 @@ endif
+
+ ifeq ($(OS_TARGET),Android)
+ # No Android implementation of libcubeb yet.
+-else ifeq ($(OS_TARGET),Linux)
+-CSRCS = \
+- cubeb_alsa.c \
+- $(NULL)
+ endif
+
+ ifeq ($(OS_TARGET),Darwin)
+@@ -42,6 +38,12 @@ CSRCS = \
+ $(NULL)
+ endif
+
++ifdef MOZ_ALSA
++CSRCS = \
++ cubeb_alsa.c \
++ $(NULL)
++endif
++
+ ifdef MOZ_PULSEAUDIO
+ CSRCS = \
+ cubeb_pulse.c \
+diff --git media/libsydneyaudio/src/Makefile.in media/libsydneyaudio/src/Makefile.in
+index 8dda8ce..b19641d 100644
+--- media/libsydneyaudio/src/Makefile.in
+++ media/libsydneyaudio/src/Makefile.in
@@ -30,10 +30,6 @@ else ifeq ($(MOZ_WIDGET_TOOLKIT),android)
CSRCS = \
@@ -100,20 +91,24 @@
ifeq ($(OS_ARCH),WINNT)
OS_LIBS += winmm.lib
endif
---- toolkit/library/libxul-config.mk~
-+++ toolkit/library/libxul-config.mk
-@@ -348,10 +348,12 @@ ifdef MOZ_NATIVE_LIBVPX
- EXTRA_DSO_LDOPTS += $(MOZ_LIBVPX_LIBS)
- endif
+diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in
+index 43384e9..e46a6e3 100644
+--- toolkit/library/Makefile.in
++++ toolkit/library/Makefile.in
+@@ -370,14 +370,11 @@ endif
+
+ EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)
-ifdef MOZ_SYDNEYAUDIO
-ifeq ($(OS_ARCH),Linux)
++ifneq (,$(MOZ_CUBEB)$(MOZ_SYDNEYAUDIO))
+ifdef MOZ_ALSA
EXTRA_DSO_LDOPTS += $(MOZ_ALSA_LIBS)
endif
-+
-+ifdef MOZ_PULSEAUDIO
-+EXTRA_DSO_LDOPTS += $(MOZ_PULSEAUDIO_LIBS)
+-endif
+-
+ ifdef MOZ_PULSEAUDIO
+-ifdef MOZ_CUBEB
+ EXTRA_DSO_LDOPTS += $(MOZ_PULSEAUDIO_LIBS)
+ endif
endif
-
- ifdef HAVE_CLOCK_MONOTONIC
Added: head/www/libxul/files/patch-bug722975
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/libxul/files/patch-bug722975 Tue Jun 4 15:47:49 2013 (r319872)
@@ -0,0 +1,61 @@
+# HG changeset patch
+# Parent 9d3c9b863c697634e434b687d456bb82fa794ecf
+# User Uli Schlachter <psychon at znc.in>
+Bug 722975 - --enable-system-cairo build is broken after Bug 715658 fixed
+
+
+diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp
+--- gfx/thebes/gfxPlatform.cpp
++++ gfx/thebes/gfxPlatform.cpp
+@@ -484,21 +484,19 @@ gfxPlatform::CreateDrawTargetForSurface(
+
+ cairo_user_data_key_t kSourceSurface;
+
+ void SourceBufferDestroy(void *srcBuffer)
+ {
+ static_cast<SourceSurface*>(srcBuffer)->Release();
+ }
+
+-void SourceSnapshotDetached(cairo_surface_t *nullSurf)
++void SourceSnapshotDetached(void *nullSurf)
+ {
+- gfxImageSurface* origSurf =
+- static_cast<gfxImageSurface*>(cairo_surface_get_user_data(nullSurf, &kSourceSurface));
+-
++ gfxImageSurface *origSurf = static_cast<gfxImageSurface*>(nullSurf);
+ origSurf->SetData(&kSourceSurface, NULL, NULL);
+ }
+
+ RefPtr<SourceSurface>
+ gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurface)
+ {
+ void *userData = aSurface->GetData(&kSourceSurface);
+
+@@ -588,24 +586,19 @@ gfxPlatform::GetSourceSurfaceForSurface(
+ }
+
+ srcBuffer = Factory::CreateWrappingDataSourceSurface(imgSurface->Data(),
+ imgSurface->Stride(),
+ size, format);
+
+ }
+
+- cairo_surface_t *nullSurf =
+- cairo_null_surface_create(CAIRO_CONTENT_COLOR_ALPHA);
+- cairo_surface_set_user_data(nullSurf,
+- &kSourceSurface,
+- imgSurface,
+- NULL);
+- cairo_surface_attach_snapshot(imgSurface->CairoSurface(), nullSurf, SourceSnapshotDetached);
+- cairo_surface_destroy(nullSurf);
++ cairo_surface_set_mime_data(imgSurface->CairoSurface(), "mozilla/magic",
++ (const unsigned char *) "data", 4,
++ SourceSnapshotDetached, imgSurface.get());
+ }
+
+ srcBuffer->AddRef();
+ aSurface->SetData(&kSourceSurface, srcBuffer, SourceBufferDestroy);
+
+ return srcBuffer;
+ }
+
Added: head/www/libxul/files/patch-bug732340
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/libxul/files/patch-bug732340 Tue Jun 4 15:47:49 2013 (r319872)
@@ -0,0 +1,13 @@
+--- gfx/harfbuzz/src/hb-ot-layout.cc.orig 2012-06-24 22:14:46.463741874 -0400
++++ gfx/harfbuzz/src/hb-ot-layout.cc 2012-06-24 22:15:06.784770042 -0400
+@@ -537,4 +537,10 @@ hb_ot_layout_position_finish (hb_face_t
+ GPOS::position_finish (buffer);
+ }
+
++#if !defined(__clang__) && defined(__GNUC__) && __GNUC_MINOR__ <= 3
++template int SortedArrayOf<Record<LangSys> >::search<unsigned int>(unsigned int const &) const;
++template int SortedArrayOf<Record<Script> >::search<unsigned int>(unsigned int const &) const;
++template int SortedArrayOf<IntType<unsigned short> >::search<unsigned int>(unsigned int const &) const;
++template int SortedArrayOf<RangeRecord>::search<unsigned int>(unsigned int const &) const;
++#endif
+
Modified: head/www/libxul/files/patch-bug753046
==============================================================================
--- head/www/libxul/files/patch-bug753046 Tue Jun 4 15:47:06 2013 (r319871)
+++ head/www/libxul/files/patch-bug753046 Tue Jun 4 15:47:49 2013 (r319872)
@@ -56,7 +56,7 @@ $NetBSD: patch-ipc_chromium_Makefile.in,
--- ipc/chromium/Makefile.in.orig 2012-02-16 06:40:33.000000000 +0000
+++ ipc/chromium/Makefile.in
-@@ -278,6 +278,34 @@ endif
+@@ -278,6 +278,33 @@ endif
endif # } OS_LINUX
@@ -64,7 +64,6 @@ $NetBSD: patch-ipc_chromium_Makefile.in,
+
+CPPSRCS += \
+ atomicops_internals_x86_gcc.cc \
-+ file_util_linux.cc \
+ process_util_bsd.cc \
+ time_posix.cc \
+ $(NULL)
@@ -381,37 +380,29 @@ diff --git ipc/chromium/src/base/dir_rea
index 9a34492..62b280c 100644
--- ipc/chromium/src/base/dir_reader_posix.h
+++ ipc/chromium/src/base/dir_reader_posix.h
-@@ -18,6 +18,8 @@
+@@ -18,16 +18,20 @@
+ // seems worse than falling back to enumerating all file descriptors so we will
+ // probably never implement this on the Mac.
- #if defined(OS_LINUX)
+-#if defined(OS_LINUX) && !defined(OS_OPENBSD)
++#if defined(OS_LINUX)
#include "base/dir_reader_linux.h"
+#elif defined(OS_BSD)
+#include "base/dir_reader_bsd.h"
#else
#include "base/dir_reader_fallback.h"
#endif
-@@ -26,6 +28,8 @@
- #if defined(OS_LINUX)
+ namespace base {
+
+-#if defined(OS_LINUX) && !defined(OS_OPENBSD)
++#if defined(OS_LINUX)
typedef DirReaderLinux DirReaderPosix;
+#elif defined(OS_BSD)
+typedef DirReaderBSD DirReaderPosix;
#else
typedef DirReaderFallback DirReaderPosix;
#endif
-diff --git ipc/chromium/src/base/file_util_linux.cc ipc/chromium/src/base/file_util_linux.cc
-index 171e44f..0c6dfcc 100644
---- ipc/chromium/src/base/file_util_linux.cc
-+++ ipc/chromium/src/base/file_util_linux.cc
-@@ -28,7 +28,7 @@ bool GetTempDir(FilePath* path) {
- }
-
- bool GetShmemTempDir(FilePath* path) {
--#ifdef ANDROID
-+#if defined(ANDROID) || defined(OS_BSD)
- return GetTempDir(path);
- #else
- *path = FilePath("/dev/shm");
$NetBSD: patch-ipc_chromium_src_base_file__util__posix.cc,v 1.2 2012/03/06 12:34:09 ryoon Exp $
--- ipc/chromium/src/base/file_util_posix.cc.orig 2011-12-20 23:28:19.000000000 +0000
@@ -469,7 +460,7 @@ $NetBSD: patch-ipc_chromium_src_base_pla
--- ipc/chromium/src/base/platform_thread_posix.cc.orig 2012-03-13 01:36:53.000000000 +0000
+++ ipc/chromium/src/base/platform_thread_posix.cc
-@@ -9,9 +9,17 @@
+@@ -9,16 +9,24 @@
#if defined(OS_MACOSX)
#include <mach/mach.h>
@@ -477,21 +468,31 @@ $NetBSD: patch-ipc_chromium_src_base_pla
+#include <lwp.h>
#elif defined(OS_LINUX)
#include <sys/syscall.h>
- #include <unistd.h>
-+#elif defined(OS_DRAGONFLY)
-+#include <unistd.h>
+-#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
+ #include <sys/prctl.h>
+-#elif !defined(__NetBSD__)
+-#include <pthread_np.h>
+#elif defined(OS_FREEBSD)
+#include <sys/param.h>
+#include <sys/thr.h>
-+#include <pthread_np.h>
+ #endif
++
++#if !defined(OS_MACOSX)
+ #include <unistd.h>
#endif
++#if defined(OS_BSD) && !defined(OS_NETBSD)
++#include <pthread_np.h>
++#endif
++
#if defined(OS_MACOSX)
-@@ -38,9 +45,20 @@
+ namespace base {
+ void InitThreading();
+@@ -38,9 +45,20 @@ PlatformThreadId PlatformThread::CurrentId() {
// into the kernel.
#if defined(OS_MACOSX)
return mach_thread_self();
--#elif defined (__OpenBSD__)
+-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+#elif defined(OS_NETBSD)
+ return _lwp_self();
+#elif defined(OS_DRAGONFLY)
@@ -511,6 +512,18 @@ $NetBSD: patch-ipc_chromium_src_base_pla
#elif defined(OS_LINUX)
return syscall(__NR_gettid);
#endif
+@@ -102,9 +102,9 @@ void PlatformThread::SetName(const char* name) {
+ // Note that glibc also has a 'pthread_setname_np' api, but it may not be
+ // available everywhere and it's only benefit over using prctl directly is
+ // that it can set the name of threads other than the current thread.
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
++#if defined(OS_BSD) && !defined(OS_NETBSD)
+ pthread_set_name_np(pthread_self(), name);
+-#elif defined(__NetBSD__)
++#elif defined(OS_NETBSD)
+ pthread_setname_np(pthread_self(), "%s", (void *)name);
+ #else
+ prctl(PR_SET_NAME, reinterpret_cast<uintptr_t>(name), 0, 0, 0);
$NetBSD: patch-ipc_chromium_src_base_process__util.h,v 1.1 2012/03/06 12:34:09 ryoon Exp $
--- ipc/chromium/src/base/process_util.h.orig 2011-12-21 00:28:19.000000000 +0100
@@ -552,7 +565,7 @@ $NetBSD: patch-ipc_chromium_src_base_pro
--- ipc/chromium/src/base/process_util_bsd.cc.orig 2012-04-01 00:04:28.000000000 +0000
+++ ipc/chromium/src/base/process_util_bsd.cc
-@@ -0,0 +1,318 @@
+@@ -0,0 +1,367 @@
+// Copyright (c) 2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -587,6 +600,20 @@ $NetBSD: patch-ipc_chromium_src_base_pro
+#define HAVE_POSIX_SPAWN 1
+#endif
+
++/*
++ * On platforms that are not gonk based, we fall back to an arbitrary
++ * UID. This is generally the UID for user `nobody', albeit it is not
++ * always the case.
++ */
++
++#if defined(OS_NETBSD) || defined(OS_OPENBSD)
++# define CHILD_UNPRIVILEGED_UID 32767
++# define CHILD_UNPRIVILEGED_GID 32767
++#else
++# define CHILD_UNPRIVILEGED_UID 65534
++# define CHILD_UNPRIVILEGED_GID 65534
++#endif
++
+#ifndef __dso_public
+# ifdef __exported
+# define __dso_public __exported
@@ -635,6 +662,17 @@ $NetBSD: patch-ipc_chromium_src_base_pro
+ const environment_map& env_vars_to_set,
+ bool wait, ProcessHandle* process_handle,
+ ProcessArchitecture arch) {
++ return LaunchApp(argv, fds_to_remap, env_vars_to_set,
++ SAME_PRIVILEGES_AS_PARENT,
++ wait, process_handle);
++}
++
++bool LaunchApp(const std::vector<std::string>& argv,
++ const file_handle_mapping_vector& fds_to_remap,
++ const environment_map& env_vars_to_set,
++ ChildPrivileges privs,
++ bool wait, ProcessHandle* process_handle,
++ ProcessArchitecture arch) {
+ bool retval = true;
+
+ char* argv_copy[argv.size() + 1];
@@ -749,6 +787,17 @@ $NetBSD: patch-ipc_chromium_src_base_pro
+ const environment_map& env_vars_to_set,
+ bool wait, ProcessHandle* process_handle,
+ ProcessArchitecture arch) {
++ return LaunchApp(argv, fds_to_remap, env_vars_to_set,
++ SAME_PRIVILEGES_AS_PARENT,
++ wait, process_handle);
++}
++
++bool LaunchApp(const std::vector<std::string>& argv,
++ const file_handle_mapping_vector& fds_to_remap,
++ const environment_map& env_vars_to_set,
++ ChildPrivileges privs,
++ bool wait, ProcessHandle* process_handle,
++ ProcessArchitecture arch) {
+ scoped_array<char*> argv_cstr(new char*[argv.size() + 1]);
+ // Illegal to allocate memory after fork and before execvp
+ InjectiveMultimap fd_shuffle1, fd_shuffle2;
@@ -771,19 +820,32 @@ $NetBSD: patch-ipc_chromium_src_base_pro
+
+ CloseSuperfluousFds(fd_shuffle2);
+
++ for (size_t i = 0; i < argv.size(); i++)
++ argv_cstr[i] = const_cast<char*>(argv[i].c_str());
++ argv_cstr[argv.size()] = NULL;
++
++ if (privs == UNPRIVILEGED) {
++ if (setgid(CHILD_UNPRIVILEGED_GID) != 0) {
++ DLOG(ERROR) << "FAILED TO setgid() CHILD PROCESS, path: " << argv_cstr[0];
++ _exit(127);
++ }
++ if (setuid(CHILD_UNPRIVILEGED_UID) != 0) {
++ DLOG(ERROR) << "FAILED TO setuid() CHILD PROCESS, path: " << argv_cstr[0];
++ _exit(127);
++ }
++ if (chdir("/") != 0)
++ gProcessLog.print("==> could not chdir()\n");
++ }
++
+ for (environment_map::const_iterator it = env_vars_to_set.begin();
+ it != env_vars_to_set.end(); ++it) {
+ if (setenv(it->first.c_str(), it->second.c_str(), 1/*overwrite*/))
+ _exit(127);
+ }
-+
-+ for (size_t i = 0; i < argv.size(); i++)
-+ argv_cstr[i] = const_cast<char*>(argv[i].c_str());
-+ argv_cstr[argv.size()] = NULL;
-+ execvp(argv_cstr[0], argv_cstr.get());
++ execv(argv_cstr[0], argv_cstr.get());
+ // if we get here, we're in serious trouble and should complain loudly
+ DLOG(ERROR) << "FAILED TO exec() CHILD PROCESS, path: " << argv_cstr[0];
-+ exit(127);
++ _exit(127);
+ } else {
+ gProcessLog.print("==> process %d launched child process %d\n",
+ GetCurrentProcId(), pid);
@@ -945,57 +1007,6 @@ $NetBSD: patch-ipc_chromium_src_base_sys
#else
long pages = sysconf(_SC_PHYS_PAGES);
long page_size = sysconf(_SC_PAGE_SIZE);
-$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prcpucfg.h,v 1.2 2012/03/06 12:34:09 ryoon Exp $
-
---- ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2011-12-20 23:28:19.000000000 +0000
-+++ ipc/chromium/src/base/third_party/nspr/prcpucfg.h
-@@ -34,7 +34,7 @@
- #include "base/third_party/nspr/prcpucfg_win.h"
- #elif defined(__APPLE__)
- #include "base/third_party/nspr/prcpucfg_mac.h"
--#elif defined(__linux__) || defined(ANDROID)
-+#elif defined(__linux__) || defined(ANDROID) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
- #include "base/third_party/nspr/prcpucfg_linux.h"
- #elif defined(__OpenBSD__)
- #include "base/third_party/nspr/prcpucfg_openbsd.h"
-$NetBSD: patch-ipc_chromium_src_base_third__party_nspr_prtime.cc,v 1.1 2012/03/06 12:34:09 ryoon Exp $
-
---- ipc/chromium/src/base/third_party/nspr/prtime.cc.orig 2011-12-20 23:28:19.000000000 +0000
-+++ ipc/chromium/src/base/third_party/nspr/prtime.cc
-@@ -212,7 +212,7 @@ PR_ImplodeTime(const PRExplodedTime *exp
- LL_ADD(retVal, retVal, temp);
-
- return retVal;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_DRAGONFLY)
- struct tm exp_tm = {0};
- exp_tm.tm_sec = exploded->tm_sec;
- exp_tm.tm_min = exploded->tm_min;
-@@ -245,6 +245,24 @@ PR_ImplodeTime(const PRExplodedTime *exp
- result *= kSecondsToMicroseconds;
- result += exploded->tm_usec;
- return result;
-+#elif defined(OS_FREEBSD) || defined(OS_NETBSD)
-+ struct tm exp_tm = {0};
-+ exp_tm.tm_sec = exploded->tm_sec;
-+ exp_tm.tm_min = exploded->tm_min;
-+ exp_tm.tm_hour = exploded->tm_hour;
-+ exp_tm.tm_mday = exploded->tm_mday;
-+ exp_tm.tm_mon = exploded->tm_month;
-+ exp_tm.tm_year = exploded->tm_year - 1900;
-+
-+ // time_t is 64bit
-+ time_t absolute_time = timegm(&exp_tm);
-+
-+ PRTime result = static_cast<PRTime>(absolute_time);
-+ result -= exploded->tm_params.tp_gmt_offset +
-+ exploded->tm_params.tp_dst_offset;
-+ result *= kSecondsToMicroseconds;
-+ result += exploded->tm_usec;
-+ return result;
- #else
- #error No PR_ImplodeTime implemented on your platform.
- #endif
diff --git ipc/chromium/src/base/time_posix.cc ipc/chromium/src/base/time_posix.cc
index abf2a56..48791f6 100644
--- ipc/chromium/src/base/time_posix.cc
@@ -1140,11 +1151,11 @@ $NetBSD: patch-ipc_glue_GeckoChildProces
nsCString path;
greDir->GetNativePath(path);
-# ifdef OS_LINUX
--# ifdef ANDROID
+-# ifdef MOZ_WIDGET_ANDROID
+# if defined(OS_LINUX) || defined(OS_BSD)
-+# if defined(ANDROID) || defined(OS_BSD)
++# if defined(MOZ_WIDGET_ANDROID) || defined(OS_BSD)
path += "/lib";
- # endif // ANDROID
+ # endif // MOZ_WIDGET_ANDROID
const char *ld_library_path = PR_GetEnv("LD_LIBRARY_PATH");
@@ -557,7 +557,7 @@
childArgv.push_back(pidstring);
@@ -1161,7 +1172,7 @@ $NetBSD: patch-ipc_glue_GeckoChildProces
base::LaunchApp(childArgv, mFileMap,
-#if defined(OS_LINUX) || defined(OS_MACOSX)
+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD)
- newEnvVars,
+ newEnvVars, privs,
#endif
false, &process, arch);
diff --git ipc/glue/SharedMemorySysV.h ipc/glue/SharedMemorySysV.h
Modified: head/www/libxul/files/patch-bug778078
==============================================================================
--- head/www/libxul/files/patch-bug778078 Tue Jun 4 15:47:06 2013 (r319871)
+++ head/www/libxul/files/patch-bug778078 Tue Jun 4 15:47:49 2013 (r319872)
@@ -1,11 +1,11 @@
--- toolkit/xre/nsAppRunner.cpp~
+++ toolkit/xre/nsAppRunner.cpp
-@@ -3133,7 +3133,7 @@ XRE_main(int argc, char* argv[], const n
- gQtOnlyArgv[gQtOnlyArgc] = nsnull;
- #endif
- #if defined(MOZ_WIDGET_GTK2)
+@@ -3833,7 +3833,7 @@ XREMain::XRE_main(int argc, char* argv[]
+ ScopedLogging log;
+
+ #if defined(MOZ_WIDGET_GTK)
-#ifdef MOZ_MEMORY
+#if defined(MOZ_MEMORY) || defined(__FreeBSD__) || defined(__NetBSD__)
- // Disable the slice allocator, since jemalloc already uses similar layout
- // algorithms, and using a sub-allocator tends to increase fragmentation.
- // This must be done before g_thread_init() is called.
+ // Disable the slice allocator, since jemalloc already uses similar layout
+ // algorithms, and using a sub-allocator tends to increase fragmentation.
+ // This must be done before g_thread_init() is called.
Modified: head/www/libxul/files/patch-bug783463
==============================================================================
--- head/www/libxul/files/patch-bug783463 Tue Jun 4 15:47:06 2013 (r319871)
+++ head/www/libxul/files/patch-bug783463 Tue Jun 4 15:47:49 2013 (r319872)
@@ -1,20 +1,14 @@
---- widget/src/qt/nsNativeThemeQt.cpp~
-+++ widget/src/qt/nsNativeThemeQt.cpp
-@@ -25,7 +25,6 @@
- #include "nsThemeConstants.h"
- #include "nsIServiceManager.h"
- #include "nsIDOMHTMLInputElement.h"
--#include <malloc.h>
-
-
- #include "gfxASurface.h"
---- widget/src/qt/nsSound.cpp~
-+++ widget/src/qt/nsSound.cpp
-@@ -40,6 +40,7 @@
- #include <QSound>
-
- #include <string.h>
-+#include <unistd.h>
-
- #include "nscore.h"
- #include "plstr.h"
+--- gfx/skia/Makefile.in~
++++ gfx/skia/Makefile.in
+@@ -339,10 +339,9 @@ CPPSRCS += \
+ SkMMapStream.cpp \
+ SkOSFile.cpp \
+ $(NULL)
+-ifeq (Linux,$(OS_TARGET))
++ifneq (,$(or $(MOZ_X11),$(filter Linux,$(OS_TARGET))))
+ CPPSRCS += \
+ SkFontHost_linux.cpp \
+- SkFontHost_tables.cpp \
+ SkTime_Unix.cpp \
+ $(NULL)
+ endif
Added: head/www/libxul/files/patch-bug784631
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/libxul/files/patch-bug784631 Tue Jun 4 15:47:49 2013 (r319872)
@@ -0,0 +1,52 @@
+commit 66b3921
+Author: Terrence Cole <terrence at mozilla.com>
+Date: Tue Sep 11 12:31:04 2012 -0700
+
+ Bug 784631 - Fix some clang build errors in SpiderMonkey; r=Waldo f=espindola
+
+ Computed gotos are not in the C++ standard: clang and gcc differ on semantics.
+---
+ js/src/jsinterp.cpp | 3 ++-
+ js/src/jsutil.h | 8 ++++----
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git js/src/jsinterp.cpp js/src/jsinterp.cpp
+index 0094c72..27a64a7 100644
+--- js/src/jsinterp.cpp
++++ js/src/jsinterp.cpp
+@@ -1231,6 +1231,7 @@ js::Interpret(JSContext *cx, StackFrame *entryFrame, InterpMode interpMode)
+ RootedPropertyName rootName0(cx);
+ RootedId rootId0(cx);
+ RootedShape rootShape0(cx);
++ DebugOnly<uint32_t> blockDepth;
+
+ if (!entryFrame)
+ entryFrame = regs.fp();
+@@ -3650,7 +3651,7 @@ BEGIN_CASE(JSOP_LEAVEBLOCK)
+ BEGIN_CASE(JSOP_LEAVEFORLETIN)
+ BEGIN_CASE(JSOP_LEAVEBLOCKEXPR)
+ {
+- DebugOnly<uint32_t> blockDepth = regs.fp()->blockChain().stackDepth();
++ blockDepth = regs.fp()->blockChain().stackDepth();
+
+ regs.fp()->popBlock(cx);
+
+diff --git js/src/jsutil.h js/src/jsutil.h
+index 8838b6f..016a877 100644
+--- js/src/jsutil.h
++++ js/src/jsutil.h
+@@ -432,10 +432,10 @@ typedef size_t jsbitmap;
+ #if defined(__clang__)
+ # define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \
+ JS_BEGIN_MACRO \
+- _Pragma("clang diagnostic push") \
+- _Pragma("clang diagnostic ignored \"-Wunused-value\"") \
+- expr; \
+- _Pragma("clang diagnostic pop") \
++ _Pragma("(clang diagnostic push)") \
++ _Pragma("(clang diagnostic ignored \"-Wunused-value\")") \
++ {expr;} \
++ _Pragma("(clang diagnostic pop)") \
+ JS_END_MACRO
+ #elif (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ # define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \
Added: head/www/libxul/files/patch-bug786995
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/libxul/files/patch-bug786995 Tue Jun 4 15:47:49 2013 (r319872)
@@ -0,0 +1,36 @@
+# Bug 786995 - configure should check for SSSE3 support in the whole toolchain
+
+--- configure.in.orig 2012-09-02 00:37:29.000000000 +0200
++++ configure.in 2012-09-02 00:38:50.000000000 +0200
+@@ -1710,15 +1710,15 @@
+ _MOZ_RTTI_FLAGS_OFF=-fno-rtti
+
+ # Check for -mssse3 on $CC
+- AC_MSG_CHECKING([for -mssse3 option to $CC])
+- HAVE_COMPILER_FLAG_MSSSE3=
++ AC_MSG_CHECKING([if toolchain supports -mssse3 option])
++ HAVE_TOOLCHAIN_SUPPORT_MSSSE3=
+ _SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -mssse3"
+- AC_TRY_COMPILE(,,AC_MSG_RESULT([yes])
+- [HAVE_COMPILER_FLAG_MSSSE3=1],
++ AC_TRY_COMPILE([asm ("pmaddubsw %xmm2,%xmm3");],,AC_MSG_RESULT([yes])
++ [HAVE_TOOLCHAIN_SUPPORT_MSSSE3=1],
+ AC_MSG_RESULT([no]))
+ CFLAGS=$_SAVE_CFLAGS
+- AC_SUBST(HAVE_COMPILER_FLAG_MSSSE3)
++ AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSSE3)
+
+ # Turn on GNU-specific warnings:
+ # -Wall - turn on a lot of warnings
+--- gfx/skia/Makefile.in.orig 2012-09-02 00:39:00.000000000 +0200
++++ gfx/skia/Makefile.in 2012-09-02 00:39:21.000000000 +0200
+@@ -365,7 +365,7 @@
+ SkUtils_opts_SSE2.cpp \
+ opts_check_SSE2.cpp \
+ $(NULL)
+-ifdef HAVE_COMPILER_FLAG_MSSSE3
++ifdef HAVE_TOOLCHAIN_SUPPORT_MSSSE3
+ DEFINES += -DSK_BUILD_SSSE3
+ CPPSRCS += SkBitmapProcState_opts_SSSE3.cpp
+ endif
Added: head/www/libxul/files/patch-bug787904
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/libxul/files/patch-bug787904 Tue Jun 4 15:47:49 2013 (r319872)
@@ -0,0 +1,12 @@
+--- js/src/gc/Heap.h
++++ js/src/gc/Heap.h
+@@ -108,7 +108,8 @@ struct Cell
+ * Bug 692267: Move page size definition to gc/Memory.h and include it
+ * directly once jsgc.h is no longer an installed header.
+ */
+-#if defined(SOLARIS) && (defined(__sparc) || defined(__sparcv9))
++#if (defined(SOLARIS) || defined(__FreeBSD__)) && \
++ (defined(__sparc) || defined(__sparcv9) || defined(__ia64))
+ const size_t PageShift = 13;
+ #else
+ const size_t PageShift = 12;
Modified: head/www/libxul/files/patch-bug788039
==============================================================================
--- head/www/libxul/files/patch-bug788039 Tue Jun 4 15:47:06 2013 (r319871)
+++ head/www/libxul/files/patch-bug788039 Tue Jun 4 15:47:49 2013 (r319872)
@@ -1,16 +1,5 @@
# Bug 788039 - With no prefix search libevent via pkg-config.
---- config/autoconf.mk.in~
-+++ config/autoconf.mk.in
-@@ -227,7 +227,7 @@ MOZ_HUNSPELL_CFLAGS = @MOZ_HUNSPELL_CFLA
-
- MOZ_NATIVE_LIBEVENT = @MOZ_NATIVE_LIBEVENT@
- MOZ_LIBEVENT_LIBS = @MOZ_LIBEVENT_LIBS@
--MOZ_LIBEVENT_INCLUDES = @MOZ_LIBEVENT_INCLUDES@
-+MOZ_LIBEVENT_CFLAGS = @MOZ_LIBEVENT_CFLAGS@
-
- MOZ_NATIVE_LIBVPX = @MOZ_NATIVE_LIBVPX@
- MOZ_LIBVPX_LIBS = @MOZ_LIBVPX_LIBS@
--- configure.in~
+++ configure.in
@@ -3854,7 +3854,7 @@ fi
Modified: head/www/libxul/files/patch-bug788108
==============================================================================
--- head/www/libxul/files/patch-bug788108 Tue Jun 4 15:47:06 2013 (r319871)
+++ head/www/libxul/files/patch-bug788108 Tue Jun 4 15:47:49 2013 (r319872)
@@ -7,7 +7,7 @@
-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
-#ifdef __FreeBSD__
-#include <ieeefp.h>
--#ifdef __alpha__
+-#if !defined(__i386__) && !defined(__x86_64__)
-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
-#else
-static fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
Added: head/www/libxul/files/patch-bug788955
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/www/libxul/files/patch-bug788955 Tue Jun 4 15:47:49 2013 (r319872)
@@ -0,0 +1,299 @@
+diff --git Makefile.in Makefile.in
+index e341462..f75bd55 100644
+--- Makefile.in
++++ Makefile.in
+@@ -48,8 +48,10 @@ endif
+ ifdef MOZ_MEMORY
+ tier_base_dirs += memory/mozjemalloc
+ ifdef MOZ_JEMALLOC
++ifndef MOZ_NATIVE_JEMALLOC
+ tier_base_dirs += memory/jemalloc
+ endif
++endif
+ tier_base_dirs += memory/build
+ endif
+ ifndef MOZ_NATIVE_ZLIB
+diff --git allmakefiles.sh allmakefiles.sh
+index 6a9be4b..d2e49e3 100755
+--- allmakefiles.sh
++++ allmakefiles.sh
+@@ -59,7 +59,7 @@ if [ ! "$LIBXUL_SDK" ]; then
+ mozglue/Makefile
+ mozglue/build/Makefile
+ "
+- if [ "$MOZ_JEMALLOC" ]; then
++ if [ "$MOZ_JEMALLOC" -a -z "$MOZ_NATIVE_JEMALLOC" ]; then
+ add_makefiles "
+ memory/jemalloc/Makefile
+ "
+diff --git configure.in configure.in
+index bb05782..2f32516 100644
+--- configure.in
++++ configure.in
+@@ -3711,21 +3711,22 @@ fi
+
+ dnl Check for the existence of various allocation headers/functions
+
++MALLOC_HEADERS="malloc.h malloc_np.h malloc/malloc.h sys/malloc.h"
+ MALLOC_H=
+-MOZ_CHECK_HEADER(malloc.h, [MALLOC_H=malloc.h])
+-if test "$MALLOC_H" = ""; then
+- MOZ_CHECK_HEADER(malloc/malloc.h, [MALLOC_H=malloc/malloc.h])
+- if test "$MALLOC_H" = ""; then
+- MOZ_CHECK_HEADER(sys/malloc.h, [MALLOC_H=sys/malloc.h])
++
++for file in $MALLOC_HEADERS; do
++ MOZ_CHECK_HEADER($file, [MALLOC_H=$file])
++ if test "$MALLOC_H" != ""; then
++ AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
++ break
+ fi
+-fi
+-if test "$MALLOC_H" != ""; then
+- AC_DEFINE_UNQUOTED(MALLOC_H, <$MALLOC_H>)
+-fi
++done
+
+ MOZ_ALLOCATING_FUNCS="strndup posix_memalign memalign valloc"
+ AC_CHECK_FUNCS(strndup posix_memalign memalign valloc)
+
++AC_CHECK_FUNCS(malloc_usable_size)
++
+ dnl See if compiler supports some gcc-style attributes
+
+ AC_CACHE_CHECK(for __attribute__((always_inline)),
+@@ -6939,6 +6940,18 @@ else
+ fi
+
+ if test -z "$MOZ_MEMORY"; then
++ if test -n "$MOZ_JEMALLOC"; then
++ MOZ_NATIVE_JEMALLOC=1
++ AC_CHECK_FUNCS(mallctl nallocm,,
++ [MOZ_NATIVE_JEMALLOC=
++ break])
++ if test -n "$MOZ_NATIVE_JEMALLOC"; then
++ MOZ_MEMORY=1
++ AC_DEFINE(MOZ_MEMORY)
++ AC_DEFINE(MOZ_JEMALLOC)
++ AC_DEFINE(MOZ_NATIVE_JEMALLOC)
++ fi
++ fi
+ case "${target}" in
+ *-mingw*)
+ if test -z "$WIN32_REDIST_DIR" -a -z "$MOZ_DEBUG"; then
+@@ -7033,6 +7046,7 @@ else
+ fi # MOZ_MEMORY
+ AC_SUBST(MOZ_MEMORY)
+ AC_SUBST(MOZ_JEMALLOC)
++AC_SUBST(MOZ_NATIVE_JEMALLOC)
+ AC_SUBST(MOZ_GLUE_LDFLAGS)
+ AC_SUBST(MOZ_GLUE_PROGRAM_LDFLAGS)
+ AC_SUBST(WIN32_CRT_LIBS)
+@@ -8820,10 +8834,22 @@ fi
+
+ # Run jemalloc configure script
+
+-if test "$MOZ_JEMALLOC" -a "$MOZ_MEMORY"; then
++if test -z "$MOZ_NATIVE_JEMALLOC" -a "$MOZ_JEMALLOC" -a "$MOZ_MEMORY" ; then
+ ac_configure_args="$_SUBDIR_CONFIG_ARGS --build=$build --host=$target --enable-stats --with-jemalloc-prefix=je_"
+- if test "$OS_ARCH" = "Linux"; then
+- MANGLE="malloc calloc valloc free realloc memalign posix_memalign malloc_usable_size"
++ case "$OS_ARCH" in
++ Linux|DragonFly|FreeBSD|NetBSD|OpenBSD)
++ MANGLE="malloc calloc valloc free realloc posix_memalign"
++ case "$OS_ARCH" in
++ Linux)
++ MANGLE="$MANGLE memalign malloc_usable_size"
++ ;;
++ FreeBSD)
++ MANGLE="$MANGLE malloc_usable_size"
++ ;;
++ esac
++ ;;
++ esac
++ if test -n "$MANGLE"; then
+ MANGLED=
+ JEMALLOC_WRAPPER=
+ if test -n "$_WRAP_MALLOC"; then
+diff --git memory/build/Makefile.in memory/build/Makefile.in
+index dca0f48..af93ee0 100644
+--- memory/build/Makefile.in
++++ memory/build/Makefile.in
+@@ -22,7 +22,9 @@ CSRCS = extraMallocFuncs.c
+
+ ifdef MOZ_JEMALLOC
+ CSRCS += mozjemalloc_compat.c
++ifndef MOZ_NATIVE_JEMALLOC
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/jemalloc)
++endif
+ else
+ SHARED_LIBRARY_LIBS += $(call EXPAND_LIBNAME_PATH,jemalloc,$(DEPTH)/memory/mozjemalloc)
+ endif
+diff --git memory/build/extraMallocFuncs.c memory/build/extraMallocFuncs.c
+index 9d87629..03c8320 100644
+--- memory/build/extraMallocFuncs.c
++++ memory/build/extraMallocFuncs.c
+@@ -94,8 +94,16 @@ wrap(wcsdup)(const wchar_t *src)
+ #endif
+
+ #ifdef MOZ_JEMALLOC
++
++#undef wrap
++#if defined(MOZ_NATIVE_JEMALLOC)
++#define wrap(a) a
++#else
++#define wrap(a) je_ ## a
++#endif
++
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-ports-head
mailing list