From owner-freebsd-gecko@FreeBSD.ORG Mon Mar 22 14:09:53 2010 Return-Path: Delivered-To: freebsd-gecko@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 714A6106567E for ; Mon, 22 Mar 2010 14:09:53 +0000 (UTC) (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: from trillian.chruetertee.ch (trillian.chruetertee.ch [217.150.245.56]) by mx1.freebsd.org (Postfix) with ESMTP id C0E588FC1B for ; Mon, 22 Mar 2010 14:09:52 +0000 (UTC) Received: from trillian.chruetertee.ch (trillian [217.150.245.56]) by trillian.chruetertee.ch (8.14.3/8.14.3) with ESMTP id o2ME9pB7054554 for ; Mon, 22 Mar 2010 14:09:51 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Received: (from www@localhost) by trillian.chruetertee.ch (8.14.3/8.14.3/Submit) id o2ME9kTU054386 for freebsd-gecko@freebsd.org; Mon, 22 Mar 2010 14:09:46 GMT (envelope-from svn-freebsd-gecko@chruetertee.ch) Date: Mon, 22 Mar 2010 14:09:46 GMT Message-Id: <201003221409.o2ME9kTU054386@trillian.chruetertee.ch> X-Authentication-Warning: trillian.chruetertee.ch: www set sender to svn-freebsd-gecko@chruetertee.ch using -f From: svn-freebsd-gecko@chruetertee.ch To: freebsd-gecko@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [SVN-Commit] r291 - in branches/experimental/www/firefox3-devel: . files X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-gecko@freebsd.org List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Mar 2010 14:09:53 -0000 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 + #elif defined(OS_POSIX) ++#if defined(OS_FREEBSD) ++#include ++#endif + #include + #include + #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 + #include + ++#include ++ + #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 + typedef pthread_t PlatformThreadHandle; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_FREEBSD) + #include + 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 + #include +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_FREEBSD) + #include + #include + #include +@@ -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_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 { +@@ -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 { +--- 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 +-#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 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 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 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 header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the 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 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 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 */ ++#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 header file. */ ++#define HAVE_SIGNAL_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDARG_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the 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 header file. */ ++/* #undef HAVE_SYS_DEVPOLL_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_EPOLL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_EVENT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_IOCTL_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_PARAM_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_QUEUE_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_SELECT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_SOCKET_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_TIME_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define if TAILQ_FOREACH is defined in */ ++#define HAVE_TAILQFOREACH 1 ++ ++/* Define if timeradd is defined in */ ++#define HAVE_TIMERADD 1 ++ ++/* Define if timerclear is defined in */ ++#define HAVE_TIMERCLEAR 1 ++ ++/* Define if timercmp is defined in */ ++#define HAVE_TIMERCMP 1 ++ ++/* Define if timerisset is defined in */ ++#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 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 and . */ ++#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 does not define. */ ++/* #undef pid_t */ ++ ++/* Define to `unsigned int' if 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