Only in patch-2.5.4: .svn
diff -urbB patch-2.5.4.0/aclocal.m4 patch-2.5.4/aclocal.m4
--- patch-2.5.4.0/aclocal.m4	Sun Aug 29 15:09:30 1999
+++ patch-2.5.4/aclocal.m4	Mon Oct 23 15:33:46 2006
@@ -1,3 +1,5 @@
+undefine([AC_SYS_LARGEFILE])
+
 # The following is taken from automake 1.4,
 # except that it prefers the compiler option -Ae to "-Aa -D_HPUX_SOURCE"
 # because only the former supports 64-bit integral types on HP-UX 10.20.
diff -urbB patch-2.5.4.0/common.h patch-2.5.4/common.h
--- patch-2.5.4.0/common.h	Mon Aug 30 08:20:08 1999
+++ patch-2.5.4/common.h	Mon Oct 23 15:33:46 2006
@@ -124,11 +124,19 @@
 
 
 #ifndef FILESYSTEM_PREFIX_LEN
-#define FILESYSTEM_PREFIX_LEN(f) 0
+# ifndef __EMX__
+#  define FILESYSTEM_PREFIX_LEN(f) 0
+# else
+#  define FILESYSTEM_PREFIX_LEN(f) ((f)[0] && (f)[1] == ':' ? 2 : 0)
+# endif /* __EMX__ */
 #endif
 
 #ifndef ISSLASH
-#define ISSLASH(c) ((c) == '/')
+# ifndef __EMX__
+#  define ISSLASH(c) ((c) == '/')
+# else
+#  define ISSLASH(c) ((c) == '/' ||  (c) == '\\')
+# endif /* __EMX__ */
 #endif
 
 
@@ -324,5 +332,22 @@
 #endif
 
 #ifndef TTY_DEVICE
-#define TTY_DEVICE "/dev/tty"
+# ifndef __EMX__
+#  define TTY_DEVICE "/dev/tty"
+# else
+#  define TTY_DEVICE "/dev/con"
+# endif
+#endif
+
+#ifdef __EMX__00_YD
+# ifndef chdir
+#  define chdir _chdir2
+# endif
+# ifndef getcwd
+#  define getcwd _getcwd2
+# endif
+# if !HAVE_STRNCASECMP && !defined(strncasecmp)
+#  define strncasecmp strnicmp
+# endif
 #endif
+
Only in patch-2.5.4: config.guess
Only in patch-2.5.4.0: config.guess0
Only in patch-2.5.4: config.h
diff -urbB patch-2.5.4.0/config.hin patch-2.5.4/config.hin
--- patch-2.5.4.0/config.hin	Mon Aug 30 08:53:16 1999
+++ patch-2.5.4/config.hin	Mon Oct 23 15:33:46 2006
@@ -1,127 +1,188 @@
 /* config.hin.  Generated automatically from configure.in by autoheader.  */
 
-/* Define if on AIX 3.
-   System headers sometimes define this.
-   We just want to avoid a redefinition error message.  */
-#ifndef _ALL_SOURCE
-#undef _ALL_SOURCE
+#include<stdlib.h>
+
+#include<errno.h>
+
+/* Replace chdir() by _chdir2() if necessary (EMX only) */
+#if defined EMX_REPLACE_CHDIR && !defined chdir
+#define chdir replace_chdir
+static inline int replace_chdir(const char *name) { return _chdir2(name); }
 #endif
 
-/* Define if the closedir function returns void instead of int.  */
+/* Define if the `closedir' function returns void instead of `int'. */
 #undef CLOSEDIR_VOID
 
-/* Define to empty if the keyword does not work.  */
+/* Define to empty if `const' does not conform to ANSI C. */
 #undef const
 
-/* Define if you don't have vprintf but do have _doprnt.  */
-#undef HAVE_DOPRNT
+/* Define if there is a member named d_ino in the struct describing directory
+   headers. */
+#undef D_INO_IN_DIRENT
 
-/* Define if you support file names longer than 14 characters.  */
-#undef HAVE_LONG_FILE_NAMES
+/* EMX needs _chdir2() */
+#undef EMX_REPLACE_CHDIR
 
-/* Define if you have the vprintf function.  */
-#undef HAVE_VPRINTF
+/* EMX needs _getcwd2() */
+#undef EMX_REPLACE_GETCWD
 
-/* Define if on MINIX.  */
-#undef _MINIX
+/* Replace getcwd() by _getcwd2() if necessary (EMX only) */
+#if defined EMX_REPLACE_GETCWD && !defined getcwd
+#define getcwd replace_getcwd
+static inline char* replace_getcwd(char *buffer, size_t size) { return _getcwd2(buffer, size); }
+#endif
 
-/* Define to `int' if <sys/types.h> doesn't define.  */
-#undef mode_t
+/* Define if you have the `chdir' function. */
+#undef HAVE_CHDIR
 
-/* Define to `long' if <sys/types.h> doesn't define.  */
-#undef off_t
+/* Define if you have the `chown' function. */
+#undef HAVE_CHOWN
 
-/* Define to `int' if <sys/types.h> doesn't define.  */
-#undef pid_t
+/* Define if you have the <dirent.h> header file, and it defines `DIR'. */
+#undef HAVE_DIRENT_H
 
-/* Define if the system does not provide POSIX.1 features except
-   with this defined.  */
-#undef _POSIX_1_SOURCE
+/* Define if the malloc check has been performed. */
+#undef HAVE_DONE_WORKING_MALLOC_CHECK
 
