$NetBSD: patch-mb,v 1.1.1.1 2009/08/05 02:59:48 tnn Exp $

--- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig	2009-06-29 18:15:32.000000000 +0200
+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in
@@ -64,14 +64,21 @@ include $(topsrcdir)/config/config.mk
 #
 # Lots of Unixish x86 flavors
 #
-ifneq (,$(filter FreeBSD NetBSD OpenBSD BSD_OS Darwin,$(OS_ARCH)))
+ifneq (,$(filter DragonFly FreeBSD NetBSD OpenBSD BSD_OS Darwin,$(OS_ARCH)))
+ifeq (x86_64,$(OS_TEST))
+CPPSRCS		:= xptcinvoke_x86_64_linux.cpp xptcstubs_x86_64_linux.cpp
+else
 ifeq (86,$(findstring 86,$(OS_TEST)))
 CPPSRCS		:= xptcinvoke_unixish_x86.cpp xptcstubs_unixish_x86.cpp
+endif
+ifeq (amd64,$(OS_TEST))
+CPPSRCS		:= xptcinvoke_x86_64_linux.cpp xptcstubs_x86_64_linux.cpp
+endif
+endif
 ifeq (Darwin,$(OS_ARCH))
 DEFINES		+= -DKEEP_STACK_16_BYTE_ALIGNED
 endif
 endif
-endif
 #
 # New code for Linux, et. al., with gcc
 # Migrate other platforms here after testing
@@ -185,7 +192,7 @@ endif
 # NetBSD/ARM
 #
 ifeq ($(OS_ARCH),NetBSD)
-ifneq (,$(filter arm% sa110,$(OS_TEST)))
+ifneq (,$(filter arm%,$(TARGET_CPU)))
 CPPSRCS		:= xptcinvoke_arm_netbsd.cpp xptcstubs_arm_netbsd.cpp
 endif
 endif
@@ -240,7 +247,7 @@ endif
 # NetBSD/m68k
 #
 ifeq ($(OS_ARCH),NetBSD)
-ifneq (,$(filter amiga atari hp300 mac68k mvme68k next68k sun3 sun3x x68k,$(OS_TEST)))
+ifneq (,$(filter m68k,$(TARGET_CPU)))
 CPPSRCS		:= xptcinvoke_netbsd_m68k.cpp xptcstubs_netbsd_m68k.cpp
 endif
 endif
@@ -325,9 +332,10 @@ endif
 #
 # NetBSD/PPC
 #
-ifneq (,$(filter NetBSDmacppc NetBSDbebox NetBSDofppc NetBSDprep NetBSDamigappc,$(OS_ARCH)$(OS_TEST)))                           
+ifeq ($(OS_ARCH)$(OS_TEST),NetBSDpowerpc)
 CPPSRCS		:= xptcinvoke_ppc_netbsd.cpp xptcstubs_ppc_netbsd.cpp
 ASFILES		:= xptcinvoke_asm_ppc_netbsd.s xptcstubs_asm_ppc_netbsd.s
+AS		:= $(CC) -c -x assembler-with-cpp
 endif
 
 #
@@ -399,6 +407,13 @@ CPPSRCS		:= xptcinvoke_sparc64_openbsd.c
 ASFILES		:= xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
 endif
 #
+# NetBSD/SPARC64
+#
+ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc64)
+CPPSRCS		:= xptcinvoke_sparc64_netbsd.cpp xptcstubs_sparc64_netbsd.cpp
+ASFILES		:= xptcinvoke_asm_sparc64_netbsd.s xptcstubs_asm_sparc64_netbsd.s
+endif
+#
 # Solaris/SPARC
 #
 ifeq ($(OS_ARCH),SunOS)
