Date: Thu, 7 Mar 2013 05:54:23 GMT From: Alfred Perlstein <alfred@FreeBSD.org> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/176718: patches for firefox to compile on powerpc. Message-ID: <201303070554.r275sNQP011701@red.freebsd.org> Resent-Message-ID: <201303070600.r27603VT087446@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 176718 >Category: ports >Synopsis: patches for firefox to compile on powerpc. >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Thu Mar 07 06:00:03 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Alfred Perlstein >Release: freebsd 9.1 ppc >Organization: iXsystems. >Environment: FreeBSD g4 9.1-STABLE FreeBSD 9.1-STABLE #0 r247580: Fri Mar 1 17:23:58 PST 2013 root@g4:/usr/obj/usr/src/sys/GENERIC powerpc >Description: I have a few patches to make firefox build and run on powerpc FreeBSD. >How-To-Repeat: >Fix: Patch attached with submission follows: 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 + >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303070554.r275sNQP011701>