# HG changeset patch # User Wolfgang Rosenauer # Date 1304421781 -7200 # Node ID 785d28fc6d4dc4dbbc0099ccee6167160543595d # Parent 9ec311cdd7c8c64df421c14affaa397aa89c55f7 fix PPC build diff -r 9ec311cdd7c8 -r 785d28fc6d4d MozillaFirefox/MozillaFirefox.changes --- a/MozillaFirefox/MozillaFirefox.changes Tue Apr 19 11:56:01 2011 +0200 +++ b/MozillaFirefox/MozillaFirefox.changes Tue May 03 13:23:01 2011 +0200 @@ -1,7 +1,7 @@ ------------------------------------------------------------------- -Wed Apr 13 05:41:13 UTC 2011 - wr@rosenauer.org - -- update to 5.0a-20110418 +Thu Apr 28 05:37:36 UTC 2011 - wr@rosenauer.org + +- update to 5.0a-20110427 - set unofficial branding for Aurora - transformed to standalone Firefox (not xulrunner based) (with new Firefox rapid release cycle it makes no sense anymore) diff -r 9ec311cdd7c8 -r 785d28fc6d4d MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Tue Apr 19 11:56:01 2011 +0200 +++ b/MozillaFirefox/MozillaFirefox.spec Tue May 03 13:23:01 2011 +0200 @@ -35,7 +35,7 @@ License: MPLv1.1 or GPLv2+ or LGPLv2+ Version: %{mainver} Release: 1 -%define releasedate 2011041800 +%define releasedate 2011042700 Provides: web_browser Provides: firefox = %{version}-%{release} Provides: firefox = %{mainver} @@ -70,6 +70,7 @@ Patch8: mozilla-gio.patch Patch9: mozilla-cairo-return.patch Patch10: mozilla-ntlm-full-path.patch +Patch11: mozilla-ppc-ipc.patch # Firefox/browser Patch30: firefox-linkorder.patch Patch31: firefox-browser-css.patch @@ -105,10 +106,8 @@ %define localize 1 %ifarch ppc ppc64 s390 s390x ia64 %define crashreporter 0 -%define plugincontainer 0 %else %define crashreporter 1 -%define plugincontainer 1 %endif ### build options end @@ -201,6 +200,7 @@ %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 # %patch30 -p1 %patch31 -p1 @@ -279,11 +279,6 @@ ac_add_options --disable-crashreporter EOF %endif -%if ! %plugincontainer -cat << EOF >> $MOZCONFIG -ac_add_options --disable-ipc -EOF -%endif make -f client.mk build %install @@ -486,7 +481,6 @@ %{progdir}/icons/ %{progdir}/searchplugins/ %attr(755,root,root) %{progdir}/%{progname}.sh -%{progdir}/Throbber-small.gif %{progdir}/firefox-bin %{progdir}/add-plugins.sh %{progdir}/application.ini @@ -502,6 +496,7 @@ %{progdir}/crashreporter-override.ini %{progdir}/crashreporter %{progdir}/crashreporter.ini +%{progdir}/Throbber-small.gif %endif %{progdir}/chrome.manifest %{_datadir}/applications/%{desktop_file_name}.desktop diff -r 9ec311cdd7c8 -r 785d28fc6d4d MozillaFirefox/mozilla-ppc-ipc.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MozillaFirefox/mozilla-ppc-ipc.patch Tue May 03 13:23:01 2011 +0200 @@ -0,0 +1,1 @@ +../mozilla-ppc-ipc.patch \ No newline at end of file diff -r 9ec311cdd7c8 -r 785d28fc6d4d mozilla-ppc-ipc.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-ppc-ipc.patch Tue May 03 13:23:01 2011 +0200 @@ -0,0 +1,222 @@ +# HG changeset patch +# Parent f6996f95c7f8007fd7bf759092488ead6843441a +Bug 587188 - Failed to build firefox from trunk on PPC + +diff --git a/ipc/chromium/Makefile.in b/ipc/chromium/Makefile.in +--- a/ipc/chromium/Makefile.in ++++ b/ipc/chromium/Makefile.in +@@ -241,17 +241,16 @@ CPPSRCS += \ + + endif # } OS_MACOSX + + ifdef OS_LINUX # { + + CPPSRCS += \ + atomicops_internals_x86_gcc.cc \ + base_paths_linux.cc \ +- data_pack.cc \ + file_util_linux.cc \ + file_version_info_linux.cc \ + idle_timer_none.cc \ + process_util_linux.cc \ + time_posix.cc \ + $(NULL) + + ifdef MOZ_ENABLE_GTK2 +diff --git a/ipc/chromium/src/base/atomicops.h b/ipc/chromium/src/base/atomicops.h +--- a/ipc/chromium/src/base/atomicops.h ++++ b/ipc/chromium/src/base/atomicops.h +@@ -127,13 +127,15 @@ Atomic64 Release_Load(volatile const Ato + #if defined(OS_WIN) && defined(COMPILER_MSVC) && defined(ARCH_CPU_X86_FAMILY) + #include "base/atomicops_internals_x86_msvc.h" + #elif defined(OS_MACOSX) && defined(ARCH_CPU_X86_FAMILY) + #include "base/atomicops_internals_x86_macosx.h" + #elif defined(COMPILER_GCC) && defined(ARCH_CPU_X86_FAMILY) + #include "base/atomicops_internals_x86_gcc.h" + #elif defined(COMPILER_GCC) && defined(ARCH_CPU_ARM_FAMILY) + #include "base/atomicops_internals_arm_gcc.h" ++//#elif defined(COMPILER_GCC) && defined(ARCH_CPU_PPC_FAMILY) ++//#include "base/atomicops_internals_ppc_gcc.h" + #else + #include "base/atomicops_internals_mutex.h" + #endif + + #endif // BASE_ATOMICOPS_H_ +diff --git a/ipc/chromium/src/base/atomicops_internals_ppc_gcc.h b/ipc/chromium/src/base/atomicops_internals_ppc_gcc.h +new file mode 100644 +--- /dev/null ++++ b/ipc/chromium/src/base/atomicops_internals_ppc_gcc.h +@@ -0,0 +1,148 @@ ++// Copyright (c) 2010 JJDaNiMoTh . All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++// This file is an internal atomic implementation, use base/atomicops.h instead. ++ ++#ifndef BASE_ATOMICOPS_INTERNALS_PPC_GCC_H_ ++#define BASE_ATOMICOPS_INTERNALS_PPC_GCC_H_ ++#define ATOMICOPS_COMPILER_BARRIER() __asm__ __volatile__("" : : : "memory") ++ ++#define PPC_ACQUIRE_BARRIER "\nisync\n" ++#define PPC_RELEASE_BARRIER "\nlwsync\n" ++ ++namespace base { ++namespace subtle { ++ ++// 32-bit low-level operations on any platform. ++ ++/* ++ * Compare and exchange - if *ptr == old, set it to new, ++ * and return the old value of *p. ++ */ ++inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, ++ Atomic32 old_value, ++ Atomic32 new_value) { ++ Atomic32 prev; ++ ++ __asm__ __volatile__ ( ++ "1: lwarx %0,0,%2\n" ++ "cmpw 0,%0,%3\n" ++ "bne- 2f\n" ++ "stwcx. %4,0,%2\n" ++ "bne- 1b\n" ++ "2:\n" ++ : "=&r" (prev), "+m" (*ptr) ++ : "r" (ptr), "r" (old_value), "r" (new_value) ++ : "cc", "memory"); ++ ++ return prev; ++} ++ ++/* ++* Atomic exchange ++* ++* Changes the memory location '*ptr' to be new_value and returns ++* the previous value stored there. ++*/ ++inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, ++ Atomic32 new_value) { ++ Atomic32 prev; ++ ++ __asm__ __volatile__( ++"1: lwarx %0,0,%2 \n" ++" stwcx. %3,0,%2 \n\ ++ bne- 1b" ++ : "=&r" (prev), "+m" (*ptr) ++ : "r" (ptr), "r" (new_value) ++ : "cc", "memory"); ++ ++ return prev; ++} ++ ++inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, ++ Atomic32 increment) { ++ Atomic32 temp; ++ ++ __asm__ __volatile__( ++"1: lwarx %0,0,%2\n\ ++ add %0,%1,%0\n" ++" stwcx. %0,0,%2 \n\ ++ bne- 1b" ++ : "=&r" (temp) ++ : "r" (increment), "r" (ptr) ++ : "cc", "memory"); ++ ++ return temp; ++} ++ ++inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, ++ Atomic32 increment) { ++ Atomic32 temp; ++ ++ __asm__ __volatile__( ++ PPC_RELEASE_BARRIER ++"1: lwarx %0,0,%2\n\ ++ add %0,%1,%0\n" ++" stwcx. %0,0,%2 \n\ ++ bne- 1b" ++ PPC_ACQUIRE_BARRIER ++ : "=&r" (temp) ++ : "r" (increment), "r" (ptr) ++ : "cc", "memory"); ++ ++ return temp; ++} ++ ++inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, ++ Atomic32 old_value, ++ Atomic32 new_value) { ++ return NoBarrier_CompareAndSwap(ptr, old_value, new_value); ++} ++ ++inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, ++ Atomic32 old_value, ++ Atomic32 new_value) { ++ return NoBarrier_CompareAndSwap(ptr, old_value, new_value); ++} ++ ++inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { ++ *ptr = value; ++} ++ ++inline void MemoryBarrier() { ++ __asm__ __volatile__("sync" : : : "memory"); ++} ++ ++inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { ++ *ptr = value; ++ MemoryBarrier(); ++} ++ ++inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { ++ MemoryBarrier(); ++ *ptr = value; ++} ++ ++inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { ++ return *ptr; ++} ++ ++inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { ++ Atomic32 value = *ptr; ++ MemoryBarrier(); ++ return value; ++ ++} ++ ++inline Atomic32 Release_Load(volatile const Atomic32* ptr) { ++ MemoryBarrier(); ++ return *ptr; ++} ++ ++} // namespace base::subtle ++} // namespace base ++ ++#undef ATOMICOPS_COMPILER_BARRIER ++ ++#endif // BASE_ATOMICOPS_INTERNALS_PPC_GCC_H_ +diff --git a/ipc/chromium/src/build/build_config.h b/ipc/chromium/src/build/build_config.h +--- a/ipc/chromium/src/build/build_config.h ++++ b/ipc/chromium/src/build/build_config.h +@@ -52,19 +52,20 @@ + #define ARCH_CPU_X86_FAMILY 1 + #define ARCH_CPU_X86 1 + #define ARCH_CPU_32_BITS 1 + #elif defined(__ARMEL__) + #define ARCH_CPU_ARM_FAMILY 1 + #define ARCH_CPU_ARMEL 1 + #define ARCH_CPU_32_BITS 1 + #define WCHAR_T_IS_UNSIGNED 1 +-#elif defined(__ppc__) ++#elif defined(__ppc__) || defined(__powerpc) || defined(__PPC__) + #define ARCH_CPU_PPC 1 + #define ARCH_CPU_32_BITS 1 ++#define ARCH_CPU_PPC_FAMILY 1 + #else + #error Please add support for your architecture in build/build_config.h + #endif + + // Type detection for wchar_t. + #ifndef CHROMIUM_MOZILLA_BUILD + + #if defined(OS_WIN) diff -r 9ec311cdd7c8 -r 785d28fc6d4d series --- a/series Tue Apr 19 11:56:01 2011 +0200 +++ b/series Tue May 03 13:23:01 2011 +0200 @@ -15,6 +15,7 @@ mozilla-gio.patch mozilla-cairo-return.patch mozilla-ntlm-full-path.patch +mozilla-ppc-ipc.patch # Firefox patches firefox-linkorder.patch