Index: head/www/seamonkey/Makefile =================================================================== --- head/www/seamonkey/Makefile (revision 322291) +++ head/www/seamonkey/Makefile (revision 322292) @@ -1,206 +1,204 @@ # Created by: eivind/dima/jseger # $FreeBSD$ PORTNAME= seamonkey -DISTVERSION= 2.17.1 +DISTVERSION= 2.19 CATEGORIES?= www ipv6 -MASTER_SITES= ${MASTER_SITE_MOZILLA} -MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source +MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ + https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/ DISTFILES= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} EXTRACT_ONLY= ${PORTNAME}-${DISTVERSION}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= The open source, standards compliant web browser -BUILD_DEPENDS= nspr>=4.9.4:${PORTSDIR}/devel/nspr \ +BUILD_DEPENDS= nspr>=4.9.6:${PORTSDIR}/devel/nspr \ nss>=3.14.3:${PORTSDIR}/security/nss \ - sqlite3>=3.7.14.1:${PORTSDIR}/databases/sqlite3 \ + sqlite3>=3.7.16.1:${PORTSDIR}/databases/sqlite3 \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \ unzip:${PORTSDIR}/archivers/unzip -EM_VERSION= 1.5.1 -L_VERSION= 2.2b1 +EM_VERSION= 1.5.2 +L_VERSION= 2.4b1 USE_AUTOTOOLS= autoconf213:env USE_PYTHON_BUILD=-2.7 OBJDIR_BUILD= # in-tree build broken after bug 789837 USE_BZIP2= yes USE_GMAKE= yes USE_GECKO= gecko WANT_GNOME= yes USE_QT4= # empty QT_NONSTANDARD= yes WANT_PERL= yes GNU_CONFIGURE= yes ALL_TARGET= default USE_GL= gl -USE_DOS2UNIX= mozilla/media/webrtc/trunk/src/system_wrappers/source/spreadsortlib/spreadsort.hpp +USE_DOS2UNIX= mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp MAKE_JOBS_SAFE= yes MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome MOZ_EXTENSIONS= default MOZ_OPTIONS+= --program-transform-name='s/seamonkey/${MOZILLA}/' \ --enable-application=suite USE_MOZILLA= # empty MOZ_PKGCONFIG_FILES= NOT_FOR_ARCHS= ia64 -OPTIONS_DEFINE= CHATZILLA COMPOSER ENIGMAIL GSTREAMER LDAP LIGHTNING MAILNEWS WEBRTC -OPTIONS_DEFAULT=CHATZILLA COMPOSER ENIGMAIL GIO LDAP LIGHTNING MAILNEWS WEBRTC +OPTIONS_DEFINE= CHATZILLA COMPOSER ENIGMAIL LDAP LIGHTNING MAILNEWS WEBRTC +OPTIONS_DEFAULT=CHATZILLA COMPOSER LDAP LIGHTNING MAILNEWS WEBRTC CHATZILLA_DESC?=Chatzilla IRC module COMPOSER_DESC?= HTML Composer module LDAP_DESC?= LDAP support for Mailnews MAILNEWS_DESC?= Mail and News modules .include "${.CURDIR}/../../www/firefox/Makefile.options" -OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/OSS/ALSA/} +# OSS is gone after bug 852401 +OPTIONS_SINGLE_AUDIO:=${OPTIONS_SINGLE_AUDIO:S/OSS//} .include .if ${PORT_OPTIONS:MCHATZILLA} MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},irc .endif .include WRKSRC= ${WRKDIR}/comm-release MOZSRC:= ${WRKSRC}/mozilla XPI_LIBDIR= ${PREFIX}/lib/xpi .if ! ${PORT_OPTIONS:MMAILNEWS} -EXTRA_PATCHES+= ${FILESDIR}/extra-mailnews-patch-bridge-bridge.mk \ - ${FILESDIR}/extra-patch-configure.in +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-configure.in MOZ_OPTIONS+= --disable-ldap --disable-mailnews .else # mail and news desired, but not LDAP .if ! ${PORT_OPTIONS:MLDAP} MOZ_OPTIONS+= --disable-ldap --enable-mailnews .else MOZ_OPTIONS+= --enable-ldap --enable-mailnews .endif .if ${PORT_OPTIONS:MENIGMAIL} MASTER_SITES+= http://www.enigmail.net/download/source/:enigmail DISTFILES+= ${EM_DISTFILE}:enigmail RUN_DEPENDS+= gpg:${PORTSDIR}/security/gnupg EM_DISTNAME= enigmail-${EM_VERSION} EM_DISTFILE= ${EM_DISTNAME}.tar.gz EM_XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/bin/${EM_DISTNAME}-freebsd-${ARCH:S/amd64/x86_64/}.xpi EM_ORIG_ID= {847b3a00-7ab1-11d4-8f02-006008948af5} EM_ID= ${PORTNAME}@mozilla-enigmail.org EM_ID_RFILES= ${XPI_LIBDIR}/${EM_ID}/install.rdf \ ${XPI_LIBDIR}/${EM_ID}/components/enigmail.js \ ${XPI_LIBDIR}/${EM_ID}/modules/enigmailCommon.jsm -EXTRA_PATCHES+= ${FILESDIR}/extrapatch-enigmail-ipc-src-Makefile .endif .endif .if ! ${PORT_OPTIONS:MCOMPOSER} MOZ_OPTIONS+= --disable-composer .endif .if ${PORT_OPTIONS:MLIGHTNING} MOZ_OPTIONS+= --enable-calendar MOZ_MK_OPTIONS+= MOZ_CO_PROJECT=calendar LIGHTNING_DIR= share/lightning XPI_FILE= ${MOZ_OBJDIR}/mozilla/dist/xpi-stage/lightning-${L_VERSION}.en-US.freebsd${OSREL}-${ARCH:S/amd64/x86_64/}.xpi XPI_ORIG_ID= {e2fda1a4-762b-4020-b5ad-a41df1933103} XPI_ID= lightning@seamonkey.mozilla.org .else MOZ_OPTIONS+= --disable-calendar .endif .if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} post-extract: @${TAR} -xf ${_DISTDIR}/${EM_DISTFILE} \ -C ${WRKSRC}/mailnews/extensions .endif post-patch: @${REINPLACE_CMD} -e '/MOZPNG/s/=[0-9]*/=10511/' \ - -e '/^SQLITE_VERSION/s/=.*/=3.7.14.1/' \ ${MOZSRC}/configure.in ${WRKSRC}/configure.in @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/suite/app/nsSuiteApp.cpp @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \ ${WRKSRC}/mozilla/modules/libpref/src/init/all.js @${SED} -e 's|%%MOZILLA%%|${MOZILLA}|g' \ < ${FILESDIR}/seamonkey.desktop.in > \ ${WRKDIR}/${MOZILLA}.desktop .if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} @${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},' \ ${WRKSRC}/mailnews/extensions/enigmail/makemake @${REINPLACE_CMD} -e '/^xpi/s/$$/ all/' \ -e '/^XPI_MODULE_VERS/s/= .*/= ${EM_VERSION}/' \ ${WRKSRC}/mailnews/extensions/enigmail/Makefile.in @${REINPLACE_CMD} -e '/em:version/s,>[^<]*<,>${EM_VERSION}<,' \ -e '/em:maxVersion/s/pre//' \ ${WRKSRC}/mailnews/extensions/enigmail/package/install.rdf .endif pre-configure: (cd ${WRKSRC} && ${AUTOCONF}) (cd ${MOZSRC} && ${AUTOCONF}) (cd ${MOZSRC}/js/src/ && ${AUTOCONF}) .if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} post-build: cd ${WRKSRC}/mailnews/extensions/enigmail && \ ./makemake -r -o ${MOZ_OBJDIR} ${SETENV} ${MAKE_ENV} ${GMAKE} ${_MAKE_JOBS} all xpi \ -C ${MOZ_OBJDIR}/mailnews/extensions/enigmail .endif port-pre-install: ${ECHO_CMD} share/applications/${MOZILLA}.desktop >> ${PLIST} ${ECHO_CMD} "@dirrmtry share/applications" >> ${PLISTD} ${ECHO_CMD} 'share/pixmaps/${MOZILLA}.png' >> ${PLIST} post-install: ${MKDIR} ${PREFIX}/share/applications ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${PREFIX}/share/applications/ ${LN} -sf ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default48.png \ ${PREFIX}/share/pixmaps/${MOZILLA}.png .if ${PORT_OPTIONS:MLIGHTNING} @${MKDIR} ${XPI_LIBDIR}/${XPI_ID} ${XPI_LIBDIR}/symlinks/seamonkey @(cd ${XPI_LIBDIR}/${XPI_ID}; ${TAR} -xf ${XPI_FILE}) @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${XPI_LIBDIR}/${XPI_ID} @${REINPLACE_CMD} -i "" "s/${XPI_ORIG_ID}/${XPI_ID}/" ${XPI_LIBDIR}/${XPI_ID}/install.rdf @${CHMOD} -R a+rX,go-w ${XPI_LIBDIR}/${XPI_ID} @${LN} -sf ${XPI_LIBDIR}/${XPI_ID} ${LOCALBASE}/lib/seamonkey/extensions 2>/dev/null || true @${LN} -sf ${XPI_LIBDIR}/${XPI_ID} ${XPI_LIBDIR}/symlinks/seamonkey 2>/dev/null || true @(cd ${XPI_LIBDIR}; ${FIND} ${XPI_ID} -not -type d) | ${SORT} | \ ${SED} -ne 's,^,lib/xpi/,p' >> ${TMPPLIST} @${ECHO_CMD} 'lib/xpi/symlinks/seamonkey/${XPI_ID}' >> ${TMPPLIST} @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${XPI_ID} ${LOCALBASE}/lib/seamonkey/extensions 2>/dev/null || true' >> ${TMPPLIST} @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/seamonkey/extensions/${XPI_ID}' >> ${TMPPLIST} @(cd ${XPI_LIBDIR}; ${FIND} ${XPI_ID} -type d) | ${SORT} -r | \ ${SED} -ne 's,^,@dirrm lib/xpi/,p' >> ${TMPPLIST} .endif .if ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} @${MKDIR} ${XPI_LIBDIR}/${EM_ID} ${XPI_LIBDIR}/symlinks/${PORTNAME} @(cd ${XPI_LIBDIR}/${EM_ID}; ${TAR} -xf ${EM_XPI_FILE}) @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${XPI_LIBDIR}/${EM_ID} @${REINPLACE_CMD} -i "" "s/${EM_ORIG_ID}/${EM_ID}/" ${EM_ID_RFILES} @${CHMOD} -R a+rX,go-w ${XPI_LIBDIR}/${EM_ID} @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true @${LN} -sf ${XPI_LIBDIR}/${EM_ID} ${XPI_LIBDIR}/symlinks/${PORTNAME} 2>/dev/null || true @(cd ${XPI_LIBDIR}; ${FIND} ${EM_ID} -not -type d) | ${SORT} | \ ${SED} -ne 's,^,lib/xpi/,p' >> ${TMPPLIST} @${ECHO_CMD} 'lib/xpi/symlinks/${PORTNAME}/${EM_ID}' >> ${TMPPLIST} @${ECHO_CMD} '@exec ${LN} -sf %D/lib/xpi/${EM_ID} ${LOCALBASE}/lib/${PORTNAME}/extensions 2>/dev/null || true' >> ${TMPPLIST} @${ECHO_CMD} '@unexec ${RM} -f ${LOCALBASE}/lib/${PORTNAME}/extensions/${EM_ID}' >> ${TMPPLIST} @(cd ${XPI_LIBDIR}; ${FIND} ${EM_ID} -type d) | ${SORT} -r | \ ${SED} -ne 's,^,@dirrm lib/xpi/,p' >> ${TMPPLIST} .endif .if ${PORT_OPTIONS:MLIGHTNING} || ${PORT_OPTIONS:MMAILNEWS} && ${PORT_OPTIONS:MENIGMAIL} @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks/${PORTNAME} 2>/dev/null || true' >> ${TMPPLIST} @${ECHO_CMD} '@unexec rmdir %D/lib/xpi/symlinks 2>/dev/null || true' >> ${TMPPLIST} @${ECHO_CMD} '@unexec rmdir %D/lib/xpi 2>/dev/null || true' >> ${TMPPLIST} .endif .include Index: head/www/seamonkey/distinfo =================================================================== --- head/www/seamonkey/distinfo (revision 322291) +++ head/www/seamonkey/distinfo (revision 322292) @@ -1,4 +1,4 @@ -SHA256 (seamonkey-2.17.1.source.tar.bz2) = 7795c181acd1c5d96c170fe5a43c3e9cae9f968007fcc0643b4996f9ec94b9bd -SIZE (seamonkey-2.17.1.source.tar.bz2) = 122794219 -SHA256 (enigmail-1.5.1.tar.gz) = 234ca3c8f7c74afb64ebdaa4762e358f35a72c1f8de007b992497fc2db803af0 -SIZE (enigmail-1.5.1.tar.gz) = 1213954 +SHA256 (seamonkey-2.19.source.tar.bz2) = 3d05fc6af5a6bb7c30da38b7dfc32b68c6d8e3ab3257545e6605aa4d682abb46 +SIZE (seamonkey-2.19.source.tar.bz2) = 136076805 +SHA256 (enigmail-1.5.2.tar.gz) = 0f6b4313f8400242c1c479b0329375122acc4a4e43e5065fbc9e00adbfc42895 +SIZE (enigmail-1.5.2.tar.gz) = 1211342 Index: head/www/seamonkey/files/patch-bug836824 =================================================================== --- head/www/seamonkey/files/patch-bug836824 (revision 322291) +++ head/www/seamonkey/files/patch-bug836824 (nonexistent) @@ -1,33 +0,0 @@ -commit 35107a0 (HEAD) -Author: Paul Adenot -Date: Mon Feb 4 20:21:19 2013 +0100 - - Bug 836824 - libsoundtouch fails to build due to __get_cpuid() invocation, if you don't have xcode command line tools. r= ---- - media/libsoundtouch/moz-libsoundtouch.patch | 24 ++++++++++++++++++++++++ - media/libsoundtouch/src/cpu_detect_x86.cpp | 5 ++++- - 2 files changed, 28 insertions(+), 1 deletion(-) - -diff --git media/libsoundtouch/src/cpu_detect_x86.cpp media/libsoundtouch/src/cpu_detect_x86.cpp -index a42008e..7a31aa9 100644 ---- mozilla/media/libsoundtouch/src/cpu_detect_x86.cpp -+++ mozilla/media/libsoundtouch/src/cpu_detect_x86.cpp -@@ -101,7 +101,7 @@ uint detectCPUextensions(void) - - uint res = 0; - --#if defined(__GNUC__) -+#if defined(__GNUC__) && defined(HAVE_CPUID_H) - // GCC version of cpuid. Requires GCC 4.3.0 or later for __cpuid intrinsic support. - uint eax, ebx, ecx, edx; // unsigned int is the standard type. uint is defined by the compiler and not guaranteed to be portable. - -@@ -112,6 +112,9 @@ uint detectCPUextensions(void) - if (edx & bit_SSE) res = res | SUPPORT_SSE; - if (edx & bit_SSE2) res = res | SUPPORT_SSE2; - -+#elif defined(__GNUC__) -+ // No cpuid.h --> no cpuid support -+ return 0; - #else - // Window / VS version of cpuid. Notice that Visual Studio 2005 or later required - // for __cpuid intrinsic support. Property changes on: head/www/seamonkey/files/patch-bug836824 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-bug685258 =================================================================== --- head/www/seamonkey/files/patch-bug685258 (revision 322291) +++ head/www/seamonkey/files/patch-bug685258 (nonexistent) @@ -1,17 +0,0 @@ -# HG changeset patch -# User Oleg Romashin -# Parent a2291c212856ad27622416e83c8311b6a33b52f1 -Bug 685258 - Pulse audio backend does not check provided playback and crashes r=derf - -diff --git a/content/media/AudioStream.cpp b/content/media/AudioStream.cpp ---- mozilla/content/media/AudioStream.cpp -+++ mozilla/content/media/AudioStream.cpp -@@ -429,7 +429,7 @@ nsresult nsNativeAudioStream::Init(PRInt32 aNumChannels, PRInt32 aRate, SampleFo - mFormat = aFormat; - - if (sa_stream_create_pcm(reinterpret_cast(&mAudioHandle), -- NULL, -+ "Mozilla", - SA_MODE_WRONLY, - SA_PCM_FORMAT_S16_NE, - aRate, Property changes on: head/www/seamonkey/files/patch-bug685258 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-bug854936 =================================================================== --- head/www/seamonkey/files/patch-bug854936 (revision 322291) +++ head/www/seamonkey/files/patch-bug854936 (nonexistent) @@ -1,22 +0,0 @@ ---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp~ -+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp -@@ -9,7 +9,7 @@ - #include "xptc_gcc_x86_unix.h" - - extern "C" { --static void ATTRIBUTE_USED __attribute__ ((regparm(3))) -+void ATTRIBUTE_USED __attribute__ ((regparm(3))) - invoke_copy_to_stack(uint32_t paramCount, nsXPTCVariant* s, uint32_t* d) - { - for(uint32_t i = paramCount; i >0; i--, d++, s++) ---- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp~ -+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_gcc_x86_unix.cpp -@@ -10,7 +10,7 @@ - #include "xptc_gcc_x86_unix.h" - - extern "C" { --static nsresult ATTRIBUTE_USED -+nsresult ATTRIBUTE_USED - __attribute__ ((regparm (3))) - PrepareAndDispatch(uint32_t methodIndex, nsXPTCStubBase* self, uint32_t* args) - { Property changes on: head/www/seamonkey/files/patch-bug854936 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/extra-mailnews-patch-bridge-bridge.mk =================================================================== --- head/www/seamonkey/files/extra-mailnews-patch-bridge-bridge.mk (revision 322291) +++ head/www/seamonkey/files/extra-mailnews-patch-bridge-bridge.mk (nonexistent) @@ -1,11 +0,0 @@ ---- bridge/bridge.mk.orig 2012-03-13 06:23:10.000000000 +0100 -+++ bridge/bridge.mk 2012-03-14 12:28:03.000000000 +0100 -@@ -47,8 +47,10 @@ - APP_LIBXUL_DIRS += $(DEPTH)$(SUBDIR)/db/mork - #endif - -+ifdef disabled - APP_LIBXUL_DIRS += \ - $(DEPTH)$(SUBDIR)/mailnews \ - $(NULL) -+endif Property changes on: head/www/seamonkey/files/extra-mailnews-patch-bridge-bridge.mk ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -1 \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-bug824317 =================================================================== --- head/www/seamonkey/files/patch-bug824317 (revision 322291) +++ head/www/seamonkey/files/patch-bug824317 (nonexistent) @@ -1,14 +0,0 @@ -diff --git a/xpcom/string/public/nsAlgorithm.h b/xpcom/string/public/nsAlgorithm.h -index fa50194a..c5f5737 100644 ---- mozilla/xpcom/string/public/nsAlgorithm.h -+++ mozilla/xpcom/string/public/nsAlgorithm.h -@@ -42,7 +42,8 @@ NS_MAX( const T& a, const T& b ) - return a > b ? a : b; - } - --#if defined(_MSC_VER) && (_MSC_VER < 1600) -+#if (defined(_MSC_VER) && (_MSC_VER < 1600)) || \ -+ (defined(_GLIBCXX_USE_LONG_LONG) && (!_GLIBCXX_USE_C99 || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC)) - namespace std { - inline - long long Property changes on: head/www/seamonkey/files/patch-bug824317 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-mozilla-media-libsydneyaudio-src-sydney_audio_oss.c =================================================================== --- head/www/seamonkey/files/patch-mozilla-media-libsydneyaudio-src-sydney_audio_oss.c (revision 322291) +++ head/www/seamonkey/files/patch-mozilla-media-libsydneyaudio-src-sydney_audio_oss.c (nonexistent) @@ -1,13 +0,0 @@ ---- mozilla/media/libsydneyaudio/src/sydney_audio_oss.c~ -+++ mozilla/media/libsydneyaudio/src/sydney_audio_oss.c -@@ -446,6 +446,10 @@ static void audio_callback(void* data) - printf("!"); /* not enough audio data */ - #endif - bytes = bytes-bytes_to_copy; -+ struct timespec ts = {0, 1000000}; -+ pthread_mutex_unlock(&s->mutex); -+ nanosleep(&ts, NULL); -+ pthread_mutex_lock(&s->mutex); - break; - } - free(s->bl_head); Property changes on: head/www/seamonkey/files/patch-mozilla-media-libsydneyaudio-src-sydney_audio_oss.c ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -1 \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-clang33 =================================================================== --- head/www/seamonkey/files/patch-clang33 (revision 322291) +++ head/www/seamonkey/files/patch-clang33 (nonexistent) @@ -1,34 +0,0 @@ ---- mozilla/js/src/jspropertycacheinlines.h~ -+++ mozilla/js/src/jspropertycacheinlines.h -@@ -32,7 +32,7 @@ JS_ALWAYS_INLINE void - js::PropertyCache::test(JSContext *cx, jsbytecode *pc, JSObject **obj, - JSObject **pobj, PropertyCacheEntry **entry, PropertyName **name) - { -- AutoAssertNoGC nogc; -+ js::AutoAssertNoGC nogc; - - JS_ASSERT(this == &cx->propertyCache()); - -@@ -65,7 +65,7 @@ JS_ALWAYS_INLINE bool - js::PropertyCache::testForSet(JSContext *cx, jsbytecode *pc, JSObject *obj, - PropertyCacheEntry **entryp, JSObject **obj2p, PropertyName **namep) - { -- AutoAssertNoGC nogc; -+ js::AutoAssertNoGC nogc; - - JS_ASSERT(this == &cx->propertyCache()); - ---- mozilla/js/src/vm/ObjectImpl-inl.h.orig 2013-03-26 23:17:49.000000000 +0100 -+++ mozilla/js/src/vm/ObjectImpl-inl.h 2013-04-15 13:24:59.885671177 +0200 -@@ -212,9 +212,9 @@ - JSCompartment *comp = compartment(); - uint32_t offset = start; - for (HeapSlot *sp = fixedStart; sp < fixedEnd; sp++) -- sp->init(comp, this->asObjectPtr(), offset++, UndefinedValue()); -+ sp->init(comp, this->asObjectPtr(), offset++, js::UndefinedValue()); - for (HeapSlot *sp = slotsStart; sp < slotsEnd; sp++) -- sp->init(comp, this->asObjectPtr(), offset++, UndefinedValue()); -+ sp->init(comp, this->asObjectPtr(), offset++, js::UndefinedValue()); - } - - inline bool Property changes on: head/www/seamonkey/files/patch-clang33 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-bug828003 =================================================================== --- head/www/seamonkey/files/patch-bug828003 (revision 322291) +++ head/www/seamonkey/files/patch-bug828003 (nonexistent) @@ -1,36 +0,0 @@ ---- mozilla/gfx/qcms/qcmstypes.h -+++ mozilla/gfx/qcms/qcmstypes.h -@@ -7,30 +7,12 @@ - #include "mozilla/StandardInteger.h" - - /* prtypes.h defines IS_LITTLE_ENDIAN and IS_BIG ENDIAN */ -+/* StandardInteger.h defines int*_t and uintptr_t */ - --#if defined (__SVR4) && defined (__sun) --/* int_types.h gets included somehow, so avoid redefining the types differently */ --#include --#elif defined (_AIX) -+#if defined(_AIX) - #include --#elif defined(__OpenBSD__) --#include --#elif !defined(ANDROID) --typedef int8_t int8_t; --typedef uint8_t uint8_t; --typedef int16_t int16_t; --typedef uint16_t uint16_t; --typedef int32_t int32_t; --typedef uint32_t uint32_t; --typedef int64_t int64_t; --typedef uint64_t uint64_t; -- --#ifdef __OS2__ --/* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */ -+#elif defined(__OS2__) - #include --#elif !defined(__intptr_t_defined) && !defined(_UINTPTR_T_DEFINED) --typedef unsigned long uintptr_t; --#endif - #endif - - #else // MOZ_QCMS Property changes on: head/www/seamonkey/files/patch-bug828003 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-bug827521 =================================================================== --- head/www/seamonkey/files/patch-bug827521 (revision 322291) +++ head/www/seamonkey/files/patch-bug827521 (nonexistent) @@ -1,147 +0,0 @@ -commit ab46441 -Author: Graeme McCutcheon -Date: Thu Jan 10 14:37:30 2013 +0000 - - Bug 827521 - Work around spurious operator ambiguity errors in buggy versions of Clang. r=longsonr ---- - .../svg/content/src/SVGAnimatedPreserveAspectRatio.cpp | 17 ++++++++--------- - .../svg/content/src/SVGAnimatedPreserveAspectRatio.h | 7 +++---- - content/svg/content/src/SVGPreserveAspectRatio.h | 17 +++++++++++++---- - 3 files changed, 24 insertions(+), 17 deletions(-) - -diff --git content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp -index 6593461..56956b2 100644 ---- mozilla/content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp -+++ mozilla/content/svg/content/src/SVGAnimatedPreserveAspectRatio.cpp -@@ -54,7 +54,7 @@ GetAlignForString(const nsAString &aAlignString) - { - for (uint32_t i = 0 ; i < ArrayLength(sAlignStrings) ; i++) { - if (aAlignString.EqualsASCII(sAlignStrings[i])) { -- return (i + SVG_PRESERVEASPECTRATIO_NONE); -+ return (i + SVG_ALIGN_MIN_VALID); - } - } - -@@ -65,12 +65,11 @@ static void - GetAlignString(nsAString& aAlignString, uint16_t aAlign) - { - NS_ASSERTION( -- aAlign >= SVG_PRESERVEASPECTRATIO_NONE && -- aAlign <= SVG_PRESERVEASPECTRATIO_XMAXYMAX, -+ aAlign >= SVG_ALIGN_MIN_VALID && aAlign <= SVG_ALIGN_MAX_VALID, - "Unknown align"); - - aAlignString.AssignASCII( -- sAlignStrings[aAlign - SVG_PRESERVEASPECTRATIO_NONE]); -+ sAlignStrings[aAlign - SVG_ALIGN_MIN_VALID]); - } - - static uint16_t -@@ -78,7 +77,7 @@ GetMeetOrSliceForString(const nsAString &aMeetOrSlice) - { - for (uint32_t i = 0 ; i < ArrayLength(sMeetOrSliceStrings) ; i++) { - if (aMeetOrSlice.EqualsASCII(sMeetOrSliceStrings[i])) { -- return (i + SVG_MEETORSLICE_MEET); -+ return (i + SVG_MEETORSLICE_MIN_VALID); - } - } - -@@ -89,12 +88,12 @@ static void - GetMeetOrSliceString(nsAString& aMeetOrSliceString, uint16_t aMeetOrSlice) - { - NS_ASSERTION( -- aMeetOrSlice >= SVG_MEETORSLICE_MEET && -- aMeetOrSlice <= SVG_MEETORSLICE_SLICE, -+ aMeetOrSlice >= SVG_MEETORSLICE_MIN_VALID && -+ aMeetOrSlice <= SVG_MEETORSLICE_MAX_VALID, - "Unknown meetOrSlice"); - - aMeetOrSliceString.AssignASCII( -- sMeetOrSliceStrings[aMeetOrSlice - SVG_MEETORSLICE_MEET]); -+ sMeetOrSliceStrings[aMeetOrSlice - SVG_MEETORSLICE_MIN_VALID]); - } - - already_AddRefed -@@ -226,7 +225,7 @@ SVGAnimatedPreserveAspectRatio::GetBaseValueString( - GetAlignString(tmpString, mBaseVal.mAlign); - aValueAsString.Append(tmpString); - -- if (mBaseVal.mAlign != SVG_PRESERVEASPECTRATIO_NONE) { -+ if (mBaseVal.mAlign != uint8_t(SVG_PRESERVEASPECTRATIO_NONE)) { - - aValueAsString.AppendLiteral(" "); - GetMeetOrSliceString(tmpString, mBaseVal.mMeetOrSlice); -diff --git content/svg/content/src/SVGAnimatedPreserveAspectRatio.h content/svg/content/src/SVGAnimatedPreserveAspectRatio.h -index 61cfba7..b08fb60 100644 ---- mozilla/content/svg/content/src/SVGAnimatedPreserveAspectRatio.h -+++ mozilla/content/svg/content/src/SVGAnimatedPreserveAspectRatio.h -@@ -42,8 +42,7 @@ public: - void SetBaseValue(const SVGPreserveAspectRatio &aValue, - nsSVGElement *aSVGElement); - nsresult SetBaseAlign(uint16_t aAlign, nsSVGElement *aSVGElement) { -- if (aAlign < SVG_PRESERVEASPECTRATIO_NONE || -- aAlign > SVG_PRESERVEASPECTRATIO_XMAXYMAX) { -+ if (aAlign < SVG_ALIGN_MIN_VALID || aAlign > SVG_ALIGN_MAX_VALID) { - return NS_ERROR_FAILURE; - } - SetBaseValue(SVGPreserveAspectRatio( -@@ -53,8 +52,8 @@ public: - return NS_OK; - } - nsresult SetBaseMeetOrSlice(uint16_t aMeetOrSlice, nsSVGElement *aSVGElement) { -- if (aMeetOrSlice < SVG_MEETORSLICE_MEET || -- aMeetOrSlice > SVG_MEETORSLICE_SLICE) { -+ if (aMeetOrSlice < SVG_MEETORSLICE_MIN_VALID || -+ aMeetOrSlice > SVG_MEETORSLICE_MAX_VALID) { - return NS_ERROR_FAILURE; - } - SetBaseValue(SVGPreserveAspectRatio( -diff --git content/svg/content/src/SVGPreserveAspectRatio.h content/svg/content/src/SVGPreserveAspectRatio.h -index 066ad52..ebe724e 100644 ---- mozilla/content/svg/content/src/SVGPreserveAspectRatio.h -+++ mozilla/content/svg/content/src/SVGPreserveAspectRatio.h -@@ -28,6 +28,11 @@ enum SVGAlign MOZ_ENUM_TYPE(uint8_t) { - SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10 - }; - -+// These constants represent the range of valid enum values for the -+// parameter. They exclude the sentinel _UNKNOWN value. -+const uint16_t SVG_ALIGN_MIN_VALID = SVG_PRESERVEASPECTRATIO_NONE; -+const uint16_t SVG_ALIGN_MAX_VALID = SVG_PRESERVEASPECTRATIO_XMAXYMAX; -+ - // Meet-or-slice Types - enum SVGMeetOrSlice MOZ_ENUM_TYPE(uint8_t) { - SVG_MEETORSLICE_UNKNOWN = 0, -@@ -35,6 +40,11 @@ enum SVGMeetOrSlice MOZ_ENUM_TYPE(uint8_t) { - SVG_MEETORSLICE_SLICE = 2 - }; - -+// These constants represent the range of valid enum values for the -+// parameter. They exclude the sentinel _UNKNOWN value. -+const uint16_t SVG_MEETORSLICE_MIN_VALID = SVG_MEETORSLICE_MEET; -+const uint16_t SVG_MEETORSLICE_MAX_VALID = SVG_MEETORSLICE_SLICE; -+ - class SVGAnimatedPreserveAspectRatio; - - class SVGPreserveAspectRatio MOZ_FINAL -@@ -57,8 +67,7 @@ public: - {} - - nsresult SetAlign(uint16_t aAlign) { -- if (aAlign < SVG_PRESERVEASPECTRATIO_NONE || -- aAlign > SVG_PRESERVEASPECTRATIO_XMAXYMAX) -+ if (aAlign < SVG_ALIGN_MIN_VALID || aAlign > SVG_ALIGN_MAX_VALID) - return NS_ERROR_FAILURE; - mAlign = static_cast(aAlign); - return NS_OK; -@@ -69,8 +78,8 @@ public: - } - - nsresult SetMeetOrSlice(uint16_t aMeetOrSlice) { -- if (aMeetOrSlice < SVG_MEETORSLICE_MEET || -- aMeetOrSlice > SVG_MEETORSLICE_SLICE) -+ if (aMeetOrSlice < SVG_MEETORSLICE_MIN_VALID || -+ aMeetOrSlice > SVG_MEETORSLICE_MAX_VALID) - return NS_ERROR_FAILURE; - mMeetOrSlice = static_cast(aMeetOrSlice); - return NS_OK; Property changes on: head/www/seamonkey/files/patch-bug827521 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/extrapatch-enigmail-ipc-src-Makefile =================================================================== --- head/www/seamonkey/files/extrapatch-enigmail-ipc-src-Makefile (revision 322291) +++ head/www/seamonkey/files/extrapatch-enigmail-ipc-src-Makefile (nonexistent) @@ -1,66 +0,0 @@ ---- mailnews/extensions/enigmail/ipc/src/Makefile.enig~ -+++ mailnews/extensions/enigmail/ipc/src/Makefile.enig -@@ -19,26 +19,26 @@ endif - - ifeq ($(OS_ARCH),NetBSD) - ifeq ($(DLL_SUFFIX),.so.1.0) --LDFLAGS += -Wl,-Bsymbolic -+LDFLAGS += -shared -Wl,-Bsymbolic - CFLAGS += -fPIC - endif - endif - - ifeq ($(OS_ARCH),FreeBSD) --LDFLAGS += -Wl,-Bsymbolic -+LDFLAGS += -shared -Wl,-Bsymbolic - CFLAGS += -fPIC - endif - - ifeq ($(OS_ARCH),HP-UX) - ifeq ($(GNU_CC)$(GNU_CXX),) --LDFLAGS += -Wl,-Bsymbolic -+LDFLAGS += -shared -Wl,-Bsymbolic - CFLAGS += -fPIC - endif - endif - - ifeq ($(OS_ARCH),OSF1) - ifeq ($(GNU_CC)$(GNU_CXX),) --LDFLAGS += -B symbolic -+LDFLAGS += -shared -B symbolic - CFLAGS += -fPIC - endif - endif ---- mailnews/extensions/enigmail/ipc/src/Makefile.in~ -+++ mailnews/extensions/enigmail/ipc/src/Makefile.in -@@ -19,26 +19,26 @@ endif - - ifeq ($(OS_ARCH),NetBSD) - ifeq ($(DLL_SUFFIX),.so.1.0) --LDFLAGS += -Wl,-Bsymbolic -+LDFLAGS += -shared -Wl,-Bsymbolic - CFLAGS += -fPIC - endif - endif - - ifeq ($(OS_ARCH),FreeBSD) --LDFLAGS += -Wl,-Bsymbolic -+LDFLAGS += -shared -Wl,-Bsymbolic - CFLAGS += -fPIC - endif - - ifeq ($(OS_ARCH),HP-UX) - ifeq ($(GNU_CC)$(GNU_CXX),) --LDFLAGS += -Wl,-Bsymbolic -+LDFLAGS += -shared -Wl,-Bsymbolic - CFLAGS += -fPIC - endif - endif - - ifeq ($(OS_ARCH),OSF1) - ifeq ($(GNU_CC)$(GNU_CXX),) --LDFLAGS += -B symbolic -+LDFLAGS += -shared -B symbolic - CFLAGS += -fPIC - endif - endif Property changes on: head/www/seamonkey/files/extrapatch-enigmail-ipc-src-Makefile ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-bug780432 =================================================================== --- head/www/seamonkey/files/patch-bug780432 (revision 322291) +++ head/www/seamonkey/files/patch-bug780432 (nonexistent) @@ -1,17 +0,0 @@ -diff --git media/libsydneyaudio/src/Makefile.in media/libsydneyaudio/src/Makefile.in -index 8dda8ce..b19641d 100644 ---- mozilla/media/libsydneyaudio/src/Makefile.in -+++ mozilla/media/libsydneyaudio/src/Makefile.in -@@ -68,6 +68,12 @@ ifdef MOZ_ALSA - $(NULL) - endif - -+ifdef MOZ_PULSEAUDIO -+CSRCS = \ -+ sydney_audio_pulseaudio.c \ -+ $(NULL) -+endif -+ - ifeq ($(OS_ARCH),WINNT) - OS_LIBS += winmm.lib - endif Property changes on: head/www/seamonkey/files/patch-bug780432 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/www/seamonkey/files/extra-bug780531 =================================================================== --- head/www/seamonkey/files/extra-bug780531 (revision 322291) +++ head/www/seamonkey/files/extra-bug780531 (revision 322292) @@ -1,13 +1,24 @@ --- mozilla/configure.in~ +++ mozilla/configure.in -@@ -5151,8 +5148,8 @@ fi +@@ -5364,15 +5364,18 @@ AC_SUBST(MOZ_SRTP) - AC_SUBST(MOZ_WEBRTC) - --case "$target_cpu" in --arm*) + dnl Use integers over floats for audio on B2G and Android, because audio + dnl backends for those platforms don't support floats. +-if test "$OS_TARGET" = "Android"; then +case "$target" in -+arm-*-linux*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*) ++*-android*|*-linuxandroid*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*) MOZ_SAMPLE_TYPE_S16=1 AC_DEFINE(MOZ_SAMPLE_TYPE_S16) AC_SUBST(MOZ_SAMPLE_TYPE_S16) +-else ++;; ++*) + MOZ_SAMPLE_TYPE_FLOAT32=1 + AC_DEFINE(MOZ_SAMPLE_TYPE_FLOAT32) + AC_SUBST(MOZ_SAMPLE_TYPE_FLOAT32) +-fi ++;; ++esac + + dnl ======================================================== + dnl = Disable Speech API code Index: head/www/seamonkey/files/extra-mailnews-patch-bridge-bridge.mozbuild =================================================================== --- head/www/seamonkey/files/extra-mailnews-patch-bridge-bridge.mozbuild (nonexistent) +++ head/www/seamonkey/files/extra-mailnews-patch-bridge-bridge.mozbuild (revision 322292) @@ -0,0 +1,9 @@ +--- bridge/bridge.mozbuild.orig 2013-07-03 22:34:52.815960909 +0200 ++++ bridge/bridge.mozbuild 2013-07-03 22:34:28.504986226 +0200 +@@ -14,4 +14,6 @@ + if 'mork' in component_libs or CONFIG['MOZ_MORK']: + app_libxul_dirs += [bridge_reldir + 'db/mork'] + ++ifdef disabled + app_libxul_dirs += [bridge_reldir + 'mailnews'] ++endif Property changes on: head/www/seamonkey/files/extra-mailnews-patch-bridge-bridge.mozbuild ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/seamonkey/files/patch-bug807492 =================================================================== --- head/www/seamonkey/files/patch-bug807492 (revision 322291) +++ head/www/seamonkey/files/patch-bug807492 (revision 322292) @@ -1,2195 +1,1940 @@ diff --git config/system-headers config/system-headers index 9bd1efa..1095a01 100644 --- mozilla/config/system-headers +++ mozilla/config/system-headers @@ -1121,8 +1121,10 @@ gst/app/gstappsink.h gst/app/gstappsrc.h gst/video/video.h sys/msg.h sys/ipc.h sys/thr.h sys/user.h kvm.h spawn.h +err.h +xlocale.h diff --git configure.in configure.in index c167461..8346c11 100644 --- mozilla/configure.in +++ mozilla/configure.in -@@ -1449,16 +1449,27 @@ if test "$GNU_CC"; then - _SAVE_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS -mssse3" - 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_TOOLCHAIN_SUPPORT_MSSSE3) - -+ # Check for -msse4.1 on $CC -+ AC_MSG_CHECKING([if toolchain supports -msse4.1 option]) -+ HAVE_TOOLCHAIN_SUPPORT_MSSE4_1= -+ _SAVE_CFLAGS=$CFLAGS -+ CFLAGS="$CFLAGS -msse4.1" -+ AC_TRY_COMPILE([asm ("pmulld %xmm6,%xmm0");],,AC_MSG_RESULT([yes]) -+ [HAVE_TOOLCHAIN_SUPPORT_MSSE4_1=1], -+ AC_MSG_RESULT([no])) -+ CFLAGS=$_SAVE_CFLAGS -+ AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSE4_1) -+ - # Turn on GNU-specific warnings: - # -Wall - turn on a lot of warnings - # -pedantic - this is turned on below - # -Wpointer-arith - enabled with -pedantic, but good to have even if not - # -Wdeclaration-after-statement - MSVC doesn't like these - # -Werror=return-type - catches missing returns, zero false positives - # -Wtype-limits - catches overflow bugs, few false positives - # -Wempty-body - catches bugs, e.g. "if (c); foo();", few false positives -@@ -5259,17 +5270,17 @@ dnl Turn off webrtc for OS's we don't handle yet, but allow - dnl --enable-webrtc to override. Can disable for everything in - dnl the master list above. - if test -n "$MOZ_WEBRTC"; then - case "$target" in +@@ -5258,17 +5258,17 @@ if test -n "$MOZ_WEBRTC"; then *-android*|*-linuxandroid*) - dnl Make sure doesn't get matched by *-linux* - MOZ_WEBRTC= + if test -n "$MOZ_B2G"; then + MOZ_WEBRTC=1 + else + dnl Make sure doesn't get matched by *-linux* + MOZ_WEBRTC= + fi ;; - *-linux*|*-mingw*|*-darwin*) + *-linux*|*-mingw*|*-darwin*|*-dragonfly*|*-freebsd*|*-netbsd*|*-openbsd*) dnl Leave enabled ;; *) dnl default to disabled for all others MOZ_WEBRTC= ;; esac fi -@@ -9065,16 +9076,21 @@ elif test "${OS_TARGET}" = "Android"; then - EXTRA_GYP_DEFINES="-D gtest_target_type=executable -D android_toolchain=${android_toolchain} -G os=android " - if test -n "$ARM_ARCH" && test "$ARM_ARCH" -lt 7; then - EXTRA_GYP_DEFINES+=" -D armv7=0 " - else - EXTRA_GYP_DEFINES+=" -D armv7=1 " - fi - fi - -+# Don't try to compile sse4.1 code if toolchain doesn't support -+if test -z "$HAVE_TOOLCHAIN_SUPPORT_MSSE4_1"; then -+ EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D yuv_disable_asm=1" -+fi -+ - if test -n "$MOZ_WEBRTC"; then - AC_MSG_RESULT("generating WebRTC Makefiles...") - - dnl Any --include files must also appear in -D FORCED_INCLUDE_FILE= entries - dnl so that regeneration via dependencies works correctly - WEBRTC_CONFIG="-D build_with_mozilla=1 --include ${srcdir}/media/webrtc/webrtc_config.gypi -D FORCED_INCLUDE_FILE=${srcdir}/media/webrtc/webrtc_config.gypi" - - GYP_WEBRTC_OPTIONS="--format=mozmake ${WEBRTC_CONFIG} -D target_arch=${WEBRTC_TARGET_ARCH} ${EXTRA_GYP_DEFINES} --depth=${srcdir}/media/webrtc/trunk --toplevel-dir=${srcdir} -G OBJDIR=${_objdir}" diff --git js/src/config/system-headers js/src/config/system-headers index 9bd1efa..1095a01 100644 --- mozilla/js/src/config/system-headers +++ mozilla/js/src/config/system-headers @@ -1121,8 +1121,10 @@ gst/app/gstappsink.h gst/app/gstappsrc.h gst/video/video.h sys/msg.h sys/ipc.h sys/thr.h sys/user.h kvm.h spawn.h +err.h +xlocale.h diff --git media/mtransport/objs.mk media/mtransport/objs.mk index f1fc85f..141e8ca 100644 --- mozilla/media/mtransport/objs.mk +++ mozilla/media/mtransport/objs.mk @@ -18,22 +18,26 @@ LOCAL_INCLUDES += \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/util/libekr \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/log \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/registry \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/stats \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/plugin \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/event \ $(NULL) -ifeq ($(OS_TARGET), Darwin) +ifneq (,$(filter Darwin DragonFly FreeBSD NetBSD OpenBSD,$(OS_TARGET))) LOCAL_INCLUDES += \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/darwin/include \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/generic/include \ $(NULL) +ifeq ($(OS_TARGET), Darwin) DEFINES += -DDARWIN +else +DEFINES += -DBSD +endif endif ifeq ($(OS_TARGET), Linux) LOCAL_INCLUDES += \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/linux/include \ -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/generic/include \ $(NULL) DEFINES += -DLINUX diff --git media/mtransport/test/Makefile.in media/mtransport/test/Makefile.in index c1d5bf4..2ecf2c7 100644 --- mozilla/media/mtransport/test/Makefile.in +++ mozilla/media/mtransport/test/Makefile.in -@@ -67,22 +67,24 @@ DEFINES += -D__Userspace_os_FreeBSD=1 +@@ -73,22 +73,24 @@ DEFINES += -D__Userspace_os_FreeBSD=1 else #default_fallback; probably doesn't work DEFINES += -D__Userspace_os_$(OS_TARGET)=1 endif endif endif endif -ifeq ($(OS_TARGET), Darwin) +ifneq (,$(filter Darwin DragonFly FreeBSD NetBSD OpenBSD,$(OS_TARGET))) LOCAL_INCLUDES += -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/darwin/include +ifeq ($(OS_TARGET), Darwin) DEFINES += \ -DGTEST_USE_OWN_TR1_TUPLE=1 \ $(NULL) endif +endif ifeq ($(OS_TARGET), Linux) LOCAL_INCLUDES += -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/linux/include endif ifeq ($(OS_TARGET), Android) LOCAL_INCLUDES += -I$(topsrcdir)/media/mtransport/third_party/nrappkit/src/port/android/include diff --git media/mtransport/third_party/nICEr/nicer.gyp media/mtransport/third_party/nICEr/nicer.gyp index 0e1f8b4..9a4b995 100644 --- mozilla/media/mtransport/third_party/nICEr/nicer.gyp +++ mozilla/media/mtransport/third_party/nICEr/nicer.gyp -@@ -124,26 +124,36 @@ +@@ -126,26 +126,36 @@ 'R_DEFINED_UINT2=uint16_t', 'R_DEFINED_INT4=int32_t', 'R_DEFINED_UINT4=uint32_t', 'R_DEFINED_INT8=int64_t', 'R_DEFINED_UINT8=uint64_t', ], 'conditions' : [ - ## Mac + ## Mac and BSDs [ 'OS == "mac"', { + 'defines' : [ + 'DARWIN', + 'HAVE_XLOCALE', + ], + }], + [ 'os_bsd == 1', { + 'defines' : [ + 'BSD', + ], + }], + [ 'OS == "mac" or os_bsd == 1', { 'cflags_mozilla': [ '-Wall', '-Wno-parentheses', '-Wno-strict-prototypes', '-Wmissing-prototypes', ], 'defines' : [ - 'DARWIN', 'HAVE_LIBM=1', 'HAVE_STRDUP=1', 'HAVE_STRLCPY=1', 'HAVE_SYS_TIME_H=1', 'HAVE_VFPRINTF=1', 'NEW_STDIO' 'RETSIGTYPE=void', 'TIME_WITH_SYS_TIME_H=1', diff --git media/mtransport/third_party/nICEr/src/stun/addrs.c media/mtransport/third_party/nICEr/src/stun/addrs.c index b0b66b2..04fea94 100644 --- mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c +++ mozilla/media/mtransport/third_party/nICEr/src/stun/addrs.c @@ -50,17 +50,19 @@ static char *RCSSTRING __UNUSED__="$Id: addrs.c,v 1.2 2008/04/28 18:21:30 ekr Ex #else #include /* Work around an Android NDK < r8c bug */ #undef __unused #include #endif #include #ifndef LINUX +#if !defined(__OpenBSD__) && !defined(__NetBSD__) #include +#endif #include #include #include #else #include #endif #include @@ -75,17 +77,17 @@ static char *RCSSTRING __UNUSED__="$Id: addrs.c,v 1.2 2008/04/28 18:21:30 ekr Ex #include #endif /* UNIX */ #include "stun.h" #include "addrs.h" -#ifdef DARWIN +#if defined(BSD) || defined(DARWIN) /* * Copyright (c) 1983, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright @@ -685,17 +687,17 @@ nr_stun_remove_duplicate_addrs(nr_transport_addr addrs[], int remove_loopback, i } int nr_stun_get_addrs(nr_transport_addr addrs[], int maxaddrs, int drop_loopback, int *count) { int _status=0; int i; -#ifdef DARWIN +#if defined(BSD) || defined(DARWIN) _status = stun_get_mib_addrs(addrs, maxaddrs, count); #elif defined(WIN32) _status = stun_get_win32_addrs(addrs, maxaddrs, count); #elif defined(__sparc__) _status = stun_get_sparc_addrs(addrs, maxaddrs, count); #else _status = stun_get_siocgifconf_addrs(addrs, maxaddrs, count); #endif diff --git media/mtransport/third_party/nICEr/src/stun/stun.h media/mtransport/third_party/nICEr/src/stun/stun.h index a3c51f9..eb65ac8 100644 --- mozilla/media/mtransport/third_party/nICEr/src/stun/stun.h +++ mozilla/media/mtransport/third_party/nICEr/src/stun/stun.h @@ -36,21 +36,25 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifdef WIN32 #include #else #include #include #include #ifndef LINUX +#if !defined(__OpenBSD__) && !defined(__NetBSD__) #include +#endif #include #include #endif +#ifndef BSD #include +#endif #include #ifndef LINUX #include #endif #include #include #endif #include diff --git media/mtransport/third_party/nICEr/src/util/mbslen.c media/mtransport/third_party/nICEr/src/util/mbslen.c index cc260b7..66af2d7 100644 --- mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c +++ mozilla/media/mtransport/third_party/nICEr/src/util/mbslen.c @@ -38,50 +38,58 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include #include #include #include -#ifdef DARWIN + +#ifdef __FreeBSD__ +#include +# if __FreeBSD_version > 900505 +# define HAVE_XLOCALE +# endif +#endif + +#ifdef HAVE_XLOCALE #include -#endif /* DARWIN */ +#endif /* HAVE_XLOCALE */ #include "nr_api.h" #include "mbslen.h" /* get number of characters in a mult-byte character string */ int mbslen(const char *s, size_t *ncharsp) { -#ifdef DARWIN +#ifdef HAVE_XLOCALE static locale_t loc = 0; static int initialized = 0; -#endif /* DARWIN */ +#endif /* HAVE_XLOCALE */ #ifdef WIN32 char *my_locale=0; unsigned int i; #endif /* WIN32 */ int _status; size_t nbytes; int nchars; mbstate_t mbs; -#ifdef DARWIN +#ifdef HAVE_XLOCALE if (! initialized) { initialized = 1; loc = newlocale(LC_CTYPE_MASK, "UTF-8", LC_GLOBAL_LOCALE); } if (loc == 0) { /* unable to create the UTF-8 locale */ assert(loc != 0); /* should never happen */ -#endif /* DARWIN */ +#endif /* HAVE_XLOCALE */ #ifdef WIN32 if (!setlocale(LC_CTYPE, 0)) ABORT(R_INTERNAL); if (!(my_locale = r_strdup(setlocale(LC_CTYPE, 0)))) ABORT(R_NO_MEMORY); -@@ -93,28 +101,28 @@ mbslen(const char *s, size_t *ncharsp) - #else +@@ -94,28 +102,28 @@ mbslen(const char *s, size_t *ncharsp) /* can't count UTF-8 characters with mbrlen if the locale isn't UTF-8 */ /* null-checking setlocale is required because Android */ char *locale = setlocale(LC_CTYPE, 0); - if (!locale || !strcasestr(locale, "UTF-8")) + /* some systems use "utf8" instead of "UTF-8" like Fedora 17 */ + if (!locale || (!strcasestr(locale, "UTF-8") && !strcasestr(locale, "UTF8"))) ABORT(R_NOT_FOUND); #endif -#ifdef DARWIN +#ifdef HAVE_XLOCALE } -#endif /* DARWIN */ +#endif /* HAVE_XLOCALE */ memset(&mbs, 0, sizeof(mbs)); nchars = 0; -#ifdef DARWIN +#ifdef HAVE_XLOCALE while (*s != '\0' && (nbytes = mbrlen_l(s, strlen(s), &mbs, loc)) != 0) #else while (*s != '\0' && (nbytes = mbrlen(s, strlen(s), &mbs)) != 0) -#endif /* DARWIN */ +#endif /* HAVE_XLOCALE */ { if (nbytes == (size_t)-1) /* should never happen */ { - assert(0); ABORT(R_INTERNAL); - } + } if (nbytes == (size_t)-2) /* encoding error */ { - assert(0); ABORT(R_BAD_DATA); + } + diff --git media/mtransport/third_party/nrappkit/nrappkit.gyp media/mtransport/third_party/nrappkit/nrappkit.gyp index 3cc8e1c..74016c6 100644 --- mozilla/media/mtransport/third_party/nrappkit/nrappkit.gyp +++ mozilla/media/mtransport/third_party/nrappkit/nrappkit.gyp @@ -142,26 +142,35 @@ 'R_DEFINED_UINT2=uint16_t', 'R_DEFINED_INT4=int32_t', 'R_DEFINED_UINT4=uint32_t', 'R_DEFINED_INT8=int64_t', 'R_DEFINED_UINT8=uint64_t', ], 'conditions' : [ - ## Mac + ## Mac and BSDs [ 'OS == "mac"', { + 'defines' : [ + 'DARWIN', + ], + }], + [ 'os_bsd == 1', { + 'defines' : [ + 'BSD', + ], + }], + [ 'OS == "mac" or os_bsd == 1', { 'cflags_mozilla': [ '-Wall', '-Wno-parentheses', '-Wno-strict-prototypes', '-Wmissing-prototypes', ], 'defines' : [ - 'DARWIN', 'HAVE_LIBM=1', 'HAVE_STRDUP=1', 'HAVE_STRLCPY=1', 'HAVE_SYS_TIME_H=1', 'HAVE_VFPRINTF=1', 'NEW_STDIO' 'RETSIGTYPE=void', 'TIME_WITH_SYS_TIME_H=1', diff --git media/mtransport/third_party/nrappkit/src/log/r_log.c media/mtransport/third_party/nrappkit/src/log/r_log.c -index b25d5c2..b207b8c 100644 +index efb7ef2..aebf578 100644 --- mozilla/media/mtransport/third_party/nrappkit/src/log/r_log.c +++ mozilla/media/mtransport/third_party/nrappkit/src/log/r_log.c @@ -43,16 +43,17 @@ static char *RCSSTRING __UNUSED__ ="$Id: r_log.c,v 1.10 2008/11/25 22:25:18 adam #ifdef LINUX #define _BSD_SOURCE #endif #include "r_log.h" #include "hex.h" #include +#include #ifndef _MSC_VER #include #include #endif #include #include -diff --git media/mtransport/third_party/nrappkit/src/port/darwin/include/csi_platform.h media/mtransport/third_party/nrappkit/src/port/darwin/include/csi_platform.h -index 15452e3..2c9651a 100644 ---- mozilla/media/mtransport/third_party/nrappkit/src/port/darwin/include/csi_platform.h -+++ mozilla/media/mtransport/third_party/nrappkit/src/port/darwin/include/csi_platform.h -@@ -37,16 +37,21 @@ - */ - - - #ifndef _platform_h - #define _platform_h - - #include - -+#ifdef BSD -+/* Hack version of addr2ascii (in util/util.c) */ -+char *addr2ascii(int af, const void *addrp, int len,char *buf); -+#endif -+ - #define STDIO_BYTES_BUFFERED(fp) (fp->_r) - - #ifdef NR_SOCKET_IS_VOID_PTR - typedef void* NR_SOCKET; - #else - typedef int NR_SOCKET; - #define NR_SOCKET_READ(sock,buf,count) read((sock),(buf),(count)) - #define NR_SOCKET_WRITE(sock,buf,count) write((sock),(buf),(count)) diff --git media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h index bcb1ec0..bb73591 100644 --- mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h +++ mozilla/media/mtransport/third_party/nrappkit/src/port/generic/include/sys/queue.h @@ -33,7 +33,7 @@ #ifndef _SYS_QUEUE_H_ #define _SYS_QUEUE_H_ -#ifndef DARWIN +#if !defined(__FreeBSD__) && !defined(DARWIN) #include #define __offsetof offsetof #endif diff --git media/mtransport/third_party/nrappkit/src/util/util.c media/mtransport/third_party/nrappkit/src/util/util.c -index 3aced8b..be020bb 100644 +index a7d4ff1..ff11a60 100644 --- mozilla/media/mtransport/third_party/nrappkit/src/util/util.c +++ mozilla/media/mtransport/third_party/nrappkit/src/util/util.c -@@ -36,20 +36,24 @@ - ekr@rtfm.com Wed Dec 26 17:19:36 2001 - */ - - +@@ -40,16 +40,17 @@ static char *RCSSTRING __UNUSED__ ="$Id: util.c,v 1.5 2007/11/21 00:09:13 adamcain Exp $"; #ifndef WIN32 #include -+#include -+#include -+#include #include #include #endif #include +#include #include #include #ifdef OPENSSL #include #endif #include "nr_common.h" #include "r_common.h" #include "registry.h" -@@ -431,17 +435,17 @@ int nr_reg_uint8_fetch_and_check(NR_registry key, UINT8 min, UINT8 max, int log_ - abort: - if(die && _status){ - r_log(log_fac,LOG_CRIT,"Exiting due to invalid configuration (key '%s')",key); - exit(1); - } - return(_status); - } - --#if defined(LINUX) || defined(WIN32) -+#if defined(LINUX) || defined(BSD) || defined(WIN32) - /* Hack version of addr2ascii */ - char *addr2ascii(int af, const void *addrp, int len,char *buf) - { - static char buf2[256]; - char *ret; - struct in_addr *addr=(struct in_addr *)addrp; - - if (! buf) diff --git media/webrtc/signaling/signaling.gyp media/webrtc/signaling/signaling.gyp index 2a91e3d..31de641 100644 --- mozilla/media/webrtc/signaling/signaling.gyp +++ mozilla/media/webrtc/signaling/signaling.gyp @@ -212,16 +212,29 @@ 'SIPCC_BUILD', 'HAVE_WINSOCK2_H', 'CPR_STDINT_INCLUDE=\\"mozilla/StandardInteger.h\\"' ], 'cflags_mozilla': [ ], }], + ['os_bsd==1', { + 'include_dirs': [ + ], + 'defines': [ + # avoiding pointless ifdef churn + 'SIP_OS_OSX', + 'OSX', + 'SECLIB_OPENSSL', + ], + + 'cflags_mozilla': [ + ], + }], ['OS=="mac"', { 'include_dirs': [ ], 'defines': [ 'SIP_OS_OSX', 'OSX', '_FORTIFY_SOURCE=2', ], @@ -747,17 +760,17 @@ 'EXTERNAL_TICK_REQUIRED', 'GIPS_VER=3480', ], 'cflags_mozilla': [ ], }], - ['OS=="mac"', { + ['OS=="mac" or os_bsd==1', { 'include_dirs': [ ], 'sources': [ # SIPSTACK './src/sipcc/core/sipstack/sip_platform_task.c', @@ -792,24 +805,23 @@ './src/sipcc/cpr/darwin/cpr_darwin_timers_using_select.c', './src/sipcc/cpr/darwin/cpr_darwin_tst.h', './src/sipcc/cpr/darwin/cpr_darwin_types.h', ], 'defines' : [ 'SIP_OS_OSX', - '_POSIX_SOURCE', + # using BSD extensions, leave _POSIX_SOURCE undefined 'CPR_MEMORY_LITTLE_ENDIAN', 'NO_SOCKET_POLLING', 'USE_TIMER_SELECT_BASED', 'FULL_BUILD', 'STUBBED_OUT', 'USE_PRINTF', - '_DARWIN_C_SOURCE', 'NO_NSPR_10_SUPPORT', ], 'cflags_mozilla': [ ], }], ], diff --git media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c index a7c47e1..4f191de 100644 --- mozilla/media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c +++ mozilla/media/webrtc/signaling/src/sipcc/cpr/darwin/cpr_darwin_ipc.c @@ -317,21 +317,25 @@ cprGetMessage (cprMsgQueue_t msgQueue, boolean waitForever, void **ppUserData) { static const char fname[] = "cprGetMessage"; void *buffer = 0; cpr_msg_queue_t *msgq; cpr_msgq_node_t *node; struct timespec timeout; struct timeval tv; +#ifndef __APPLE__ + struct timezone tz; +#else // On the iPhone, there is a DarwinAlias problem with "timezone" struct _timezone { int tz_minuteswest; /* of Greenwich */ int tz_dsttime; /* type of dst correction to apply */ } tz; +#endif /* Initialize ppUserData */ if (ppUserData) { *ppUserData = NULL; } msgq = (cpr_msg_queue_t *) msgQueue; if (msgq == NULL) { diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in index a30e330..cfbd8a3 100644 --- mozilla/media/webrtc/signaling/test/Makefile.in +++ mozilla/media/webrtc/signaling/test/Makefile.in -@@ -22,17 +22,17 @@ LIBS = \ - $(DEPTH)/media/webrtc/signalingtest/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \ - $(DEPTH)/media/webrtc/signalingtest/signaling_sipcc/$(LIB_PREFIX)sipcc.$(LIB_SUFFIX) \ - $(DEPTH)/layout/media/$(LIB_PREFIX)gkmedias.$(LIB_SUFFIX) \ - $(DEPTH)/media/webrtc/trunk/testing/gtest_gtest/$(LIB_PREFIX)gtest.$(LIB_SUFFIX) \ - $(DEPTH)/netwerk/srtp/src/$(LIB_PREFIX)nksrtp_s.$(LIB_SUFFIX) \ - $(NULL) - - ifdef MOZ_SYDNEYAUDIO --ifeq ($(OS_TARGET),Linux) -+ifneq (,$(filter Linux DragonFly FreeBSD NetBSD OpenBSD,$(OS_TARGET))) - LIBS += \ - $(MOZ_ALSA_LIBS) \ - $(NULL) - endif - endif - - ifeq ($(OS_TARGET),Android) - LIBS += \ -@@ -76,17 +76,17 @@ endif +@@ -81,17 +81,17 @@ endif ifeq (qt,$(MOZ_WIDGET_TOOLKIT)) LIBS += \ $(XLIBS) \ $(TK_LIBS) \ $(MOZ_PANGO_LIBS) \ $(NULL) endif -ifeq ($(OS_TARGET),Linux) +ifneq (,$(filter Linux DragonFly FreeBSD NetBSD OpenBSD,$(OS_TARGET))) LIBS += \ $(MOZ_CAIRO_OSLIBS) \ $(NULL) endif ifeq ($(OS_TARGET),Darwin) LIBS += \ -framework AudioToolbox \ -diff --git media/webrtc/trunk/build/common.gypi media/webrtc/trunk/build/common.gypi -index 6ca2f70..5d261cb 100644 ---- mozilla/media/webrtc/trunk/build/common.gypi -+++ mozilla/media/webrtc/trunk/build/common.gypi -@@ -75,22 +75,31 @@ - # ash. This rule should be removed for the future when Windows is - # using the aura windows without the ash interface. - ['use_aura==1 and OS=="win"', { - 'use_ash%': 1, - }], - ['use_ash==1', { - 'use_aura%': 1, - }], -+ -+ # A flag for BSD platforms -+ ['OS=="dragonfly" or OS=="freebsd" or OS=="netbsd" or \ -+ OS=="openbsd"', { -+ 'os_bsd%': 1, -+ }, { -+ 'os_bsd%': 0, -+ }], - ], - }, - # Copy conditionally-set variables out one scope. - 'chromeos%': '<(chromeos)', - 'use_aura%': '<(use_aura)', - 'use_ash%': '<(use_ash)', -+ 'os_bsd%': '<(os_bsd)', - 'use_openssl%': '<(use_openssl)', - 'use_ibus%': '<(use_ibus)', - 'enable_viewport%': '<(enable_viewport)', - 'enable_hidpi%': '<(enable_hidpi)', - 'enable_touch_ui%': '<(enable_touch_ui)', - 'android_upstream_bringup%': '<(android_upstream_bringup)', - 'buildtype%': '<(buildtype)', - -@@ -114,17 +123,17 @@ - # Set default value of toolkit_views based on OS. - ['OS=="win" or chromeos==1 or use_aura==1', { - 'toolkit_views%': 1, - }, { - 'toolkit_views%': 0, - }], - - # Set toolkit_uses_gtk for the Chromium browser on Linux. -- ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris") and use_aura==0', { -+ ['(OS=="linux" or OS=="solaris" or os_bsd==1) and use_aura==0', { - 'toolkit_uses_gtk%': 1, - }, { - 'toolkit_uses_gtk%': 0, - }], - - # Enable HiDPI on Mac OS and Chrome OS. - ['OS=="mac" or chromeos==1', { - 'enable_hidpi%': 1, -@@ -139,16 +148,17 @@ - - # Copy conditionally-set variables out one scope. - 'chromeos%': '<(chromeos)', - 'host_arch%': '<(host_arch)', - 'toolkit_views%': '<(toolkit_views)', - 'toolkit_uses_gtk%': '<(toolkit_uses_gtk)', - 'use_aura%': '<(use_aura)', - 'use_ash%': '<(use_ash)', -+ 'os_bsd%': '<(os_bsd)', - 'use_openssl%': '<(use_openssl)', - 'use_ibus%': '<(use_ibus)', - 'enable_viewport%': '<(enable_viewport)', - 'enable_hidpi%': '<(enable_hidpi)', - 'enable_touch_ui%': '<(enable_touch_ui)', - 'android_upstream_bringup%': '<(android_upstream_bringup)', - 'android_build_type%': '<(android_build_type)', - -@@ -397,25 +407,18 @@ - - # A flag for POSIX platforms - ['OS=="win"', { - 'os_posix%': 0, - }, { - 'os_posix%': 1, - }], - -- # A flag for BSD platforms -- ['OS=="freebsd" or OS=="openbsd"', { -- 'os_bsd%': 1, -- }, { -- 'os_bsd%': 0, -- }], -- - # NSS usage. -- ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris") and use_openssl==0', { -+ ['(OS=="linux" or OS=="solaris" or os_bsd==1) and use_openssl==0', { - 'use_nss%': 1, - }, { - 'use_nss%': 0, - }], - - # Flags to use X11 on non-Mac POSIX platforms - ['OS=="win" or OS=="mac" or OS=="ios" or OS=="android"', { - 'use_glib%': 0, -diff --git media/webrtc/trunk/src/build/common.gypi media/webrtc/trunk/src/build/common.gypi +diff --git media/webrtc/trunk/webrtc/build/common.gypi media/webrtc/trunk/webrtc/build/common.gypi index 9ca9f7c..d5c4ab9 100644 ---- mozilla/media/webrtc/trunk/src/build/common.gypi -+++ mozilla/media/webrtc/trunk/src/build/common.gypi -@@ -101,16 +101,21 @@ - 'enable_protobuf%': 1, - 'include_tests%': 1, - - # TODO(andrew): For now, disable the Chrome plugins, which causes a +--- mozilla/media/webrtc/trunk/webrtc/build/common.gypi ++++ mozilla/media/webrtc/trunk/webrtc/build/common.gypi +@@ -119,16 +119,21 @@ # flood of chromium-style warnings. Investigate enabling them: # http://code.google.com/p/webrtc/issues/detail?id=163 'clang_use_chrome_plugins%': 0, + + # Switch between Android audio device OpenSL ES implementation + # and Java Implementation + 'enable_android_opensl%': 0, }], + ['OS=="linux" or OS=="solaris" or os_bsd==1', { + 'include_v4l2_video_capture%': 1, + }, { + 'include_v4l2_video_capture%': 0, + }], - ], # conditions - }, - 'target_defaults': { - 'include_dirs': [ - # TODO(andrew): we should be able to just use <(webrtc_root) here. - '..','../..', - ], - 'defines': [ -@@ -176,16 +181,28 @@ - 'defines': [ - 'WEBRTC_LINUX', - 'WEBRTC_THREAD_RR', - # TODO(andrew): can we select this automatically? - # Define this if the Linux system does not support CLOCK_MONOTONIC. - #'WEBRTC_CLOCK_TYPE_REALTIME', + ['OS=="ios"', { + 'enable_video%': 0, + 'enable_protobuf%': 0, + 'build_libjpeg%': 0, + 'build_libyuv%': 0, + 'build_libvpx%': 0, + 'include_tests%': 0, + }], +@@ -205,16 +210,28 @@ + 'defines': ['WEBRTC_ARCH_ARM_NEON', + 'WEBRTC_BUILD_NEON_LIBS', + 'WEBRTC_DETECT_ARM_NEON'], + }], + ], + }], ], }], + ['os_bsd==1', { + 'defines': [ + 'WEBRTC_BSD', + 'WEBRTC_THREAD_RR', + ], + }], + ['OS=="dragonfly" or OS=="netbsd"', { + 'defines': [ + # doesn't support pthread_condattr_setclock + 'WEBRTC_CLOCK_TYPE_REALTIME', + ], + }], - ['OS=="mac"', { + ['OS=="ios"', { 'defines': [ 'WEBRTC_MAC', - 'WEBRTC_MAC_INTEL', # TODO(andrew): remove this. + 'WEBRTC_IOS', 'WEBRTC_THREAD_RR', 'WEBRTC_CLOCK_TYPE_REALTIME', ], }], -diff --git media/webrtc/trunk/src/modules/audio_device/main/source/audio_device_utility.cc media/webrtc/trunk/src/modules/audio_device/main/source/audio_device_utility.cc +diff --git media/webrtc/trunk/webrtc/modules/audio_device/audio_device_utility.cc media/webrtc/trunk/webrtc/modules/audio_device/audio_device_utility.cc index 203f09a..0b0b70e 100644 ---- mozilla/media/webrtc/trunk/src/modules/audio_device/main/source/audio_device_utility.cc -+++ mozilla/media/webrtc/trunk/src/modules/audio_device/main/source/audio_device_utility.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/audio_device/audio_device_utility.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/audio_device/audio_device_utility.cc @@ -41,17 +41,17 @@ bool AudioDeviceUtility::StringCompare( const char* str1 , const char* str2, const WebRtc_UWord32 length) { return ((_strnicmp(str1, str2, length) == 0) ? true : false); } } // namespace webrtc -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) // ============================================================================ // Linux & Mac // ============================================================================ #include // gettimeofday #include // gettimeofday #include // strncasecmp @@ -104,11 +104,11 @@ WebRtc_UWord32 AudioDeviceUtility::GetTimeInMS() bool AudioDeviceUtility::StringCompare( const char* str1 , const char* str2, const WebRtc_UWord32 length) { return (strncasecmp(str1, str2, length) == 0)?true: false; } } // namespace webrtc -#endif // defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#endif // defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) -diff --git media/webrtc/trunk/src/modules/rtp_rtcp/source/forward_error_correction.cc media/webrtc/trunk/src/modules/rtp_rtcp/source/forward_error_correction.cc +diff --git media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc index bdad224..39e1132 100644 ---- mozilla/media/webrtc/trunk/src/modules/rtp_rtcp/source/forward_error_correction.cc -+++ mozilla/media/webrtc/trunk/src/modules/rtp_rtcp/source/forward_error_correction.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc @@ -7,16 +7,17 @@ * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include "modules/rtp_rtcp/source/forward_error_correction.h" #include #include +#include // for abs() #include #include #include "modules/rtp_rtcp/source/forward_error_correction_internal.h" #include "modules/rtp_rtcp/source/rtp_utility.h" #include "system_wrappers/interface/trace.h" namespace webrtc { -diff --git media/webrtc/trunk/src/modules/rtp_rtcp/source/rtp_utility.cc media/webrtc/trunk/src/modules/rtp_rtcp/source/rtp_utility.cc +diff --git media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc index 298d479..37b70c9 100644 ---- mozilla/media/webrtc/trunk/src/modules/rtp_rtcp/source/rtp_utility.cc -+++ mozilla/media/webrtc/trunk/src/modules/rtp_rtcp/source/rtp_utility.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_utility.cc @@ -13,17 +13,17 @@ #include #include // ceil #include // memcpy #if defined(_WIN32) #include // FILETIME #include // timeval #include // timeGetTime -#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_MAC)) +#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_BSD) || (defined WEBRTC_MAC)) #include // gettimeofday #include #endif #if (defined(_DEBUG) && defined(_WIN32) && (_MSC_VER >= 1400)) #include #endif #include "system_wrappers/interface/tick_util.h" @@ -151,17 +151,17 @@ void get_time(WindowsHelpTimer* help_timer, FILETIME& current_time) { virtual WebRtc_Word64 GetTimeInMS(); virtual void CurrentNTP(WebRtc_UWord32& secs, WebRtc_UWord32& frac); private: WindowsHelpTimer* _helpTimer; }; -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) // A clock reading times from the POSIX API. class UnixSystemClock : public RtpRtcpClock { public: UnixSystemClock() {} virtual ~UnixSystemClock() {} virtual WebRtc_Word64 GetTimeInMS(); @@ -209,17 +209,17 @@ void WindowsSystemClock::CurrentNTP(WebRtc_UWord32& secs, } else if (dtemp < -1) { dtemp += 1; secs--; } dtemp *= NTP_FRAC; frac = (WebRtc_UWord32)dtemp; } -#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_MAC)) +#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_BSD) || (defined WEBRTC_MAC)) WebRtc_Word64 UnixSystemClock::GetTimeInMS() { return TickTime::MillisecondTimestamp(); } // Use the system time. void UnixSystemClock::CurrentNTP(WebRtc_UWord32& secs, WebRtc_UWord32& frac) { double dtemp; @@ -248,17 +248,17 @@ void UnixSystemClock::CurrentNTP(WebRtc_UWord32& secs, WebRtc_UWord32& frac) { // Note that this is a POD. Only PODs are allowed to have static storage // duration according to the Google Style guide. static WindowsHelpTimer global_help_timer = {0, 0, {{ 0, 0}, 0}, 0}; #endif RtpRtcpClock* GetSystemClock() { #if defined(_WIN32) return new WindowsSystemClock(&global_help_timer); -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) return new UnixSystemClock(); #else return NULL; #endif } WebRtc_UWord32 GetCurrentRTP(RtpRtcpClock* clock, WebRtc_UWord32 freq) { const bool use_global_clock = (clock == NULL); -@@ -313,17 +313,17 @@ bool OldTimestamp(uint32_t newTimestamp, - * Misc utility routines - */ +@@ -325,17 +325,17 @@ WebRtc_UWord16 GetPayloadDataLength(const WebRtcRTPHeader* rtp_header, + return static_cast(length); + } #if defined(_WIN32) bool StringCompare(const char* str1, const char* str2, const WebRtc_UWord32 length) { return (_strnicmp(str1, str2, length) == 0) ? true : false; } -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) bool StringCompare(const char* str1, const char* str2, const WebRtc_UWord32 length) { return (strncasecmp(str1, str2, length) == 0) ? true : false; } #endif #if !defined(WEBRTC_LITTLE_ENDIAN) && !defined(WEBRTC_BIG_ENDIAN) #error Either WEBRTC_LITTLE_ENDIAN or WEBRTC_BIG_ENDIAN must be defined -diff --git media/webrtc/trunk/src/modules/udp_transport/source/udp_transport_impl.cc media/webrtc/trunk/src/modules/udp_transport/source/udp_transport_impl.cc +diff --git media/webrtc/trunk/webrtc/modules/udp_transport/source/udp_transport_impl.cc media/webrtc/trunk/webrtc/modules/udp_transport/source/udp_transport_impl.cc index e50db5d..70ad8a8 100644 ---- mozilla/media/webrtc/trunk/src/modules/udp_transport/source/udp_transport_impl.cc -+++ mozilla/media/webrtc/trunk/src/modules/udp_transport/source/udp_transport_impl.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/udp_transport/source/udp_transport_impl.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/udp_transport/source/udp_transport_impl.cc @@ -13,60 +13,62 @@ #include #include #include #include #if defined(_WIN32) #include #include -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) #include #include #include #include +#include #include #include #include #include -#include #include #include - #ifndef MAC_IPHONE + #ifndef WEBRTC_IOS #include #endif #endif // defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) #if defined(WEBRTC_MAC) -#include #include #endif +#if defined(WEBRTC_BSD) || defined(WEBRTC_MAC) +#include +#endif #if defined(WEBRTC_LINUX) #include #include #endif #include "common_types.h" #include "critical_section_wrapper.h" #include "rw_lock_wrapper.h" #include "trace.h" #include "typedefs.h" #include "udp_socket_manager_wrapper.h" -#if defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) #define GetLastError() errno #define IFRSIZE ((int)(size * sizeof (struct ifreq))) #define NLMSG_OK_NO_WARNING(nlh,len) \ ((len) >= (int)sizeof(struct nlmsghdr) && \ (int)(nlh)->nlmsg_len >= (int)sizeof(struct nlmsghdr) && \ (int)(nlh)->nlmsg_len <= (len)) -#endif // defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#endif // defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) namespace webrtc { class SocketFactory : public UdpTransportImpl::SocketFactoryInterface { public: UdpSocketWrapper* CreateSocket(const WebRtc_Word32 id, UdpSocketManager* mgr, CallbackObj obj, @@ -2366,17 +2368,17 @@ WebRtc_UWord32 UdpTransport::InetAddrIPV4(const char* ip) { return ::inet_addr(ip); } WebRtc_Word32 UdpTransport::InetPresentationToNumeric(WebRtc_Word32 af, const char* src, void* dst) { -#if defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) const WebRtc_Word32 result = inet_pton(af, src, dst); return result > 0 ? 0 : -1; #elif defined(_WIN32) SocketAddress temp; int length=sizeof(SocketAddress); if(af == AF_INET) @@ -2488,17 +2490,17 @@ WebRtc_Word32 UdpTransport::LocalHostAddressIPV6(char n_localIP[16]) break; }; } freeaddrinfo(result); WEBRTC_TRACE(kTraceWarning, kTraceTransport, -1, "getaddrinfo failed to find address"); return -1; -#elif defined(WEBRTC_MAC) +#elif defined(WEBRTC_BSD) || defined(WEBRTC_MAC) struct ifaddrs* ptrIfAddrs = NULL; struct ifaddrs* ptrIfAddrsStart = NULL; getifaddrs(&ptrIfAddrsStart); ptrIfAddrs = ptrIfAddrsStart; while(ptrIfAddrs) { if(ptrIfAddrs->ifa_addr->sa_family == AF_INET6) @@ -2680,17 +2682,17 @@ WebRtc_Word32 UdpTransport::LocalHostAddress(WebRtc_UWord32& localIP) } else { WebRtc_Word32 error = WSAGetLastError(); WEBRTC_TRACE(kTraceWarning, kTraceTransport, -1, "gethostbyname failed, error:%d", error); return -1; } -#elif (defined(WEBRTC_MAC)) +#elif (defined(WEBRTC_BSD) || defined(WEBRTC_MAC)) char localname[255]; if (gethostname(localname, 255) != -1) { hostent* localHost; localHost = gethostbyname(localname); if(localHost) { if(localHost->h_addrtype != AF_INET) @@ -2819,17 +2821,17 @@ WebRtc_Word32 UdpTransport::IPAddress(const SocketAddress& address, } source_port = address._sockaddr_in6.sin6_port; } // Convert port number to network byte order. sourcePort = htons(source_port); return 0; - #elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) + #elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) WebRtc_Word32 ipFamily = address._sockaddr_storage.sin_family; const void* ptrNumericIP = NULL; if(ipFamily == AF_INET) { ptrNumericIP = &(address._sockaddr_in.sin_addr); } else if(ipFamily == AF_INET6) -diff --git media/webrtc/trunk/src/modules/utility/source/rtp_dump_impl.cc media/webrtc/trunk/src/modules/utility/source/rtp_dump_impl.cc +diff --git media/webrtc/trunk/webrtc/modules/utility/source/rtp_dump_impl.cc media/webrtc/trunk/webrtc/modules/utility/source/rtp_dump_impl.cc index 69a52ec..7ac226c 100644 ---- mozilla/media/webrtc/trunk/src/modules/utility/source/rtp_dump_impl.cc -+++ mozilla/media/webrtc/trunk/src/modules/utility/source/rtp_dump_impl.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/utility/source/rtp_dump_impl.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/utility/source/rtp_dump_impl.cc @@ -14,17 +14,17 @@ #include #include "critical_section_wrapper.h" #include "trace.h" #if defined(_WIN32) #include #include -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) #include #include #include #endif #if (defined(_DEBUG) && defined(_WIN32)) #define DEBUG_PRINT(expr) OutputDebugString(##expr) #define DEBUG_PRINTP(expr, p) \ @@ -233,17 +233,17 @@ bool RtpDumpImpl::RTCP(const WebRtc_UWord8* packet) const return is_rtcp; } // TODO (hellner): why is TickUtil not used here? inline WebRtc_UWord32 RtpDumpImpl::GetTimeInMS() const { #if defined(_WIN32) return timeGetTime(); -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) struct timeval tv; struct timezone tz; unsigned long val; gettimeofday(&tv, &tz); val = tv.tv_sec * 1000 + tv.tv_usec / 1000; return val; #else -diff --git media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc +diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc index 653ee16..8d6fd68 100644 ---- mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc -+++ mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc @@ -14,17 +14,23 @@ #include #include #include #include #include #include //v4l includes +#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) +#include +#elif defined(__sun) +#include +#else #include +#endif #include "ref_count.h" #include "trace.h" namespace webrtc { namespace videocapturemodule -diff --git media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc +diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc index 12df1b3..424ea0a 100644 ---- mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc -+++ mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc @@ -7,22 +7,30 @@ * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include #include #include #include -#include #include #include #include #include +//v4l includes +#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__) +#include +#elif defined(__sun) +#include +#else +#include +#endif + #include #include "ref_count.h" #include "trace.h" #include "thread_wrapper.h" #include "critical_section_wrapper.h" #include "video_capture_linux.h" -diff --git media/webrtc/trunk/src/modules/video_capture/main/source/device_info_impl.cc media/webrtc/trunk/src/modules/video_capture/main/source/device_info_impl.cc +diff --git media/webrtc/trunk/webrtc/modules/video_capture/device_info_impl.cc media/webrtc/trunk/webrtc/modules/video_capture/device_info_impl.cc index e3f7bb5..882cede 100644 ---- mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/device_info_impl.cc -+++ mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/device_info_impl.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/device_info_impl.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/device_info_impl.cc @@ -49,17 +49,17 @@ WebRtc_Word32 DeviceInfoImpl::NumberOfCapabilities( if (!deviceUniqueIdUTF8) return -1; _apiLock.AcquireLockShared(); if (_lastUsedDeviceNameLength == strlen((char*) deviceUniqueIdUTF8)) { // Is it the same device that is asked for again. --#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX) -+#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) +-#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) ++#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) if(strncasecmp((char*)_lastUsedDeviceName, (char*) deviceUniqueIdUTF8, _lastUsedDeviceNameLength)==0) #else if (_strnicmp((char*) _lastUsedDeviceName, (char*) deviceUniqueIdUTF8, _lastUsedDeviceNameLength) == 0) #endif @@ -86,17 +86,17 @@ WebRtc_Word32 DeviceInfoImpl::GetCapability(const char* deviceUniqueIdUTF8, { WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideoCapture, _id, "deviceUniqueIdUTF8 parameter not set in call to GetCapability"); return -1; } ReadLockScoped cs(_apiLock); if ((_lastUsedDeviceNameLength != strlen((char*) deviceUniqueIdUTF8)) --#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX) -+#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) +-#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) ++#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || (strncasecmp((char*)_lastUsedDeviceName, (char*) deviceUniqueIdUTF8, _lastUsedDeviceNameLength)!=0)) #else || (_strnicmp((char*) _lastUsedDeviceName, (char*) deviceUniqueIdUTF8, _lastUsedDeviceNameLength) != 0)) #endif @@ -150,17 +150,17 @@ WebRtc_Word32 DeviceInfoImpl::GetBestMatchedCapability( { if (!deviceUniqueIdUTF8) return -1; ReadLockScoped cs(_apiLock); if ((_lastUsedDeviceNameLength != strlen((char*) deviceUniqueIdUTF8)) --#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX) -+#if defined(WEBRTC_MAC_INTEL) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) +-#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) ++#if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || (strncasecmp((char*)_lastUsedDeviceName, (char*) deviceUniqueIdUTF8, _lastUsedDeviceNameLength)!=0)) #else || (_strnicmp((char*) _lastUsedDeviceName, (char*) deviceUniqueIdUTF8, _lastUsedDeviceNameLength) != 0)) #endif -diff --git media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi +diff --git media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi index 0a9765e..8d4bbf4 100644 ---- mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi -+++ mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi -@@ -55,17 +55,17 @@ +--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi ++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/video_capture.gypi +@@ -43,17 +43,17 @@ + 'conditions': [ ['include_internal_video_capture==0', { 'sources': [ - 'External/device_info_external.cc', - 'External/video_capture_external.cc', + 'external/device_info_external.cc', + 'external/video_capture_external.cc', ], - },{ # include_internal_video_capture == 1 + }, { # include_internal_video_capture == 1 'conditions': [ - # DEFINE PLATFORM SPECIFIC SOURCE FILES - ['OS=="linux"', { + ['include_v4l2_video_capture==1', { 'include_dirs': [ - 'Linux', + 'linux', ], 'sources': [ - 'Linux/device_info_linux.h', - 'Linux/video_capture_linux.h', - 'Linux/device_info_linux.cc', - 'Linux/video_capture_linux.cc', -@@ -162,31 +162,35 @@ - '../interface', + 'linux/device_info_linux.cc', + 'linux/device_info_linux.h', + 'linux/video_capture_linux.cc', + 'linux/video_capture_linux.h', +@@ -152,31 +152,35 @@ + 'include_dirs': [ + 'include', ], 'sources': [ - '../test/video_capture_unittest.cc', - '../test/video_capture_main_mac.mm', + 'test/video_capture_unittest.cc', + 'test/video_capture_main_mac.mm', ], 'conditions': [ - # DEFINE PLATFORM SPECIFIC INCLUDE AND CFLAGS - ['OS=="mac" or OS=="linux"', { + ['OS!="win" and OS!="android"', { 'cflags': [ '-Wno-write-strings', ], 'ldflags': [ '-lpthread -lm', ], }], - ['OS=="linux"', { + ['include_v4l2_video_capture==1', { 'libraries': [ - '-lrt', '-lXext', '-lX11', ], }], + ['OS=="linux"', { + 'libraries': [ + '-lrt', + ], + }], ['OS=="mac"', { 'dependencies': [ # Link with a special main for mac so we can use the webcam. '<(webrtc_root)/test/test.gyp:test_support_main_threaded_mac', ], 'xcode_settings': { # TODO(andrew): CoreAudio and AudioToolbox shouldn't be needed. 'OTHER_LDFLAGS': [ -diff --git media/webrtc/trunk/src/system_wrappers/interface/tick_util.h media/webrtc/trunk/src/system_wrappers/interface/tick_util.h +diff --git media/webrtc/trunk/webrtc/system_wrappers/interface/asm_defines.h media/webrtc/trunk/webrtc/system_wrappers/interface/asm_defines.h index 0cd85d0..45591be 100644 ---- mozilla/media/webrtc/trunk/src/system_wrappers/interface/tick_util.h -+++ mozilla/media/webrtc/trunk/src/system_wrappers/interface/tick_util.h -@@ -161,17 +161,17 @@ inline TickTime TickTime::Now() - // so it must have been a wrap around. - if(old > 0xf0000000 && now < 0x0fffffff) - { - numWrapTimeGetTime++; - } - } - result._ticks = now + (numWrapTimeGetTime<<32); - #endif +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/interface/asm_defines.h ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/interface/asm_defines.h +@@ -6,17 +6,17 @@ + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + + #ifndef WEBRTC_SYSTEM_WRAPPERS_INTERFACE_ASM_DEFINES_H_ + #define WEBRTC_SYSTEM_WRAPPERS_INTERFACE_ASM_DEFINES_H_ + +-#if defined(__linux__) && defined(__ELF__) ++#if (defined(__linux__) || defined(__FreeBSD__)) && defined(__ELF__) + .section .note.GNU-stack,"",%progbits + #endif + + // Define the macros used in ARM assembly code, so that for Mac or iOS builds + // we add leading underscores for the function names. + #ifdef __APPLE__ + .macro GLOBAL_FUNCTION name + .global _\name +diff --git media/webrtc/trunk/webrtc/system_wrappers/interface/tick_util.h media/webrtc/trunk/webrtc/system_wrappers/interface/tick_util.h +index 0cd85d0..45591be 100644 +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/interface/tick_util.h ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/interface/tick_util.h +@@ -189,17 +189,17 @@ inline WebRtc_Word64 TickTime::QueryOsForTicks() { + // 0x0fffffff ~3.1 days, the code will not take that long to execute + // so it must have been a wrap around. + if (old > 0xf0000000 && now < 0x0fffffff) { + num_wrap_time_get_time++; + } + } + result.ticks_ = now + (num_wrap_time_get_time << 32); + #endif -#elif defined(WEBRTC_LINUX) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) - struct timespec ts; - // TODO(wu): Remove CLOCK_REALTIME implementation. - #ifdef WEBRTC_CLOCK_TYPE_REALTIME - clock_gettime(CLOCK_REALTIME, &ts); - #else - clock_gettime(CLOCK_MONOTONIC, &ts); - #endif - result._ticks = 1000000000LL * static_cast(ts.tv_sec) + static_cast(ts.tv_nsec); -@@ -203,17 +203,17 @@ inline WebRtc_Word64 TickTime::MillisecondTimestamp() + struct timespec ts; + // TODO(wu): Remove CLOCK_REALTIME implementation. + #ifdef WEBRTC_CLOCK_TYPE_REALTIME + clock_gettime(CLOCK_REALTIME, &ts); + #else + clock_gettime(CLOCK_MONOTONIC, &ts); + #endif + result.ticks_ = 1000000000LL * static_cast(ts.tv_sec) + +@@ -236,34 +236,34 @@ inline WebRtc_Word64 TickTime::MillisecondTimestamp() { #if _WIN32 - #ifdef USE_QUERY_PERFORMANCE_COUNTER - LARGE_INTEGER qpfreq; - QueryPerformanceFrequency(&qpfreq); - return (now._ticks * 1000) / qpfreq.QuadPart; - #else - return now._ticks; - #endif + #ifdef USE_QUERY_PERFORMANCE_COUNTER + LARGE_INTEGER qpfreq; + QueryPerformanceFrequency(&qpfreq); + return (ticks * 1000) / qpfreq.QuadPart; + #else + return ticks; + #endif -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) - return now._ticks / 1000000LL; + return ticks / 1000000LL; #else - return now._ticks / 1000LL; + return ticks / 1000LL; #endif } - inline WebRtc_Word64 TickTime::MicrosecondTimestamp() - { -@@ -222,17 +222,17 @@ inline WebRtc_Word64 TickTime::MicrosecondTimestamp() + inline WebRtc_Word64 TickTime::MicrosecondTimestamp() { + WebRtc_Word64 ticks = TickTime::Now().Ticks(); #if _WIN32 - #ifdef USE_QUERY_PERFORMANCE_COUNTER - LARGE_INTEGER qpfreq; - QueryPerformanceFrequency(&qpfreq); - return (now._ticks * 1000) / (qpfreq.QuadPart/1000); - #else - return now._ticks *1000LL; - #endif + #ifdef USE_QUERY_PERFORMANCE_COUNTER + LARGE_INTEGER qpfreq; + QueryPerformanceFrequency(&qpfreq); + return (ticks * 1000) / (qpfreq.QuadPart / 1000); + #else + return ticks * 1000LL; + #endif -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) - return now._ticks / 1000LL; + return ticks / 1000LL; #else - return now._ticks; + return ticks; #endif } - inline WebRtc_Word64 TickTime::Ticks() const - { -@@ -244,34 +244,34 @@ inline WebRtc_Word64 TickTime::MillisecondsToTicks(const WebRtc_Word64 ms) + inline WebRtc_Word64 TickTime::Ticks() const { + return ticks_; +@@ -273,33 +273,33 @@ inline WebRtc_Word64 TickTime::MillisecondsToTicks(const WebRtc_Word64 ms) { #if _WIN32 - #ifdef USE_QUERY_PERFORMANCE_COUNTER - LARGE_INTEGER qpfreq; - QueryPerformanceFrequency(&qpfreq); - return (qpfreq.QuadPart * ms) / 1000; - #else - return ms; - #endif + #ifdef USE_QUERY_PERFORMANCE_COUNTER + LARGE_INTEGER qpfreq; + QueryPerformanceFrequency(&qpfreq); + return (qpfreq.QuadPart * ms) / 1000; + #else + return ms; + #endif -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) - return ms * 1000000LL; + return ms * 1000000LL; #else - return ms * 1000LL; + return ms * 1000LL; #endif } - inline WebRtc_Word64 TickTime::TicksToMilliseconds(const WebRtc_Word64 ticks) - { + inline WebRtc_Word64 TickTime::TicksToMilliseconds(const WebRtc_Word64 ticks) { #if _WIN32 - #ifdef USE_QUERY_PERFORMANCE_COUNTER - LARGE_INTEGER qpfreq; - QueryPerformanceFrequency(&qpfreq); - return (ticks * 1000) / qpfreq.QuadPart; - #else - return ticks; - #endif + #ifdef USE_QUERY_PERFORMANCE_COUNTER + LARGE_INTEGER qpfreq; + QueryPerformanceFrequency(&qpfreq); + return (ticks * 1000) / qpfreq.QuadPart; + #else + return ticks; + #endif -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) - return ticks / 1000000LL; + return ticks / 1000000LL; #else - return ticks / 1000LL; + return ticks / 1000LL; #endif } - inline TickTime& TickTime::operator+=(const WebRtc_Word64& ticks) - { -@@ -294,17 +294,17 @@ inline WebRtc_Word64 TickInterval::Milliseconds() const - #ifdef USE_QUERY_PERFORMANCE_COUNTER - LARGE_INTEGER qpfreq; - QueryPerformanceFrequency(&qpfreq); - return (_interval * 1000) / qpfreq.QuadPart; - #else - // _interval is in ms - return _interval; - #endif + inline TickTime& TickTime::operator+=(const WebRtc_Word64& ticks) { + ticks_ += ticks; +@@ -318,17 +318,17 @@ inline WebRtc_Word64 TickInterval::Milliseconds() const { + #ifdef USE_QUERY_PERFORMANCE_COUNTER + LARGE_INTEGER qpfreq; + QueryPerformanceFrequency(&qpfreq); + return (interval_ * 1000) / qpfreq.QuadPart; + #else + // interval_ is in ms + return interval_; + #endif -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) - // _interval is in ns - return _interval / 1000000; + // interval_ is in ns + return interval_ / 1000000; #else - // _interval is usecs - return _interval / 1000; + // interval_ is usecs + return interval_ / 1000; #endif } -@@ -314,17 +314,17 @@ inline WebRtc_Word64 TickInterval::Microseconds() const - #ifdef USE_QUERY_PERFORMANCE_COUNTER - LARGE_INTEGER qpfreq; - QueryPerformanceFrequency(&qpfreq); - return (_interval * 1000000) / qpfreq.QuadPart; - #else - // _interval is in ms - return _interval *1000LL; - #endif +@@ -337,17 +337,17 @@ inline WebRtc_Word64 TickInterval::Microseconds() const { + #ifdef USE_QUERY_PERFORMANCE_COUNTER + LARGE_INTEGER qpfreq; + QueryPerformanceFrequency(&qpfreq); + return (interval_ * 1000000) / qpfreq.QuadPart; + #else + // interval_ is in ms + return interval_ * 1000LL; + #endif -#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) - // _interval is in ns - return _interval / 1000; + // interval_ is in ns + return interval_ / 1000; #else - // _interval is usecs - return _interval; + // interval_ is usecs + return interval_; #endif } -diff --git media/webrtc/trunk/src/system_wrappers/source/aligned_malloc.cc media/webrtc/trunk/src/system_wrappers/source/aligned_malloc.cc -index bb10c6b..4878d71 100644 ---- mozilla/media/webrtc/trunk/src/system_wrappers/source/aligned_malloc.cc -+++ mozilla/media/webrtc/trunk/src/system_wrappers/source/aligned_malloc.cc -@@ -7,24 +7,21 @@ - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - - #include "aligned_malloc.h" - - #include - #include -- --#ifdef WEBRTC_ANDROID - #include --#endif - - #if WEBRTC_MAC - #include --#else -+#elif WEBRTC_WIN - #include - #endif - - #if _WIN32 - #include - #else - #include - #endif -diff --git media/webrtc/trunk/src/system_wrappers/source/atomic32_posix.cc media/webrtc/trunk/src/system_wrappers/source/atomic32_posix.cc +diff --git media/webrtc/trunk/webrtc/system_wrappers/source/atomic32_posix.cc media/webrtc/trunk/webrtc/system_wrappers/source/atomic32_posix.cc index 05b0e57..993456c 100644 ---- mozilla/media/webrtc/trunk/src/system_wrappers/source/atomic32_posix.cc -+++ mozilla/media/webrtc/trunk/src/system_wrappers/source/atomic32_posix.cc +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/atomic32_posix.cc ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/atomic32_posix.cc @@ -7,17 +7,16 @@ * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include "atomic32.h" #include #include -#include #include "common_types.h" namespace webrtc { - Atomic32::Atomic32(WebRtc_Word32 initialValue) : _value(initialValue) - { - assert(Is32bitAligned()); -diff --git media/webrtc/trunk/src/system_wrappers/source/condition_variable.cc media/webrtc/trunk/src/system_wrappers/source/condition_variable.cc + Atomic32::Atomic32(WebRtc_Word32 initial_value) + : value_(initial_value) { + assert(Is32bitAligned()); +diff --git media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc index b37d037..fcea221 100644 ---- mozilla/media/webrtc/trunk/src/system_wrappers/source/condition_variable.cc -+++ mozilla/media/webrtc/trunk/src/system_wrappers/source/condition_variable.cc -@@ -3,35 +3,33 @@ +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable.cc +@@ -3,31 +3,33 @@ * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ +#include "condition_variable_wrapper.h" + #if defined(_WIN32) - #include -- #include "condition_variable_wrapper.h" - #include "condition_variable_win.h" --#elif defined(WEBRTC_LINUX) -- #include -- #include "condition_variable_wrapper.h" -- #include "condition_variable_posix.h" --#elif defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL) -+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL) - #include -- #include "condition_variable_wrapper.h" - #include "condition_variable_posix.h" + #include + #include "condition_variable_win.h" +-#include "condition_variable_wrapper.h" +-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) ++#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) + #include + #include "condition_variable_posix.h" +-#include "condition_variable_wrapper.h" +#else -+ #include // for NULL ++#include // for NULL #endif namespace webrtc { - ConditionVariableWrapper* - ConditionVariableWrapper::CreateConditionVariable() - { + + ConditionVariableWrapper* ConditionVariableWrapper::CreateConditionVariable() { #if defined(_WIN32) - return new ConditionVariableWindows; --#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL) -+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL) - return ConditionVariablePosix::Create(); + return new ConditionVariableWindows; +-#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) ++#elif defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) + return ConditionVariablePosix::Create(); #else - return NULL; + return NULL; #endif } + } // namespace webrtc -diff --git media/webrtc/trunk/src/system_wrappers/source/condition_variable_posix.cc media/webrtc/trunk/src/system_wrappers/source/condition_variable_posix.cc +diff --git media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable_posix.cc media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable_posix.cc index 48835ab..16c6033 100644 ---- mozilla/media/webrtc/trunk/src/system_wrappers/source/condition_variable_posix.cc -+++ mozilla/media/webrtc/trunk/src/system_wrappers/source/condition_variable_posix.cc -@@ -90,17 +90,17 @@ void ConditionVariablePosix::SleepCS(CriticalSectionWrapper& critSect) - bool - ConditionVariablePosix::SleepCS( - CriticalSectionWrapper& critSect, - unsigned long maxTimeInMS) - { - const unsigned long INFINITE = 0xFFFFFFFF; +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable_posix.cc ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/condition_variable_posix.cc +@@ -74,17 +74,17 @@ void ConditionVariablePosix::SleepCS(CriticalSectionWrapper& crit_sect) { + &crit_sect); + pthread_cond_wait(&cond_, &cs->mutex_); + } - const int MILLISECONDS_PER_SECOND = 1000; + bool ConditionVariablePosix::SleepCS(CriticalSectionWrapper& crit_sect, + unsigned long max_time_inMS) { + const unsigned long INFINITE = 0xFFFFFFFF; + const int MILLISECONDS_PER_SECOND = 1000; -#ifndef WEBRTC_LINUX +#if !defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) - const int MICROSECONDS_PER_MILLISECOND = 1000; + const int MICROSECONDS_PER_MILLISECOND = 1000; #endif - const int NANOSECONDS_PER_SECOND = 1000000000; - const int NANOSECONDS_PER_MILLISECOND = 1000000; + const int NANOSECONDS_PER_SECOND = 1000000000; + const int NANOSECONDS_PER_MILLISECOND = 1000000; - CriticalSectionPosix* cs = reinterpret_cast( - &critSect); + CriticalSectionPosix* cs = reinterpret_cast( + &crit_sect); -diff --git media/webrtc/trunk/src/system_wrappers/source/cpu.cc media/webrtc/trunk/src/system_wrappers/source/cpu.cc +diff --git media/webrtc/trunk/webrtc/system_wrappers/source/cpu.cc media/webrtc/trunk/webrtc/system_wrappers/source/cpu.cc index 3df5d18..4cd3ddf 100644 ---- mozilla/media/webrtc/trunk/src/system_wrappers/source/cpu.cc -+++ mozilla/media/webrtc/trunk/src/system_wrappers/source/cpu.cc -@@ -11,28 +11,28 @@ - #include "cpu_wrapper.h" +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/cpu.cc ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/cpu.cc +@@ -9,28 +9,28 @@ + */ + #include "system_wrappers/interface/cpu_wrapper.h" + #if defined(_WIN32) - #include "cpu_win.h" + #include "cpu_win.h" #elif defined(WEBRTC_MAC) - #include "cpu_mac.h" - #elif defined(WEBRTC_MAC_INTEL) - #include "cpu_mac.h" + #include "cpu_mac.h" -#elif defined(WEBRTC_ANDROID) +#elif defined(WEBRTC_ANDROID) || defined(WEBRTC_BSD) - // Not implemented yet, might be possible to use Linux implementation + // Not implemented yet, might be possible to use Linux implementation #else // defined(WEBRTC_LINUX) - #include "cpu_linux.h" + #include "cpu_linux.h" #endif namespace webrtc { - CpuWrapper* CpuWrapper::CreateCpu() - { + CpuWrapper* CpuWrapper::CreateCpu() { #if defined(_WIN32) - return new CpuWindows(); - #elif (defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL)) - return new CpuWrapperMac(); + return new CpuWindows(); + #elif defined(WEBRTC_MAC) + return new CpuWrapperMac(); -#elif defined(WEBRTC_ANDROID) +#elif defined(WEBRTC_ANDROID) || defined(WEBRTC_BSD) - return 0; + return 0; #else - return new CpuLinux(); + return new CpuLinux(); #endif } - } // namespace webrtc -diff --git media/webrtc/trunk/src/system_wrappers/source/cpu_info.cc media/webrtc/trunk/src/system_wrappers/source/cpu_info.cc + + } // namespace webrtc +diff --git media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc index e367abf..e14d7af 100644 ---- mozilla/media/webrtc/trunk/src/system_wrappers/source/cpu_info.cc -+++ mozilla/media/webrtc/trunk/src/system_wrappers/source/cpu_info.cc -@@ -7,25 +7,27 @@ +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_info.cc +@@ -7,23 +7,25 @@ * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ - #include "cpu_info.h" + #include "system_wrappers/interface/cpu_info.h" #if defined(_WIN32) #include -#elif defined(WEBRTC_MAC) +-#include +#elif defined(WEBRTC_BSD) || defined(WEBRTC_MAC) #include - #include - #elif defined(WEBRTC_MAC_INTEL) - // Intentionally empty ++#include #elif defined(WEBRTC_ANDROID) // Not implemented yet, might be possible to use Linux implementation -#else // defined(WEBRTC_LINUX) +#elif defined(WEBRTC_LINUX) #include +#else // defined(_SC_NPROCESSORS_ONLN) +#include #endif #include "trace.h" namespace webrtc { - WebRtc_UWord32 CpuInfo::_numberOfCores = 0; + WebRtc_UWord32 CpuInfo::number_of_cores_ = 0; -@@ -40,31 +42,40 @@ WebRtc_UWord32 CpuInfo::DetectNumberOfCores() - WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, - "Available number of cores:%d", _numberOfCores); +@@ -36,29 +38,38 @@ WebRtc_UWord32 CpuInfo::DetectNumberOfCores() { + WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, + "Available number of cores:%d", number_of_cores_); - #elif defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) - _numberOfCores = get_nprocs(); - WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, - "Available number of cores:%d", _numberOfCores); + #elif defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_GONK) + number_of_cores_ = get_nprocs(); + WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, + "Available number of cores:%d", number_of_cores_); --#elif (defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL)) -- int name[] = {CTL_HW, HW_AVAILCPU}; -+#elif (defined(WEBRTC_BSD) || defined(WEBRTC_MAC) || defined(WEBRTC_MAC_INTEL)) -+ int name[] = { -+ CTL_HW, +-#elif defined(WEBRTC_MAC) +- int name[] = {CTL_HW, HW_AVAILCPU}; ++#elif defined(WEBRTC_BSD) || defined(WEBRTC_MAC) ++ int name[] = { ++ CTL_HW, +#ifdef HW_AVAILCPU -+ HW_AVAILCPU, ++ HW_AVAILCPU, +#else -+ HW_NCPU, ++ HW_NCPU, +#endif -+ }; - int ncpu; - size_t size = sizeof(ncpu); - if(0 == sysctl(name, 2, &ncpu, &size, NULL, 0)) - { - _numberOfCores = static_cast(ncpu); - WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, - "Available number of cores:%d", _numberOfCores); - } else - { - WEBRTC_TRACE(kTraceError, kTraceUtility, -1, - "Failed to get number of cores"); - _numberOfCores = 1; ++ }; + int ncpu; + size_t size = sizeof(ncpu); + if (0 == sysctl(name, 2, &ncpu, &size, NULL, 0)) { + number_of_cores_ = static_cast(ncpu); + WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, + "Available number of cores:%d", number_of_cores_); + } else { + WEBRTC_TRACE(kTraceError, kTraceUtility, -1, + "Failed to get number of cores"); + number_of_cores_ = 1; } +#elif defined(_SC_NPROCESSORS_ONLN) -+ _numberOfCores = sysconf(_SC_NPROCESSORS_ONLN); ++ _numberOfCores = sysconf(_SC_NPROCESSORS_ONLN); #else - WEBRTC_TRACE(kTraceWarning, kTraceUtility, -1, - "No function to get number of cores"); - _numberOfCores = 1; + WEBRTC_TRACE(kTraceWarning, kTraceUtility, -1, + "No function to get number of cores"); + number_of_cores_ = 1; #endif - } - return _numberOfCores; + } + return number_of_cores_; } -diff --git media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc +diff --git media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc index 6334490..852ebaa 100644 ---- mozilla/media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc -+++ mozilla/media/webrtc/trunk/src/system_wrappers/source/thread_posix.cc -@@ -53,16 +53,25 @@ +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/thread_posix.cc +@@ -54,16 +54,27 @@ + #ifdef WEBRTC_LINUX + #include #include #include #include #include #endif - #if defined(WEBRTC_MAC) - #include -+#elif defined(__NetBSD__) ++#if defined(__NetBSD__) +#include +#elif defined(__FreeBSD__) +#include +#include +#endif + +#if defined(WEBRTC_BSD) && !defined(__NetBSD__) +#include - #endif ++#endif ++ + #include "webrtc/system_wrappers/interface/critical_section_wrapper.h" + #include "webrtc/system_wrappers/interface/event_wrapper.h" + #include "webrtc/system_wrappers/interface/trace.h" - #include "system_wrappers/interface/critical_section_wrapper.h" - #include "system_wrappers/interface/event_wrapper.h" - #include "system_wrappers/interface/trace.h" - namespace webrtc { - extern "C" -@@ -116,16 +125,30 @@ ThreadPosix::ThreadPosix(ThreadRunFunction func, ThreadObj obj, - } + + int ConvertToSystemPriority(ThreadPriority priority, int min_prio, + int max_prio) { +@@ -136,16 +147,30 @@ ThreadPosix::ThreadPosix(ThreadRunFunction func, ThreadObj obj, + } } uint32_t ThreadWrapper::GetThreadId() { - #if defined(WEBRTC_ANDROID) || defined(WEBRTC_LINUX) + #if defined(WEBRTC_ANDROID) || defined(WEBRTC_LINUX) || defined(WEBRTC_GONK) return static_cast(syscall(__NR_gettid)); - #elif defined(WEBRTC_MAC) - return static_cast(mach_thread_self()); + #elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS) + return pthread_mach_thread_np(pthread_self()); +#elif defined(__NetBSD__) + return _lwp_self(); +#elif defined(__DragonFly__) + return lwp_gettid(); +#elif defined(__OpenBSD__) + return reinterpret_cast (pthread_self()); +#elif defined(__FreeBSD__) +# if __FreeBSD_version > 900030 + return pthread_getthreadid_np(); +# else + long lwpid; + thr_self(&lwpid); + return lwpid; +# endif #else return reinterpret_cast(pthread_self()); #endif } - int ThreadPosix::Construct() - { - int result = 0; -@@ -154,16 +177,17 @@ ThreadPosix::~ThreadPosix() - { - pthread_attr_destroy(&_attr); - delete _event; - delete _crit_state; + int ThreadPosix::Construct() { + int result = 0; + #if !defined(WEBRTC_ANDROID) && !defined(WEBRTC_GONK) +@@ -167,17 +192,17 @@ int ThreadPosix::Construct() { } - #define HAS_THREAD_ID !defined(MAC_IPHONE) && !defined(MAC_IPHONE_SIM) && \ - !defined(WEBRTC_MAC) && !defined(WEBRTC_MAC_INTEL) && \ -+ !defined(WEBRTC_BSD) && \ - !defined(MAC_DYLIB) && !defined(MAC_INTEL_DYLIB) - #if HAS_THREAD_ID - bool ThreadPosix::Start(unsigned int& threadID) - #else - bool ThreadPosix::Start(unsigned int& /*threadID*/) - #endif + ThreadPosix::~ThreadPosix() { + pthread_attr_destroy(&attr_); + delete event_; + delete crit_state_; + } + +-#define HAS_THREAD_ID !defined(WEBRTC_IOS) && !defined(WEBRTC_MAC) ++#define HAS_THREAD_ID !defined(WEBRTC_IOS) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) + + bool ThreadPosix::Start(unsigned int& thread_id) { - if (!_runFunction) -@@ -229,31 +253,39 @@ bool ThreadPosix::Start(unsigned int& /*threadID*/) - { - return false; - } - return true; + if (!run_function_) { + return false; + } + int result = pthread_attr_setdetachstate(&attr_, PTHREAD_CREATE_DETACHED); + // Set the stack stack size to 1M. +@@ -232,31 +257,40 @@ bool ThreadPosix::Start(unsigned int& thread_id) + WEBRTC_TRACE(kTraceError, kTraceUtility, -1, + "unable to set thread priority"); + } + return true; } // CPU_ZERO and CPU_SET are not available in NDK r7, so disable // SetAffinity on Android for now. --#if (defined(WEBRTC_LINUX) && (!defined(WEBRTC_ANDROID))) -+#if defined(__FreeBSD__) || (defined(WEBRTC_LINUX) && (!defined(WEBRTC_ANDROID))) - bool ThreadPosix::SetAffinity(const int* processorNumbers, - const unsigned int amountOfProcessors) { - if (!processorNumbers || (amountOfProcessors == 0)) { +-#if (defined(WEBRTC_LINUX) && (!defined(WEBRTC_ANDROID)) && (!defined(WEBRTC_GONK))) ++#if defined(__FreeBSD__) || (defined(WEBRTC_LINUX) && \ ++ (!defined(WEBRTC_ANDROID)) && (!defined(WEBRTC_GONK))) + bool ThreadPosix::SetAffinity(const int* processor_numbers, + const unsigned int amount_of_processors) { + if (!processor_numbers || (amount_of_processors == 0)) { return false; } +#if defined(__FreeBSD__) + cpuset_t mask; +#else cpu_set_t mask; +#endif CPU_ZERO(&mask); for (unsigned int processor = 0; - processor < amountOfProcessors; - processor++) { - CPU_SET(processorNumbers[processor], &mask); + processor < amount_of_processors; + ++processor) { + CPU_SET(processor_numbers[processor], &mask); } --#if defined(WEBRTC_ANDROID) +-#if defined(WEBRTC_ANDROID) || defined(WEBRTC_GONK) +#if defined(__FreeBSD__) -+ const int result = pthread_setaffinity_np(_thread, ++ const int result = pthread_setaffinity_np(thread_, + sizeof(mask), + &mask); -+#elif defined(WEBRTC_ANDROID) ++#elif defined(WEBRTC_ANDROID) || defined(WEBRTC_GONK) // Android. const int result = syscall(__NR_sched_setaffinity, - _pid, + pid_, sizeof(mask), &mask); #else // "Normal" Linux. - const int result = sched_setaffinity(_pid, -@@ -340,16 +372,20 @@ void ThreadPosix::Run() + const int result = sched_setaffinity(pid_, +@@ -320,16 +353,20 @@ void ThreadPosix::Run() { + pid_ = GetThreadId(); #endif - // The event the Start() is waiting for. - _event->Set(); + // The event the Start() is waiting for. + event_->Set(); - if (_setThreadName) - { + if (set_thread_name_) { #ifdef WEBRTC_LINUX - prctl(PR_SET_NAME, (unsigned long)_name, 0, 0, 0); + prctl(PR_SET_NAME, (unsigned long)name_, 0, 0, 0); +#elif defined(__NetBSD__) -+ pthread_setname_np(pthread_self(), "%s", (void *)_name); ++ pthread_setname_np(pthread_self(), "%s", (void *)name_); +#elif defined(WEBRTC_BSD) -+ pthread_set_name_np(pthread_self(), _name); ++ pthread_set_name_np(pthread_self(), name_); #endif - WEBRTC_TRACE(kTraceStateInfo, kTraceUtility,-1, - "Thread with name:%s started ", _name); - } else - { - WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, - "Thread without name started"); - } -diff --git media/webrtc/trunk/src/system_wrappers/source/trace_posix.cc media/webrtc/trunk/src/system_wrappers/source/trace_posix.cc -index f3a5306..d9c2810 100644 ---- mozilla/media/webrtc/trunk/src/system_wrappers/source/trace_posix.cc -+++ mozilla/media/webrtc/trunk/src/system_wrappers/source/trace_posix.cc -@@ -52,17 +52,17 @@ WebRtc_Word32 TracePosix::AddTime(char* traceMessage, - { - struct timeval systemTimeHighRes; - if (gettimeofday(&systemTimeHighRes, 0) == -1) - { - return -1; - } - struct tm buffer; - const struct tm* systemTime = -- localtime_r(&systemTimeHighRes.tv_sec, &buffer); -+ localtime_r((const time_t *)(&systemTimeHighRes.tv_sec), &buffer); + WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, + "Thread with name:%s started ", name_); + } else { + WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, + "Thread without name started"); + } + bool alive = true; +diff --git media/webrtc/trunk/webrtc/system_wrappers/source/trace_posix.cc media/webrtc/trunk/webrtc/system_wrappers/source/trace_posix.cc +index 2c7e59a..6f23fcb 100644 +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/trace_posix.cc ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/trace_posix.cc +@@ -49,17 +49,17 @@ TracePosix::~TracePosix() { + WebRtc_Word32 TracePosix::AddTime(char* trace_message, + const TraceLevel level) const { + struct timeval system_time_high_res; + if (gettimeofday(&system_time_high_res, 0) == -1) { + return -1; + } + struct tm buffer; + const struct tm* system_time = +- localtime_r(&system_time_high_res.tv_sec, &buffer); ++ localtime_r((const time_t *)(&system_time_high_res.tv_sec), &buffer); - const WebRtc_UWord32 ms_time = systemTimeHighRes.tv_usec / 1000; - WebRtc_UWord32 prevTickCount = 0; - if (level == kTraceApiCall) - { - prevTickCount = _prevTickCount; - _prevTickCount = ms_time; - } else { -diff --git media/webrtc/trunk/src/video_engine/vie_defines.h media/webrtc/trunk/src/video_engine/vie_defines.h + const WebRtc_UWord32 ms_time = system_time_high_res.tv_usec / 1000; + WebRtc_UWord32 prev_tickCount = 0; + if (level == kTraceApiCall) { + prev_tickCount = prev_tick_count_; + prev_tick_count_ = ms_time; + } else { + prev_tickCount = prev_api_tick_count_; +diff --git media/webrtc/trunk/webrtc/typedefs.h media/webrtc/trunk/webrtc/typedefs.h +index 6334490..852ebaa 100644 +--- mozilla/media/webrtc/trunk/webrtc/typedefs.h ++++ mozilla/media/webrtc/trunk/webrtc/typedefs.h +@@ -16,17 +16,17 @@ + + // Reserved words definitions + // TODO(andrew): Remove this. + #define G_CONST const + + // For access to standard POSIXish features, use WEBRTC_POSIX instead of a + // more specific macro. + #if defined(WEBRTC_MAC) || defined(WEBRTC_LINUX) || \ +- defined(WEBRTC_ANDROID) ++ defined(WEBRTC_ANDROID) || defined(WEBRTC_BSD) + #define WEBRTC_POSIX + #endif + + // Processor architecture detection. For more info on what's defined, see: + // http://msdn.microsoft.com/en-us/library/b0084kay.aspx + // http://www.agner.org/optimize/calling_conventions.pdf + // or with gcc, run: "echo | gcc -E -dM -" + // TODO(andrew): replace WEBRTC_LITTLE_ENDIAN with WEBRTC_ARCH_LITTLE_ENDIAN. +diff --git media/webrtc/trunk/webrtc/video_engine/vie_defines.h media/webrtc/trunk/webrtc/video_engine/vie_defines.h index 2cc18cc7..2c042a0 100644 ---- mozilla/media/webrtc/trunk/src/video_engine/vie_defines.h -+++ mozilla/media/webrtc/trunk/src/video_engine/vie_defines.h +--- mozilla/media/webrtc/trunk/webrtc/video_engine/vie_defines.h ++++ mozilla/media/webrtc/trunk/webrtc/video_engine/vie_defines.h @@ -168,17 +168,17 @@ inline int ChannelId(const int moduleId) { // Example: "Oct 10 2002 12:05:30 r". #define BUILDINFO BUILDDATE TEXT(" ") BUILDTIME TEXT(" ") BUILDMODE #define RENDER_MODULE_TYPE kRenderWindows #endif // Linux specific. #ifndef WEBRTC_ANDROID -#ifdef WEBRTC_LINUX +#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) // Build information macros. #if defined(_DEBUG) #define BUILDMODE "d" #elif defined(DEBUG) #define BUILDMODE "d" #elif defined(NDEBUG) #define BUILDMODE "r" #else -diff --git media/webrtc/trunk/src/voice_engine/voe_network_impl.cc media/webrtc/trunk/src/voice_engine/voe_network_impl.cc +diff --git media/webrtc/trunk/webrtc/voice_engine/voe_network_impl.cc media/webrtc/trunk/webrtc/voice_engine/voe_network_impl.cc index 174abca..f8a2b2d 100644 ---- mozilla/media/webrtc/trunk/src/voice_engine/voe_network_impl.cc -+++ mozilla/media/webrtc/trunk/src/voice_engine/voe_network_impl.cc +--- mozilla/media/webrtc/trunk/webrtc/voice_engine/voe_network_impl.cc ++++ mozilla/media/webrtc/trunk/webrtc/voice_engine/voe_network_impl.cc @@ -467,17 +467,17 @@ int VoENetworkImpl::SetSendTOS(int channel, int DSCP, int priority, bool useSetSockopt) { WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1), "SetSendTOS(channel=%d, DSCP=%d, useSetSockopt=%d)", channel, DSCP, useSetSockopt); -#if !defined(_WIN32) && !defined(WEBRTC_LINUX) && !defined(WEBRTC_MAC) +#if !defined(_WIN32) && !defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) && !defined(WEBRTC_MAC) _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceWarning, "SetSendTOS() is not supported on this platform"); return -1; #endif #ifndef WEBRTC_EXTERNAL_TRANSPORT if (!_shared->statistics().Initialized()) { @@ -523,17 +523,17 @@ int VoENetworkImpl::SetSendTOS(int channel, return -1; } if (channelPtr->ExternalTransport()) { _shared->SetLastError(VE_EXTERNAL_TRANSPORT_ENABLED, kTraceError, "SetSendTOS() external transport is enabled"); return -1; } -#if defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) +#if defined(WEBRTC_LINUX) || defined(WEBRTC_BSD) || defined(WEBRTC_MAC) useSetSockopt = true; WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_shared->instance_id(), -1), " force useSetSockopt=true since there is no alternative" " implementation"); #endif return channelPtr->SetSendTOS(DSCP, priority, useSetSockopt); #else @@ -546,17 +546,17 @@ int VoENetworkImpl::SetSendTOS(int channel, int VoENetworkImpl::GetSendTOS(int channel, int& DSCP, int& priority, bool& useSetSockopt) { WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1), "GetSendTOS(channel=%d)", channel); -#if !defined(_WIN32) && !defined(WEBRTC_LINUX) && !defined(WEBRTC_MAC) +#if !defined(_WIN32) && !defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) && !defined(WEBRTC_MAC) _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceWarning, "GetSendTOS() is not supported on this platform"); return -1; #endif #ifndef WEBRTC_EXTERNAL_TRANSPORT if (!_shared->statistics().Initialized()) { _shared->SetLastError(VE_NOT_INITED, kTraceError); -diff --git media/webrtc/trunk/src/voice_engine/voice_engine_defines.h media/webrtc/trunk/src/voice_engine/voice_engine_defines.h +diff --git media/webrtc/trunk/webrtc/voice_engine/voice_engine_defines.h media/webrtc/trunk/webrtc/voice_engine/voice_engine_defines.h index 7d4c729..4104719 100644 ---- mozilla/media/webrtc/trunk/src/voice_engine/voice_engine_defines.h -+++ mozilla/media/webrtc/trunk/src/voice_engine/voice_engine_defines.h -@@ -437,41 +437,44 @@ namespace webrtc +--- mozilla/media/webrtc/trunk/webrtc/voice_engine/voice_engine_defines.h ++++ mozilla/media/webrtc/trunk/webrtc/voice_engine/voice_engine_defines.h +@@ -409,41 +409,43 @@ namespace webrtc #else #define ANDROID_NOT_SUPPORTED(stat) #endif // #ifdef WEBRTC_LINUX // *** WEBRTC_MAC *** // including iPhone -#ifdef WEBRTC_MAC +#if defined(WEBRTC_BSD) || defined(WEBRTC_MAC) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include -+ -+#ifdef WEBRTC_MAC ++#if !defined(WEBRTC_BSD) #include - #if !defined(MAC_IPHONE) && !defined(MAC_IPHONE_SIM) + #if !defined(WEBRTC_IOS) #include #include #include #include #include #endif -+#endif // WEBRTC_MAC ++#endif #define DWORD unsigned long int #define WINAPI #define LPVOID void * #define FALSE 0 #define TRUE 1 #define SOCKADDR_IN struct sockaddr_in #define UINT unsigned int -@@ -579,13 +582,13 @@ namespace webrtc +@@ -526,13 +528,13 @@ namespace webrtc // Defines // ---------------------------------------------------------------------------- - #define IPHONE_NOT_SUPPORTED() + #define IPHONE_NOT_SUPPORTED(stat) #endif #else - #define IPHONE_NOT_SUPPORTED() + #define IPHONE_NOT_SUPPORTED(stat) -#endif // #ifdef WEBRTC_MAC +#endif // #if defined(WEBRTC_BSD) || defined(WEBRTC_MAC) #endif // WEBRTC_VOICE_ENGINE_VOICE_ENGINE_DEFINES_H -diff --git media/webrtc/trunk/third_party/libyuv/libyuv.gyp media/webrtc/trunk/third_party/libyuv/libyuv.gyp -index 6f4eb9e..5f044ad 100644 ---- mozilla/media/webrtc/trunk/third_party/libyuv/libyuv.gyp -+++ mozilla/media/webrtc/trunk/third_party/libyuv/libyuv.gyp -@@ -4,16 +4,17 @@ - # that can be found in the LICENSE file in the root of the source - # tree. An additional intellectual property rights grant can be found - # in the file PATENTS. All contributing project authors may - # be found in the AUTHORS file in the root of the source tree. - - { - 'variables': { - 'use_system_libjpeg%': 0, -+ 'yuv_disable_asm%': 0, - }, - 'targets': [ - { - 'target_name': 'libyuv', - 'type': 'static_library', - 'conditions': [ - ['use_system_libjpeg==0', { - 'dependencies': [ -@@ -43,16 +44,21 @@ - ], - 'direct_dependent_settings': { - 'include_dirs': [ - 'include', - '.', - ], - }, - 'conditions': [ -+ ['yuv_disable_asm==1', { -+ 'defines': [ -+ 'YUV_DISABLE_ASM', -+ ], -+ }], - ['build_with_mozilla==1', { - 'include_dirs': [ - '$(DEPTH)/dist/include', - ], - 'direct_dependent_settings': { - 'include_dirs': [ - '$(DEPTH)/dist/include', - ], diff --git media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py index 338d0b7..2241d41 100644 --- mozilla/media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py +++ mozilla/media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py -@@ -4,16 +4,17 @@ +@@ -1,16 +1,17 @@ + # Copyright (c) 2012 Mozilla Foundation. All rights reserved. + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. - # Python 2.5 needs this for the with statement. - from __future__ import with_statement - import collections import gyp import gyp.common import sys +import platform import os import re import shlex generator_wants_sorted_dependencies = True generator_default_variables = { } -@@ -111,30 +112,44 @@ endif +@@ -107,30 +108,44 @@ endif def ensure_directory_exists(path): dir = os.path.dirname(path) if dir and not os.path.exists(dir): os.makedirs(dir) def GetFlavor(params): """Returns |params.flavor| if it's set, the system's default flavor else.""" + system = platform.system().lower() flavors = { - 'win32': 'win', - 'darwin': 'mac', - 'sunos5': 'solaris', - 'freebsd7': 'freebsd', - 'freebsd8': 'freebsd', + 'microsoft': 'win', + 'windows' : 'win', + 'darwin' : 'mac', + 'sunos' : 'solaris', + 'dragonfly': 'bsd', + 'freebsd' : 'bsd', + 'netbsd' : 'bsd', + 'openbsd' : 'bsd', } - flavor = flavors.get(sys.platform, 'linux') - return params.get('flavor', flavor) + + if 'flavor' in params: + return params['flavor'] + if system.startswith('cygwin'): + return 'win' + if system in flavors: + return flavors[system] + + return 'linux' def CalculateVariables(default_variables, params): + flavor = GetFlavor(params) + if flavor == 'bsd': + flavor = platform.system().lower() generator_flags = params.get('generator_flags', {}) - default_variables['OS'] = generator_flags.get('os', GetFlavor(params)) + default_variables['OS'] = generator_flags.get('os', flavor) def CalculateGeneratorInputInfo(params): """Calculate the generator specific info that gets fed to input (called by gyp).""" generator_flags = params.get('generator_flags', {}) if generator_flags.get('adjust_static_libraries', False): global generator_wants_static_library_dependencies_adjusted Index: head/www/seamonkey/files/patch-bug826985 =================================================================== --- head/www/seamonkey/files/patch-bug826985 (revision 322291) +++ head/www/seamonkey/files/patch-bug826985 (revision 322292) @@ -1,164 +1,164 @@ commit 8024d93 Author: Henrik Gulbrandsen Date: Fri Jan 4 13:49:22 2013 +0100 Bug 826985 - Support more video formats for WebRTC via libv4l2 on Linux. --- configure.in | 7 +++++++ media/webrtc/signaling/test/Makefile.in | 1 + - .../modules/video_capture/main/source/Linux/device_info_linux.cc | 17 +++++++++++++++++ - .../modules/video_capture/main/source/Linux/video_capture_linux.cc | 16 +++++++++++++++- - .../webrtc/modules/video_capture/main/source/video_capture.gypi | 11 +++++++++++ + .../modules/video_capture/linux/device_info_linux.cc | 17 +++++++++++++++++ + .../modules/video_capture/linux/video_capture_linux.cc | 16 +++++++++++++++- + .../webrtc/modules/video_capture/video_capture.gypi | 11 +++++++++++ toolkit/library/Makefile.in | 1 + 6 files changed, 52 insertions(+), 1 deletion(-) diff --git configure.in configure.in index 55e4cd1..76567b3 100644 --- mozilla/configure.in +++ mozilla/configure.in -@@ -5238,6 +5238,9 @@ if test -n "$MOZ_WEBRTC"; then +@@ -5294,6 +5294,9 @@ if test -n "$MOZ_WEBRTC"; then MOZ_VP8_ENCODER=1 MOZ_VP8_ERROR_CONCEALMENT=1 + dnl with libv4l2 we can support more cameras + PKG_CHECK_MODULES(MOZ_LIBV4L2, libv4l2) + - dnl OpenSLES is only available in Android 2.3 and later; we'll change this - dnl hard dependency to a dynamic load with graceful runtime failure before - dnl we make --enable-webrtc on by default in Android (bug 815905) + if test "$MOZ_WIDGET_TOOLKIT" != "gonk"; then + dnl OpenSLES is only available in Android 2.3 and later; we'll change this + dnl hard dependency to a dynamic load with graceful runtime failure before @@ -8981,6 +8984,10 @@ elif test "${OS_TARGET}" = "Android"; then fi fi +if test -n "$MOZ_LIBV4L2_LIBS"; then + EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D use_libv4l2=1" +fi + if test -n "$MOZ_WEBRTC"; then AC_MSG_RESULT("generating WebRTC Makefiles...") diff --git media/webrtc/signaling/test/Makefile.in media/webrtc/signaling/test/Makefile.in index b483cd1..f1dd1f0 100644 --- mozilla/media/webrtc/signaling/test/Makefile.in +++ mozilla/media/webrtc/signaling/test/Makefile.in @@ -17,6 +17,7 @@ LIBS = \ $(NSPR_LIBS) \ $(NSS_LIBS) \ $(REALTIME_LIBS) \ + $(MOZ_LIBV4L2_LIBS) \ $(DEPTH)/xpcom/glue/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \ $(DEPTH)/media/mtransport/standalone/$(LIB_PREFIX)mtransport_s.$(LIB_SUFFIX) \ $(DEPTH)/media/webrtc/signalingtest/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \ -diff --git media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc +diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc index 239a292..bab496c 100644 ---- mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc -+++ mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/Linux/device_info_linux.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc @@ -26,11 +26,23 @@ #else #include #endif +#ifdef HAVE_LIBV4L2 +#include +#endif #include "ref_count.h" #include "trace.h" +#ifdef HAVE_LIBV4L2 +#define open v4l2_open +#define close v4l2_close +#define dup v4l2_dup +#define ioctl v4l2_ioctl +#define mmap v4l2_mmap +#define munmap v4l2_munmap +#endif + namespace webrtc { namespace videocapturemodule @@ -130,6 +142,11 @@ WebRtc_Word32 DeviceInfoLinux::GetDeviceName( memset(deviceNameUTF8, 0, deviceNameLength); memcpy(cameraName, cap.card, sizeof(cap.card)); + if (cameraName[0] == '\0') + { + sprintf(cameraName, "Camera at /dev/video%d", deviceNumber); + } + if (deviceNameLength >= strlen(cameraName)) { memcpy(deviceNameUTF8, cameraName, strlen(cameraName)); -diff --git media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc +diff --git media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc index 12df1b3..e9863ba 100644 ---- mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc -+++ mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/Linux/video_capture_linux.cc +--- mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc ++++ mozilla/media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc @@ -25,6 +25,9 @@ #else #include #endif +#ifdef HAVE_LIBV4L2 +#include +#endif #include @@ -26,6 +31,15 @@ #include "critical_section_wrapper.h" #include "video_capture_linux.h" +#ifdef HAVE_LIBV4L2 +#define open v4l2_open +#define close v4l2_close +#define dup v4l2_dup +#define ioctl v4l2_ioctl +#define mmap v4l2_mmap +#define munmap v4l2_munmap +#endif + namespace webrtc { namespace videocapturemodule -diff --git media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi +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/src/modules/video_capture/main/source/video_capture.gypi -+++ mozilla/media/webrtc/trunk/src/modules/video_capture/main/source/video_capture.gypi +--- 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 @@ # be found in the AUTHORS file in the root of the source tree. { + 'variables': { + 'use_libv4l2%': 0, + }, 'targets': [ { 'target_name': 'video_capture_module', @@ -49,6 +52,16 @@ }, { # include_internal_video_capture == 1 'conditions': [ ['include_v4l2_video_capture==1', { + 'conditions': [ + ['use_libv4l2==1', { + 'defines': [ + 'HAVE_LIBV4L2', + ], + 'libraries': [ + '-lv4l2', + ], + }], + ], 'include_dirs': [ 'linux', ], diff --git toolkit/library/Makefile.in toolkit/library/Makefile.in index 9c16ffa..1db3794 100644 --- mozilla/toolkit/library/Makefile.in +++ mozilla/toolkit/library/Makefile.in @@ -405,6 +405,7 @@ endif EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib) ifdef MOZ_WEBRTC +EXTRA_DSO_LDOPTS += $(MOZ_LIBV4L2_LIBS) ifdef MOZ_PEERCONNECTION COMPONENT_LIBS += peerconnection endif Index: head/www/seamonkey/files/patch-bug844818 =================================================================== --- head/www/seamonkey/files/patch-bug844818 (revision 322291) +++ head/www/seamonkey/files/patch-bug844818 (revision 322292) @@ -1,126 +1,126 @@ diff --git configure.in configure.in index 7cd6e17..a1dbdf7 100644 --- mozilla/configure.in +++ mozilla/configure.in @@ -9106,6 +9106,18 @@ elif test "${OS_TARGET}" = "Android"; th fi fi +# Keep libcubeb and audio_device backends in sync +if test -n "$MOZ_ALSA"; then + EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D include_alsa_audio=1" +else + EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D include_alsa_audio=0" +fi +if test -n "$MOZ_PULSEAUDIO"; then + EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D include_pulse_audio=1" +else + EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D include_pulse_audio=0" +fi + # Don't try to compile sse4.1 code if toolchain doesn't support if test -z "$HAVE_TOOLCHAIN_SUPPORT_MSSE4_1"; then EXTRA_GYP_DEFINES="$EXTRA_GYP_DEFINES -D yuv_disable_asm=1" -diff --git media/webrtc/trunk/src/modules/audio_device/main/source/audio_device.gypi media/webrtc/trunk/src/modules/audio_device/main/source/audio_device.gypi +diff --git media/webrtc/trunk/webrtc/modules/audio_device/audio_device.gypi media/webrtc/trunk/webrtc/modules/audio_device/audio_device.gypi index 8457737..dfc83ff 100644 ---- mozilla/media/webrtc/trunk/src/modules/audio_device/main/source/audio_device.gypi -+++ mozilla/media/webrtc/trunk/src/modules/audio_device/main/source/audio_device.gypi +--- mozilla/media/webrtc/trunk/webrtc/modules/audio_device/audio_device.gypi ++++ mozilla/media/webrtc/trunk/webrtc/modules/audio_device/audio_device.gypi @@ -45,11 +45,15 @@ 'dummy/audio_device_utility_dummy.h', ], 'conditions': [ - ['OS=="linux"', { + ['include_alsa_audio==1 or include_pulse_audio==1', { 'include_dirs': [ 'linux', ], - }], # OS==linux + 'defines': [ + # avoid pointless rename + 'WEBRTC_LINUX', + ], + }], # include_alsa_audio==1 or include_pulse_audio==1 - ['OS=="mac"', { - 'include_dirs': [ - 'mac', + ['OS=="ios"', { + 'include_dirs': [ + 'ios', @@ -74,14 +78,8 @@ }], ['include_internal_audio_device==1', { 'sources': [ - 'linux/alsasymboltable_linux.cc', - 'linux/alsasymboltable_linux.h', - 'linux/audio_device_alsa_linux.cc', - 'linux/audio_device_alsa_linux.h', 'linux/audio_device_utility_linux.cc', 'linux/audio_device_utility_linux.h', - 'linux/audio_mixer_manager_alsa_linux.cc', - 'linux/audio_mixer_manager_alsa_linux.h', 'linux/latebindingsymboltable_linux.cc', 'linux/latebindingsymboltable_linux.h', 'mac/audio_device_mac.cc', @@ -116,28 +114,36 @@ }, }], ['OS=="linux"', { - 'defines': [ - 'LINUX_ALSA', - ], 'link_settings': { 'libraries': [ '-ldl', ], }, - 'conditions': [ - ['include_pulse_audio==1', { - 'defines': [ - 'LINUX_PULSE', - ], - 'sources': [ - 'linux/audio_device_pulse_linux.cc', - 'linux/audio_device_pulse_linux.h', - 'linux/audio_mixer_manager_pulse_linux.cc', - 'linux/audio_mixer_manager_pulse_linux.h', - 'linux/pulseaudiosymboltable_linux.cc', - 'linux/pulseaudiosymboltable_linux.h', - ], - }], + }], + ['include_alsa_audio==1', { + 'defines': [ + 'LINUX_ALSA', + ], + 'sources': [ + 'linux/alsasymboltable_linux.cc', + 'linux/alsasymboltable_linux.h', + 'linux/audio_device_alsa_linux.cc', + 'linux/audio_device_alsa_linux.h', + 'linux/audio_mixer_manager_alsa_linux.cc', + 'linux/audio_mixer_manager_alsa_linux.h', + ], + }], + ['include_pulse_audio==1', { + 'defines': [ + 'LINUX_PULSE', + ], + 'sources': [ + 'linux/audio_device_pulse_linux.cc', + 'linux/audio_device_pulse_linux.h', + 'linux/audio_mixer_manager_pulse_linux.cc', + 'linux/audio_mixer_manager_pulse_linux.h', + 'linux/pulseaudiosymboltable_linux.cc', + 'linux/pulseaudiosymboltable_linux.h', ], }], ['OS=="mac"', { diff --git media/webrtc/webrtc_config.gypi media/webrtc/webrtc_config.gypi index b504d3d..e2eb127 100644 --- mozilla/media/webrtc/webrtc_config.gypi +++ mozilla/media/webrtc/webrtc_config.gypi @@ -9,7 +9,6 @@ 'include_internal_video_render': 0, 'clang_use_chrome_plugins': 0, 'enable_protobuf': 0, - 'include_pulse_audio': 0, 'include_tests': 0, 'use_system_libjpeg': 1, 'use_system_libvpx': 1, Index: head/www/seamonkey/files/patch-mozilla-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp =================================================================== --- head/www/seamonkey/files/patch-mozilla-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp (revision 322291) +++ head/www/seamonkey/files/patch-mozilla-media-webrtc-trunk-src-system_wrappers-source-spreadsortlib-spreadsort.hpp (revision 322292) @@ -1,16 +1,16 @@ ---- mozilla/media/webrtc/trunk/src/system_wrappers/source/spreadsortlib/spreadsort.hpp~ -+++ mozilla/media/webrtc/trunk/src/system_wrappers/source/spreadsortlib/spreadsort.hpp +--- mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp~ ++++ mozilla/media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp @@ -21,6 +21,13 @@ Scott McMurray #include "constants.hpp" #include +#ifdef __FreeBSD__ +# include +# if __FreeBSD_version < 900506 +# define getchar boost_getchar +# endif +#endif + namespace boost { namespace detail { //This only works on unsigned data types Index: head/www/seamonkey/files/patch-toolkit-components-osfile-osfile_unix_allthreads.jsm =================================================================== --- head/www/seamonkey/files/patch-toolkit-components-osfile-osfile_unix_allthreads.jsm (nonexistent) +++ head/www/seamonkey/files/patch-toolkit-components-osfile-osfile_unix_allthreads.jsm (revision 322292) @@ -0,0 +1,11 @@ +--- mozilla/toolkit/components/osfile/osfile_unix_allthreads.jsm.orig 2013-05-11 21:19:53.000000000 +0200 ++++ mozilla/toolkit/components/osfile/osfile_unix_allthreads.jsm 2013-06-02 17:15:05.000000000 +0200 +@@ -40,7 +40,7 @@ if (typeof Components != "undefined") { + // Open libc + let libc; + let libc_candidates = [ "libSystem.B.dylib", +- "libc.so.6", ++ "libc.so.7", + "libc.so" ]; + for (let i = 0; i < libc_candidates.length; ++i) { + try { Property changes on: head/www/seamonkey/files/patch-toolkit-components-osfile-osfile_unix_allthreads.jsm ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/www/seamonkey-i18n/Makefile =================================================================== --- head/www/seamonkey-i18n/Makefile (revision 322291) +++ head/www/seamonkey-i18n/Makefile (revision 322292) @@ -1,94 +1,94 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= seamonkey-i18n -PORTVERSION= 2.17.1 +PORTVERSION= 2.19 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/langpack PKGNAMEPREFIX= DISTFILES= ${SEAMONKEY_I18N_:S/$/.langpack.xpi/:S/^/seamonkey-${PORTVERSION}./} DIST_SUBDIR= xpi/${DISTNAME} MAINTAINER= gecko@FreeBSD.org COMMENT= Localized interface for SeaMonkey EXTRACT_DEPENDS= zip:${PORTSDIR}/archivers/zip PLIST?= ${WRKDIR}/plist PLISTD?= ${WRKDIR}/plist_dirs PLISTF?= ${WRKDIR}/plist_files USE_SEAMONKEY= yes USE_XPI= seamonkey linux-seamonkey USE_SUBMAKE= yes WDIR= langpack-*@seamonkey.mozilla.org XPI_DISTNAMES= ${SEAMONKEY_I18N_} .ifndef WITHOUT_SWITCHER RUN_DEPENDS+= xpi-quick-locale-switcher>=0:${PORTSDIR}/www/xpi-quick-locale-switcher .endif .include "${.CURDIR}/Makefile.option" .include .include "${.CURDIR}/Makefile.lang" SEAMONKEY_I18N_?= ${SEAMONKEY_I18N} .for dist in ${XPI_DISTNAMES} XPI_ID_${dist}= langpack-${dist}@seamonkey.mozilla.org .endfor pre-everything:: @${ECHO_CMD} @${ECHO_CMD} "Please define SEAMONKEY_I18N_ALL to install all languages." @${ECHO_CMD} do-extract: @${MKDIR} ${WRKSRC} @for lang in ${SEAMONKEY_I18N_}; do \ if ! (${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/seamonkey-${PORTVERSION}.$$lang.langpack.xpi -d ${WRKSRC}/langpack-$$lang@seamonkey.mozilla.org);\ then \ exit 1; \ fi; \ cd ${WRKSRC}/langpack-$$lang@seamonkey.mozilla.org/; \ ${FIND} -H -s * ! -type d | \ ${SED} -e "s|^|lib/xpi/langpack-$$lang@seamonkey.mozilla.org/|" >> ${PLISTF} && \ ${FIND} -d * -type d | \ ${SED} -e "s|^|@dirrm lib/xpi/langpack-$$lang@seamonkey.mozilla.org/|" >> ${PLISTD}; \ done ${CAT} ${PLISTF} | ${SORT} >> ${PLIST} ${CAT} ${PLISTD} | ${SORT} -r >> ${PLIST} do-install: @${INSTALL} -d ${XPI_LIBDIR} ${XPI_SLDIRS_ALL} @${CP} -R ${WRKSRC}/ ${XPI_LIBDIR}/ @${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${XPI_LIBDIR}/${WDIR}/ @${CHMOD} -R a+rX,go-w ${XPI_LIBDIR}/${WDIR}/ @for _dir in ${XPI_LINKFARMS} ; { ${LN} -sf ${XPI_LIBDIR}/${WDIR} $$_dir/ ${_Q} ; } @${ECHO_CMD} '@exec ${INSTALL} -d ${XPI_SLDIRS_ALL:S,^${PREFIX},%D,}' ${_A} @${ECHO_CMD} '@exec for _dir in ${XPI_LINKFARMS} ; { \ ${LN} -sf ${XPI_LIBDIR}/${WDIR} $$_dir/ ${_Q}; }' ${_A} @for lang in ${SEAMONKEY_I18N_}; do \ for xpi in ${XPI_LINKFARMS} ; do \ if [ -d $${xpi} ] ; \ then \ ${ECHO_CMD} $$xpi/langpack-$$lang@seamonkey.mozilla.org ${_A} ; \ fi ; \ done ; \ done post-patch: ${FIND} ${WRKSRC} -name install.rdf -print0 | \ ${XARGS} -0L1 ${REINPLACE_CMD} -i '' -e '/ Index: head/www/seamonkey-i18n/distinfo =================================================================== --- head/www/seamonkey-i18n/distinfo (revision 322291) +++ head/www/seamonkey-i18n/distinfo (revision 322292) @@ -1,46 +1,46 @@ -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.ca.langpack.xpi) = 51d8590b68aeb95b66854f2a0ee2e49fabdf184bf5370a51121eadafb9d2918b -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.ca.langpack.xpi) = 778283 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.cs.langpack.xpi) = a92aa966a0afdcf07f1efa2e0a932cdd6d1bb6ca5829966c291a608d09376f54 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.cs.langpack.xpi) = 783459 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.de.langpack.xpi) = ff2bbeab22ffc55d336b50e9dfbb2528e9a0628fe0023ded7bc6a302f4d7f8d1 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.de.langpack.xpi) = 807008 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.en-GB.langpack.xpi) = 0f2395b44af71b4f84a111e5a3011333d80a0ffe98fb602a68c3e2ffb72fc767 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.en-GB.langpack.xpi) = 752488 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.en-US.langpack.xpi) = 6affe3dffed45c4d5258a6e750daf04e54103e8ca41757f246af41902d887968 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.en-US.langpack.xpi) = 752988 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.es-AR.langpack.xpi) = f14def5018aa50f3a140b8374b66ff7697099609cfe55145c0169a35a19d0042 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.es-AR.langpack.xpi) = 825532 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.es-ES.langpack.xpi) = 82e8ca3a00d6c70e676b7b60099b79b416d8c00059f8fbacee1dadb2193e699c -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.es-ES.langpack.xpi) = 773656 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.fi.langpack.xpi) = ca3817112c16417037f0bf95b007b2afa9a058de31a697aed28e6ad17a6d2fbe -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.fi.langpack.xpi) = 773170 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.fr.langpack.xpi) = 5aeae97aaca39598418781d88cb764de8955cdabc14f6f040393844efffc9b45 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.fr.langpack.xpi) = 782686 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.hu.langpack.xpi) = bd7453f98b951b477007f1704712030bb4a3230645eee2f26b40c387891e6bab -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.hu.langpack.xpi) = 815706 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.it.langpack.xpi) = 6153b5658595549315888a0959df2abbe2a0ce786bed00b89ca837feb0a1bb46 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.it.langpack.xpi) = 722919 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.ja-JP-mac.langpack.xpi) = 4b07671b8edb3ebef599a72afd66a340e46dca476206a9f389fb05b8e1d50461 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.ja-JP-mac.langpack.xpi) = 856275 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.ja.langpack.xpi) = 78b5d488c2feb11a6c972e2b138de401b4185ed94e96a6b44ec9c3a1225cf2e5 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.ja.langpack.xpi) = 831239 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.lt.langpack.xpi) = 06e5487ad9ea5f99d8b483091a652d3156e3ef9a8c42676565d65bc8b6579592 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.lt.langpack.xpi) = 796678 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.nb-NO.langpack.xpi) = e1f5549934a973bca053ea8199a77802bfe99b8e1c898336693b392651b4021d -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.nb-NO.langpack.xpi) = 771630 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.nl.langpack.xpi) = 615b508f1cd804d5960cab09ef6dc3706dd09059c75433a4ead2860deddbb87f -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.nl.langpack.xpi) = 768853 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.pl.langpack.xpi) = d308de8a1f8681b800eb27baca2a67dc4cd27150da86751cb44923036f0f5b3c -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.pl.langpack.xpi) = 814403 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.pt-PT.langpack.xpi) = 237bf3bed897717609c057f2dec10af4b0028e4d6dc9a7e30d4caa6e50df2d24 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.pt-PT.langpack.xpi) = 807020 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.ru.langpack.xpi) = f835db2cc61a24c4ceddebbd4a0e2f5add0bb25994fbabf642458301eab0507f -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.ru.langpack.xpi) = 877101 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.sk.langpack.xpi) = 3aff0993537eb3d90dc32ac398a3632fe5d23493b985f48ef3c61aeee7ba14bb -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.sk.langpack.xpi) = 810247 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.sv-SE.langpack.xpi) = 5fe1315605f3e8bc8b7c3e341695456f335f3c23e9bf0ce59e554d5b50c8de13 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.sv-SE.langpack.xpi) = 796146 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.tr.langpack.xpi) = f10041a860a777874b4cb545ae336dc7f267efcab703c84df653166611368a3b -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.tr.langpack.xpi) = 836222 -SHA256 (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.uk.langpack.xpi) = fc1dceb45ce7efa89350d3114292d83e273eeaf99b7b2775d730026c1fcfac87 -SIZE (xpi/seamonkey-i18n-2.17.1/seamonkey-2.17.1.uk.langpack.xpi) = 836888 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.ca.langpack.xpi) = 43bc80367ac83b52fc8196eb794ec44faa478259de4e791506f8b8ab183e2a1c +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.ca.langpack.xpi) = 782120 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.cs.langpack.xpi) = c77a8fdd500cef05f3bcca2e82a17b1a7a92c9de5620d0aa0e51e1f9a0c5a6a2 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.cs.langpack.xpi) = 788132 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.de.langpack.xpi) = cc10f5cb1278981ce2725ed9f6e8f276d9530b40b90864072344f0608c429dba +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.de.langpack.xpi) = 811668 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.en-GB.langpack.xpi) = 4d26df065da998674f0feb701b0491c4481e52c377f5c2e52a85c93dfa9c36ea +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.en-GB.langpack.xpi) = 766029 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.en-US.langpack.xpi) = 7e29cfb57078b9022279745dc9fb182138c96cf7e134e7267ee5d7df4228bfc8 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.en-US.langpack.xpi) = 766506 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.es-AR.langpack.xpi) = f2551937b5bf0d40c72149b7d0502d7b82f7cd75cbddbee14bc2409aedd1aa89 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.es-AR.langpack.xpi) = 829099 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.es-ES.langpack.xpi) = c6d22970c82c182fb6506be2ab65852405e7d4ed3ab22a367e30bf5f46e26a33 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.es-ES.langpack.xpi) = 787293 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.fi.langpack.xpi) = 2c1feb90c524c5bcd07258839b41d06b2435cc78602713546710aba411d29ab7 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.fi.langpack.xpi) = 777244 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.fr.langpack.xpi) = 98c8cf48da13468a016c027745e1c1374d83ebfe025182b22dc71c69e985c9a5 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.fr.langpack.xpi) = 786708 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.hu.langpack.xpi) = 69f81bd9ed97cd45222892bd8ba5c848fbb899018150fe52ab1036b8eb5d78a5 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.hu.langpack.xpi) = 819737 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.it.langpack.xpi) = 06997605d522ded7af7daae0b33b1de3804ae801f803eb66dd16bea0fb041ed7 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.it.langpack.xpi) = 723359 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.ja-JP-mac.langpack.xpi) = a06bfb44abff6508016046df3e547612dc3ff49d6cdd8f1a6b65d8e2d9909a55 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.ja-JP-mac.langpack.xpi) = 871084 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.ja.langpack.xpi) = a899460ae18a4d8e5a9d2f5dbe02dc10156d6d6af7f6e5dde51450cb6cb990dd +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.ja.langpack.xpi) = 845891 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.lt.langpack.xpi) = c1de1df7602e9fa294d624b31e2c30bf78ab2ee2a916ebceaf7857276f5f218d +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.lt.langpack.xpi) = 819104 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.nb-NO.langpack.xpi) = ed86364d32e7def012ddf4ab87da215ee97e62223eef6d1040d14593db367044 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.nb-NO.langpack.xpi) = 778423 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.nl.langpack.xpi) = bbe767f7e0a7bf4b3127e914f9dc537748bfda11e61f0f789265445a649d622d +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.nl.langpack.xpi) = 772729 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.pl.langpack.xpi) = 433d5fb608abf5cfe1a021b793ef59b88c29aeb6f056ce8b2c34ee28d4d2a8c4 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.pl.langpack.xpi) = 818458 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.pt-PT.langpack.xpi) = b4150bb86c0986c3da75f4d26d1d3e98fab4f92d9dd388e6734f9044a003bff1 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.pt-PT.langpack.xpi) = 813536 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.ru.langpack.xpi) = a39e3acf34ad7ddbffbadc1077e776759f13031333f707907daad47797f8c6f9 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.ru.langpack.xpi) = 880523 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.sk.langpack.xpi) = 19febc855bcf4f3d14a85433f98dacb8a9bd7816cd7f4d54f71abf4b90289ff5 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.sk.langpack.xpi) = 814425 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.sv-SE.langpack.xpi) = 8c9ee97d5606c109e715e67b79d3ff9f9499c2ef6a731ea5279130ba93761399 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.sv-SE.langpack.xpi) = 799857 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.tr.langpack.xpi) = 3e0f47c6704f6553a881c6a645a7d837073604731fcd32cef93244f3528a27e5 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.tr.langpack.xpi) = 842484 +SHA256 (xpi/seamonkey-i18n-2.19/seamonkey-2.19.uk.langpack.xpi) = 949176949a02ae353f70355b82c0c61ce85eef83edc536619c9dc52c082e0fa4 +SIZE (xpi/seamonkey-i18n-2.19/seamonkey-2.19.uk.langpack.xpi) = 843376