-/* Define if you need to in order for stat and other things to work.  */
-#undef _POSIX_SOURCE
+/* Define if the realloc check has been performed. */
+#undef HAVE_DONE_WORKING_REALLOC_CHECK
 
-/* Define as the return type of signal handlers (int or void).  */
-#undef RETSIGTYPE
+/* Define if you don't have `vprintf' but do have `_doprnt.' */
+#undef HAVE_DOPRNT
 
-/* Define to `unsigned' if <sys/types.h> doesn't define.  */
-#undef size_t
+/* Define if you have the `fchown' function. */
+#undef HAVE_FCHOWN
 
-/* Define if you have the ANSI C header files.  */
-#undef STDC_HEADERS
+/* Define if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
 
-/* Define if you can safely include both <sys/time.h> and <time.h>.  */
-#undef TIME_WITH_SYS_TIME
+/* Define if you have the `fseeko' function. */
+#undef HAVE_FSEEKO
 
-/* Define if you have the _doprintf function.  */
-#undef HAVE__DOPRINTF
+/* Define if you have the `getcwd' function. */
+#undef HAVE_GETCWD
 
-/* Define if you have the fseeko function.  */
-#undef HAVE_FSEEKO
+/* Define if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
 
-/* Define if you have the isascii function.  */
+/* Define if you have the `isascii' function. */
 #undef HAVE_ISASCII
 
-/* Define if you have the memchr function.  */
+/* Define if you have the `lchown' function. */
+#undef HAVE_LCHOWN
+
+/* Define if you have the <limits.h> header file. */
+#undef HAVE_LIMITS_H
+
+/* Define if you have the `link' function. */
+#undef HAVE_LINK
+
+/* Define if you support file names longer than 14 characters. */
+#undef HAVE_LONG_FILE_NAMES
+
+/* Define if you have the `lstat' function. */
+#undef HAVE_LSTAT
+
+/* Define if you have the `memchr' function. */
 #undef HAVE_MEMCHR
 
-/* Define if you have the memcmp function.  */
+/* Define if you have the `memcmp' function. */
 #undef HAVE_MEMCMP
 
-/* Define if you have the mkdir function.  */
+/* Define if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define if you have the `mkdir' function. */
 #undef HAVE_MKDIR
 
-/* Define if you have the mktemp function.  */
+/* Define if you have the `mkfifo' function. */
+#undef HAVE_MKFIFO
+
+/* Define if you have the `mknod' function. */
+#undef HAVE_MKNOD
+
+/* Define if you have the `mktemp' function. */
 #undef HAVE_MKTEMP
 
-/* Define if you have the pathconf function.  */
+/* Define if you have the <ndir.h> header file, and it defines `DIR'. */
+#undef HAVE_NDIR_H
+
+/* Define if you have the <os2.h> header file. */
+#undef HAVE_OS2_H
+
+/* Define if you have the `pathconf' function. */
 #undef HAVE_PATHCONF
 
-/* Define if you have the raise function.  */
+/* Define if you have the `raise' function. */
 #undef HAVE_RAISE
 
-/* Define if you have the rename function.  */
+/* Define if you have the `readlink' function. */
+#undef HAVE_READLINK
+
+/* Define if you have the `rename' function. */
 #undef HAVE_RENAME
 
-/* Define if you have the rmdir function.  */
+/* Define if you have the `rmdir' function. */
 #undef HAVE_RMDIR
 
-/* Define if you have the setmode function.  */
+/* Define if you have the `setmode' function. */
 #undef HAVE_SETMODE
 
-/* Define if you have the sigaction function.  */
+/* Define if you have the `sigaction' function. */
 #undef HAVE_SIGACTION
 
-/* Define if you have the sigprocmask function.  */
+/* Define if you have the `sigprocmask' function. */
 #undef HAVE_SIGPROCMASK
 
-/* Define if you have the sigsetmask function.  */
+/* Define if you have the `sigsetmask' function. */
 #undef HAVE_SIGSETMASK
 
-/* Define if you have the strerror function.  */
-#undef HAVE_STRERROR
+/* Define if you have the `stat' function. */
+#undef HAVE_STAT
 
-/* Define if you have the <dirent.h> header file.  */
-#undef HAVE_DIRENT_H
+/* Define if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
 
-/* Define if you have the <fcntl.h> header file.  */
-#undef HAVE_FCNTL_H
+/* Define if you have the `strcasecmp' function. */
+#undef HAVE_STRCASECMP
 
-/* Define if you have the <limits.h> header file.  */
-#undef HAVE_LIMITS_H
+/* Define if you have the `strerror' function. */
+#undef HAVE_STRERROR
 
-/* Define if you have the <ndir.h> header file.  */
-#undef HAVE_NDIR_H
+/* Define if you have the `stricmp' function. */
+#undef HAVE_STRICMP
+
+/* Define if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
 
 /* Define if you have the <string.h> header file.  */
 #undef HAVE_STRING_H
 
