Hello,

Here is an updated 38_kbsd.dpatch that includes both the fix for
#433126 and fixes for GNU/Hurd.

Also, a rediffed 80_uname.dpatch because of the GNU changes.

Eventually, for GNU/Hurd, a patch that just defines MAXPATHLEN and
PATH_MAX to 1024 from the CPPFLAGS.

Could you please apply them?

Samuel
#! /bin/sh /usr/share/dpatch/dpatch-run
## 38_kbsd.dpatch by Petr Salinger <[EMAIL PROTECTED]>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: GNU/kFreeBSD support. bz#356011

@DPATCH@

diff -ur mozilla/xpcom/glue/standalone/Makefile.in 
mozilla/xpcom/glue/standalone/Makefile.in
--- mozilla/xpcom/glue/standalone/Makefile.in   2007-07-14 16:24:55.000000000 
+0200
+++ mozilla/xpcom/glue/standalone/Makefile.in   2007-07-14 16:24:55.000000000 
+0200
@@ -62,7 +62,7 @@
 ifeq (WINNT,$(OS_ARCH))
 LINKSRC = nsGlueLinkingWin.cpp
 endif
-ifneq (,$(filter AIX DragonFly FreeBSD Linux NetBSD OpenBSD SunOS,$(OS_ARCH)))
+ifneq (,$(filter AIX DragonFly FreeBSD GNU GNU_% Linux NetBSD OpenBSD 
SunOS,$(OS_ARCH)))
 LINKSRC = nsGlueLinkingDlopen.cpp
 endif
 ifeq (OS2,$(OS_ARCH))
diff -ur mozilla/directory/c-sdk/config/nsinstall.c 
mozilla/directory/c-sdk/config/nsinstall.c
--- mozilla/directory/c-sdk/config/nsinstall.c  2002-03-27 11:06:18.000000000 
+0100
+++ mozilla/directory/c-sdk/config/nsinstall.c  2006-11-20 23:14:53.000000000 
+0100
@@ -106,7 +106,7 @@
 }
 #endif /* NEXTSTEP */
 
-#ifdef LINUX
+#if defined(LINUX) || defined(__GLIBC__) || defined(__GNU__)
 #include <getopt.h>
 #endif
 
--- mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.client      
2002-03-26 22:53:26.000000000 +0100
+++ mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.client      
2006-11-20 23:00:17.000000000 +0100
@@ -161,7 +161,7 @@
 EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib
 endif
 
-ifeq ($(OS_ARCH), Linux)
+ifneq (,$(filter Linux GNU GNU_%, $(OS_ARCH)))
 EXTRA_LIBS = -L$(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib -l$(LBER_LIBNAME)
 EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib
 endif
@@ -237,7 +237,7 @@
 ifeq ($(OS_ARCH), AIX)
        $(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a
 else
-ifeq ($(OS_ARCH), Linux)
+ifneq (,$(filter Linux GNU GNU_%, $(OS_ARCH)))
        $(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a
 else
        $(LINK_LIB) $(EXTRA_LIBS)
--- mozilla/directory/c-sdk/configure.in        2006-02-23 00:58:25.000000000 
+0100
+++ mozilla/directory/c-sdk/configure.in        2006-11-20 23:08:37.000000000 
+0100
@@ -560,6 +560,8 @@
     OS_TEST="${target_cpu}"
     case "${target_os}" in
         linux*)       OS_ARCH=Linux ;;
+        kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;;
+        gnu*)         OS_ARCH=GNU ;;
         solaris*)     OS_ARCH=SunOS OS_RELEASE=5 ;;
         mingw*)     OS_ARCH=WINNT ;;
         darwin*)    OS_ARCH=Darwin ;;
@@ -1260,7 +1262,7 @@
        esac
     ;;
 
-*-linux*)
+*-linux*|*-kfreebsd*-gnu|*-gnu*)
     if test -z "$USE_NSPR_THREADS"; then
         USE_PTHREADS=1
         IMPL_STRATEGY=_PTH
@@ -1271,8 +1273,12 @@
     AC_DEFINE(_SVID_SOURCE)
     AC_DEFINE(_LARGEFILE64_SOURCE)
     AC_DEFINE(HAVE_FCNTL_FILE_LOCKING)
