firefox3 under powerpc not building
andreast-list at fgznet.ch
Sun Aug 16 11:54:52 UTC 2009
Joe Marcus Clarke wrote:
> On Mon, 2009-08-10 at 21:55 +0200, Andreas Tobler wrote:
>> Hi again,
>> replying to myself.
>> Andreas Tobler wrote:
>>> I can not build firefox3 (3.0.13 and up) under FreeBSD -CURRENT. As far
>>> as I tracked down it is an issue in the firefox sources itself.
>>> The last working build I had was 3.0.10.
>>> Here in this area it breaks:
>>> The below snippet does somehow not work.
>>> # some code wants _X86_ defined for intel CPUs.
>>> # coreconf does this for windows, but not for Linux, FreeBSD, etc.
>>> ifeq (,$(filter-out x86 x86_64,$(CPU_ARCH)))
>>> ifneq (,$(filter-out WIN%,$(OS_TARGET)))
>>> DEFINES += -D_X86_
>> It does not work on powerpc since the CPU_ARCH is set to x86 in
>> security/coreconf/FreeBSD.mk, gah!
>>> On powerpc I get the -D_X86_ passed to the compile options, very bad.
>>> But I do not understand why. Might be that the first filter-out does not
>>> work as expected?
>>> I compared with an x86 build and with an x86_64 build. On the x86 it
>>> works as expected. But also under der x86_64 it does not do what I
>>> expect. Under x86_64 I'd expect the -D_X86_ in the compile options, right?
>> The x86_64 case is also clear now, the CPU_ARCH is set to amd64, so the
>> -D_X86_ is not set. We might need a patch to
>> security/nss/lib/freebl/Makefile which also includes the amd64 to the
>> first filter-out above? Like this one:
> Thanks for these patches. Can you resend them as attachments (or post
> them) so they can be easily extracted?
Here it is, the powerpc one. It is against 3.0.13 source base. The amd64
I did not follow up since it does build, with or without -D_X86_ on amd64.
-------------- next part --------------
--- security/coreconf/FreeBSD.mk.orig 2008-07-12 16:28:59.000000000 +0200
+++ security/coreconf/FreeBSD.mk 2009-08-10 22:30:54.000000000 +0200
@@ -45,8 +45,15 @@
CPU_ARCH = alpha
+CPU_ARCH = amd64
+CPU_ARCH = powerpc
CPU_ARCH = x86
OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
@@ -73,7 +80,7 @@
DLL_SUFFIX = so.1.0
-MKSHLIB = $(CC) $(DSO_LDOPTS)
+MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS) -o $@
MKSHLIB += -Wl,--version-script,$(MAPFILE)
@@ -82,4 +89,4 @@
G++INCLUDES = -I/usr/include/g++
-INCLUDES += -I/usr/X11R6/include
+#INCLUDES += -I/usr/local/include
More information about the freebsd-gecko