-/* Define if you have the <sys/dir.h> header file.  */
+/* Define if you have the `strncasecmp' function. */
+#undef HAVE_STRNCASECMP
+
+/* Define if you have the `strnicmp' function. */
+#undef HAVE_STRNICMP
+
+/* Define if struct utimbuf is declared -- usually in <utime.h>. Some systems
+   have utime.h but don't declare the struct anywhere. */
+#undef HAVE_STRUCT_UTIMBUF
+
+/* Define if you have the `symlink' function. */
+#undef HAVE_SYMLINK
+
+/* Define if you have the `sync' function. */
+#undef HAVE_SYNC
+
+/* Define if you have the <sys/dir.h> header file, and it defines `DIR'. */
 #undef HAVE_SYS_DIR_H
 
-/* Define if you have the <sys/ndir.h> header file.  */
+/* Define if you have the <sys/ndir.h> header file, and it defines `DIR'. */
 #undef HAVE_SYS_NDIR_H
 
+/* Define if you have the <sys/nls.h> header file. */
+#undef HAVE_SYS_NLS_H
+
 /* Define if you have the <unistd.h> header file.  */
 #undef HAVE_UNISTD_H
 
@@ -131,39 +192,170 @@
 /* Define if you have the <varargs.h> header file.  */
 #undef HAVE_VARARGS_H
 
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
+/* Define if you have the `vprintf' function. */
+#undef HAVE_VPRINTF
 
-/* Define to make fseeko etc. visible, on some hosts. */
-#undef _LARGEFILE_SOURCE
+/* Define if you have the `_chdir2' function. */
+#undef HAVE__CHDIR2
 
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
+/* Define if you have the `_doprintf' function. */
+#undef HAVE__DOPRINTF
 
-/* Define if compiler has function prototypes */
-#undef PROTOTYPES
+/* Define if you have the `_getcwd2' function. */
+#undef HAVE__GETCWD2
 
-/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
-   and declares uintmax_t.  */
-#undef HAVE_INTTYPES_H
+/* Define if you have the `_nls_init' function. */
+#undef HAVE__NLS_INIT
 
-/* Define if struct utimbuf is declared -- usually in <utime.h>.
-   Some systems have utime.h but don't declare the struct anywhere.  */
-#undef HAVE_STRUCT_UTIMBUF
+/* Define if you have the `_response' function. */
+#undef HAVE__RESPONSE
 
-/* Define if the malloc check has been performed.  */
-#undef HAVE_DONE_WORKING_MALLOC_CHECK
+/* Define if you have the `_wildcard' function. */
+#undef HAVE__WILDCARD
 
 /* Define to rpl_malloc if the replacement function should be used. */
 #undef malloc
 
-/* Define if the realloc check has been performed.  */
-#undef HAVE_DONE_WORKING_REALLOC_CHECK
+/* Define to `int' if <sys/types.h> does not define. */
+#undef mode_t
+
+/* Define to `long' if <sys/types.h> does not define. */
+#undef off_t
+
+/* Define to `int' if <sys/types.h> does not define. */
+#undef pid_t
+
+/* Define if compiler has function prototypes */
+#undef PROTOTYPES
 
 /* Define to rpl_realloc if the replacement function should be used. */
 #undef realloc
 
-/* Define if there is a member named d_ino in the struct describing
-   directory headers. */
-#undef D_INO_IN_DIRENT
+/* Define as the return type of signal handlers (`int' or `void'). */
+#undef RETSIGTYPE
+
+/* Define to `unsigned' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define if you can safely include both <sys/time.h> and <time.h>. */
+#undef TIME_WITH_SYS_TIME
+
+/* If libc does not support chown(), replace it by a dummy function */
+#if !HAVE_CHOWN && !defined chown
+static inline int replace_chown(const char *file, unsigned uid, unsigned gid) { errno = EPERM; return -1; }
+#define chown(x,y,z) replace_chown(x,y,z)
+#endif
+
+/* If libc does not support fchown(), replace it by a dummy function */
+#if !HAVE_FCHOWN && !defined fchown
+static inline int replace_fchown(int fd, unsigned owner, unsigned group) { errno = EPERM; return -1; }
+#define fchown(x,y,z) replace_fchown(x,y,z)
+#endif
+
+/* If libc does not support lchown(), replace it by chown */
+#if !HAVE_LCHOWN && !defined lchown
+static inline int replace_lchown(const char *file, unsigned uid, unsigned gid) { errno = EPERM; return -1; }
+#define lchown replace_lchown
+#endif
+
+/* If libc does not support link(), replace it by a dummy function */
+#if !HAVE_LINK && !defined link
+static inline int replace_link(const char *oldpath, const char *newpath) { errno = EPERM; return -1; }
+#define link replace_link
+#endif
+
+/* If libc does not support lstat(), replace it by stat() (EMX only) */
+#if !HAVE_LSTAT && HAVE_STAT && !defined lstat
+# define lstat stat
+#endif
 