-    AC_DEFINE(LINUX)
-    AC_DEFINE(linux)
+    case "${target_os}" in
+     linux*)
+        AC_DEFINE(LINUX)
+        AC_DEFINE(linux)
+        ;;
+    esac
     LD='$(CC)'
     CFLAGS="$CFLAGS -ansi -Wall"
     CXXFLAGS="$CXXFLAGS -ansi -Wall"
@@ -2186,7 +2192,7 @@
                _PTHREAD_LDFLAGS=
            fi
            ;;
-    *-linux*)
+    *-linux*|*-kfreebsd*-gnu|*-gnu*)
         AC_DEFINE(_REENTRANT)
         ;;
     esac
@@ -2262,7 +2268,7 @@
         fi
     fi
     ;;
-*-linux*)
+*-linux*|*-kfreebsd*-gnu|*-gnu*)
     if test -n "$USE_NSPR_THREADS"; then
         AC_DEFINE(_PR_LOCAL_THREADS_ONLY)
     fi
--- mozilla/directory/c-sdk/configure   2006-02-23 00:58:25.000000000 +0100
+++ mozilla/directory/c-sdk/configure   2006-11-20 23:08:42.000000000 +0100
@@ -2753,6 +2754,8 @@
     OS_TEST="${target_cpu}"
     case "${target_os}" in
         linux*)       OS_ARCH=Linux ;;
+        kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;;
+        gnu*)         OS_ARCH=GNU ;;
         solaris*)     OS_ARCH=SunOS OS_RELEASE=5 ;;
         mingw*)     OS_ARCH=WINNT ;;
         darwin*)    OS_ARCH=Darwin ;;
@@ -3766,7 +3769,7 @@
        esac
     ;;
 
-*-linux*)
+*-linux*|*-kfreebsd*-gnu|*-gnu*)
     if test -z "$USE_NSPR_THREADS"; then
         USE_PTHREADS=1
         IMPL_STRATEGY=_PTH
@@ -3795,14 +3798,18 @@
 #define HAVE_FCNTL_FILE_LOCKING 1
 EOF
 
-    cat >> confdefs.h <<\EOF
+    case "${target_os}" in
+     linux*)
+        cat >> confdefs.h <<\EOF
 #define LINUX 1
 EOF
 
-    cat >> confdefs.h <<\EOF
+        cat >> confdefs.h <<\EOF
 #define linux 1
 EOF
 
+        ;;
+    esac
     LD='$(CC)'
     CFLAGS="$CFLAGS -ansi -Wall"
     CXXFLAGS="$CXXFLAGS -ansi -Wall"
@@ -5281,7 +5288,7 @@
                _PTHREAD_LDFLAGS=
            fi
            ;;
-    *-linux*)
+    *-linux*|*-kfreebsd*-gnu|*-gnu*)
         cat >> confdefs.h <<\EOF
 #define _REENTRANT 1
 EOF
@@ -5404,7 +5411,7 @@
         fi
     fi
     ;;
-*-linux*)
+*-linux*|*-kfreebsd*-gnu|*-gnu*)
     if test -n "$USE_NSPR_THREADS"; then
         cat >> confdefs.h <<\EOF
 #define _PR_LOCAL_THREADS_ONLY 1
--- mozilla/directory/c-sdk/ldap/include/portable.h     2003-09-17 
05:18:10.000000000 +0200
+++ mozilla/directory/c-sdk/ldap/include/portable.h     2006-11-20 
22:10:27.000000000 +0100
@@ -116,7 +116,7 @@
  * some systems don't have the BSD re_comp and re_exec routines
  */
 #ifndef NEED_BSDREGEX
-#if ( defined( SYSV ) || defined( NETBSD ) || defined( freebsd ) || defined( 
linux ) || defined( DARWIN )) && !defined(sgi)
+#if ( defined( SYSV ) || defined( NETBSD ) || defined( freebsd ) || defined( 
linux ) || defined(__GNU__) || defined(__GLIBC__) || defined( DARWIN )) && 
!defined(sgi)
 #define NEED_BSDREGEX
 #endif
 #endif
