[SVN-Commit] r125 - in branches/experimental/www/libxul: . files
svn-freebsd-gecko at chruetertee.ch
svn-freebsd-gecko at chruetertee.ch
Fri Oct 2 14:38:55 UTC 2009
Author: andreast
Date: Fri Oct 2 14:38:48 2009
New Revision: 125
Log:
Fix sparc64 support.
Added:
branches/experimental/www/libxul/files/patch-js-src-configure.in
Modified:
branches/experimental/www/libxul/Makefile
branches/experimental/www/libxul/files/patch-security_coreconf_FreeBSD.mk
branches/experimental/www/libxul/files/patch-xptcall-sparc64
Modified: branches/experimental/www/libxul/Makefile
==============================================================================
--- branches/experimental/www/libxul/Makefile Thu Oct 1 15:12:16 2009 (r124)
+++ branches/experimental/www/libxul/Makefile Fri Oct 2 14:38:48 2009 (r125)
@@ -19,6 +19,7 @@
LIB_DEPENDS?= dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib
+USE_AUTOTOOLS= autoconf:213
CONFLICTS= mozilla-[0-9]* xulrunner-[0-9]*
GECKO_PLIST_PRE_DIRS= lib/${MOZILLA}/bin lib/${MOZILLA}/idl \
lib/${MOZILLA}/include lib/${MOZILLA}/lib \
@@ -60,9 +61,6 @@
EXTRA_PATCHES= ${FILESDIR}/libsydney_oss
.endif
-.if ${ARCH} == "sparc64"
-BROKEN= Does not compile on sparc64
-.endif
post-patch:
${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS:C/-pthread/${GECKO_PTHREAD_LIBS}/}|' \
@@ -74,6 +72,9 @@
s|/usr/X11R6|${LOCALBASE}|g' \
${WRKSRC}/js/src/configure
+pre-configure:
+ (cd ${WRKSRC}/js/src/ && ${AUTOCONF})
+
post-build:
@${REINPLACE_CMD} -e "s|\(Libs:.*\)\($$\)|\1 -Wl,-rpath,${PREFIX}/lib/${MOZ_RPATH}\2| ; \
s|%sdkdir%|%sdkdir%/sdk|g ; \
Added: branches/experimental/www/libxul/files/patch-js-src-configure.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/experimental/www/libxul/files/patch-js-src-configure.in Fri Oct 2 14:38:48 2009 (r125)
@@ -0,0 +1,13 @@
+--- js/src/configure.in.orig 2009-09-30 21:50:26.000000000 +0200
++++ js/src/configure.in 2009-09-30 21:50:44.000000000 +0200
+@@ -2467,10 +2467,6 @@
+ ENABLE_JIT=1
+ NANOJIT_ARCH=ARM
+ ;;
+-sparc*-*)
+- ENABLE_JIT=1
+- NANOJIT_ARCH=Sparc
+- ;;
+ esac
+
+ MOZ_ARG_DISABLE_BOOL(jit,
Modified: branches/experimental/www/libxul/files/patch-security_coreconf_FreeBSD.mk
==============================================================================
--- branches/experimental/www/libxul/files/patch-security_coreconf_FreeBSD.mk Thu Oct 1 15:12:16 2009 (r124)
+++ branches/experimental/www/libxul/files/patch-security_coreconf_FreeBSD.mk Fri Oct 2 14:38:48 2009 (r125)
@@ -1,6 +1,6 @@
--- security/coreconf/FreeBSD.mk.orig 2009-08-24 17:52:57.000000000 +0200
-+++ security/coreconf/FreeBSD.mk 2009-09-27 21:08:00.000000000 +0200
-@@ -37,16 +37,22 @@
++++ security/coreconf/FreeBSD.mk 2009-10-01 07:13:15.000000000 +0200
+@@ -37,16 +37,26 @@
include $(CORE_DEPTH)/coreconf/UNIX.mk
@@ -19,14 +19,18 @@
+ifeq ($(OS_TEST),powerpc)
+CPU_ARCH = powerpc
+else
++ifeq ($(OS_TEST),sparc64)
++CPU_ARCH = sparc64
++else
CPU_ARCH = x86
endif
+endif
+endif
++endif
OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
-@@ -73,7 +79,11 @@
+@@ -73,7 +83,11 @@
DLL_SUFFIX = so.1.0
endif
@@ -39,7 +43,7 @@
ifdef MAPFILE
MKSHLIB += -Wl,--version-script,$(MAPFILE)
endif
-@@ -82,4 +92,4 @@
+@@ -82,4 +96,4 @@
G++INCLUDES = -I/usr/include/g++
Modified: branches/experimental/www/libxul/files/patch-xptcall-sparc64
==============================================================================
--- branches/experimental/www/libxul/files/patch-xptcall-sparc64 Thu Oct 1 15:12:16 2009 (r124)
+++ branches/experimental/www/libxul/files/patch-xptcall-sparc64 Fri Oct 2 14:38:48 2009 (r125)
@@ -1,6 +1,6 @@
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp Mon May 26 04:12:55 2003
-@@ -0,0 +1,123 @@
+--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp.orig 2009-09-30 22:48:25.000000000 +0200
++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc64_freebsd.cpp 2009-09-30 23:09:48.000000000 +0200
+@@ -0,0 +1,125 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * The contents of this file are subject to the Mozilla Public
@@ -27,6 +27,7 @@
+/* Implement shared vtbl methods. */
+
+#include "xptcprivate.h"
++#include "xptiprivate.h"
+
+#if defined(sparc) || defined(__sparc__)
+
@@ -38,7 +39,6 @@
+
+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
+ nsXPTCMiniVariant* dispatchParams = NULL;
-+ nsIInterfaceInfo* iface_info = NULL;
+ const nsXPTMethodInfo* info;
+ PRUint8 paramCount;
+ PRUint8 i;
@@ -46,11 +46,10 @@
+
+ NS_ASSERTION(self,"no self");
+
-+ self->GetInterfaceInfo(&iface_info);
-+ NS_ASSERTION(iface_info,"no interface info");
-+
-+ iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
-+ NS_ASSERTION(info,"no interface info");
++ self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info);
++ NS_ASSERTION(info,"no method info");
++ if (! info)
++ return NS_ERROR_UNEXPECTED;
+
+ paramCount = info->GetParamCount();
+
@@ -59,8 +58,12 @@
+ dispatchParams = new nsXPTCMiniVariant[paramCount];
+ else
+ dispatchParams = paramBuffer;
++
+ NS_ASSERTION(dispatchParams,"no place for params");
+
++ if (! dispatchParams)
++ return NS_ERROR_OUT_OF_MEMORY;
++
+ PRUint64* ap = args;
+ for(i = 0; i < paramCount; i++, ap++)
+ {
@@ -95,10 +98,9 @@
+ }
+ }
+
-+ result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
-+
-+ NS_RELEASE(iface_info);
-+
++ result = self->mOuter->CallMethod((PRUint16)methodIndex, info,
++ dispatchParams);
++
+ if(dispatchParams != paramBuffer)
+ delete [] dispatchParams;
+
@@ -124,8 +126,8 @@
+#include "xptcstubsdef.inc"
+
+#endif /* sparc || __sparc__ */
---- /dev/null Mon May 26 13:22:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s Mon May 26 04:06:09 2003
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s.orig 2009-09-30 22:48:25.000000000 +0200
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_sparc64_freebsd.s 2009-09-30 22:48:25.000000000 +0200
@@ -0,0 +1,104 @@
+/* -*- Mode: asm; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
@@ -161,15 +163,15 @@
+ The SCD is available from http://www.sparc.com/.
+*/
+
-+ .global XPTC_InvokeByIndex
-+ .type XPTC_InvokeByIndex, #function
++ .global NS_InvokeByIndex_P
++ .type NS_InvokeByIndex_P, #function
+
+/*
-+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
++ NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
+ PRUint32 paramCount, nsXPTCVariant* params);
+
+*/
-+XPTC_InvokeByIndex:
++NS_InvokeByIndex_P:
+ save %sp,-(128 + 64),%sp ! room for the register window and
+ ! struct pointer, rounded up to 0 % 64
+ sll %i2,4,%l0 ! assume the worst case
@@ -230,9 +232,9 @@
+ ret
+ restore
+
-+ .size XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
---- /dev/null Mon May 26 14:00:00 2003
-+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp Mon May 26 14:00:49 2003
++ .size NS_InvokeByIndex_P, .-NS_InvokeByIndex_P
+--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp.orig 2009-09-30 22:48:25.000000000 +0200
++++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_sparc64_freebsd.cpp 2009-09-30 22:48:25.000000000 +0200
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
More information about the freebsd-gecko
mailing list