+/* If libc does not support mkfifo(), replace it by a dummy function */
+#if !HAVE_MKFIFO && !defined mkfifo
+static inline int replace_mkfifo(const char *pathname, unsigned mode) { errno = EPERM; return -1; }
+#define mkfifo(x,y) replace_mkfifo(x,y)
+#endif
+
+/* If libc does not support mknod(), replace it by a dummy function */
+#if !HAVE_MKNOD && !defined mknod
+static inline int replace_mknod(const char *pathname, unsigned mode, unsigned dev) { errno = EPERM; return -1; }
+#define mknod(x,y,z) replace_mknod(x,y,z)
+#endif
+
+/* If libc does not support readlink(), replace it by a dummy function */
+#if !HAVE_READLINK && !defined readlink
+static inline int replace_readlink(const char *path, char *buf, size_t bufsize) { errno = EPERM; return -1; }
+#define readlink replace_readlink
+#endif
+
+/* Replace strcasecmp() by stricmp() if necessary (EMX only) */
+#if !HAVE_STRCASECMP && HAVE_STRICMP && !defined strcasecmp
+# define strcasecmp(x,y) stricmp(x,y)
+#endif
+
+/* Replace strncasecmp() by strnicmp() if necessary (EMX only) */
+#if !HAVE_STRNCASECMP && HAVE_STRNICMP && !defined strncasecmp
+# define strncasecmp strnicmp
+#endif
+
+/* If libc does not support symlink(), replace it by a dummy function */
+#if !HAVE_SYMLINK && !defined symlink
+static inline int replace_symlink(const char *oldpath, const char *newpath) { errno = EPERM; return -1; }
+#define symlink replace_symlink
+#endif
+
+/* If libc does not support sync(), replace it by an empty macro */
+#if !HAVE_SYNC && !defined sync
+#define sync() {}
+#endif
+
+/* Define if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+#undef _FILE_OFFSET_BITS
+
+#if HAVE__RESPONSE && defined __EMX__
+# define _EMX_RESPONSE(a, b) _response(a, b)
+#else
+# define _EMX_RESPONSE(a, b)
+#endif
+
+#if HAVE__WILDCARD && defined __EMX__
+# define _EMX_WILDCARD(a, b) _wildcard(a, b)
+#else
+# define _EMX_WILDCARD(a, b)
+#endif
+
+#if HAVE_SYS_NLS_H && HAVE__NLS_INIT
+# include<sys/nls.h>
+# define TOUPPER(x) _nls_toupper(x)
+# define TOLOWER(x) _nls_tolower(x)
+#endif
+
+#if (HAVE__RESPONSE || HAVE__WILDCARD) && !defined initialize_main
+# define initialize_main(pargc, pargv) { \
+_EMX_RESPONSE(pargc, pargv); _EMX_WILDCARD(pargc, pargv); }
+#endif
+
+/* Define to make fseeko etc. visible, on some hosts. */
+#undef _LARGEFILE_SOURCE
+
+/* Define for large files, on AIX-style hosts. */
+#undef _LARGE_FILES
+
+/* Define if on MINIX. */
+#undef _MINIX
+
+/* Define if the system does not provide POSIX.1 features except with this
+   defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define if you need to in order for stat and other things to work. */
+#undef _POSIX_SOURCE
Only in patch-2.5.4: config.log
Only in patch-2.5.4: config.status
diff -urbB patch-2.5.4.0/config.sub patch-2.5.4/config.sub
--- patch-2.5.4.0/config.sub	Thu Aug  5 14:55:20 1999
+++ patch-2.5.4/config.sub	Mon Oct 23 15:33:46 2006
@@ -1,6 +1,10 @@
 #! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-#   Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+#   Free Software Foundation, Inc.
+
+timestamp='2001-05-11'
+
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
 # can handle that machine.  It does not imply ALL GNU software can.
@@ -25,6 +29,8 @@
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
+# Please send patches to <config-patches@gnu.org>.
+#
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
 # If it is invalid, we print an error message on stderr and exit with code 1.
@@ -45,30 +51,73 @@
 #	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
 # It is wrong to echo any other type of specification.
 
-if [ x$1 = x ]
-then
-	echo Configuration name missing. 1>&2
-	echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
-	echo "or     $0 ALIAS" 1>&2
-	echo where ALIAS is a recognized configuration type. 1>&2
-	exit 1
-fi
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit 0 ;;
+    --version | -v )
+       echo "$version" ; exit 0 ;;
+    --help | --h* | -h )
+       echo "$usage"; exit 0 ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
 
-# First pass through any local machine types.
-case $1 in
 	*local*)
+       # First pass through any local machine types.
 		echo $1
-		exit 0
-		;;
-	*)
-	;;
+       exit 0;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
 esac
 
 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  linux-gnu*)
+  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -94,7 +143,7 @@
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple)
+	-apple | -axis)
 		os=
 		basic_machine=$1
 		;;
@@ -166,27 +215,40 @@
 case $basic_machine in
 	# Recognize the basic CPU types without company name.
 	# Some are omitted here because they have special meanings below.
-	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
-		| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
+	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
+	        | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
+		| pyramid | mn10200 | mn10300 | tron | a29k \
 		| 580 | i960 | h8300 \
+		| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
 		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
-		| alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
-		| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
-		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
+		| hppa64 \
+		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
+		| alphaev6[78] \
+		| we32k | ns16k | clipper | i370 | sh | sh[34] \
+		| powerpc | powerpcle \
+		| 1750a | dsp16xx | pdp10 | pdp11 \
+		| mips16 | mips64 | mipsel | mips64el \
 		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
 		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
-		| mips64vr5000 | miprs64vr5000el | mcore \
-		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
-		| thumb | d10v)
+		| mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
+		| sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
+		| v850 | c4x \
+		| thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
+		| pj | pjl | h8500 | z8k)
 		basic_machine=$basic_machine-unknown
 		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65)
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65 | z8k)
 		;;
 
 	# We use `pc' rather than `unknown'
 	# because (1) that's what they normally are, and
 	# (2) the word "unknown" tends to confuse beginning users.