@@ -145,7 +145,7 @@
  * Is snprintf() part of the standard C runtime library?
  */
 #if !defined(HAVE_SNPRINTF)
-#if defined(SOLARIS) || defined(LINUX) || defined(HPUX)
+#if defined(SOLARIS) || defined(LINUX) || defined(__GNU__) || 
defined(__GLIBC__) || defined(HPUX)
 #define HAVE_SNPRINTF
 #endif
 #endif
@@ -165,7 +165,7 @@
  * for select()
  */
 #if !defined(WINSOCK) && !defined(_WINDOWS) && !defined(macintosh) && 
!defined(XP_OS2)
-#if defined(hpux) || defined(LINUX) || defined(SUNOS4) || defined(XP_BEOS)
+#if defined(hpux) || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) 
|| defined(SUNOS4) || defined(XP_BEOS)
 #include <sys/time.h>
 #else
 #include <sys/select.h>
@@ -252,15 +252,14 @@
 #define HAVE_GETGRNAM_R
 #endif
 
-#if defined(SNI) || defined(LINUX1_2)
+#if defined(SNI) || defined(LINUX1_2) || defined(__GNU__) || defined(__GLIBC__)
 int strcasecmp(const char *, const char *);
 #ifdef SNI
 int strncasecmp(const char *, const char *, int);
-#endif /* SNI */
-#ifdef LINUX1_2
+#else /* SNI */
 int strncasecmp(const char *, const char *, size_t);
-#endif /* LINUX1_2 */
-#endif /* SNI || LINUX1_2 */
+#endif
+#endif /* SNI || LINUX1_2 || __GNU__ || __GLIBC__ */
 
 #if defined(_WINDOWS) || defined(macintosh) || defined(XP_OS2) || 
defined(DARWIN)
 #define GETHOSTBYNAME( n, r, b, l, e )  gethostbyname( n )
@@ -276,7 +275,7 @@
     defined(UNIXWARE) || defined(SUNOS4) || defined(SNI) || defined(BSDI) || \
     defined(NCR) || defined(OSF1) || defined(NEC) || defined(VMS) || \
     ( defined(HPUX10) && !defined(_REENTRANT)) || defined(HPUX11) || \
-    defined(UnixWare) || defined(LINUX) || defined(NETBSD) || \
+    defined(UnixWare) || defined(LINUX) || defined(__GNU__) || 
defined(__GLIBC__) || defined(NETBSD) || \
     defined(FREEBSD) || defined(OPENBSD) || \
     (defined(AIX) && !defined(USE_REENTRANT_LIBC))
 #define GETHOSTBYNAME( n, r, b, l, e )  gethostbyname( n )
@@ -300,7 +299,7 @@
 #define GETHOSTBYNAME( n, r, b, l, e )  gethostbyname_r( n, r, b, l, e )
 #endif
 #if defined(HPUX9) || defined(LINUX1_2) || defined(LINUX2_0) || \
-    defined(LINUX2_1) || defined(SUNOS4) || defined(SNI) || \
+    defined(LINUX2_1) || defined(__GNU__) || defined(__GLIBC__) || 
defined(SUNOS4) || defined(SNI) || \
     defined(SCOOS) || defined(BSDI) || defined(NCR) || \
     defined(NEC) || ( defined(HPUX10) && !defined(_REENTRANT)) || \
     (defined(AIX) && !defined(USE_REENTRANT_LIBC))
@@ -320,7 +319,7 @@
 #endif
 #if defined(hpux9) || defined(LINUX1_2) || defined(SUNOS4) || defined(SNI) || \
     defined(SCOOS) || defined(BSDI) || defined(NCR) || defined(VMS) || \
-    defined(NEC) || defined(LINUX) || (defined(AIX) && 
!defined(USE_REENTRANT_LIBC))
+    defined(NEC) || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) 
|| (defined(AIX) && !defined(USE_REENTRANT_LIBC))
 #define STRTOK( s1, s2, l )            strtok( s1, s2 )
 #else
 #define HAVE_STRTOK_R
--- mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in  2005-06-02 
06:00:33.000000000 +0200
+++ mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in  2006-11-20 
22:10:27.000000000 +0100
@@ -168,7 +168,7 @@
 EXTRA_LIBS = -L$(dist_libdir) -l$(LBER_LIBNAME) $(OS_LIBS) -lc
 endif
 
-ifeq ($(OS_ARCH), Linux)
+ifneq (,$(filter Linux GNU GNU_%, $(OS_ARCH)))
 EXTRA_LIBS = -L$(dist_libdir) -l$(LBER_LIBNAME)
 endif
 
@@ -286,7 +286,7 @@
 ifdef SO_FILES_TO_REMOVE
        -$(RM) $(SO_FILES_TO_REMOVE)
 endif
-ifneq (,$(filter AIX Linux HP-UX Darwin BeOS QNX NetBSD OSF1 OpenBSD, 
$(OS_ARCH)))
+ifneq (,$(filter AIX Linux GNU GNU_% HP-UX Darwin BeOS QNX NetBSD OSF1 
OpenBSD, $(OS_ARCH)))
        $(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a
 else
 ifeq ($(OS_ARCH),OS2)
--- mozilla/directory/c-sdk/ldap/libraries/libprldap/ldappr-error.c     
2003-03-25 14:57:38.000000000 +0100
+++ mozilla/directory/c-sdk/ldap/libraries/libprldap/ldappr-error.c     
2006-11-20 22:10:27.000000000 +0100
@@ -218,7 +218,7 @@
 
 #if defined(__hpux) || defined(_AIX) || defined(OSF1) || defined(DARWIN) || \
   defined(BEOS) || defined(FREEBSD) || defined(BSDI) || defined(VMS) || \
-  defined(OPENBSD) || defined(NETBSD)
+  defined(OPENBSD) || defined(NETBSD) || defined(__FreeBSD_kernel__)
 #define EDEADLOCK       -1
 #endif
 
--- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in       2006-11-20 
22:20:44.000000000 +0100
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in       2006-11-20 
22:10:27.000000000 +0100
@@ -70,7 +70,7 @@
 # New code for Linux, et. al., with gcc
 # Migrate other platforms here after testing
 #
-ifneq (,$(filter Linux,$(OS_ARCH)))
+ifneq (,$(filter Linux GNU_%,$(OS_ARCH)))
 # Linux/x86-64
 ifeq (x86_64,$(OS_TEST))
 CPPSRCS                := xptcinvoke_x86_64_linux.cpp 
xptcstubs_x86_64_linux.cpp
--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h      
2006-02-23 20:37:11.000000000 +0100
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h      
2006-11-20 22:10:27.000000000 +0100
@@ -67,7 +67,7 @@
 *
 */
 
-#if defined(LINUX)
+#if defined(LINUX) || (defined(__GLIBC__) && defined(__FreeBSD_kernel__))
 
 #if (__GNUC__ == 2) && (__GNUC_MINOR__ <= 7)
 /* Old gcc 2.7.x.x.  What does gcc 2.8.x do?? */
--- mozilla/configure.in        2006-11-20 22:20:44.000000000 +0100
+++ mozilla/configure.in        2006-11-20 22:10:27.000000000 +0100
@@ -812,6 +812,8 @@
     OS_TEST="${target_cpu}"
     case "${target_os}" in
         linux*)       OS_ARCH=Linux ;;
+        kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;;
+        gnu*)         OS_ARCH=GNU ;;
         solaris*)     OS_ARCH=SunOS OS_RELEASE=5 ;;
         mingw*)       OS_ARCH=WINNT ;;
         wince*)       OS_ARCH=WINCE ;;
@@ -1261,7 +1263,7 @@
     LIBXUL_LIBS='$(XPCOM_FROZEN_LDOPTS) $(DIST)/bin/XUL -lobjc'
     ;;
 
-*-linux*)
+*-linux*|*-kfreebsd*-gnu|*-gnu*)
     HOST_CFLAGS="$HOST_CFLAGS -DXP_UNIX"
     HOST_NSPR_MDCPUCFG='\"md/_linux.cfg\"'
     HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
@@ -2169,7 +2171,7 @@
 dnl = Flags to strip unused symbols from .so components
 dnl ========================================================
 case "$target" in
