[SVN-Commit] r291 - in branches/experimental/www/firefox3-devel: .
files
svn-freebsd-gecko at chruetertee.ch
svn-freebsd-gecko at chruetertee.ch
Mon Mar 22 14:09:53 UTC 2010
Author: beat
Date: Mon Mar 22 14:09:45 2010
New Revision: 291
Log:
- Update patch releng6_pulseaudio to reflect recent source changes
- Temporarily mark broken on FreeBSD 6.x
- Add experimental knob WITH_OOPP_IPC to enable Out-Of-Process-Plugins
feature. This needs additional work, cleanup, testing and review.
Current status:
- It builds :)
- Flash plugin seem not to work:
For application/x-shockwave-flash found plugin npwrapper.libflashplayer.so
LoadPlugin() /usr/home/beat/.mozilla/plugins/npwrapper.libflashplayer.so returned 2b6ff7a0
###!!! [Parent][RPCChannel] Error: Channel error: cannot send/recv
WARNING: Plugin host deleted the module without shutting down.: file PluginModuleParent.cpp, line 118
###!!! [Parent][RPCChannel] Error: Channel error: cannot send/recv
WARNING: [PluginModuleParent::ActorDestroy] abnormal shutdown without minidump!: file PluginModuleParent.cpp, line 270
++DOMWINDOW == 19 (0x2f4c4c30) [serial = 20] [outer = 0x2e1bde00]
WARNING: nsPluginTag not found in nsPluginHost::PluginCrashed: file nsPluginHost.cpp, line 5028
- When disabling OOPP with dom.ipc.plugins.enabled=false Firefox coredumps on startup.
==> Feel free to contact me if you like to work on this.
Added:
branches/experimental/www/firefox3-devel/files/extrapatch-ipc-chromium
Modified:
branches/experimental/www/firefox3-devel/Makefile
branches/experimental/www/firefox3-devel/files/releng6_pulseaudio
Modified: branches/experimental/www/firefox3-devel/Makefile
==============================================================================
--- branches/experimental/www/firefox3-devel/Makefile Fri Mar 19 09:55:10 2010 (r290)
+++ branches/experimental/www/firefox3-devel/Makefile Mon Mar 22 14:09:45 2010 (r291)
@@ -50,8 +50,7 @@
--enable-svg --enable-svg-renderer=cairo \
--enable-application=browser \
--enable-official-branding --disable-updater \
- --enable-canvas --enable-libxul --disable-necko-wifi \
- --disable-ipc
+ --enable-canvas --enable-libxul --disable-necko-wifi
SYSTEM_PREFS= ${FAKEDIR}/lib/${MOZILLA}/defaults/pref/firefox.js
@@ -64,10 +63,18 @@
.if ${OSVERSION} < 700000
LIB_DEPENDS+= pulse.0:${PORTSDIR}/audio/pulseaudio
EXTRA_PATCHES= ${FILESDIR}/releng6_pulseaudio
+BROKEN= Does not build
.else
EXTRA_PATCHES= ${FILESDIR}/libsydney_oss
.endif
+.if defined(WITH_OOPP_IPC)
+LIB_DEPENDS+= execinfo.1:${PORTSDIR}/devel/libexecinfo
+EXTRA_PATCHES+= ${FILESDIR}/extrapatch-ipc-chromium
+.else
+MOZ_OPTIONS+= --disable-ipc
+.endif
+
WRKSRC:= ${WRKSRC}-central
GECKO_PTHREAD_LIBS!=${CC} -dumpspecs | ${GREP} -m 1 '%{\!pg: %{pthread:' | ${SED} -e 's|^.*%{\!pg: %{pthread:|| ; s|}.*$$||' || ${TRUE}
@@ -86,6 +93,11 @@
notify.1:${PORTSDIR}/devel/libnotify
.endif
+pre-patch:
+.if defined(WITH_OOPP_IPC)
+ @${MKDIR} ${WRKSRC}/ipc/chromium/src/third_party/libevent/freebsd
+.endif
+
post-extract::
@${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' -e 's|@MOZILLA@|${MOZILLA}|' \
-e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|' \
Added: branches/experimental/www/firefox3-devel/files/extrapatch-ipc-chromium
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/firefox3-devel/files/extrapatch-ipc-chromium Mon Mar 22 14:09:45 2010 (r291)
@@ -0,0 +1,1031 @@
+--- ipc/chromium/Makefile.in.orig 2010-03-15 14:55:38.000000000 +0100
++++ ipc/chromium/Makefile.in 2010-03-21 21:21:32.000000000 +0100
+@@ -269,6 +269,20 @@
+
+ endif # } OS_LINUX
+
++ifdef OS_FREEBSD # {
++
++CPPSRCS += \
++ atomicops_internals_x86_gcc.cc \
++ base_paths_linux.cc \
++ data_pack.cc \
++ file_util_linux.cc \
++ idle_timer_none.cc \
++ process_util_linux.cc \
++ time_posix.cc \
++ $(NULL)
++
++endif # } OS_FREEBSD
++
+ # libevent
+
+ ifdef OS_POSIX # {
+@@ -305,6 +319,11 @@
+ $(NULL)
+ endif # }
+
++ifdef OS_FREEBSD # {
++LOCAL_INCLUDES += -I$(srcdir)/src/third_party/libevent/freebsd
++CSRCS += kqueue.c
++endif # }
++
+ endif # }
+
+ include $(topsrcdir)/config/rules.mk
+--- ipc/chromium/chromium-config.mk.orig 2010-03-01 00:29:43.000000000 +0100
++++ ipc/chromium/chromium-config.mk 2010-03-12 13:54:37.000000000 +0100
+@@ -70,6 +70,17 @@
+ $(NULL)
+
+ else # } {
++ifeq ($(OS_ARCH),FreeBSD) # {
++
++OS_FREEBSD = 1
++OS_POSIX = 1
++
++DEFINES += \
++ -DOS_FREEBSD=1 \
++ -DOS_POSIX=1 \
++ $(NULL)
++
++else # } {
+ ifeq ($(OS_ARCH),WINNT) # {
+ OS_LIBS += $(call EXPAND_LIBNAME,psapi shell32 dbghelp)
+
+@@ -111,5 +122,6 @@
+
+ endif # }
+ endif # }
++endif # }
+
+-endif # }
+\ No newline at end of file
++endif # }
+--- ipc/chromium/src/base/base_paths.h.orig 2010-03-16 17:59:50.000000000 +0100
++++ ipc/chromium/src/base/base_paths.h 2010-03-16 18:00:10.000000000 +0100
+@@ -13,7 +13,7 @@
+ #include "base/base_paths_win.h"
+ #elif defined(OS_MACOSX)
+ #include "base/base_paths_mac.h"
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_FREEBSD)
+ #include "base/base_paths_linux.h"
+ #endif
+ #include "base/path_service.h"
+--- ipc/chromium/src/base/debug_util_posix.cc.orig 2010-03-15 13:55:39.000000000 +0000
++++ ipc/chromium/src/base/debug_util_posix.cc 2010-03-22 07:50:19.000000000 +0000
+@@ -69,7 +69,7 @@
+ return being_debugged;
+ }
+
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_FREEBSD)
+
+ // We can look in /proc/self/status for TracerPid. We are likely used in crash
+ // handling, so we are careful not to use the heap or have side effects.
+@@ -77,7 +77,11 @@
+ // can't detach without forking(), and that's not so great.
+ // static
+ bool DebugUtil::BeingDebugged() {
++#ifdef OS_FREEBSD
++ int status_fd = open("/usr/compat/linux/proc/self/status", O_RDONLY);
++#else
+ int status_fd = open("/proc/self/status", O_RDONLY);
++#endif
+ if (status_fd == -1)
+ return false;
+
+--- ipc/chromium/src/base/file_util.h.orig 2010-03-16 18:43:57.000000000 +0100
++++ ipc/chromium/src/base/file_util.h 2010-03-16 18:50:58.000000000 +0100
+@@ -13,6 +13,9 @@
+ #if defined(OS_WIN)
+ #include <windows.h>
+ #elif defined(OS_POSIX)
++#if defined(OS_FREEBSD)
++#include <sys/types.h>
++#endif
+ #include <fts.h>
+ #include <sys/stat.h>
+ #endif
+--- ipc/chromium/src/base/file_util_posix.cc.orig 2010-03-16 19:12:55.000000000 +0100
++++ ipc/chromium/src/base/file_util_posix.cc 2010-03-16 19:19:24.000000000 +0100
+@@ -69,10 +69,10 @@
+ (strcmp(ent->d_name, "..") == 0))
+ continue;
+
+- struct stat64 st;
+- int test = stat64(path.Append(ent->d_name).value().c_str(), &st);
++ struct stat st;
++ int test = stat(path.Append(ent->d_name).value().c_str(), &st);
+ if (test != 0) {
+- LOG(ERROR) << "stat64 failed: " << strerror(errno);
++ LOG(ERROR) << "stat failed: " << strerror(errno);
+ continue;
+ }
+ // Here, we use Time::TimeT(), which discards microseconds. This
+@@ -104,8 +104,8 @@
+ // here.
+ bool Delete(const FilePath& path, bool recursive) {
+ const char* path_str = path.value().c_str();
+- struct stat64 file_info;
+- int test = stat64(path_str, &file_info);
++ struct stat file_info;
++ int test = stat(path_str, &file_info);
+ if (test != 0) {
+ // The Windows version defines this condition as success.
+ bool ret = (errno == ENOENT || errno == ENOTDIR);
+@@ -274,19 +274,19 @@
+ }
+
+ bool PathExists(const FilePath& path) {
+- struct stat64 file_info;
+- return (stat64(path.value().c_str(), &file_info) == 0);
++ struct stat file_info;
++ return (stat(path.value().c_str(), &file_info) == 0);
+ }
+
+ bool PathIsWritable(const FilePath& path) {
+ FilePath test_path(path);
+- struct stat64 file_info;
+- if (stat64(test_path.value().c_str(), &file_info) != 0) {
++ struct stat file_info;
++ if (stat(test_path.value().c_str(), &file_info) != 0) {
+ // If the path doesn't exist, test the parent dir.
+ test_path = test_path.DirName();
+ // If the parent dir doesn't exist, then return false (the path is not
+ // directly writable).
+- if (stat64(test_path.value().c_str(), &file_info) != 0)
++ if (stat(test_path.value().c_str(), &file_info) != 0)
+ return false;
+ }
+ if (S_IWOTH & file_info.st_mode)
+@@ -299,8 +299,8 @@
+ }
+
+ bool DirectoryExists(const FilePath& path) {
+- struct stat64 file_info;
+- if (stat64(path.value().c_str(), &file_info) == 0)
++ struct stat file_info;
++ if (stat(path.value().c_str(), &file_info) == 0)
+ return S_ISDIR(file_info.st_mode);
+ return false;
+ }
+@@ -433,8 +433,8 @@
+ }
+
+ bool GetFileInfo(const FilePath& file_path, FileInfo* results) {
+- struct stat64 file_info;
+- if (stat64(file_path.value().c_str(), &file_info) != 0)
++ struct stat file_info;
++ if (stat(file_path.value().c_str(), &file_info) != 0)
+ return false;
+ results->is_directory = S_ISDIR(file_info.st_mode);
+ results->size = file_info.st_size;
+--- ipc/chromium/src/base/platform_file_posix.cc.orig 2010-03-16 19:01:11.000000000 +0100
++++ ipc/chromium/src/base/platform_file_posix.cc 2010-03-16 19:01:58.000000000 +0100
+@@ -7,6 +7,8 @@
+ #include <fcntl.h>
+ #include <errno.h>
+
++#include <sys/stat.h>
++
+ #include "base/logging.h"
+ #include "base/string_util.h"
+
+--- ipc/chromium/src/base/platform_thread.h.orig 2010-03-16 17:30:10.000000000 +0100
++++ ipc/chromium/src/base/platform_thread.h 2010-03-16 17:33:59.000000000 +0100
+@@ -22,7 +22,7 @@
+ #elif defined(OS_POSIX)
+ #include <pthread.h>
+ typedef pthread_t PlatformThreadHandle;
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_FREEBSD)
+ #include <unistd.h>
+ typedef pid_t PlatformThreadId;
+ #elif defined(OS_MACOSX)
+--- ipc/chromium/src/base/process_util.h.orig 2010-03-21 21:46:28.000000000 +0100
++++ ipc/chromium/src/base/process_util.h 2010-03-21 21:53:45.000000000 +0100
+@@ -13,7 +13,7 @@
+ #if defined(OS_WIN)
+ #include <windows.h>
+ #include <tlhelp32.h>
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_FREEBSD)
+ #include <dirent.h>
+ #include <limits.h>
+ #include <sys/types.h>
+@@ -263,7 +263,7 @@
+ #if defined(OS_WIN)
+ HANDLE snapshot_;
+ bool started_iteration_;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_FREEBSD)
+ DIR *procfs_dir_;
+ #elif defined(OS_MACOSX)
+ std::vector<kinfo_proc> kinfo_procs_;
+--- ipc/chromium/src/base/process_util_posix.cc.orig 2010-03-16 19:04:36.000000000 +0100
++++ ipc/chromium/src/base/process_util_posix.cc 2010-03-16 19:08:26.000000000 +0100
+@@ -101,6 +101,9 @@
+ #if defined(OS_LINUX)
+ static const rlim_t kSystemDefaultMaxFds = 8192;
+ static const char fd_dir[] = "/proc/self/fd";
++#elif defined(OS_FREEBSD)
++ static const rlim_t kSystemDefaultMaxFds = 8192;
++ static const char fd_dir[] = "/dev/fd";
+ #elif defined(OS_MACOSX)
+ static const rlim_t kSystemDefaultMaxFds = 256;
+ static const char fd_dir[] = "/dev/fd";
+@@ -177,7 +180,7 @@
+ void SetAllFDsToCloseOnExec() {
+ #if defined(OS_LINUX)
+ const char fd_dir[] = "/proc/self/fd";
+-#elif defined(OS_MACOSX)
++#elif defined(OS_MACOSX) || defined(OS_FREEBSD)
+ const char fd_dir[] = "/dev/fd";
+ #endif
+ ScopedDIR dir_closer(opendir(fd_dir));
+--- ipc/chromium/src/base/third_party/nspr/prcpucfg.h.orig 2010-03-16 17:44:58.000000000 +0100
++++ ipc/chromium/src/base/third_party/nspr/prcpucfg.h 2010-03-16 17:46:06.000000000 +0100
+@@ -36,6 +36,8 @@
+ #include "base/third_party/nspr/prcpucfg_mac.h"
+ #elif defined(__linux__)
+ #include "base/third_party/nspr/prcpucfg_linux.h"
++#elif defined(__FreeBSD__)
++#include "base/third_party/nspr/prcpucfg_freebsd.h"
+ #else
+ #error Provide a prcpucfg.h appropriate for your platform
+ #endif
+--- /dev/null 2010-03-16 17:44:00.000000000 +0100
++++ ipc/chromium/src/base/third_party/nspr/prcpucfg_freebsd.h 2010-03-16 17:43:05.000000000 +0100
+@@ -0,0 +1,382 @@
++/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* ***** BEGIN LICENSE BLOCK *****
++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
++ *
++ * The contents of this file are subject to the Mozilla Public License Version
++ * 1.1 (the "License"); you may not use this file except in compliance with
++ * the License. You may obtain a copy of the License at
++ * http://www.mozilla.org/MPL/
++ *
++ * Software distributed under the License is distributed on an "AS IS" basis,
++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
++ * for the specific language governing rights and limitations under the
++ * License.
++ *
++ * The Original Code is the Netscape Portable Runtime (NSPR).
++ *
++ * The Initial Developer of the Original Code is
++ * Netscape Communications Corporation.
++ * Portions created by the Initial Developer are Copyright (C) 1998-2000
++ * the Initial Developer. All Rights Reserved.
++ *
++ * Contributor(s):
++ *
++ * Alternatively, the contents of this file may be used under the terms of
++ * either the GNU General Public License Version 2 or later (the "GPL"), or
++ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++ * in which case the provisions of the GPL or the LGPL are applicable instead
++ * of those above. If you wish to allow use of your version of this file only
++ * under the terms of either the GPL or the LGPL, and not to allow others to
++ * use your version of this file under the terms of the MPL, indicate your
++ * decision by deleting the provisions above and replace them with the notice
++ * and other provisions required by the GPL or the LGPL. If you do not delete
++ * the provisions above, a recipient may use your version of this file under
++ * the terms of any one of the MPL, the GPL or the LGPL.
++ *
++ * ***** END LICENSE BLOCK ***** */
++
++#ifndef nspr_cpucfg___
++#define nspr_cpucfg___
++
++#ifndef XP_UNIX
++#define XP_UNIX
++#endif
++
++#ifndef FREEBSD
++#define FREEBSD
++#endif
++
++#define PR_AF_INET6 28 /* same as AF_INET6 */
++
++#ifndef HAVE_LONG_LONG
++#define HAVE_LONG_LONG
++#endif
++
++#if defined(__i386__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#undef HAVE_ALIGNED_DOUBLES
++#undef HAVE_ALIGNED_LONGLONGS
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 4
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 4
++#define PR_BYTES_PER_DWORD 8
++#define PR_BYTES_PER_WORD_LOG2 2
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 32
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 32
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 5
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 5
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 4
++#define PR_ALIGN_OF_INT64 4
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 4
++#define PR_ALIGN_OF_POINTER 4
++
++#elif defined(__alpha__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#define HAVE_ALIGNED_DOUBLES
++#define HAVE_ALIGNED_LONGLONGS
++#define IS_64
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 8
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 8
++#define PR_BYTES_PER_DWORD 8
++#define PR_BYTES_PER_WORD_LOG2 3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 64
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 64
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 6
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 6
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 8
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 8
++
++#elif defined(__sparc__)
++
++#undef IS_LITTLE_ENDIAN
++#define IS_BIG_ENDIAN 1
++#define HAVE_ALIGNED_DOUBLES
++#define HAVE_ALIGNED_LONGLONGS
++#define IS_64
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 8
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 8
++#define PR_BYTES_PER_DWORD 8
++#define PR_BYTES_PER_WORD_LOG2 3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 64
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 64
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 6
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 6
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 8
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 8
++
++#elif defined(__ia64__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#define HAVE_ALIGNED_DOUBLES
++#define HAVE_ALIGNED_LONGLONGS
++#define IS_64
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 8
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 8
++#define PR_BYTES_PER_DWORD 8
++#define PR_BYTES_PER_WORD_LOG2 3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 64
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 64
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 6
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 6
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 8
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 8
++#define PR_ALIGN_OF_WORD 8
++
++#elif defined(__amd64__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++#define HAVE_ALIGNED_DOUBLES
++#define HAVE_ALIGNED_LONGLONGS
++#define IS_64
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 8
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 8
++#define PR_BYTES_PER_DWORD 8
++#define PR_BYTES_PER_WORD_LOG2 3
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 64
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 64
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 6
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 6
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 8
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 8
++#define PR_ALIGN_OF_WORD 8
++
++#elif defined(__powerpc__)
++
++#undef IS_LITTLE_ENDIAN
++#define IS_BIG_ENDIAN 1
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 4
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 4
++#define PR_BYTES_PER_DWORD 8
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 32
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 32
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 5
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 5
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 4
++#define PR_ALIGN_OF_INT64 8
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 8
++#define PR_ALIGN_OF_POINTER 4
++#define PR_ALIGN_OF_WORD 4
++
++#define PR_BYTES_PER_WORD_LOG2 2
++#define PR_BYTES_PER_DWORD_LOG2 3
++
++#else
++
++#error "Unknown CPU architecture"
++
++#endif
++
++#ifndef NO_NSPR_10_SUPPORT
++
++#define BYTES_PER_BYTE PR_BYTES_PER_BYTE
++#define BYTES_PER_SHORT PR_BYTES_PER_SHORT
++#define BYTES_PER_INT PR_BYTES_PER_INT
++#define BYTES_PER_INT64 PR_BYTES_PER_INT64
++#define BYTES_PER_LONG PR_BYTES_PER_LONG
++#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT
++#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE
++#define BYTES_PER_WORD PR_BYTES_PER_WORD
++#define BYTES_PER_DWORD PR_BYTES_PER_DWORD
++
++#define BITS_PER_BYTE PR_BITS_PER_BYTE
++#define BITS_PER_SHORT PR_BITS_PER_SHORT
++#define BITS_PER_INT PR_BITS_PER_INT
++#define BITS_PER_INT64 PR_BITS_PER_INT64
++#define BITS_PER_LONG PR_BITS_PER_LONG
++#define BITS_PER_FLOAT PR_BITS_PER_FLOAT
++#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE
++#define BITS_PER_WORD PR_BITS_PER_WORD
++
++#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
++#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
++#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2
++#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
++#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
++#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
++#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2
++#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
++
++#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT
++#define ALIGN_OF_INT PR_ALIGN_OF_INT
++#define ALIGN_OF_LONG PR_ALIGN_OF_LONG
++#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64
++#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT
++#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE
++#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER
++#define ALIGN_OF_WORD PR_ALIGN_OF_WORD
++
++#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
++#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2
++#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2
++
++#endif /* NO_NSPR_10_SUPPORT */
++
++#endif /* nspr_cpucfg___ */
+--- ipc/chromium/src/base/third_party/nspr/prtime.cc.orig 2010-03-16 17:49:59.000000000 +0100
++++ ipc/chromium/src/base/third_party/nspr/prtime.cc 2010-03-16 17:50:20.000000000 +0100
+@@ -149,7 +149,7 @@
+ result *= kSecondsToMicroseconds;
+ result += exploded->tm_usec;
+ return result;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_FREEBSD)
+ struct tm exp_tm = {0};
+ exp_tm.tm_sec = exploded->tm_sec;
+ exp_tm.tm_min = exploded->tm_min;
+--- ipc/chromium/src/build/build_config.h.orig 2010-03-15 14:55:39.000000000 +0100
++++ ipc/chromium/src/build/build_config.h 2010-03-21 14:54:06.000000000 +0100
+@@ -4,7 +4,7 @@
+
+ // This file adds defines about the platform we're currently building on.
+ // Operating System:
+-// OS_WIN / OS_MACOSX / OS_LINUX / OS_POSIX (MACOSX or LINUX)
++// OS_WIN / OS_MACOSX / OS_LINUX / OS_FREEBSD / OS_POSIX (MACOSX, FREEBSD or LINUX)
+ // Compiler:
+ // COMPILER_MSVC / COMPILER_GCC
+ // Processor:
+@@ -19,6 +19,8 @@
+ #define OS_MACOSX 1
+ #elif defined(__linux__)
+ #define OS_LINUX 1
++#elif defined(__FreeBSD__)
++#define OS_FREEBSD 1
+ #elif defined(_WIN32)
+ #define OS_WIN 1
+ #else
+@@ -27,7 +29,7 @@
+
+ // For access to standard POSIX features, use OS_POSIX instead of a more
+ // specific macro.
+-#if defined(OS_MACOSX) || defined(OS_LINUX)
++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_FREEBSD)
+ #define OS_POSIX 1
+ #endif
+
+--- ipc/chromium/src/chrome/common/ipc_message_utils.h.orig 2010-03-22 08:58:26.000000000 +0000
++++ ipc/chromium/src/chrome/common/ipc_message_utils.h 2010-03-22 09:04:57.000000000 +0000
+@@ -219,7 +219,7 @@
+ }
+ };
+
+-#if !(defined(OS_MACOSX) || (defined(CHROMIUM_MOZILLA_BUILD) && (defined(OS_LINUX) || defined(OS_WIN)) && defined(ARCH_CPU_64_BITS)))
++#if !(defined(OS_MACOSX) || (defined(CHROMIUM_MOZILLA_BUILD) && (defined(OS_LINUX) || defined(OS_WIN) || defined(OS_FREEBSD)) && defined(ARCH_CPU_64_BITS)))
+ // There size_t is a synonym for |unsigned long| ...
+ template <>
+ struct ParamTraits<size_t> {
+@@ -235,7 +235,7 @@
+ }
+ };
+
+-#elif !defined(OS_MACOSX)
++#elif !defined(OS_MACOSX) || !defined(OS_FREEBSD)
+ // ... so we need to define traits for |unsigned int|.
+ // XXX duplicating OS_MACOSX version below so as not to conflict
+ template <>
+@@ -272,7 +272,7 @@
+ };
+ #endif // defined(OS_MACOSX)
+
+-#if !(defined(CHROMIUM_MOZILLA_BUILD) && defined(OS_LINUX) && defined(ARCH_CPU_64_BITS))
++#if !(defined(CHROMIUM_MOZILLA_BUILD) && (defined(OS_LINUX) || defined(OS_FREEBSD)) && defined(ARCH_CPU_64_BITS))
+ // int64 is |long int| on 64-bit systems, uint64 is |unsigned long|
+ template <>
+ struct ParamTraits<int64> {
+--- ipc/chromium/src/chrome/common/transport_dib.h.orig 2010-03-16 18:53:00.000000000 +0100
++++ ipc/chromium/src/chrome/common/transport_dib.h 2010-03-16 18:53:49.000000000 +0100
+@@ -13,7 +13,7 @@
+
+ #if defined(OS_WIN)
+ #include <windows.h>
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_FREEBSD)
+ #include "chrome/common/x11_util.h"
+ #endif
+
+@@ -70,7 +70,7 @@
+ typedef base::SharedMemoryHandle Handle;
+ // On Mac, the inode number of the backing file is used as an id.
+ typedef base::SharedMemoryId Id;
+-#elif defined(OS_LINUX)
++#elif defined(OS_LINUX) || defined(OS_FREEBSD)
+ typedef int Handle; // These two ints are SysV IPC shared memory keys
+ typedef int Id;
+ #endif
+--- /dev/null 2010-03-12 13:07:40.000000000 +0100
++++ ipc/chromium/src/third_party/libevent/freebsd/config.h 2010-03-12 13:07:40.000000000 +0100
+@@ -0,0 +1,254 @@
++/* config.h. Generated from config.h.in by configure. */
++/* config.h.in. Generated from configure.in by autoheader. */
++
++/* Define if clock_gettime is available in libc */
++#define DNS_USE_CPU_CLOCK_FOR_ID 1
++
++/* Define is no secure id variant is available */
++/* #undef DNS_USE_GETTIMEOFDAY_FOR_ID */
++
++/* Define to 1 if you have the `clock_gettime' function. */
++#define HAVE_CLOCK_GETTIME 1
++
++/* Define if /dev/poll is available */
++/* #undef HAVE_DEVPOLL */
++
++/* Define to 1 if you have the <dlfcn.h> header file. */
++#define HAVE_DLFCN_H 1
++
++/* Define if your system supports the epoll system calls */
++/* #undef HAVE_EPOLL */
++
++/* Define to 1 if you have the `epoll_ctl' function. */
++/* #undef HAVE_EPOLL_CTL */
++
++/* Define if your system supports event ports */
++/* #undef HAVE_EVENT_PORTS */
++
++/* Define to 1 if you have the `fcntl' function. */
++#define HAVE_FCNTL 1
++
++/* Define to 1 if you have the <fcntl.h> header file. */
++#define HAVE_FCNTL_H 1
++
++/* Define to 1 if you have the `getaddrinfo' function. */
++#define HAVE_GETADDRINFO 1
++
++/* Define to 1 if you have the `getnameinfo' function. */
++#define HAVE_GETNAMEINFO 1
++
++/* Define to 1 if you have the `gettimeofday' function. */
++#define HAVE_GETTIMEOFDAY 1
++
++/* Define to 1 if you have the `inet_ntop' function. */
++#define HAVE_INET_NTOP 1
++
++/* Define to 1 if you have the <inttypes.h> header file. */
++#define HAVE_INTTYPES_H 1
++
++/* Define to 1 if you have the `kqueue' function. */
++#define HAVE_KQUEUE 1
++
++/* Define to 1 if you have the `nsl' library (-lnsl). */
++/* #undef HAVE_LIBNSL */
++
++/* Define to 1 if you have the `resolv' library (-lresolv). */
++/* #undef HAVE_LIBRESOLV */
++
++/* Define to 1 if you have the `rt' library (-lrt). */
++#define HAVE_LIBRT 1
++
++/* Define to 1 if you have the `socket' library (-lsocket). */
++/* #undef HAVE_LIBSOCKET */
++
++/* Define to 1 if you have the <memory.h> header file. */
++#define HAVE_MEMORY_H 1
++
++/* Define to 1 if you have the <netinet/in6.h> header file. */
++/* #undef HAVE_NETINET_IN6_H */
++
++/* Define to 1 if you have the `poll' function. */
++#define HAVE_POLL 1
++
++/* Define to 1 if you have the <poll.h> header file. */
++#define HAVE_POLL_H 1
++
++/* Define to 1 if you have the `port_create' function. */
++/* #undef HAVE_PORT_CREATE */
++
++/* Define to 1 if you have the <port.h> header file. */
++/* #undef HAVE_PORT_H */
++
++/* Define to 1 if you have the `select' function. */
++#define HAVE_SELECT 1
++
++/* Define if F_SETFD is defined in <fcntl.h> */
++#define HAVE_SETFD 1
++
++/* Define to 1 if you have the `sigaction' function. */
++#define HAVE_SIGACTION 1
++
++/* Define to 1 if you have the `signal' function. */
++#define HAVE_SIGNAL 1
++
++/* Define to 1 if you have the <signal.h> header file. */
++#define HAVE_SIGNAL_H 1
++
++/* Define to 1 if you have the <stdarg.h> header file. */
++#define HAVE_STDARG_H 1
++
++/* Define to 1 if you have the <stdint.h> header file. */
++#define HAVE_STDINT_H 1
++
++/* Define to 1 if you have the <stdlib.h> header file. */
++#define HAVE_STDLIB_H 1
++
++/* Define to 1 if you have the <strings.h> header file. */
++#define HAVE_STRINGS_H 1
++
++/* Define to 1 if you have the <string.h> header file. */
++#define HAVE_STRING_H 1
++
++/* Define to 1 if you have the `strlcpy' function. */
++#define HAVE_STRLCPY 1
++
++/* Define to 1 if you have the `strsep' function. */
++#define HAVE_STRSEP 1
++
++/* Define to 1 if you have the `strtok_r' function. */
++#define HAVE_STRTOK_R 1
++
++/* Define to 1 if you have the `strtoll' function. */
++#define HAVE_STRTOLL 1
++
++/* Define to 1 if the system has the type `struct in6_addr'. */
++#define HAVE_STRUCT_IN6_ADDR 1
++
++/* Define to 1 if you have the <sys/devpoll.h> header file. */
++/* #undef HAVE_SYS_DEVPOLL_H */
++
++/* Define to 1 if you have the <sys/epoll.h> header file. */
++/* #undef HAVE_SYS_EPOLL_H */
++
++/* Define to 1 if you have the <sys/event.h> header file. */
++#define HAVE_SYS_EVENT_H 1
++
++/* Define to 1 if you have the <sys/ioctl.h> header file. */
++#define HAVE_SYS_IOCTL_H 1
++
++/* Define to 1 if you have the <sys/param.h> header file. */
++#define HAVE_SYS_PARAM_H 1
++
++/* Define to 1 if you have the <sys/queue.h> header file. */
++#define HAVE_SYS_QUEUE_H 1
++
++/* Define to 1 if you have the <sys/select.h> header file. */
++#define HAVE_SYS_SELECT_H 1
++
++/* Define to 1 if you have the <sys/socket.h> header file. */
++#define HAVE_SYS_SOCKET_H 1
++
++/* Define to 1 if you have the <sys/stat.h> header file. */
++#define HAVE_SYS_STAT_H 1
++
++/* Define to 1 if you have the <sys/time.h> header file. */
++#define HAVE_SYS_TIME_H 1
++
++/* Define to 1 if you have the <sys/types.h> header file. */
++#define HAVE_SYS_TYPES_H 1
++
++/* Define if TAILQ_FOREACH is defined in <sys/queue.h> */
++#define HAVE_TAILQFOREACH 1
++
++/* Define if timeradd is defined in <sys/time.h> */
++#define HAVE_TIMERADD 1
++
++/* Define if timerclear is defined in <sys/time.h> */
++#define HAVE_TIMERCLEAR 1
++
++/* Define if timercmp is defined in <sys/time.h> */
++#define HAVE_TIMERCMP 1
++
++/* Define if timerisset is defined in <sys/time.h> */
++#define HAVE_TIMERISSET 1
++
++/* Define to 1 if the system has the type `uint16_t'. */
++#define HAVE_UINT16_T 1
++
++/* Define to 1 if the system has the type `uint32_t'. */
++#define HAVE_UINT32_T 1
++
++/* Define to 1 if the system has the type `uint64_t'. */
++#define HAVE_UINT64_T 1
++
++/* Define to 1 if the system has the type `uint8_t'. */
++#define HAVE_UINT8_T 1
++
++/* Define to 1 if you have the <unistd.h> header file. */
++#define HAVE_UNISTD_H 1
++
++/* Define to 1 if you have the `vasprintf' function. */
++#define HAVE_VASPRINTF 1
++
++/* Define if kqueue works correctly with pipes */
++#define HAVE_WORKING_KQUEUE 1
++
++/* Name of package */
++#define PACKAGE "libevent"
++
++/* Define to the address where bug reports for this package should be sent. */
++#define PACKAGE_BUGREPORT ""
++
++/* Define to the full name of this package. */
++#define PACKAGE_NAME ""
++
++/* Define to the full name and version of this package. */
++#define PACKAGE_STRING ""
++
++/* Define to the one symbol short name of this package. */
++#define PACKAGE_TARNAME ""
++
++/* Define to the version of this package. */
++#define PACKAGE_VERSION ""
++
++/* The size of `int', as computed by sizeof. */
++#define SIZEOF_INT 4
++
++/* The size of `long', as computed by sizeof. */
++#define SIZEOF_LONG 4
++
++/* The size of `long long', as computed by sizeof. */
++#define SIZEOF_LONG_LONG 8
++
++/* The size of `short', as computed by sizeof. */
++#define SIZEOF_SHORT 2
++
++/* Define to 1 if you have the ANSI C header files. */
++#define STDC_HEADERS 1
++
++/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
++#define TIME_WITH_SYS_TIME 1
++
++/* Version number of package */
++#define VERSION "1.4.7-stable"
++
++/* Define to appropriate substitue if compiler doesnt have __func__ */
++/* #undef __func__ */
++
++/* Define to empty if `const' does not conform to ANSI C. */
++/* #undef const */
++
++/* Define to `__inline__' or `__inline' if that's what the C compiler
++ calls it, or to nothing if 'inline' is not supported under any name. */
++#ifndef __cplusplus
++/* #undef inline */
++#endif
++
++/* Define to `int' if <sys/types.h> does not define. */
++/* #undef pid_t */
++
++/* Define to `unsigned int' if <sys/types.h> does not define. */
++/* #undef size_t */
++
++/* Define to unsigned int if you dont have it */
++/* #undef socklen_t */
+--- ipc/glue/Makefile.in.orig 2010-03-17 00:49:47.000000000 +0100
++++ ipc/glue/Makefile.in 2010-03-17 00:50:15.000000000 +0100
+@@ -45,7 +45,7 @@
+
+ MODULE = ipc
+ LIBRARY_NAME = mozipc_s
+-FORCE_STATIC_LIB = 1
++#FORCE_STATIC_LIB = 1
+ LIBXUL_LIBRARY = 1
+ EXPORT_LIBRARY = 1
+
+--- toolkit/library/Makefile.in.orig 2010-03-21 22:12:05.000000000 +0100
++++ toolkit/library/Makefile.in 2010-03-21 22:12:38.000000000 +0100
+@@ -162,7 +162,7 @@
+ SDK_LIBRARY = $(SHARED_LIBRARY)
+ endif
+
+-EXTRA_DSO_LDOPTS += $(LIBS_DIR) $(EXTRA_DSO_LIBS)
++EXTRA_DSO_LDOPTS += $(LIBS_DIR) $(EXTRA_DSO_LIBS) -lexecinfo
+
+ ifndef MOZ_ENABLE_LIBXUL
+ EXTRA_DSO_LDOPTS += \
+--- dom/plugins/PluginModuleChild.cpp.orig 2010-03-16 19:55:39.000000000 +0100
++++ dom/plugins/PluginModuleChild.cpp 2010-03-16 19:56:45.000000000 +0100
+@@ -159,7 +159,7 @@
+
+ // TODO: use PluginPRLibrary here
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_FREEBSD)
+ mShutdownFunc =
+ (NP_PLUGINSHUTDOWN) PR_FindFunctionSymbol(mLibrary, "NP_Shutdown");
+
+@@ -1497,7 +1497,7 @@
+ PLUGIN_LOG_DEBUG_METHOD;
+ AssertPluginThread();
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_FREEBSD)
+ *_retval = mInitializeFunc(&sBrowserFuncs, &mFunctions);
+ return true;
+
Modified: branches/experimental/www/firefox3-devel/files/releng6_pulseaudio
==============================================================================
--- branches/experimental/www/firefox3-devel/files/releng6_pulseaudio Fri Mar 19 09:55:10 2010 (r290)
+++ branches/experimental/www/firefox3-devel/files/releng6_pulseaudio Mon Mar 22 14:09:45 2010 (r291)
@@ -13,20 +13,21 @@
ifeq ($(OS_ARCH),Linux)
CSRCS = \
sydney_audio_alsa.c \
---- toolkit/library/Makefile.in.orig 2009-08-11 17:22:45.000000000 +0200
-+++ toolkit/library/Makefile.in 2009-08-11 17:23:22.000000000 +0200
-@@ -231,12 +231,12 @@
+
+--- toolkit/library/Makefile.in.orig 2010-03-15 13:56:01.000000000 +0000
++++ toolkit/library/Makefile.in 2010-03-19 16:02:11.000000000 +0000
+@@ -210,12 +210,12 @@
endif
ifeq (gtk2,$(MOZ_WIDGET_TOOLKIT))
-EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(XEXT_LIBS) $(XCOMPOSITE_LIBS) $(MOZ_PANGO_LIBS) $(MOZ_GTK2_LIBS) $(XT_LIBS) -lgthread-2.0
-+EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(XEXT_LIBS) $(XCOMPOSITE_LIBS) $(MOZ_PANGO_LIBS) $(MOZ_GTK2_LIBS) $(XT_LIBS) -lgthread-2.0 -lpulse -lpthread
++EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(XEXT_LIBS) $(XCOMPOSITE_LIBS) $(MOZ_PANGO_LIBS) $(MOZ_GTK2_LIBS) $(XT_LIBS) -lgthread-2.0 -lpulse -lpthread
EXTRA_DSO_LDOPTS += $(FT2_LIBS)
endif
ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
-EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(XT_LIBS) $(MOZ_QT_LIBS) -lgthread-2.0
+EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(XT_LIBS) $(MOZ_QT_LIBS) -lgthread-2.0 -lpulse -lpthread
- EXTRA_DSO_LDOPTS += $(FT2_LIBS)
+ EXTRA_DSO_LDOPTS += $(FT2_LIBS) $(MOZ_PANGO_LIBS)
endif
More information about the freebsd-gecko
mailing list