-	i[34567]86)
+	i*86 | x86_64)
 	  basic_machine=$basic_machine-pc
 	  ;;
 	# Object if more than one company name word.
@@ -196,23 +258,30 @@
 		;;
 	# Recognize the basic CPU types with company name.
 	# FIXME: clean up the formatting here.
-	vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
-	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
+	vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
+	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
+	      | arm-*  | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
 	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
 	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
 	      | xmp-* | ymp-* \
-	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
-	      | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
+	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
+	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
+	      | hppa2.0n-* | hppa64-* \
+	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
+	      | alphaev6[78]-* \
 	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
 	      | clipper-* | orion-* \
-	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
-	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
+	      | sparclite-* | pdp10-* | pdp11-* | sh-* | sh[34]-* | sh[34]eb-* \
+	      | powerpc-* | powerpcle-* | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
+	      | mips16-* | mips64-* | mipsel-* \
 	      | mips64el-* | mips64orion-* | mips64orionel-* \
 	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
 	      | mipstx39-* | mipstx39el-* | mcore-* \
-	      | f301-* | armv*-* | t3e-* \
+	      | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
+	      | [cjt]90-* \
 	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
-	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* )
+	      | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
+	      | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
 		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
@@ -249,14 +318,14 @@
 		os=-sysv
 		;;
 	amiga | amiga-*)
-		basic_machine=m68k-cbm
+		basic_machine=m68k-unknown
 		;;
 	amigaos | amigados)
-		basic_machine=m68k-cbm
+		basic_machine=m68k-unknown
 		os=-amigaos
 		;;
 	amigaunix | amix)
-		basic_machine=m68k-cbm
+		basic_machine=m68k-unknown
 		os=-sysv4
 		;;
 	apollo68)
@@ -303,13 +372,16 @@
 		basic_machine=cray2-cray
 		os=-unicos
 		;;
-	[ctj]90-cray)
-		basic_machine=c90-cray
+	[cjt]90)
+		basic_machine=${basic_machine}-cray
 		os=-unicos
 		;;
 	crds | unos)
 		basic_machine=m68k-crds
 		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
 	da30 | da30-*)
 		basic_machine=m68k-da30
 		;;
@@ -357,6 +429,10 @@
 		basic_machine=tron-gmicro
 		os=-sysv
 		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
 	h3050r* | hiux*)
 		basic_machine=hppa1.1-hitachi
 		os=-hiuxwe2
@@ -430,22 +506,21 @@
 		;;
 	i370-ibm* | ibm*)
 		basic_machine=i370-ibm
-		os=-mvs
 		;;
 # I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i[34567]86v32)
+	i*86v32)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-sysv32
 		;;
-	i[34567]86v4*)
+	i*86v4*)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-sysv4
 		;;
-	i[34567]86v)
+	i*86v)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-sysv
 		;;
-	i[34567]86sol2)
+	i*86sol2)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-solaris2
 		;;
@@ -457,14 +532,6 @@
 		basic_machine=i386-unknown
 		os=-vsta
 		;;
-	i386-go32 | go32)
-		basic_machine=i386-unknown
-		os=-go32
-		;;
-	i386-mingw32 | mingw32)
-		basic_machine=i386-unknown
-		os=-mingw32
-		;;
 	iris | iris4d)
 		basic_machine=mips-sgi
 		case $os in
@@ -490,6 +557,10 @@
 		basic_machine=ns32k-utek
 		os=-sysv
 		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
 	miniframe)
 		basic_machine=m68000-convergent
 		;;
@@ -511,14 +582,22 @@
 	mips3*)
 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
 		;;
+	mmix*)
+		basic_machine=mmix-knuth
+		os=-mmixware
+		;;
 	monitor)
 		basic_machine=m68k-rom68k
 		os=-coff
 		;;
 	msdos)
-		basic_machine=i386-unknown
+		basic_machine=i386-pc
 		os=-msdos
 		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
 	ncr3000)
 		basic_machine=i486-ncr
 		os=-sysv4
@@ -528,7 +607,7 @@
 		os=-netbsd
 		;;
 	netwinder)
-		basic_machine=armv4l-corel
+		basic_machine=armv4l-rebel
 		os=-linux
 		;;
 	news | news700 | news800 | news900)
@@ -576,9 +655,16 @@
 		basic_machine=i960-intel
 		os=-mon960
 		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
 	np1)
 		basic_machine=np1-gould
 		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
 	op50n-* | op60c-*)
 		basic_machine=hppa1.1-oki
 		os=-proelf
@@ -608,28 +694,28 @@
         pc532 | pc532-*)
 		basic_machine=ns32k-pc532
 		;;
-	pentium | p5 | k5 | k6 | nexen)
+	pentium | p5 | k5 | k6 | nexgen)
 		basic_machine=i586-pc
 		;;
-	pentiumpro | p6 | 6x86)
+	pentiumpro | p6 | 6x86 | athlon)
 		basic_machine=i686-pc
 		;;
 	pentiumii | pentium2)
-		basic_machine=i786-pc
+		basic_machine=i686-pc
 		;;
-	pentium-* | p5-* | k5-* | k6-* | nexen-*)
+	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
 		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	pentiumpro-* | p6-* | 6x86-*)
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
 		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	pentiumii-* | pentium2-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	pn)
 		basic_machine=pn-gould
 		;;
-	power)	basic_machine=rs6000-ibm
+	power)	basic_machine=power-ibm
 		;;
 	ppc)	basic_machine=powerpc-unknown
 	        ;;
