Patches for firefox port on FreeBSD powerpc.

Alfred Perlstein alfred at ixsystems.com
Thu Mar 7 05:59:24 UTC 2013


I tried to submit a PR but I'm not sure if they are going through, I 
hope this is helpful.

-Alfred
-------------- next part --------------
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index ed6efee..dc36ede 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -57,6 +57,10 @@ OPTIONS_DEFAULT:=${OPTIONS_DEFAULT:S/OSS/ALSA/}
 
 WRKSRC:=	${WRKDIR}/mozilla-release
 
+.if ! ${MACHINE_CPU:Msse2}
+GYP_DEFINES+=	disable_sse2=1
+.endif
+
 .if ${ARCH} == amd64
 CONFIGURE_TARGET=x86_64-portbld-freebsd${OSREL}
 .elif ${ARCH} == powerpc64
@@ -68,6 +72,11 @@ CFLAGS+=	-mminimal-toc
 .endif
 .endif
 
+CFLAGS+=	-D__STDC_CONSTANT_MACROS=1 -D__STDC_LIMIT_MACROS=1
+
+
+USE_GCC=	yes
+
 .if ${PORT_OPTIONS:MPGO}
 USE_GCC?=	yes
 USE_DISPLAY=		yes
diff --git a/www/firefox/files/patch-media-webrtc-shared_libs.mk b/www/firefox/files/patch-media-webrtc-shared_libs.mk
new file mode 100644
index 0000000..15e3235
--- /dev/null
+++ b/www/firefox/files/patch-media-webrtc-shared_libs.mk
@@ -0,0 +1,31 @@
+--- media/webrtc/shared_libs.mk~
++++ media/webrtc/shared_libs.mk
+@@ -28,13 +28,11 @@
+   $(call EXPAND_LIBNAME_PATH,bitrate_controller,$(DEPTH)/media/webrtc/trunk/src/modules/modules_bitrate_controller) \
+   $(call EXPAND_LIBNAME_PATH,remote_bitrate_estimator,$(DEPTH)/media/webrtc/trunk/src/modules/modules_remote_bitrate_estimator) \
+   $(call EXPAND_LIBNAME_PATH,video_processing,$(DEPTH)/media/webrtc/trunk/src/modules/modules_video_processing) \
+-  $(call EXPAND_LIBNAME_PATH,video_processing_sse2,$(DEPTH)/media/webrtc/trunk/src/modules/modules_video_processing_sse2) \
+   $(call EXPAND_LIBNAME_PATH,voice_engine_core,$(DEPTH)/media/webrtc/trunk/src/voice_engine/voice_engine_voice_engine_core) \
+   $(call EXPAND_LIBNAME_PATH,audio_conference_mixer,$(DEPTH)/media/webrtc/trunk/src/modules/modules_audio_conference_mixer) \
+   $(call EXPAND_LIBNAME_PATH,audio_device,$(DEPTH)/media/webrtc/trunk/src/modules/modules_audio_device) \
+   $(call EXPAND_LIBNAME_PATH,audio_processing,$(DEPTH)/media/webrtc/trunk/src/modules/modules_audio_processing) \
+   $(call EXPAND_LIBNAME_PATH,aec,$(DEPTH)/media/webrtc/trunk/src/modules/modules_aec) \
+-  $(call EXPAND_LIBNAME_PATH,aec_sse2,$(DEPTH)/media/webrtc/trunk/src/modules/modules_aec_sse2) \
+   $(call EXPAND_LIBNAME_PATH,apm_util,$(DEPTH)/media/webrtc/trunk/src/modules/modules_apm_util) \
+   $(call EXPAND_LIBNAME_PATH,aecm,$(DEPTH)/media/webrtc/trunk/src/modules/modules_aecm) \
+   $(call EXPAND_LIBNAME_PATH,agc,$(DEPTH)/media/webrtc/trunk/src/modules/modules_agc) \
+@@ -45,6 +43,14 @@
+   $(call EXPAND_LIBNAME_PATH,nrappkit,$(DEPTH)/media/mtransport/third_party/nrappkit/nrappkit_nrappkit) \
+   $(NULL)
+ 
++# if we're on an intel arch, we want SSE2 optimizations
++ifneq (,$(INTEL_ARCHITECTURE))
++WEBRTC_LIBS += \
++  $(call EXPAND_LIBNAME_PATH,video_processing_sse2,$(DEPTH)/media/webrtc/trunk/src/modules/modules_video_processing_sse2) \
++  $(call EXPAND_LIBNAME_PATH,aec_sse2,$(DEPTH)/media/webrtc/trunk/src/modules/modules_aec_sse2) \
++  $(NULL)
++endif
++
+ # If you enable one of these codecs in webrtc_config.gypi, you'll need to re-add the
+ # relevant library from this list:
+ #
diff --git a/www/firefox/files/patch-media-webrtc-trunk-src-build-common.gypi b/www/firefox/files/patch-media-webrtc-trunk-src-build-common.gypi
new file mode 100644
index 0000000..8eaaedf
--- /dev/null
+++ b/www/firefox/files/patch-media-webrtc-trunk-src-build-common.gypi
@@ -0,0 +1,11 @@
+--- media/webrtc/trunk/src/build/common.gypi~
++++ media/webrtc/trunk/src/build/common.gypi
+@@ -118,7 +118,7 @@
+   'target_defaults': {
+     'include_dirs': [
+       # TODO(andrew): we should be able to just use <(webrtc_root) here.
+-      '..','../..',
++      '..','../..','../common_audio/signal_processing/include',
+     ],
+     'defines': [
+       # TODO(leozwang): Run this as a gclient hook rather than at build-time:
diff --git a/www/firefox/files/patch-media-webrtc-trunk-src-typedefs.h b/www/firefox/files/patch-media-webrtc-trunk-src-typedefs.h
new file mode 100644
index 0000000..25a0e64
--- /dev/null
+++ b/www/firefox/files/patch-media-webrtc-trunk-src-typedefs.h
@@ -0,0 +1,15 @@
+--- media/webrtc/trunk/src/typedefs.h~
++++ media/webrtc/trunk/src/typedefs.h
+@@ -57,7 +57,11 @@
+ #define WEBRTC_ARCH_32_BITS
+ #define WEBRTC_ARCH_LITTLE_ENDIAN
+ #define WEBRTC_LITTLE_ENDIAN
+-#else
++#elif defined(__PPC__)
++#define WEBRTC_ARCH_32_BITS
++#define WEBRTC_ARCH_BIG_ENDIAN
++#define WEBRTC_BIG_ENDIAN
++#else 
+ #error Please add support for your architecture in typedefs.h
+ #endif
+ 


More information about the freebsd-gecko mailing list