--- mozilla/media/libsydneyaudio/src/Makefile.in.orig	2009-08-11 17:22:08.000000000 +0200
+++ mozilla/media/libsydneyaudio/src/Makefile.in	2009-08-11 17:22:36.000000000 +0200
@@ -45,6 +45,12 @@
 LIBRARY_NAME	= sydneyaudio
 FORCE_STATIC_LIB= 1
 
+ifeq ($(OS_ARCH),FreeBSD)
+CSRCS		= \
+		sydney_audio_pulseaudio.c \
+		$(NULL)
+endif
+
 ifeq ($(OS_ARCH),Linux)
 CSRCS		= \
 		sydney_audio_alsa.c \
--- mozilla/toolkit/library/Makefile.in.orig	2009-09-03 19:49:34.000000000 +0200
+++ mozilla/toolkit/library/Makefile.in	2009-09-17 17:30:42.000000000 +0200
@@ -228,12 +228,12 @@
 endif
 
 ifeq (gtk2,$(MOZ_WIDGET_TOOLKIT))
-EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(MOZ_PANGO_LIBS) $(MOZ_GTK2_LIBS) $(XT_LIBS) -lgthread-2.0
+EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) $(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)
 endif
 
--- mozilla/layout/build/Makefile.in.orig	2009-09-17 23:07:56.000000000 +0200
+++ mozilla/layout/build/Makefile.in	2009-09-17 23:15:53.000000000 +0200
@@ -269,6 +269,10 @@
 endif
 endif
 
+ifeq ($(OS_ARCH),FreeBSD)
+EXTRA_DSO_LDOPTS += -lpulse -lpthread
+endif
+
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES	+= -I$(srcdir)/../base \
--- mozilla/xpcom/base/nsStackWalk.cpp.orig	2009-11-30 22:47:52.000000000 +0100
+++ mozilla/xpcom/base/nsStackWalk.cpp	2009-11-30 22:48:09.000000000 +0100
@@ -1115,6 +1115,7 @@
 #include "nscore.h"
 #include <stdio.h>
 #include "plstr.h"
+#include <dlfcn.h>
 
 // On glibc 2.1, the Dl_info api defined in <dlfcn.h> is only exposed
 // if __USE_GNU is defined.  I suppose its some kind of standards