@@ -644,6 +730,10 @@
 	ps2)
 		basic_machine=i386-ibm
 		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
 	rom68k)
 		basic_machine=m68k-rom68k
 		os=-coff
@@ -723,6 +813,10 @@
 	sun386 | sun386i | roadrunner)
 		basic_machine=i386-sun
 		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
 	symmetry)
 		basic_machine=i386-sequent
 		os=-dynix
@@ -731,6 +825,10 @@
 		basic_machine=t3e-cray
 		os=-unicos
 		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
 	tx39)
 		basic_machine=mipstx39-unknown
 		;;
@@ -826,13 +924,20 @@
 	vax)
 		basic_machine=vax-dec
 		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
 	pdp11)
 		basic_machine=pdp11-dec
 		;;
 	we32k)
 		basic_machine=we32k-att
 		;;
-	sparc | sparcv9)
+	sh3 | sh4)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv9 | sparcv9b)
 		basic_machine=sparc-sun
 		;;
         cydra)
@@ -854,6 +959,9 @@
 		basic_machine=c4x-none
 		os=-coff
 		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
 	*)
 		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
 		exit 1
@@ -912,12 +1020,26 @@
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*)
+	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto*)
+		os=-nto-qnx
+		;;
 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
 	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-	      | -macos* | -mpw* | -magic* | -mon960* | -lnews*)
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
 		;;
 	-mac*)
 		os=`echo $os | sed -e 's|mac|macos|'`
@@ -931,6 +1053,12 @@
 	-sunos6*)
 		os=`echo $os | sed -e 's|sunos6|solaris3|'`
 		;;
+	-opened*)
+		os=-openedition
+		;;
+	-wince*)
+		os=-wince
+		;;
 	-osfrose*)
 		os=-osfrose
 		;;
@@ -955,6 +1083,9 @@
 	-ns2 )
 	        os=-nextstep2
 		;;
+	-nsk*)
+		os=-nsk
+		;;
 	# Preserve the version number of sinix5.
 	-sinix5.*)
 		os=`echo $os | sed -e 's|sinix|sysv|'`
@@ -989,7 +1120,7 @@
 	-xenix)
 		os=-xenix
 		;;
-        -*mint | -*MiNT)
+        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
 	        os=-mint
 		;;
 	-none)
@@ -1017,12 +1148,15 @@
 	*-acorn)
 		os=-riscix1.2
 		;;
-	arm*-corel)
+	arm*-rebel)
 		os=-linux
 		;;
 	arm*-semi)
 		os=-aout
 		;;
+	pdp10-*)
+		os=-tops20
+		;;
         pdp11-*)
 		os=-none
 		;;
@@ -1131,7 +1265,7 @@
 	*-masscomp)
 		os=-rtu
 		;;
-	f301-fujitsu)
+	f30[01]-fujitsu | f700-fujitsu)
 		os=-uxpv
 		;;
 	*-rom68k)
@@ -1191,7 +1325,7 @@
 			-genix*)
 				vendor=ns
 				;;
-			-mvs*)
+			-mvs* | -opened*)
 				vendor=ibm
 				;;
 			-ptx*)
@@ -1209,7 +1343,7 @@
 			-mpw* | -macos*)
 				vendor=apple
 				;;
-			-*mint | -*MiNT)
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
 				vendor=atari
 				;;
 		esac
@@ -1218,3 +1352,11 @@
 esac
 
 echo $basic_machine$os
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
Only in patch-2.5.4: configure
diff -urbB patch-2.5.4.0/configure.in patch-2.5.4/configure.in
--- patch-2.5.4.0/configure.in	Mon Aug 30 08:20:08 1999
+++ patch-2.5.4/configure.in	Mon Oct 23 15:33:46 2006
@@ -27,6 +27,7 @@
 AC_MINIX
 AC_ISC_POSIX
 AC_EXEEXT
+AC_OBJEXT
 
 AM_C_PROTOTYPES
 AC_C_CONST
Only in patch-2.5.4.0: configure0
Only in patch-2.5.4: diff-patches
Only in patch-2.5.4.0: error.h
Only in patch-2.5.4: error.h0
Only in patch-2.5.4/m4: .svn
Only in patch-2.5.4: Makefile
diff -urbB patch-2.5.4.0/Makefile.in patch-2.5.4/Makefile.in
--- patch-2.5.4.0/Makefile.in	Mon Aug 30 08:37:54 1999
+++ patch-2.5.4/Makefile.in	Mon Oct 23 15:33:46 2006
@@ -18,6 +18,8 @@
 
 #### Start of system configuration section. ####
 
+SHELL = /bin/sh
+
 srcdir = @srcdir@
 VPATH = @srcdir@
 
@@ -40,6 +42,7 @@
 PACKAGE = @PACKAGE@
 U = @U@
 VERSION = @VERSION@
+OBJEXT = @OBJEXT@
 
 prefix = @prefix@
 exec_prefix = @exec_prefix@
@@ -63,9 +66,9 @@
 SRCS = addext.c argmatch.c backupfile.c basename.c error.c inp.c maketime.c \
 	mkdir.c partime.c patch.c pch.c quotearg.c quotesys.c \
 	rmdir.c util.c version.c xmalloc.c $(LIBSRCS)