-    *-linux*)
+    *-linux*|*-kfreebsd*-gnu|*-gnu*)
         MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS='-Wl,--version-script 
-Wl,$(BUILD_TOOLS)/gnu-ld-scripts/components-version-script'
         ;;
     *-solaris*)
@@ -2735,7 +2737,7 @@
                        fi
                        ;;
 
-           *-*-linux*) 
+           *-*-linux*|*-*-kfreebsd*-gnu|*-*-gnu*) 
                        AC_DEFINE(_REENTRANT) 
                        ;;
 
#! /bin/sh /usr/share/dpatch/dpatch-run
## 80_uname.dpatch by Mike Hommey <[EMAIL PROTECTED]>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Use ${host_*} variables instead of uname in configure.in. Closes: 
## DP: #377418.
## DP: This is a minimalist patch to solve the particular bad assembler
## DP: choice issue. It would need a much greater work to actually do
## DP: something totally clean, but the current patch should be enough
## DP: for Linux builds.
## DP: Also incorporates fix for bz#363263.

@DPATCH@

=== configure.in
==================================================================
--- xulrunner/configure.in      (revision 151)
+++ xulrunner/configure.in      (local)
@@ -811,19 +811,28 @@
     OS_RELEASE=
     OS_TEST="${target_cpu}"
     case "${target_os}" in
-        linux*)       OS_ARCH=Linux ;;
+        linux*)       OS_ARCH=Linux OS_TARGET=Linux;;
         kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;;
         gnu*)         OS_ARCH=GNU ;;
         solaris*)     OS_ARCH=SunOS OS_RELEASE=5 ;;
         mingw*)       OS_ARCH=WINNT ;;
         wince*)       OS_ARCH=WINCE ;;
         darwin*)      OS_ARCH=Darwin OS_TARGET=Darwin ;;
     esac
 else
-    OS_TARGET=`uname -s`
-    OS_ARCH=`uname -s | sed -e 's|/|_|g'`
+    OS_TARGET="${host_os}"
+    OS_ARCH=`echo $host_os | sed -e 's|/|_|g'`
     OS_RELEASE=`uname -r`
-    OS_TEST=`uname -m`
+    OS_TEST="${host_cpu}"
+    case "${host_os}" in
+        linux*)       OS_ARCH=Linux OS_TARGET=Linux;;
+        kfreebsd*-gnu) OS_ARCH=GNU_kFreeBSD ;;
+        gnu*)         OS_ARCH=GNU ;;
+        solaris*)     OS_ARCH=SunOS OS_RELEASE=5 ;;
+        mingw*)       OS_ARCH=WINNT ;;
+        wince*)       OS_ARCH=WINCE ;;
+        darwin*)      OS_ARCH=Darwin OS_TARGET=Darwin ;;
+    esac
 fi
 _COMPILER_PREFIX=
 
=== xpcom/reflect/xptcall/src/md/unix/Makefile.in
--- xulrunner/xpcom/reflect/xptcall/src/md/unix/Makefile.in     (revision 123)
+++ xulrunner/xpcom/reflect/xptcall/src/md/unix/Makefile.in     (local)
@@ -262,7 +262,7 @@
 #
 # Linux/PPC
 #
-ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc)
+ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc)
 CPPSRCS                := xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp
 ASFILES                := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
 AS             := $(CC) -c -x assembler-with-cpp
#! /bin/sh /usr/share/dpatch/dpatch-run
## 38_gnu.dpatch by Samuel Thibault <[EMAIL PROTECTED]>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: GNU/Hurd support. bz#408745

@DPATCH@

--- mozilla/config/rules.mk     2007-12-30 20:47:00.120197000 +0000
+++ mozilla/config/rules.mk     2007-12-30 20:47:27.127970000 +0000
@@ -506,6 +506,14 @@
 endif 
 
 #
+# GNU doesn't have path length limitation
+#
+
+ifeq ($(OS_ARCH),GNU)
+OS_CPPFLAGS += -DPATH_MAX=1024 -DMAXPATHLEN=1024
+endif
+
+#
 # BeOS: add -Bsymbolic flag for components
 # 
 ifeq ($(OS_ARCH),BeOS)

Reply via email to