-OBJS = addext$U.o argmatch$U.o backupfile$U.o basename$U.o error$U.o inp$U.o \
-	maketime.o partime.o patch$U.o pch$U.o quotearg$U.o quotesys.o \
-	util$U.o version$U.o xmalloc$U.o $(LIBOBJS)
+OBJS = addext$U.$(OBJEXT) argmatch$U.$(OBJEXT) backupfile$U.$(OBJEXT) basename$U.$(OBJEXT) error$U.$(OBJEXT) inp$U.$(OBJEXT) \
+	maketime.$(OBJEXT) partime.$(OBJEXT) patch$U.$(OBJEXT) pch$U.$(OBJEXT) quotearg$U.$(OBJEXT) quotesys.$(OBJEXT) \
+	util$U.$(OBJEXT) version$U.$(OBJEXT) xmalloc$U.$(OBJEXT) $(LIBOBJS)
 HDRS = argmatch.h backupfile.h basename.h common.h error.h getopt.h \
 	inp.h maketime.h partime.h patchlevel.h pch.h quotearg.h quotesys.h \
 	util.h version.h xalloc.h
@@ -90,7 +93,7 @@
 COMPILE = $(CC) -c $(CPPFLAGS) $(DEFS) -Ded_PROGRAM=\"$(ed_PROGRAM)\" \
 	-I. -I$(srcdir) $(CFLAGS)
 
-.c.o:
+.c.$(OBJEXT):
 	$(COMPILE) $<
 
 patch$(EXEEXT): $(OBJS)
@@ -134,7 +137,7 @@
 	etags $(HDRS) patchlevel.h $(SRCS)
 
 mostlyclean::
-	rm -f ansi2knr core* *core *.o *_.c
+	rm -f ansi2knr core* *core *.$(OBJEXT) *_.c
 
 clean:: mostlyclean
 	rm -f patch$(EXEEXT)
@@ -160,9 +163,9 @@
 	tar -chf - $(PV) | gzip -9 >$(PV).tar.gz
 	rm -rf $(PV)
 
-ansi2knr.o: config.h
-ansi2knr: ansi2knr.o
-	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) ansi2knr.o $(LIBS)
+ansi2knr.$(OBJEXT): config.h
+ansi2knr: ansi2knr.$(OBJEXT)
+	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) ansi2knr.$(OBJEXT) $(LIBS)
 addext_.c argmatch_.c backupfile_.c basename_.c error_.c \
 getopt_.c getopt1_.c inp_.c malloc_.c mkdir_.c patch_.c pch_.c quotearg_.c \
 rename_.c util_.c version_.c xmalloc_.c: ansi2knr
@@ -171,20 +174,20 @@
 	./ansi2knr $< $@
 
 $(OBJS): config.h
-addext$U.o: backupfile.h
-argmatch$U.o: argmatch.h error.h quotearg.h
-backupfile$U.o: argmatch.h backupfile.h
-error$U.o: error.h
-getopt$U.o getopt1$U.o: getopt.h
-inp$U.o: backupfile.h common.h inp.h pch.h quotearg.h util.h xalloc.h
-maketime.o: maketime.h partime.h
-partime.o: partime.h
-patch$U.o: argmatch.h backupfile.h common.h getopt.h inp.h \
+addext$U.$(OBJEXT): backupfile.h
+argmatch$U.$(OBJEXT): argmatch.h error.h quotearg.h
+backupfile$U.$(OBJEXT): argmatch.h backupfile.h
+error$U.$(OBJEXT): error.h
+getopt$U.$(OBJEXT) getopt1$U.$(OBJEXT): getopt.h
+inp$U.$(OBJEXT): backupfile.h common.h inp.h pch.h quotearg.h util.h xalloc.h
+maketime.$(OBJEXT): maketime.h partime.h
+partime.$(OBJEXT): partime.h
+patch$U.$(OBJEXT): argmatch.h backupfile.h common.h getopt.h inp.h \
 	pch.h quotearg.h util.h version.h xalloc.h
-pch$U.o: backupfile.h basename.h common.h inp.h pch.h quotearg.h util.h
-quotearg$U.o: quotearg.h xalloc.h
-quotesys.o: quotesys.h
-util$U.o: backupfile.h basename.h common.h maketime.h \
+pch$U.$(OBJEXT): backupfile.h basename.h common.h inp.h pch.h quotearg.h util.h
+quotearg$U.$(OBJEXT): quotearg.h xalloc.h
+quotesys.$(OBJEXT): quotesys.h
+util$U.$(OBJEXT): backupfile.h basename.h common.h maketime.h \
 	partime.h quotearg.h quotesys.h util.h version.h xalloc.h
-version$U.o: common.h patchlevel.h util.h version.h
-xmalloc$U.o: xalloc.h
+version$U.$(OBJEXT): common.h patchlevel.h util.h version.h
+xmalloc$U.$(OBJEXT): xalloc.h
diff -urbB patch-2.5.4.0/mkdir.c patch-2.5.4/mkdir.c
--- patch-2.5.4.0/mkdir.c	Mon Apr 26 14:16:14 1999
+++ patch-2.5.4/mkdir.c	Mon Oct 23 15:33:46 2006
@@ -75,12 +75,21 @@
   if (errno != ENOENT)
     return -1;
 
+#ifndef __EMX__
   cpid = fork ();
+#else
+  mode = umask (0);	/* Get current umask.  */
+  umask (mode | ((S_IRWXU | S_IRWXG | S_IRWXO) & ~dmode));
+  cpid = spawnl (P_NOWAIT, "mkdir.exe", "mkdir.exe", dpath, (char *) 0);
+  umask(mode); /* restore umask */
+#endif
+
   switch (cpid)
     {
     case -1:			/* Cannot fork.  */
       return -1;		/* errno is already set.  */
 
+#ifndef __EMX__
     case 0:			/* Child process.  */
       /* Cheap hack to set mode of new directory.  Since this child
 	 process is going away anyway, we zap its umask.
@@ -91,6 +100,7 @@
       umask (mode | ((S_IRWXU | S_IRWXG | S_IRWXO) & ~dmode));
       execl ("/bin/mkdir", "mkdir", dpath, (char *) 0);
       _exit (1);
+#endif /* NOT __EMX__ */
 
     default:			/* Parent process.  */
       /* Wait for kid to finish.  */
diff -urbB patch-2.5.4.0/mkinstalldirs patch-2.5.4/mkinstalldirs
--- patch-2.5.4.0/mkinstalldirs	Tue Jan  5 14:29:06 1999
+++ patch-2.5.4/mkinstalldirs	Mon Oct 23 15:33:46 2006
@@ -4,9 +4,29 @@
 # Created: 1993-05-16
 # Public domain
 
-# $Id: mkinstalldirs,v 1.12.2.1 1998/12/26 17:32:14 bje Exp $
+# $Id: mkinstalldirs,v 1.14 1999/04/09 21:44:01 bje Exp $
 
 errstatus=0
+dirmode=""
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+
+# process command line arguments
+while test $# -gt 0 ; do
+   case "${1}" in
+     -h | --help | --h* )			# -h for help
+        echo "${usage}" 1>&2; exit 0 ;;
+     -m )					# -m PERM arg
+        shift
+        test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; }
+        dirmode="${1}"
+        shift ;;
+     -- ) shift; break ;;			# stop option processing
+     -* ) echo "${usage}" 1>&2; exit 1 ;;	# unknown option
+     * )  break ;;				# first non-opt arg
+   esac
+done
 
 for file
 do
@@ -21,13 +41,24 @@
        -* ) pathcomp=./$pathcomp ;;
      esac
 
-     if test ! -d "$pathcomp"; then
+     if test ! -d "$pathcomp" -a ! -d "$pathcomp/"; then
         echo "mkdir $pathcomp"
 
         mkdir "$pathcomp" || lasterr=$?
 
-        if test ! -d "$pathcomp"; then
+        if test ! -d "$pathcomp" -a ! -d "$pathcomp/"; then
   	  errstatus=$lasterr
+	else
+	  if test ! -z "$dirmode"; then
+	     echo "chmod $dirmode $pathcomp"
+
+	     lasterr=""
+	     chmod $dirmode "$pathcomp" || lasterr=$?
+
+	     if test ! -z "$lasterr"; then
+	       errstatus=$lasterr
+	     fi
+	  fi
         fi
      fi
 
@@ -37,4 +68,7 @@
 
 exit $errstatus
 
-# mkinstalldirs ends here
+# Local Variables:
+# mode:shell-script
+# sh-indentation:3
+# End:
Only in patch-2.5.4/pc: .svn
Only in patch-2.5.4/pc/djgpp: .svn
diff -urbB patch-2.5.4.0/rmdir.c patch-2.5.4/rmdir.c
--- patch-2.5.4.0/rmdir.c	Tue Mar 30 06:43:36 1999
+++ patch-2.5.4/rmdir.c	Mon Oct 23 15:33:46 2006
@@ -57,15 +57,22 @@
       return -1;
     }
 
+#ifndef __EMX__
+  cpid = fork ();
+#else
+  cpid = spawnl (P_NOWAIT, "rmdir.exe", "rmdir.exe", dpath, (char *) 0);
+#endif
   cpid = fork ();
   switch (cpid)
     {
     case -1:			/* cannot fork */
       return -1;		/* errno already set */
 
+#ifndef __EMX__
     case 0:			/* child process */
       execl ("/bin/rmdir", "rmdir", dpath, (char *) 0);
       _exit (1);
+#endif
 
     default:			/* parent process */
 
diff -urbB patch-2.5.4.0/util.c patch-2.5.4/util.c
--- patch-2.5.4.0/util.c	Mon Aug 30 08:20:08 1999
+++ patch-2.5.4/util.c	Mon Oct 23 15:33:46 2006
@@ -133,6 +133,10 @@
 	  if (debug & 4)
 	    say ("Renaming file %s to %s\n",
 		 quotearg_n (0, to), quotearg_n (1, bakname));
+#ifdef __EMX__
+          /* under OS/2 rename() fails if the target file exists */
+ 	  if (access(bakname, R_OK) == 0) unlink(bakname);
+#endif /* __EMX__ */
 	  while (rename (to, bakname) != 0)
 	    {
 	      if (errno != try_makedirs_errno)
@@ -151,7 +155,10 @@
       if (debug & 4)
 	say ("Renaming file %s to %s\n",
 	     quotearg_n (0, from), quotearg_n (1, to));
-
+#ifdef __EMX__
+        /* under OS/2 rename() fails if the target file exists */
+        if (access(to, R_OK) == 0) unlink(to);
+#endif /* __EMX__ */
       if (rename (from, to) == 0)
 	*from_needs_removal = 0;
       else
