]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Clean up unnecessary divergences from upstream to reduce the size of the
authorRuss Allbery <rra@debian.org>
Tue, 10 May 2005 01:14:30 +0000 (01:14 +0000)
committerRuss Allbery <rra@debian.org>
Tue, 10 May 2005 01:14:30 +0000 (01:14 +0000)
diff and make auditing easier.

18 files changed:
config.guess
src/WINNT/install/Win9x/ReadMe.rtf
src/WINNT/pthread/test/native.cpp
src/afs/SUNOS/osi_inode.h
src/auth/Makefile.in
src/comerr/Makefile.in
src/des/conf-ppc-linux.h
src/kauth/Makefile.in
src/libafs/MakefileProto.LINUX.in
src/libafs/make_kbuild_makefile.pl
src/lwp/Makefile.in
src/ptserver/Makefile.in
src/rx/Makefile.in
src/rx/SUNOS/rx_knet.c
src/rxkad/Makefile.in
src/sys/Makefile.in
src/ubik/Makefile.in
src/util/Makefile.in

index 51fab4770970f7f000ce0a82ef95fef7b0c4e0e6..a8f68a046a30d069c620cd8dd6b7f0c3186d901c 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+#   Free Software Foundation, Inc.
 
-timestamp='2004-03-12'
+version='2004-08-19'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -24,50 +24,38 @@ timestamp='2004-03-12'
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
+# Written by Per Bothner <bothner@cygnus.com>.
+# Please send patches to <config-patches@gnu.org>.
 #
 # This script attempts to guess a canonical system name similar to
 # config.sub.  If it succeeds, it prints the system name on stdout, and
 # exits with 0.  Otherwise, it exits with 1.
 #
 # The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
+# don't specify an explicit system type (host/target name).
+#
+# Only a few systems have been added to this list; please add others
+# (but try to keep the structure clean).
+#
 
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
 Usage: $0 [OPTION]
 
-Output the configuration name of the system \`$me' is run on.
+Output the configuration name of this system.
 
 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.guess ($timestamp)
-
-Originally written by Per Bothner.
-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."
+  -h, --help               print this help, then exit
+  -V, --version            print version number, then exit"
 
 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 )
+  case "$1" in
+    --version | --vers* | -V )
        echo "$version" ; exit 0 ;;
     --help | --h* | -h )
        echo "$usage"; exit 0 ;;
@@ -76,7 +64,9 @@ while test $# -gt 0 ; do
     - )        # Use stdin as input.
        break ;;
     -* )
-       echo "$me: invalid option $1$help" >&2
+       exec >&2
+       echo "$me: invalid option $1"
+       echo "$help"
        exit 1 ;;
     * )
        break ;;
@@ -88,227 +78,132 @@ if test $# != 0; then
   exit 1
 fi
 
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
+# Use $HOST_CC if defined. $CC may point to a cross-compiler
+if test x"$CC_FOR_BUILD" = x; then
+  if test x"$HOST_CC" != x; then
+    CC_FOR_BUILD="$HOST_CC"
+  else
+    if test x"$CC" != x; then
+      CC_FOR_BUILD="$CC"
+    else
+      CC_FOR_BUILD=cc
+    fi
+  fi
+fi
 
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-       for c in cc gcc c89 c99 ; do
-         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-            CC_FOR_BUILD="$c"; break ;
-         fi ;
-       done ;
-       if test x"$CC_FOR_BUILD" = x ; then
-         CC_FOR_BUILD=no_compiler_found ;
-       fi
-       ;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ;'
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
+# (ghazi@noc.rutgers.edu 8/24/94.)
 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
        PATH=$PATH:/.attbin ; export PATH
 fi
 
 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+dummy=dummy-$$
+trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:NetBSD:*:*)
-       # NetBSD (nbsd) targets should (where applicable) match one or
+       # Netbsd (nbsd) targets should (where applicable) match one or
        # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
        # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
        # switched to ELF, *-*-netbsd* would select the old
        # object file format.  This provides both forward
        # compatibility and a consistent mechanism for selecting the
        # object file format.
-       #
-       # Note: NetBSD doesn't particularly care about the vendor
-       # portion of the name.  We always set it to "unknown".
-       sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-       case "${UNAME_MACHINE_ARCH}" in
-           armeb) machine=armeb-unknown ;;
-           arm*) machine=arm-unknown ;;
-           sh3el) machine=shl-unknown ;;
-           sh3eb) machine=sh-unknown ;;
-           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-       esac
-       # The Operating System including object format, if it has switched
-       # to ELF recently, or will in the future.
-       case "${UNAME_MACHINE_ARCH}" in
-           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-               eval $set_cc_for_build
-               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-                       | grep __ELF__ >/dev/null
-               then
-                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-                   # Return netbsd for either.  FIX?
-                   os=netbsd
-               else
-                   os=netbsdelf
-               fi
-               ;;
-           *)
-               os=netbsd
-               ;;
+       # Determine the machine/vendor (is the vendor relevant).
+       case "${UNAME_MACHINE}" in
+           amiga) machine=m68k-unknown ;;
+           arm32) machine=arm-unknown ;;
+           atari*) machine=m68k-atari ;;
+           sun3*) machine=m68k-sun ;;
+           mac68k) machine=m68k-apple ;;
+           macppc) machine=powerpc-apple ;;
+           hp3[0-9][05]) machine=m68k-hp ;;
+           ibmrt|romp-ibm) machine=romp-ibm ;;
+           *) machine=${UNAME_MACHINE}-unknown ;;
        esac
+       # The Operating System including object format.
+       if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+               | grep __ELF__ >/dev/null
+       then
+           # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+           # Return netbsd for either.  FIX?
+           os=netbsd
+       else
+           os=netbsdelf
+       fi
        # The OS release
-       # Debian GNU/NetBSD machines have a different userland, and
-       # thus, need a distinct triplet. However, they do not need
-       # kernel version information, so it can be replaced with a
-       # suitable tag, in the style of linux-gnu.
-       case "${UNAME_VERSION}" in
-           Debian*)
-               release='-gnu'
-               ;;
-           *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-               ;;
-       esac
+       release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
        # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
        # contains redundant information, the shorter form:
        # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
        echo "${machine}-${os}${release}"
        exit 0 ;;
-    amd64:OpenBSD:*:*)
-       echo x86_64-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    amiga:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    arc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    cats:OpenBSD:*:*)
-       echo arm-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    hp300:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mac68k:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    macppc:OpenBSD:*:*)
-       echo powerpc-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-       echo m88k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    mvmeppc:OpenBSD:*:*)
-       echo powerpc-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    pegasos:OpenBSD:*:*)
-       echo powerpc-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    pmax:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    sgi:OpenBSD:*:*)
-       echo mipseb-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    sun3:OpenBSD:*:*)
-       echo m68k-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-       echo mipsel-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    *:OpenBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
-       exit 0 ;;
-    *:ekkoBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-       exit 0 ;;
-    macppc:MirBSD:*:*)
-       echo powerppc-unknown-mirbsd${UNAME_RELEASE}
-       exit 0 ;;
-    *:MirBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-       exit 0 ;;
     alpha:OSF1:*:*)
-       case $UNAME_RELEASE in
-       *4.0)
+       if test $UNAME_RELEASE = "V4.0"; then
                UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-               ;;
-       *5.*)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-               ;;
-       esac
-       # According to Compaq, /usr/sbin/psrinfo has been available on
-       # OSF/1 and Tru64 systems produced since 1995.  I hope that
-       # covers most systems running today.  This code pipes the CPU
-       # types through head -n 1, so we only detect the type of CPU 0.
-       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-       case "$ALPHA_CPU_TYPE" in
-           "EV4 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "EV4.5 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "LCA4 (21066/21068)")
-               UNAME_MACHINE="alpha" ;;
-           "EV5 (21164)")
-               UNAME_MACHINE="alphaev5" ;;
-           "EV5.6 (21164A)")
-               UNAME_MACHINE="alphaev56" ;;
-           "EV5.6 (21164PC)")
-               UNAME_MACHINE="alphapca56" ;;
-           "EV5.7 (21164PC)")
-               UNAME_MACHINE="alphapca57" ;;
-           "EV6 (21264)")
-               UNAME_MACHINE="alphaev6" ;;
-           "EV6.7 (21264A)")
-               UNAME_MACHINE="alphaev67" ;;
-           "EV6.8CB (21264C)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8AL (21264B)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8CX (21264D)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE="alphaev69" ;;
-           "EV7 (21364)")
-               UNAME_MACHINE="alphaev7" ;;
-           "EV7.9 (21364A)")
-               UNAME_MACHINE="alphaev79" ;;
-       esac
-       # A Pn.n version is a patched version.
+       fi
        # A Vn.n version is a released version.
        # A Tn.n version is a released field test version.
        # A Xn.n version is an unreleased experimental baselevel.
        # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       exit 0 ;;
-    Alpha*:OpenVMS:*:*)
-       echo alpha-hp-vms
+       cat <<EOF >$dummy.s
+       .data
+\$Lformat:
+       .byte 37,100,45,37,120,10,0     # "%d-%x\n"
+
+       .text
+       .globl main
+       .align 4
+       .ent main
+main:
+       .frame \$30,16,\$26,0
+       ldgp \$29,0(\$27)
+       .prologue 1
+       .long 0x47e03d80 # implver \$0
+       lda \$2,-1
+       .long 0x47e20c21 # amask \$2,\$1
+       lda \$16,\$Lformat
+       mov \$0,\$17
+       not \$1,\$18
+       jsr \$26,printf
+       ldgp \$29,0(\$26)
+       mov 0,\$16
+       jsr \$26,exit
+       .end main
+EOF
+       $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+       if test "$?" = 0 ; then
+               case `./$dummy` in
+                       0-0)
+                               UNAME_MACHINE="alpha"
+                               ;;
+                       1-0)
+                               UNAME_MACHINE="alphaev5"
+                               ;;
+                       1-1)
+                               UNAME_MACHINE="alphaev56"
+                               ;;
+                       1-101)
+                               UNAME_MACHINE="alphapca56"
+                               ;;
+                       2-303)
+                               UNAME_MACHINE="alphaev6"
+                               ;;
+                       2-307)
+                               UNAME_MACHINE="alphaev67"
+                               ;;
+               esac
+       fi
+       rm -f $dummy.s $dummy
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
        exit 0 ;;
     Alpha\ *:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
@@ -322,22 +217,37 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     Amiga*:UNIX_System_V:4.0:*)
        echo m68k-unknown-sysv4
        exit 0;;
+    amiga:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
     *:[Aa]miga[Oo][Ss]:*:*)
        echo ${UNAME_MACHINE}-unknown-amigaos
        exit 0 ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-morphos
+    arc64:OpenBSD:*:*)
+       echo mips64el-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    arc:OpenBSD:*:*)
+       echo mipsel-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    hkmips:OpenBSD:*:*)
+       echo mips-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    pmax:OpenBSD:*:*)
+       echo mipsel-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    sgi:OpenBSD:*:*)
+       echo mips-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    wgrisc:OpenBSD:*:*)
+       echo mipsel-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
     *:OS/390:*:*)
        echo i370-ibm-openedition
        exit 0 ;;
-    *:OS400:*:*)
-        echo powerpc-ibm-os400
-       exit 0 ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit 0;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+    SR2?01:HI-UX/MPP:*:*)
        echo hppa1.1-hitachi-hiuxmpp
        exit 0;;
     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
@@ -351,13 +261,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     NILE*:*:*:dcosx)
        echo pyramid-pyramid-svr4
        exit 0 ;;
-    DRS?6000:unix:4.0:6*)
-       echo sparc-icl-nx6
-       exit 0 ;;
-    DRS?6000:UNIX_SV:4.2*:7*)
-       case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7 && exit 0 ;;
-       esac ;;
     sun4H:SunOS:5.*:*)
        echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        exit 0 ;;
@@ -386,7 +289,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        echo m68k-sun-sunos${UNAME_RELEASE}
        exit 0 ;;
     sun*:*:4.2BSD:*)
-       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+       UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
        test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
        case "`/bin/arch`" in
            sun3)
@@ -400,9 +303,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     aushp:SunOS:*:*)
        echo sparc-auspex-sunos${UNAME_RELEASE}
        exit 0 ;;
+    atari*:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
+    # "atarist" or "atariste" at least should have a processor 
     # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
     # to the lowercase version "mint" (or "freemint").  Finally
     # the system name "TOS" denotes a system which is actually not
@@ -426,8 +332,17 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
         echo m68k-unknown-mint${UNAME_RELEASE}
         exit 0 ;;
-    m68k:machten:*:*)
-       echo m68k-apple-machten${UNAME_RELEASE}
+    sun3*:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mac68k:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mvme68k:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
+    mvme88k:OpenBSD:*:*)
+       echo m88k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
     powerpc:machten:*:*)
        echo powerpc-apple-machten${UNAME_RELEASE}
@@ -445,7 +360,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
        echo clipper-intergraph-clix${UNAME_RELEASE}
        exit 0 ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
-       eval $set_cc_for_build
        sed 's/^        //' << EOF >$dummy.c
 #ifdef __cplusplus
 #include <stdio.h>  /* for printf() prototype */
@@ -467,20 +381,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
          exit (-1);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c \
-         && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-         && exit 0
+       $CC_FOR_BUILD $dummy.c -o $dummy \
+         && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+         && rm $dummy.c $dummy && exit 0
+       rm -f $dummy.c $dummy
        echo mips-mips-riscos${UNAME_RELEASE}
        exit 0 ;;
-    Motorola:PowerMAX_OS:*:*)
-       echo powerpc-motorola-powermax
-       exit 0 ;;
-    Motorola:*:4.3:PL8-*)
-       echo powerpc-harris-powermax
-       exit 0 ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-       echo powerpc-harris-powermax
-       exit 0 ;;
     Night_Hawk:Power_UNIX:*:*)
        echo powerpc-harris-powerunix
        exit 0 ;;
@@ -496,7 +402,7 @@ EOF
     AViiON:dgux:*:*)
         # DG/UX returns AViiON for all architectures
         UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110]
        then
            if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
               [ ${TARGET_BINARY_INTERFACE}x = x ]
@@ -528,20 +434,11 @@ EOF
     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
        echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
        exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
+    i?86:AIX:*:*)
        echo i386-ibm-aix
        exit 0 ;;
-    ia64:AIX:*:*)
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-       fi
-       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-       exit 0 ;;
     *:AIX:2:3)
        if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               eval $set_cc_for_build
                sed 's/^                //' << EOF >$dummy.c
                #include <sys/systemcfg.h>
 
@@ -553,7 +450,8 @@ EOF
                        exit(0);
                        }
 EOF
-               $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+               $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+               rm -f $dummy.c $dummy
                echo rs6000-ibm-aix3.2.5
        elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
                echo rs6000-ibm-aix3.2.4
@@ -562,16 +460,16 @@ EOF
        fi
        exit 0 ;;
     *:AIX:*:[45])
-       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-               IBM_ARCH=rs6000
-       else
+       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
+       if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep -i PowerPC >/dev/null 2>&1; then
                IBM_ARCH=powerpc
-       fi
+       else
+               IBM_ARCH=rs6000
+        fi
        if [ -x /usr/bin/oslevel ] ; then
                IBM_REV=`/usr/bin/oslevel`
        else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+               IBM_REV=4.${UNAME_RELEASE}
        fi
        echo ${IBM_ARCH}-ibm-aix${IBM_REV}
        exit 0 ;;
@@ -597,28 +495,11 @@ EOF
        echo m68k-hp-bsd4.4
        exit 0 ;;
     9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
        case "${UNAME_MACHINE}" in
            9000/31? )            HP_ARCH=m68000 ;;
            9000/[34]?? )         HP_ARCH=m68k ;;
            9000/[678][0-9][0-9])
-               if [ -x /usr/bin/getconf ]; then
-                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
-                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
-               fi
-               if [ "${HP_ARCH}" = "" ]; then
-                   eval $set_cc_for_build
-                   sed 's/^              //' << EOF >$dummy.c
+              sed 's/^              //' << EOF >$dummy.c
 
               #define _HPUX_SOURCE
               #include <stdlib.h>
@@ -651,29 +532,13 @@ EOF
                   exit (0);
               }
 EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-                   test -z "$HP_ARCH" && HP_ARCH=hppa
-               fi ;;
+       (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
+       rm -f $dummy.c $dummy
        esac
-       if [ ${HP_ARCH} = "hppa2.0w" ]
-       then
-           # avoid double evaluation of $set_cc_for_build
-           test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
-           then
-               HP_ARCH="hppa2.0w"
-           else
-               HP_ARCH="hppa64"
-           fi
-       fi
-       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-       exit 0 ;;
-    ia64:HP-UX:*:*)
        HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux${HPUX_REV}
+       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
        exit 0 ;;
     3050*:HI-UX:*:*)
-       eval $set_cc_for_build
        sed 's/^        //' << EOF >$dummy.c
        #include <unistd.h>
        int
@@ -699,7 +564,8 @@ EOF
          exit (0);
        }
 EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+       $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
+       rm -f $dummy.c $dummy
        echo unknown-hitachi-hiuxwe2
        exit 0 ;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -708,7 +574,7 @@ EOF
     9000/8??:4.3bsd:*:*)
        echo hppa1.0-hp-bsd
        exit 0 ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+    *9??*:MPE/iX:*:*)
        echo hppa1.0-hp-mpeix
        exit 0 ;;
     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
@@ -717,7 +583,7 @@ EOF
     hp8??:OSF1:*:*)
        echo hppa1.0-hp-osf
        exit 0 ;;
-    i*86:OSF1:*:*)
+    i?86:OSF1:*:*)
        if [ -x /usr/sbin/sysversion ] ; then
            echo ${UNAME_MACHINE}-unknown-osf1mk
        else
@@ -727,6 +593,9 @@ EOF
     parisc*:Lites*:*:*)
        echo hppa1.1-hp-lites
        exit 0 ;;
+    hppa*:OpenBSD:*:*)
+       echo hppa-unknown-openbsd
+       exit 0 ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
        echo c1-convex-bsd
         exit 0 ;;
@@ -745,39 +614,41 @@ EOF
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
        echo c4-convex-bsd
         exit 0 ;;
+    CRAY*X-MP:*:*:*)
+       echo xmp-cray-unicos
+        exit 0 ;;
     CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo ymp-cray-unicos${UNAME_RELEASE}
        exit 0 ;;
     CRAY*[A-Z]90:*:*:*)
        echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
        | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-             -e 's/\.[^.]*$/.X/'
+             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
        exit 0 ;;
     CRAY*TS:*:*:*)
        echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
     CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
     CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit 0 ;;
-    *:UNICOS/mp:*:*)
-       echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'    
        exit 0 ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+    CRAY-2:*:*:*)
+       echo cray2-cray-unicos
+        exit 0 ;;
+    F300:UNIX_System_V:*:*)
         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
         exit 0 ;;
-    5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+    F301:UNIX_System_V:*:*)
+       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
+       exit 0 ;;
+    hp300:OpenBSD:*:*)
+       echo m68k-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+    i?86:BSD/386:*:* | i?86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
        exit 0 ;;
     sparc*:BSD/OS:*:*)
@@ -787,21 +658,10 @@ EOF
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit 0 ;;
     *:FreeBSD:*:*)
-       # Determine whether the default compiler uses glibc.
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #if __GLIBC__ >= 2
-       LIBC=gnu
-       #else
-       LIBC=
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
-       # FreeBSD's kernel, but not the complete OS.
-       case ${LIBC} in gnu) kernel_only='k' ;; esac
-       echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
+       echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit 0 ;;
+    *:OpenBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
        exit 0 ;;
     i*:CYGWIN*:*)
        echo ${UNAME_MACHINE}-pc-cygwin
@@ -812,17 +672,11 @@ EOF
     i*:PW*:*)
        echo ${UNAME_MACHINE}-pc-pw32
        exit 0 ;;
-    x86:Interix*:[34]*)
-       echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
-       exit 0 ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-       echo i${UNAME_MACHINE}-pc-mks
-       exit 0 ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
        # How do we know it's Interix rather than the generic POSIX subsystem?
        # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
        # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i586-pc-interix
+       echo i386-pc-interix
        exit 0 ;;
     i*:UWIN*:*)
        echo ${UNAME_MACHINE}-pc-uwin
@@ -834,178 +688,232 @@ EOF
        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        exit 0 ;;
     *:GNU:*:*)
-       # the GNU system
        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
        exit 0 ;;
-    *:GNU/*:*:*)
-       # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-       exit 0 ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit 0 ;;
-    arm*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit 0 ;;
-    cris:Linux:*:*)
-       echo cris-axis-linux-gnu
-       exit 0 ;;
-    ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit 0 ;;
-    m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit 0 ;;
-    m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit 0 ;;
-    mips:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef mips
-       #undef mipsel
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mipsel
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
-       ;;
-    mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef mips64
-       #undef mips64el
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mips64el
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips64
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
-       test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
-       ;;
-    ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
-       exit 0 ;;
-    ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
-       exit 0 ;;
-    alpha:Linux:*:*)
-       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-         EV5)   UNAME_MACHINE=alphaev5 ;;
-         EV56)  UNAME_MACHINE=alphaev56 ;;
-         PCA56) UNAME_MACHINE=alphapca56 ;;
-         PCA57) UNAME_MACHINE=alphapca56 ;;
-         EV6)   UNAME_MACHINE=alphaev6 ;;
-         EV67)  UNAME_MACHINE=alphaev67 ;;
-         EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-       objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-       exit 0 ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-       # Look for CPU level
-       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
-       esac
-       exit 0 ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
-       exit 0 ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
-       exit 0 ;;
-    sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit 0 ;;
-    sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit 0 ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit 0 ;;
-    x86_64:Linux:*:*)
-       echo x86_64-unknown-linux-gnu
-       exit 0 ;;
-    i*86:Linux:*:*)
+    *:Linux:*:*)
+
        # The BFD linker knows what the default object file format is, so
        # first see if it will tell us. cd to the root directory to prevent
        # problems with other programs or directories called `ld' in the path.
-       # Set LC_ALL=C to ensure ld outputs messages in English.
-       ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-                        | sed -ne '/supported targets:/!d
+       ld_help_string=`cd /; ld --help 2>&1`
+       ld_supported_emulations=`echo $ld_help_string \
+                        | sed -ne '/supported emulations:/!d
                                    s/[         ][      ]*/ /g
-                                   s/.*supported targets: *//
+                                   s/.*supported emulations: *//
                                    s/ .*//
                                    p'`
-        case "$ld_supported_targets" in
-         elf32-i386)
-               TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+        case "$ld_supported_emulations" in
+         *ia64)
+               echo "${UNAME_MACHINE}-unknown-linux"
+               exit 0
                ;;
-         a.out-i386-linux)
+         i?86linux)
                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-               exit 0 ;;
-         coff-i386)
+               exit 0
+               ;;
+         elf_i?86)
+               TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+               ;;
+         i?86coff)
                echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-               exit 0 ;;
-         "")
-               # Either a pre-BFD a.out linker (linux-gnuoldld) or
-               # one that does not give us useful --help.
-               echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-               exit 0 ;;
+               exit 0
+               ;;
+         sparclinux)
+               echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+               exit 0
+               ;;
+         armlinux)
+               echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+               exit 0
+               ;;
+         elf32arm*)
+               echo "${UNAME_MACHINE}-unknown-linux-gnuoldld"
+               exit 0
+               ;;
+         armelf_linux*)
+               echo "${UNAME_MACHINE}-unknown-linux-gnu"
+               exit 0
+               ;;
+         m68klinux)
+               echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
+               exit 0
+               ;;
+         elf32ppc | elf32ppclinux)
+               # Determine Lib Version
+               cat >$dummy.c <<EOF
+#include <features.h>
+#if defined(__GLIBC__)
+extern char __libc_version[];
+extern char __libc_release[];
+#endif
+main(argc, argv)
+     int argc;
+     char *argv[];
+{
+#if defined(__GLIBC__)
+  printf("%s %s\n", __libc_version, __libc_release);
+#else
+  printf("unkown\n");
+#endif
+  return 0;
+}
+EOF
+               LIBC=""
+               $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
+               if test "$?" = 0 ; then
+                       ./$dummy | grep 1\.99 > /dev/null
+                       if test "$?" = 0 ; then
+                               LIBC="libc1"
+                       fi
+               fi      
+               rm -f $dummy.c $dummy
+               echo powerpc-unknown-linux-gnu${LIBC}
+               exit 0
+               ;;
+         shelf_linux)
+               echo "${UNAME_MACHINE}-unknown-linux-gnu"
+               exit 0
+               ;;
        esac
-       # Determine whether the default compiler is a.out or elf
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #ifdef __ELF__
-       # ifdef __GLIBC__
-       #  if __GLIBC__ >= 2
-       LIBC=gnu
-       #  else
-       LIBC=gnulibc1
-       #  endif
-       # else
-       LIBC=gnulibc1
-       # endif
-       #else
-       #ifdef __INTEL_COMPILER
-       LIBC=gnu
-       #else
-       LIBC=gnuaout
-       #endif
-       #endif
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
+
+       if test "${UNAME_MACHINE}" = "alpha" ; then
+               cat <<EOF >$dummy.s
+                       .data
+               \$Lformat:
+                       .byte 37,100,45,37,120,10,0     # "%d-%x\n"
+
+                       .text
+                       .globl main
+                       .align 4
+                       .ent main
+               main:
+                       .frame \$30,16,\$26,0
+                       ldgp \$29,0(\$27)
+                       .prologue 1
+                       .long 0x47e03d80 # implver \$0
+                       lda \$2,-1
+                       .long 0x47e20c21 # amask \$2,\$1
+                       lda \$16,\$Lformat
+                       mov \$0,\$17
+                       not \$1,\$18
+                       jsr \$26,printf
+                       ldgp \$29,0(\$26)
+                       mov 0,\$16
+                       jsr \$26,exit
+                       .end main
+EOF
+               LIBC=""
+               $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+               if test "$?" = 0 ; then
+                       case `./$dummy` in
+                       0-0)
+                               UNAME_MACHINE="alpha"
+                               ;;
+                       1-0)
+                               UNAME_MACHINE="alphaev5"
+                               ;;
+                       1-1)
+                               UNAME_MACHINE="alphaev56"
+                               ;;
+                       1-101)
+                               UNAME_MACHINE="alphapca56"
+                               ;;
+                       2-303)
+                               UNAME_MACHINE="alphaev6"
+                               ;;
+                       2-307)
+                               UNAME_MACHINE="alphaev67"
+                               ;;
+                       esac
+
+                       objdump --private-headers $dummy | \
+                         grep ld.so.1 > /dev/null
+                       if test "$?" = 0 ; then
+                               LIBC="libc1"
+                       fi
+               fi
+               rm -f $dummy.s $dummy
+               echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
+       elif test "${UNAME_MACHINE}" = "mips" ; then
+         cat >$dummy.c <<EOF
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __MIPSEB__
+  printf ("%s-unknown-linux-gnu\n", argv[1]);
+#endif
+#ifdef __MIPSEL__
+  printf ("%sel-unknown-linux-gnu\n", argv[1]);
+#endif
+  return 0;
+}
 EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
-       test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
-       ;;
-    i*86:DYNIX/ptx:4*:*)
-       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-       # earlier versions are messed up and put the nodename in both
-       # sysname and nodename.
+         $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+         rm -f $dummy.c $dummy
+       elif test "${UNAME_MACHINE}" = "s390x"; then
+         echo s390x-ibm-linux && exit 0
+       elif test "${UNAME_MACHINE}" = "s390"; then
+         echo s390-ibm-linux && exit 0
+       elif test "${UNAME_MACHINE}" = "x86_64"; then
+         echo x86_64-unknown-linux-gnu && exit 0
+       else
+         # Either a pre-BFD a.out linker (linux-gnuoldld)
+         # or one that does not give us useful --help.
+         # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
+         # If ld does not provide *any* "supported emulations:"
+         # that means it is gnuoldld.
+         echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
+         test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
+
+         case "${UNAME_MACHINE}" in
+         i?86)
+           VENDOR=pc;
+           ;;
+         *)
+           VENDOR=unknown;
+           ;;
+         esac
+         # Determine whether the default compiler is a.out or elf
+         cat >$dummy.c <<EOF
+#include <features.h>
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __ELF__
+# ifdef __GLIBC__
+#  if __GLIBC__ >= 2
+    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
+#  else
+    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+#  endif
+# else
+   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+# endif
+#else
+  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+         $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
+         rm -f $dummy.c $dummy
+         test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+       fi ;;
+# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
+# are messed up and put the nodename in both sysname and nodename.
+    i?86:DYNIX/ptx:4*:*)
        echo i386-sequent-sysv4
        exit 0 ;;
-    i*86:UNIX_SV:4.2MP:2.*)
+    i?86:UNIX_SV:4.2MP:2.*)
         # Unixware is an offshoot of SVR4, but it has its own version
         # number series starting with 2...
         # I am not positive that other SVR4 systems won't match this,
@@ -1013,27 +921,7 @@ EOF
         # Use sysv4.2uw... so that sysv4* matches it.
        echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
        exit 0 ;;
-    i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
-       # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
-       exit 0 ;;
-    i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
-       exit 0 ;;
-    i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
-       exit 0 ;;
-       i*86:syllable:*:*)
-       echo ${UNAME_MACHINE}-pc-syllable
-       exit 0 ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit 0 ;;
-    i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit 0 ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
        UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
        if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
                echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
@@ -1041,32 +929,36 @@ EOF
                echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
        fi
        exit 0 ;;
-    i*86:*:5:[78]*)
-       case `/bin/uname -X | grep "^Machine"` in
-           *486*)           UNAME_MACHINE=i486 ;;
-           *Pentium)        UNAME_MACHINE=i586 ;;
-           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-       esac
-       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+    i?86:*:5:7*)
+        # Fixed at (any) Pentium or better
+        UNAME_MACHINE=i586
+        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
+           echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
+       else
+           echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
+       fi
        exit 0 ;;
-    i*86:*:3.2:*)
+    i?86:*:3.2:*)
        if test -f /usr/options/cb.name; then
                UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
                echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
        elif /bin/uname -X 2>/dev/null >/dev/null ; then
-               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+               UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
+               (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
+               (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
                        && UNAME_MACHINE=i586
-               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+               (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
                        && UNAME_MACHINE=i686
-               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+               (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
                        && UNAME_MACHINE=i686
                echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
        else
                echo ${UNAME_MACHINE}-pc-sysv32
        fi
        exit 0 ;;
+    i?86:*DOS:*:*)
+       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       exit 0 ;;
     pc:*:*:*)
        # Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -1090,15 +982,9 @@ EOF
        # "miniframe"
        echo m68010-convergent-sysv
        exit 0 ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-       echo m68k-convergent-sysv
-       exit 0 ;;
-    M680?0:D-NIX:5.3:*)
-       echo m68k-diab-dnix
-       exit 0 ;;
     M68*:*:R3V[567]*:*)
        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
        OS_REL=''
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1109,21 +995,21 @@ EOF
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
           && echo i486-ncr-sysv4 && exit 0 ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+    m68*:LynxOS:2.*:*)
        echo m68k-unknown-lynxos${UNAME_RELEASE}
        exit 0 ;;
     mc68030:UNIX_System_V:4.*:*)
        echo m68k-atari-sysv4
        exit 0 ;;
+    i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit 0 ;;
     TSUNAMI:LynxOS:2.*:*)
        echo sparc-unknown-lynxos${UNAME_RELEASE}
        exit 0 ;;
-    rs6000:LynxOS:2.*:*)
+    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
        echo rs6000-unknown-lynxos${UNAME_RELEASE}
        exit 0 ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
-       echo powerpc-unknown-lynxos${UNAME_RELEASE}
-       exit 0 ;;
     SM[BE]S:UNIX_SV:*:*)
        echo mips-dde-sysv${UNAME_RELEASE}
        exit 0 ;;
@@ -1141,8 +1027,8 @@ EOF
                echo ns32k-sni-sysv
        fi
        exit 0 ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                           # says <Richard.M.Bartel@ccMail.Census.GOV>
         echo i586-unisys-sysv4
         exit 0 ;;
     *:UNIX_System_V:4*:FTX*)
@@ -1154,10 +1040,6 @@ EOF
        # From seanf@swdc.stratus.com.
        echo i860-stratus-sysv4
        exit 0 ;;
-    *:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo hppa1.1-stratus-vos
-       exit 0 ;;
     mc68*:A/UX:*:*)
        echo m68k-apple-aux${UNAME_RELEASE}
        exit 0 ;;
@@ -1186,9 +1068,6 @@ EOF
     SX-5:SUPER-UX:*:*)
        echo sx5-nec-superux${UNAME_RELEASE}
        exit 0 ;;
-    SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux${UNAME_RELEASE}
-       exit 0 ;;
     Power*:Rhapsody:*:*)
        echo powerpc-apple-rhapsody${UNAME_RELEASE}
        exit 0 ;;
@@ -1196,29 +1075,20 @@ EOF
        echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
        exit 0 ;;
     *:Darwin:*:*)
-       case `uname -p` in
-           *86) UNAME_PROCESSOR=i686 ;;
-           powerpc) UNAME_PROCESSOR=powerpc ;;
-       esac
-       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+       echo `uname -p`-apple-darwin${UNAME_RELEASE}
        exit 0 ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
-       UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
-               UNAME_PROCESSOR=i386
+       if test "${UNAME_MACHINE}" = "x86pc"; then
                UNAME_MACHINE=pc
        fi
-       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+       echo `uname -p`-${UNAME_MACHINE}-nto-qnx
        exit 0 ;;
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit 0 ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
+    NSR-[KW]:NONSTOP_KERNEL:*:*)
        echo nsr-tandem-nsk${UNAME_RELEASE}
        exit 0 ;;
-    *:NonStop-UX:*:*)
-       echo mips-compaq-nonstopux
-       exit 0 ;;
     BS2000:POSIX*:*:*)
        echo bs2000-siemens-sysv
        exit 0 ;;
@@ -1236,36 +1106,13 @@ EOF
        fi
        echo ${UNAME_MACHINE}-unknown-plan9
        exit 0 ;;
-    *:TOPS-10:*:*)
-       echo pdp10-unknown-tops10
-       exit 0 ;;
-    *:TENEX:*:*)
-       echo pdp10-unknown-tenex
-       exit 0 ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-       echo pdp10-dec-tops20
-       exit 0 ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-       echo pdp10-xkl-tops20
-       exit 0 ;;
-    *:TOPS-20:*:*)
-       echo pdp10-unknown-tops20
-       exit 0 ;;
-    *:ITS:*:*)
-       echo pdp10-unknown-its
-       exit 0 ;;
-    SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
-       exit 0 ;;
-    *:DragonFly:*:*)
-       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-       exit 0 ;;
+    *:OS/2:*:*)
+       echo ${UNAME_MACHINE}-pc-os2_emx
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
 
-eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
 # include <sys/types.h>
@@ -1352,24 +1199,11 @@ main ()
 #endif
 
 #if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
+#if !defined (ultrix)
+  printf ("vax-dec-bsd\n"); exit (0);
+#else
+  printf ("vax-dec-ultrix\n"); exit (0);
+#endif
 #endif
 
 #if defined (alliant) && defined (i860)
@@ -1380,7 +1214,8 @@ main ()
 }
 EOF
 
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
+rm -f $dummy.c $dummy
 
 # Apollos put the system type in the environment.
 
@@ -1415,9 +1250,8 @@ fi
 cat >&2 <<EOF
 $0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+The $version version of this script cannot recognize your system type.
+Please download the most up to date version of the config scripts:
 
     ftp://ftp.gnu.org/pub/gnu/config/
 
@@ -1426,7 +1260,7 @@ send the following data and any information you think might be
 pertinent to <config-patches@gnu.org> in order to provide the needed
 information to handle your system.
 
-config.guess timestamp = $timestamp
+config.guess version = $version
 
 uname -m = `(uname -m) 2>/dev/null || echo unknown`
 uname -r = `(uname -r) 2>/dev/null || echo unknown`
@@ -1453,7 +1287,7 @@ exit 1
 
 # Local variables:
 # eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
+# time-stamp-start: "version='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
 # End:
index 975a6a8192caff1893e801f43d51eaea4ee1db88..019adb8024d994b3edb86a54c6bf56c57289a78e 100644 (file)
@@ -1,88 +1,88 @@
-{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\froman Times New Roman;}{\f3\froman Times New Roman;}}
-{\colortbl\red0\green0\blue0;\red0\green0\blue255;}
-\deflang1033\pard\qc\plain\f2\fs28\b AFS Client for Windows 95/98 (\plain\f2\fs20\b Version 2.0.0.0 - 04/20/01 12:18 PM\plain\f2\fs28\b )
-\par \pard\plain\f2\fs28 
-\par \plain\f2\fs20 Welcome to the Open AFS Client for Windows 95/98.
-\par 
-\par This client will allow you to access files on sites stored all over the Internet as though the files were residing on your local machine.  You can store your own files on the Internet to share with others, and can limit access to your files to specific users or groups of users.  You can browse through the different AFS sites (known as \plain\f2\fs20\i cells\plain\f2\fs20 ) from a single file tree and use standard Windows programs such as Explorer to copy and manipulate files.  You can open files stored on the Internet directly from Windows applications.
-\par 
-\par One drive letter will be created on your machine by default - Z:.  The Z: drive will be the root of the AFS tree, allowing you to browse all sites that have AFS servers available.
-\par 
-\par This is a native Windows 9x client; a gateway machine is not required.
-\par 
-\par \plain\f2\fs24\b System Requirements
-\par 
-\par \plain\f2\fs20 IBM compatible PC running Windows 95 (see below) or 98
-\par 16 MB RAM
-\par 20 MB free disk space
-\par Client for Microsoft Networks must be installed
-\par TCP/IP protocol stack must be installed
-\par 
-\par \plain\f2\fs24\b Getting Started
-\par \plain\f2\fs20 
-\par To use the client, you will need to perform the following tasks after installation and reboot:
-\par 
-\par 1) Boot up your machine and log in to Windows.  (Note: if you bypass the login by hitting "Cancel" at the login screen, Windows networking will not work and you will not be able to mount your drives.)
-\par 2) Connect to the Internet or your company's intranet.  (Note: If you are using the client in a firewalled intranet environment with private AFS cells, you will probably need a CellServDB file specific to your 
-\par company's environment.  Ask your system administrator.)
-\par 3) Check your system time, timezone, and date settings and make sure they are synchronized with the AFS server. 
-\par 4) Start the AFS Client by double-clicking on the icon on the desktop or Start Menu.
-\par 5) A box will appear asking for your userid and password.  Type them in and press "Connect".  This will
-\par authenticate you to the AFS cell you specified at installation.  (Note: You cannot use the GUI interface to authenticate to other cells at present.  This will be added later.  You can still authenticate to other cells using the "klog" command; see "Command Line Tools" below.)  Use the "Save Password" checkbox to enable the AFS Client to save your password in the registry for use next time you run the AFS Client.  (The password will be saved encrypted in the registry if you are running Windows 98 or have installed Internet Explorer version 4.0 or later.  Otherwise, it will be saved in clear text.  We recommend you do not use the save password feature if encryption is not available on your system.)
-\par 6) Now a Windows Explorer will start to allow you to browse your new Z: drive.  Z: will be the root of the AFS tree.
-\par 7) By checking "Advanced Options",  you can add and change your drive letter assignments.  There is one  share assigned by default, "all".  (Note: the "all" share cannot be removed.)  New shares must be assigned a unique share name and an AFS path.  You can mount and unmount your AFS drives by checking or unchecking the box next to each drive letter.  You can also set whether a drive will be automatically mounted at startup by highlighting the drive and clicking "Change".
-\par 8) You can kill or minimize the AFS client dialog window.  Double click the icon in the system tray to restore it.
-\par 9) When you are ready to shut down the AFS client, bring up the AFS client dialog and click the "Disconnect" button.  This will terminate the AFS daemon.  Then click "Exit" to quit.
-\par 
-\par Complete documentation for the AFS client is available at:  
-\par http://www.openafs.org/dl/openafs/1.0.2/afs-3.6-doc.tar.gz
-\par  
-\par \plain\f2\fs24\b Explorer Shell Extension
-\par 
-\par \plain\f2\fs20 You can right click on items within an AFS tree to bring up an "AFS" menu item.  Under this menu are various operations you can execute on a file or directory.  The most useful item is "Access Control Lists" which allows you to view and edit the permissions of a particular directory. 
-\par 
-\par 
-\par \plain\f2\fs24\b Command Line Tools
-\par 
-\par \plain\f2\fs20 The following command line tools are available in the install directory.  See the full documentation at the above URL for complete information on these commands:
-\par 
-\par klog.exe:         \tab Authenticate a user to a cell, e.g. "klog joeuser@mycell.com" \tab 
-\par unlog.exe:       \tab Unauthenticate to a cell\tab 
-\par tokens.exe\tab List which tokens  you have (cells you have authenticated to) and their expiration times\tab 
-\par kpasswd.exe\tab Change your password for the specified cell\tab 
-\par symlink.exe:    \tab Create a symbolic link , e.g. "symlink make dest src" makes a link called "dest" pointing to file  "src"\tab 
-\par fs.exe:              \tab This command is used for a number of file server functions.  Type "fs help" for a list, and then "fs help function" to get detailed help for that function.  See the documentation for more info.\tab 
-\par fs help\tab list functions\tab 
-\par fs listacl <directory>\tab show directory access control list\tab 
-\par fs setacl <diretory> <acl>\tab set directory access control list\tab 
-\par fs listquota <directory>\tab show directory disk quota\tab 
-\par fs flushvolume <directory>\tab flush cached data from volume\tab 
-\par pts.exe\tab This command is used for user administration functions.  See the documentation for more info.   (Note: this command currently does not work in Windows 95.)\tab 
-\par 
-\par \plain\f2\fs24\b Known Issues
-\par 
-\par \pard\li720\fi-360\plain\f2\fs20 1) The Microsoft Visual Studio linker "link.exe" fails when writing to a file stored in AFS.  It freezes the system for a minute or so and then times out.  This problem may exist in other programs as well.
-\par 2) Occasionally the U: and Z: drive letters are not mapped automatically when the client is started.  If this happens, you can map them manually by entering the commands:
-\par \pard\li1440\fi-360\tx1440\plain\f2\fs20 0net use u: \\\\mymachine-afs\\home
-\par 1net use z: \\\\mymachine-afs\\all
-\par 2where "mymachine" is the Windows networking name of your machine.
-\par \pard\li720\fi-360\plain\f2\fs20 3) The Windows file system does not understand symbolic links, so links to directories just look like normal directories.  This can lead to problems when trying to recursively copy a directory, since following cyclical links can lead to infinite regress.
-\par 4) The Office 2000 install program seems to take a very long time to install Office 2000 to AFS.
-\par 5) You must log in to Windows for Windows networking to work correctly.  If you bypass the login, AFS will time out trying to start the AFS client console, with the error "Connect can't continue: Network error adding Z:all."
-\par 6) Under certain configurations the AFS Client Console will report a cache error.   This will prevent the AFS Client from initializing.  
-\par 7) Infrequently Windows will incorrectly notify the AFS Control Panel that there are open files.  If this prevents AFS from disconnecting, it will require you to reboot.
-\par \pard\plain\f2\fs20 
-\par 
-\par \plain\f2\fs24\b Legalities
-\par 
-\par \pard\li720\ri810\plain\f2\fs24\i Copyright 2000, International Business Machines Corporation and others. All Rights Reserved. This software has been released under the terms of the IBM Public License.  For details, see the LICENSE file in the top-level source directory or online at  \plain\f2\fs24\cf1\i\ul http://www.openafs.org/dl/license10.html\plain\f2\fs24\b 
-\par \pard\plain\f2\fs24\b 
-\par \plain\f2\fs20 This program was compiled using the DJGPP compiler and includes object code copyrighted by DJ Delorie.  The compiler and libraries are available at http://www.delorie.com.
-\par 
-\par This program includes software developed by the University of California, Berkeley, and its contributors.
-\par 
-\par This program has been distributed with, and uses the services of, the sock.vxd and mmap.vxd drivers written for the Coda project at http://www.coda.cs.cmu.edu and licensed under the GNU General Public License.  Source code for these drivers is available at the above web site.
-\par 
-\par 
-\par }
+{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\froman Times New Roman;}{\f3\froman Times New Roman;}}\r
+{\colortbl\red0\green0\blue0;\red0\green0\blue255;}\r
+\deflang1033\pard\qc\plain\f2\fs28\b AFS Client for Windows 95/98 (\plain\f2\fs20\b Version 2.0.0.0 - 04/20/01 12:18 PM\plain\f2\fs28\b )\r
+\par \pard\plain\f2\fs28 \r
+\par \plain\f2\fs20 Welcome to the Open AFS Client for Windows 95/98.\r
+\par \r
+\par This client will allow you to access files on sites stored all over the Internet as though the files were residing on your local machine.  You can store your own files on the Internet to share with others, and can limit access to your files to specific users or groups of users.  You can browse through the different AFS sites (known as \plain\f2\fs20\i cells\plain\f2\fs20 ) from a single file tree and use standard Windows programs such as Explorer to copy and manipulate files.  You can open files stored on the Internet directly from Windows applications.\r
+\par \r
+\par One drive letter will be created on your machine by default - Z:.  The Z: drive will be the root of the AFS tree, allowing you to browse all sites that have AFS servers available.\r
+\par \r
+\par This is a native Windows 9x client; a gateway machine is not required.\r
+\par \r
+\par \plain\f2\fs24\b System Requirements\r
+\par \r
+\par \plain\f2\fs20 IBM compatible PC running Windows 95 (see below) or 98\r
+\par 16 MB RAM\r
+\par 20 MB free disk space\r
+\par Client for Microsoft Networks must be installed\r
+\par TCP/IP protocol stack must be installed\r
+\par \r
+\par \plain\f2\fs24\b Getting Started\r
+\par \plain\f2\fs20 \r
+\par To use the client, you will need to perform the following tasks after installation and reboot:\r
+\par \r
+\par 1) Boot up your machine and log in to Windows.  (Note: if you bypass the login by hitting "Cancel" at the login screen, Windows networking will not work and you will not be able to mount your drives.)\r
+\par 2) Connect to the Internet or your company's intranet.  (Note: If you are using the client in a firewalled intranet environment with private AFS cells, you will probably need a CellServDB file specific to your \r
+\par company's environment.  Ask your system administrator.)\r
+\par 3) Check your system time, timezone, and date settings and make sure they are synchronized with the AFS server. \r
+\par 4) Start the AFS Client by double-clicking on the icon on the desktop or Start Menu.\r
+\par 5) A box will appear asking for your userid and password.  Type them in and press "Connect".  This will\r
+\par authenticate you to the AFS cell you specified at installation.  (Note: You cannot use the GUI interface to authenticate to other cells at present.  This will be added later.  You can still authenticate to other cells using the "klog" command; see "Command Line Tools" below.)  Use the "Save Password" checkbox to enable the AFS Client to save your password in the registry for use next time you run the AFS Client.  (The password will be saved encrypted in the registry if you are running Windows 98 or have installed Internet Explorer version 4.0 or later.  Otherwise, it will be saved in clear text.  We recommend you do not use the save password feature if encryption is not available on your system.)\r
+\par 6) Now a Windows Explorer will start to allow you to browse your new Z: drive.  Z: will be the root of the AFS tree.\r
+\par 7) By checking "Advanced Options",  you can add and change your drive letter assignments.  There is one  share assigned by default, "all".  (Note: the "all" share cannot be removed.)  New shares must be assigned a unique share name and an AFS path.  You can mount and unmount your AFS drives by checking or unchecking the box next to each drive letter.  You can also set whether a drive will be automatically mounted at startup by highlighting the drive and clicking "Change".\r
+\par 8) You can kill or minimize the AFS client dialog window.  Double click the icon in the system tray to restore it.\r
+\par 9) When you are ready to shut down the AFS client, bring up the AFS client dialog and click the "Disconnect" button.  This will terminate the AFS daemon.  Then click "Exit" to quit.\r
+\par \r
+\par Complete documentation for the AFS client is available at:  \r
+\par http://www.openafs.org/dl/openafs/1.0.2/afs-3.6-doc.tar.gz\r
+\par  \r
+\par \plain\f2\fs24\b Explorer Shell Extension\r
+\par \r
+\par \plain\f2\fs20 You can right click on items within an AFS tree to bring up an "AFS" menu item.  Under this menu are various operations you can execute on a file or directory.  The most useful item is "Access Control Lists" which allows you to view and edit the permissions of a particular directory. \r
+\par \r
+\par \r
+\par \plain\f2\fs24\b Command Line Tools\r
+\par \r
+\par \plain\f2\fs20 The following command line tools are available in the install directory.  See the full documentation at the above URL for complete information on these commands:\r
+\par \r
+\par klog.exe:         \tab Authenticate a user to a cell, e.g. "klog joeuser@mycell.com" \tab \r
+\par unlog.exe:       \tab Unauthenticate to a cell\tab \r
+\par tokens.exe\tab List which tokens  you have (cells you have authenticated to) and their expiration times\tab \r
+\par kpasswd.exe\tab Change your password for the specified cell\tab \r
+\par symlink.exe:    \tab Create a symbolic link , e.g. "symlink make dest src" makes a link called "dest" pointing to file  "src"\tab \r
+\par fs.exe:              \tab This command is used for a number of file server functions.  Type "fs help" for a list, and then "fs help function" to get detailed help for that function.  See the documentation for more info.\tab \r
+\par fs help\tab list functions\tab \r
+\par fs listacl <directory>\tab show directory access control list\tab \r
+\par fs setacl <diretory> <acl>\tab set directory access control list\tab \r
+\par fs listquota <directory>\tab show directory disk quota\tab \r
+\par fs flushvolume <directory>\tab flush cached data from volume\tab \r
+\par pts.exe\tab This command is used for user administration functions.  See the documentation for more info.   (Note: this command currently does not work in Windows 95.)\tab \r
+\par \r
+\par \plain\f2\fs24\b Known Issues\r
+\par \r
+\par \pard\li720\fi-360\plain\f2\fs20 1) The Microsoft Visual Studio linker "link.exe" fails when writing to a file stored in AFS.  It freezes the system for a minute or so and then times out.  This problem may exist in other programs as well.\r
+\par 2) Occasionally the U: and Z: drive letters are not mapped automatically when the client is started.  If this happens, you can map them manually by entering the commands:\r
+\par \pard\li1440\fi-360\tx1440\plain\f2\fs20 0net use u: \\\\mymachine-afs\\home\r
+\par 1net use z: \\\\mymachine-afs\\all\r
+\par 2where "mymachine" is the Windows networking name of your machine.\r
+\par \pard\li720\fi-360\plain\f2\fs20 3) The Windows file system does not understand symbolic links, so links to directories just look like normal directories.  This can lead to problems when trying to recursively copy a directory, since following cyclical links can lead to infinite regress.\r
+\par 4) The Office 2000 install program seems to take a very long time to install Office 2000 to AFS.\r
+\par 5) You must log in to Windows for Windows networking to work correctly.  If you bypass the login, AFS will time out trying to start the AFS client console, with the error "Connect can't continue: Network error adding Z:all."\r
+\par 6) Under certain configurations the AFS Client Console will report a cache error.   This will prevent the AFS Client from initializing.  \r
+\par 7) Infrequently Windows will incorrectly notify the AFS Control Panel that there are open files.  If this prevents AFS from disconnecting, it will require you to reboot.\r
+\par \pard\plain\f2\fs20 \r
+\par \r
+\par \plain\f2\fs24\b Legalities\r
+\par \r
+\par \pard\li720\ri810\plain\f2\fs24\i Copyright 2000, International Business Machines Corporation and others. All Rights Reserved. This software has been released under the terms of the IBM Public License.  For details, see the LICENSE file in the top-level source directory or online at  \plain\f2\fs24\cf1\i\ul http://www.openafs.org/dl/license10.html\plain\f2\fs24\b \r
+\par \pard\plain\f2\fs24\b \r
+\par \plain\f2\fs20 This program was compiled using the DJGPP compiler and includes object code copyrighted by DJ Delorie.  The compiler and libraries are available at http://www.delorie.com.\r
+\par \r
+\par This program includes software developed by the University of California, Berkeley, and its contributors.\r
+\par \r
+\par This program has been distributed with, and uses the services of, the sock.vxd and mmap.vxd drivers written for the Coda project at http://www.coda.cs.cmu.edu and licensed under the GNU General Public License.  Source code for these drivers is available at the above web site.\r
+\par \r
+\par \r
+\par }\r
 \0
\ No newline at end of file
index 3ab1526a8f51b652cadd55cb099624b327b7d0e2..cdea2a13711942ae6bb5e8282aa3d37783a278fb 100644 (file)
-/*
-
-
- * Copyright 2000, International Business Machines Corporation and others.
-
-
- * All Rights Reserved.
-
-
- * 
-
-
- * This software has been released under the terms of the IBM Public
-
-
- * License.  For details, see the LICENSE file in the top-level source
-
-
- * directory or online at http://www.openafs.org/dl/license10.html
-
-
- */
-
-
-
-
-
-/*
-
-
- * Test pthread interaction with native Win32 threads
-
-
- *
-
-
- */
-
-
-
-
-
-
-
-
-#include <afs/param.h>
-
-
-#include <afs/stds.h>
-
-
-
-
-
-#include <windows.h>
-
-
-#include <stdio.h>
-
-
-#include <stdlib.h>
-
-
-
-
-
-extern "C" {
-
-
-#include <pthread.h>
-
-
-#include <assert.h>
-
-
-#include <rx/rx_queue.h>
-
-
-}
-
-
-
-
-
-
-
-
-#define nTESTS         3
-
-
-#define nPASSES_MAX  256
-
-
-
-
-
-
-
-
-/*
-
-
- * Test1 - Tests the main thread calling pthread_self()
-
-
- *
-
-
- */
-
-
-
-
-
-BOOL Test1 (void)
-
-
-{
-
-
-   BOOL rc = TRUE;
-
-
-   printf ("Begin Test1:\n");
-
-
-
-
-
-   PVOID hSelf;
-
-
-   if ((hSelf = pthread_self()) == NULL)
-
-
-      rc = FALSE;
-
-
-
-
-
-   printf ("   1: pthread_self() on main thread returned 0x%08lX\n", hSelf);
-
-
-
-
-
-   printf ("--> Test1 %s\n", (rc) ? TEXT("succeeded") : TEXT("FAILED\a\a\a"));
-
-
-   return rc;
-
-
-}
-
-
-
-
-
-
-
-
-/*
-
-
- * Test2 - Tests a Win32 thread's ability to join onto a pthread
-
-
- *
-
-
- */
-
-
-#define TEST2_RETURNVALUE 'Test'
-
-
-
-
-
-DWORD WINAPI Test2_Thread1 (LPVOID lp)
-
-
-{
-
-
-   printf ("   1-1: waiting for thread 2 to begin\n");
-
-
-
-
-
-   while (!*(volatile DWORD*)lp)
-
-
-      ;
-
-
-
-
-
-   printf ("   1-1: calling pthread_join (0x%08lX)\n", *(DWORD*)lp);
-
-
-
-
-
-   DWORD status;
-
-
-   int rc;
-
-
-   if ((rc = pthread_join ((pthread_t)(*(DWORD*)lp), (void**)&status)) != 0)
-
-
-      {
-
-
-      printf ("   1-1: pthread_join failed; rc=%lu\n", rc);
-
-
-      return 0;
-
-
-      }
-
-
-
-
-
-   if (status != TEST2_RETURNVALUE)
-
-
-      {
-
-
-      printf ("   1-1: pthread_join succeeded with wrong status (rc=%lu)\n", status);
-
-
-      return 0;
-
-
-      }
-
-
-
-
-
-   printf ("   1-1: pthread_join succeeded; terminating\n");
-
-
-   return 1;
-
-
-}
-
-
-
-
-
-extern "C" void *Test2_Thread2 (void *pdwCommonParam)
-
-
-{
-
-
-   printf ("   1-2: signalling that thread 2 began\n");
-
-
-   *(volatile DWORD*)pdwCommonParam = (DWORD)pthread_self();
-
-
-   Sleep (1500);
-
-
-
-
-
-   printf ("   1-2: terminating\n");
-
-
-   return (void*)TEST2_RETURNVALUE;
-
-
-}
-
-
-
-
-
-BOOL Test2 (void)
-
-
-{
-
-
-   BOOL rc = TRUE;
-
-
-   printf ("Begin Test2:\n");
-
-
-
-
-
-   DWORD dwCommonParam = 0;
-
-
-   DWORD idThread;
-
-
-
-
-
-   printf ("   1: creating win32 thread\n");
-
-
-   HANDLE hThread1 = CreateThread (0, 0, Test2_Thread1, (LPVOID)&dwCommonParam, 0, &idThread);
-
-
-   Sleep(500);
-
-
-
-
-
-   printf ("   1: creating pthread thread\n");
-
-
-   pthread_t hThread2;
-
-
-   pthread_create (&hThread2, NULL, Test2_Thread2, (void *)&dwCommonParam);
-
-
-   Sleep(500);
-
-
-
-
-
-   printf ("   1: blocking until win32 thread (thread1) terminates...\n");
-
-
-
-
-
-   WaitForSingleObject (hThread1, INFINITE);
-
-
-   GetExitCodeThread (hThread1, (ULONG*)&rc);
-
-
-
-
-
-   printf ("   1: detected thread1 termination\n");
-
-
-
-
-
-   printf ("--> Test2 %s\n", (rc) ? TEXT("succeeded") : TEXT("FAILED\a\a\a"));
-
-
-   return rc;
-
-
-}
-
-
-
-
-
-
-
-
-/*
-
-
- * Test3 - Makes sure the pthread library recognizes when native threads die
-
-
- *
-
-
- */
-
-
-
-
-
-DWORD WINAPI Test3_Thread1 (LPVOID lp)
-
-
-{
-
-
-   LONG *pdw = (LONG*)lp;
-
-
-
-
-
-   // We're awake. Do something pthready.
-
-
-   //
-
-
-   pthread_t pMe;
-
-
-   if ((pMe = pthread_self()) == NULL)
-
-
-      printf ("   3-1: could not get a pthread_self!\n");
-
-
-   else
-
-
-      printf ("   3-1: ready\n");
-
-
-
-
-
-   InterlockedIncrement (pdw);
-
-
-
-
-
-   // Now wait until we see the signal to die.
-
-
-   //
-
-
-   while (*(volatile LONG*)pdw != 5)
-
-
-      ;
-
-
-
-
-
-   printf ("   3-1: terminating\n");
-
-
-   InterlockedIncrement (pdw);
-
-
-   return 1;
-
-
-}
-
-
-
-
-
-
-
-
-DWORD WINAPI Test3_Thread2 (LPVOID lp)
-
-
-{
-
-
-   LONG *pdw = (LONG*)lp;
-
-
-
-
-
-   // We're awake. Do something pthready.
-
-
-   //
-
-
-   pthread_t pMe;
-
-
-   if ((pMe = pthread_self()) == NULL)
-
-
-      printf ("   3-2: could not get a pthread_self!\n");
-
-
-   else
-
-
-      printf ("   3-2: ready\n");
-
-
-
-
-
-   InterlockedIncrement (pdw);
-
-
-
-
-
-   // Now wait until we see the signal to die.
-
-
-   //
-
-
-   while (*(volatile LONG*)pdw != 7)
-
-
-      ;
-
-
-
-
-
-   printf ("   3-2: terminating\n");
-
-
-   InterlockedIncrement (pdw);
-
-
-   return 1;
-
-
-}
-
-
-
-
-
-
-
-
-extern "C" void *Test3_Thread3 (void *pdwParam)
-
-
-{
-
-
-   LONG *pdw = (LONG*)pdwParam;
-
-
-
-
-
-   // We're awake.
-
-
-   //
-
-
-   printf ("   3-3: ready\n");
-
-
-   InterlockedIncrement (pdw);
-
-
-
-
-
-   // Now wait until we see the signal to die.
-
-
-   //
-
-
-   while (*(volatile LONG*)pdw != 9)
-
-
-      ;
-
-
-
-
-
-   printf ("   3-3: terminating\n");
-
-
-   InterlockedIncrement (pdw);
-
-
-   return (void*)1;
-
-
-}
-
-
-
-
-
-
-
-
-extern "C" void *Test3_Thread4 (void *pdwParam)
-
-
-{
-
-
-   LONG *pdw = (LONG*)pdwParam;
-
-
-
-
-
-   // We're awake.
-
-
-   //
-
-
-   printf ("   3-4: ready\n");
-
-
-   InterlockedIncrement (pdw);
-
-
-
-
-
-   // Now wait until we see the signal to die.
-
-
-   //
-
-
-   while (*(volatile LONG*)pdw != 11)
-
-
-      ;
-
-
-
-
-
-   printf ("   3-4: terminating\n");
-
-
-   InterlockedIncrement (pdw);
-
-
-   return (void*)1;
-
-
-}
-
-
-
-
-
-
-
-
-extern "C" void *Test3_ThreadCount (void *pdwParam)
-
-
-{
-
-
-   volatile LONG *pdw = (LONG*)pdwParam;
-
-
-
-
-
-   pthread_t pMe;
-
-
-   if ((pMe = pthread_self()) == NULL)
-
-
-      return (void*)0;
-
-
-
-
-
-   try {
-
-
-      struct rx_queue *pNow = (rx_queue*)pMe;
-
-
-
-
-
-      for (struct rx_queue *pWalk = pNow->next; pWalk != pNow; pWalk = pWalk->next)
-
-
-         ++(*pdw);
-
-
-
-
-
-    } catch(...) {
-
-
-       *pdw = 0;
-
-
-    }
-
-
-
-
-
-   return (void*)*pdw;
-
-
-}
-
-
-
-
-
-size_t Test3_CountActiveQueue (void)
-
-
-{
-
-
-   DWORD dwArg = 0;
-
-
-   pthread_t pThread;
-
-
-   pthread_create (&pThread, NULL, Test3_ThreadCount, (void *)&dwArg);
-
-
-
-
-
-   DWORD status;
-
-
-   int rc;
-
-
-   if ((rc = pthread_join (pThread, (void**)&status)) != 0)
-
-
-      {
-
-
-      printf ("   3: counter: pthread_join failed; rc=%lu\n", rc);
-
-
-      return 0;
-
-
-      }
-
-
-
-
-
-   return dwArg;
-
-
-}
-
-
-
-
-
-BOOL Test3 (void)
-
-
-{
-
-
-   BOOL rc = TRUE;
-
-
-   printf ("Begin Test3:\n");
-
-
-
-
-
-   // Find the size of the active queue
-
-
-   //
-
-
-   size_t cInitialQueueSize;
-
-
-   if ((cInitialQueueSize = Test3_CountActiveQueue()) == 0)
-
-
-      {
-
-
-      printf ("   3: unable to determine active queue size\n");
-
-
-      rc = FALSE;
-
-
-      }
-
-
-   else
-
-
-      {
-
-
-      // Start two Win32 threads and two pthreads. We'll use a single, common
-
-
-      // parameter for each thread: dwSignal. Each thread will increment the
-
-
-      // signal param when it's ready for us to go; once that's done, a
-
-
-      // thread will kill itself and inc the signal *again* each die we
-
-
-      // increment the signal:
-
-
-      //
-
-
-      //    starts at 0
-
-
-      //    thread 1 wakes up and incs signal to 1
-
-
-      //    thread 2 wakes up and incs signal to 2
-
-
-      //    thread 3 wakes up and incs signal to 3
-
-
-      //    thread 4 wakes up and incs signal to 4
-
-
-      //    we notice signal is 4, and we increment signal to 5
-
-
-      //    thread 1 notices signal is 5, incs to 6 and dies
-
-
-      //    we notice signal is 6, and we increment signal to 7
-
-
-      //    thread 1 notices signal is 7, incs to 8 and dies
-
-
-      //    we notice signal is 8, and we increment signal to 9
-
-
-      //    thread 1 notices signal is 9, incs to 10 and dies
-
-
-      //    we notice signal is 10, and we increment signal to 11
-
-
-      //    thread 1 notices signal is 11, incs to 12 and dies
-
-
-      //    we notice signal is 12 and finish our tests
-
-
-      //
-
-
-      volatile LONG dwSignal = 0;
-
-
-      printf ("   3: creating test threads\n");
-
-
-
-
-
-      DWORD idThread;
-
-
-      CreateThread (0, 0, Test3_Thread1, (LPVOID)&dwSignal, 0, &idThread);
-
-
-      Sleep (500);
-
-
-
-
-
-      CreateThread (0, 0, Test3_Thread2, (LPVOID)&dwSignal, 0, &idThread);
-
-
-      Sleep (500);
-
-
-
-
-
-      pthread_attr_t attr;
-
-
-      attr.is_joinable = PTHREAD_CREATE_DETACHED;
-
-
-
-
-
-      pthread_t hThread;
-
-
-      pthread_create (&hThread, &attr, Test3_Thread3, (void *)&dwSignal);
-
-
-      Sleep (500);
-
-
-
-
-
-      pthread_create (&hThread, &attr, Test3_Thread4, (void *)&dwSignal);
-
-
-      Sleep (500);
-
-
-
-
-
-      // Count the active queue again as soon as we're sure all the threads
-
-
-      // are ready for us to do so.
-
-
-      //
-
-
-      while (dwSignal != 4)
-
-
-         ;
-
-
-
-
-
-      size_t cQueueSize;
-
-
-      if ((cQueueSize = Test3_CountActiveQueue()) == 0)
-
-
-         {
-
-
-         printf ("   3: unable to determine active queue size\n");
-
-
-         rc = FALSE;
-
-
-         }
-
-
-      else if (cQueueSize != cInitialQueueSize+4)
-
-
-         {
-
-
-         printf ("   3: error: active queue wasn't increased by 4\n");
-
-
-         rc = FALSE;
-
-
-         }
-
-
-      else while (rc && (dwSignal < 12))
-
-
-         {
-
-
-         LONG dwTarget = dwSignal +2;
-
-
-         InterlockedIncrement ((LONG*)&dwSignal);
-
-
-
-
-
-         // wait for a thread to notice the change and kill itself
-
-
-         while (dwSignal != dwTarget)
-
-
-            ;
-
-
-         Sleep (500); // give a little time for cleanup after thread incremented
-
-
-
-
-
-         if ((cQueueSize = Test3_CountActiveQueue()) == 0)
-
-
-            {
-
-
-            printf ("   3: unable to determine active queue size (dwSignal=%ld)\n", dwSignal);
-
-
-            rc = FALSE;
-
-
-            }
-
-
-         else if (cQueueSize != (cInitialQueueSize + 4 - ((dwTarget -4) /2)))
-
-
-            {
-
-
-            printf ("   3: active queue size did not diminish (dwSignal=%ld)\n", dwSignal);
-
-
-            rc = FALSE;
-
-
-            }
-
-
-         }
-
-
-      }
-
-
-
-
-
-   printf ("--> Test3 %s\n", (rc) ? TEXT("succeeded") : TEXT("FAILED\a\a\a"));
-
-
-   return rc;
-
-
-}
-
-
-
-
-
-
-
-
-/*
-
-
- * main - Runs all tests (unless the command-line says otherwise)
-
-
- *
-
-
- */
-
-
-int main(int argc, char **argv)
-
-
-{
-
-
-   DWORD iRunTest[nPASSES_MAX];
-
-
-   for (size_t ii = 0; ii < nPASSES_MAX; ++ii)
-
-
-      iRunTest[ii] = (ii < nTESTS) ? (ii+1) : 0;
-
-
-
-
-
-   ii = 0;
-
-
-   for (--argc,++argv; argc; --argc,++argv)
-
-
-      {
-
-
-      DWORD iTest;
-
-
-      if ( ((iTest = (size_t)atol (*argv)) > 0) && (iTest <= nTESTS) )
-
-
-         {
-
-
-         if (ii == 0)
-
-
-            memset (iRunTest, 0x00, sizeof(iRunTest));
-
-
-         if (ii < nPASSES_MAX)
-
-
-            iRunTest[ ii++ ] = iTest;
-
-
-         }
-
-
-      }
-
-
-
-
-
-   BOOL rc = TRUE;
-
-
-
-
-
-   for (ii = 0; ii < nPASSES_MAX; ++ii)
-
-
-      {
-
-
-      if (iRunTest[ ii ] == 0)
-
-
-         break;
-
-
-      else switch (iRunTest[ ii ])
-
-
-         {
-
-
-         case 1: if (!Test1()) rc = FALSE;  break;
-
-
-         case 2: if (!Test2()) rc = FALSE;  break;
-
-
-         case 3: if (!Test3()) rc = FALSE;  break;
-
-
-         }
-
-
-      }
-
-
-
-
-
-   return rc;
-
-
-}
-
-
-
-
-
+/*\r\r\r
+ * Copyright 2000, International Business Machines Corporation and others.\r\r\r
+ * All Rights Reserved.\r\r\r
+ * \r\r\r
+ * This software has been released under the terms of the IBM Public\r\r\r
+ * License.  For details, see the LICENSE file in the top-level source\r\r\r
+ * directory or online at http://www.openafs.org/dl/license10.html\r\r\r
+ */\r\r\r
+\r\r\r
+/*\r\r\r
+ * Test pthread interaction with native Win32 threads\r\r\r
+ *\r\r\r
+ */\r\r\r
+\r\r\r
+\r\r\r
+#include <afs/param.h>\r\r\r
+#include <afs/stds.h>\r\r\r
+\r\r\r
+#include <windows.h>\r\r\r
+#include <stdio.h>\r\r\r
+#include <stdlib.h>\r\r\r
+\r\r\r
+extern "C" {\r\r\r
+#include <pthread.h>\r\r\r
+#include <assert.h>\r\r\r
+#include <rx/rx_queue.h>\r\r\r
+}\r\r\r
+\r\r\r
+\r\r\r
+#define nTESTS         3\r\r\r
+#define nPASSES_MAX  256\r\r\r
+\r\r\r
+\r\r\r
+/*\r\r\r
+ * Test1 - Tests the main thread calling pthread_self()\r\r\r
+ *\r\r\r
+ */\r\r\r
+\r\r\r
+BOOL Test1 (void)\r\r\r
+{\r\r\r
+   BOOL rc = TRUE;\r\r\r
+   printf ("Begin Test1:\n");\r\r\r
+\r\r\r
+   PVOID hSelf;\r\r\r
+   if ((hSelf = pthread_self()) == NULL)\r\r\r
+      rc = FALSE;\r\r\r
+\r\r\r
+   printf ("   1: pthread_self() on main thread returned 0x%08lX\n", hSelf);\r\r\r
+\r\r\r
+   printf ("--> Test1 %s\n", (rc) ? TEXT("succeeded") : TEXT("FAILED\a\a\a"));\r\r\r
+   return rc;\r\r\r
+}\r\r\r
+\r\r\r
+\r\r\r
+/*\r\r\r
+ * Test2 - Tests a Win32 thread's ability to join onto a pthread\r\r\r
+ *\r\r\r
+ */\r\r\r
+#define TEST2_RETURNVALUE 'Test'\r\r\r
+\r\r\r
+DWORD WINAPI Test2_Thread1 (LPVOID lp)\r\r\r
+{\r\r\r
+   printf ("   1-1: waiting for thread 2 to begin\n");\r\r\r
+\r\r\r
+   while (!*(volatile DWORD*)lp)\r\r\r
+      ;\r\r\r
+\r\r\r
+   printf ("   1-1: calling pthread_join (0x%08lX)\n", *(DWORD*)lp);\r\r\r
+\r\r\r
+   DWORD status;\r\r\r
+   int rc;\r\r\r
+   if ((rc = pthread_join ((pthread_t)(*(DWORD*)lp), (void**)&status)) != 0)\r\r\r
+      {\r\r\r
+      printf ("   1-1: pthread_join failed; rc=%lu\n", rc);\r\r\r
+      return 0;\r\r\r
+      }\r\r\r
+\r\r\r
+   if (status != TEST2_RETURNVALUE)\r\r\r
+      {\r\r\r
+      printf ("   1-1: pthread_join succeeded with wrong status (rc=%lu)\n", status);\r\r\r
+      return 0;\r\r\r
+      }\r\r\r
+\r\r\r
+   printf ("   1-1: pthread_join succeeded; terminating\n");\r\r\r
+   return 1;\r\r\r
+}\r\r\r
+\r\r\r
+extern "C" void *Test2_Thread2 (void *pdwCommonParam)\r\r\r
+{\r\r\r
+   printf ("   1-2: signalling that thread 2 began\n");\r\r\r
+   *(volatile DWORD*)pdwCommonParam = (DWORD)pthread_self();\r\r\r
+   Sleep (1500);\r\r\r
+\r\r\r
+   printf ("   1-2: terminating\n");\r\r\r
+   return (void*)TEST2_RETURNVALUE;\r\r\r
+}\r\r\r
+\r\r\r
+BOOL Test2 (void)\r\r\r
+{\r\r\r
+   BOOL rc = TRUE;\r\r\r
+   printf ("Begin Test2:\n");\r\r\r
+\r\r\r
+   DWORD dwCommonParam = 0;\r\r\r
+   DWORD idThread;\r\r\r
+\r\r\r
+   printf ("   1: creating win32 thread\n");\r\r\r
+   HANDLE hThread1 = CreateThread (0, 0, Test2_Thread1, (LPVOID)&dwCommonParam, 0, &idThread);\r\r\r
+   Sleep(500);\r\r\r
+\r\r\r
+   printf ("   1: creating pthread thread\n");\r\r\r
+   pthread_t hThread2;\r\r\r
+   pthread_create (&hThread2, NULL, Test2_Thread2, (void *)&dwCommonParam);\r\r\r
+   Sleep(500);\r\r\r
+\r\r\r
+   printf ("   1: blocking until win32 thread (thread1) terminates...\n");\r\r\r
+\r\r\r
+   WaitForSingleObject (hThread1, INFINITE);\r\r\r
+   GetExitCodeThread (hThread1, (ULONG*)&rc);\r\r\r
+\r\r\r
+   printf ("   1: detected thread1 termination\n");\r\r\r
+\r\r\r
+   printf ("--> Test2 %s\n", (rc) ? TEXT("succeeded") : TEXT("FAILED\a\a\a"));\r\r\r
+   return rc;\r\r\r
+}\r\r\r
+\r\r\r
+\r\r\r
+/*\r\r\r
+ * Test3 - Makes sure the pthread library recognizes when native threads die\r\r\r
+ *\r\r\r
+ */\r\r\r
+\r\r\r
+DWORD WINAPI Test3_Thread1 (LPVOID lp)\r\r\r
+{\r\r\r
+   LONG *pdw = (LONG*)lp;\r\r\r
+\r\r\r
+   // We're awake. Do something pthready.\r\r\r
+   //\r\r\r
+   pthread_t pMe;\r\r\r
+   if ((pMe = pthread_self()) == NULL)\r\r\r
+      printf ("   3-1: could not get a pthread_self!\n");\r\r\r
+   else\r\r\r
+      printf ("   3-1: ready\n");\r\r\r
+\r\r\r
+   InterlockedIncrement (pdw);\r\r\r
+\r\r\r
+   // Now wait until we see the signal to die.\r\r\r
+   //\r\r\r
+   while (*(volatile LONG*)pdw != 5)\r\r\r
+      ;\r\r\r
+\r\r\r
+   printf ("   3-1: terminating\n");\r\r\r
+   InterlockedIncrement (pdw);\r\r\r
+   return 1;\r\r\r
+}\r\r\r
+\r\r\r
+\r\r\r
+DWORD WINAPI Test3_Thread2 (LPVOID lp)\r\r\r
+{\r\r\r
+   LONG *pdw = (LONG*)lp;\r\r\r
+\r\r\r
+   // We're awake. Do something pthready.\r\r\r
+   //\r\r\r
+   pthread_t pMe;\r\r\r
+   if ((pMe = pthread_self()) == NULL)\r\r\r
+      printf ("   3-2: could not get a pthread_self!\n");\r\r\r
+   else\r\r\r
+      printf ("   3-2: ready\n");\r\r\r
+\r\r\r
+   InterlockedIncrement (pdw);\r\r\r
+\r\r\r
+   // Now wait until we see the signal to die.\r\r\r
+   //\r\r\r
+   while (*(volatile LONG*)pdw != 7)\r\r\r
+      ;\r\r\r
+\r\r\r
+   printf ("   3-2: terminating\n");\r\r\r
+   InterlockedIncrement (pdw);\r\r\r
+   return 1;\r\r\r
+}\r\r\r
+\r\r\r
+\r\r\r
+extern "C" void *Test3_Thread3 (void *pdwParam)\r\r\r
+{\r\r\r
+   LONG *pdw = (LONG*)pdwParam;\r\r\r
+\r\r\r
+   // We're awake.\r\r\r
+   //\r\r\r
+   printf ("   3-3: ready\n");\r\r\r
+   InterlockedIncrement (pdw);\r\r\r
+\r\r\r
+   // Now wait until we see the signal to die.\r\r\r
+   //\r\r\r
+   while (*(volatile LONG*)pdw != 9)\r\r\r
+      ;\r\r\r
+\r\r\r
+   printf ("   3-3: terminating\n");\r\r\r
+   InterlockedIncrement (pdw);\r\r\r
+   return (void*)1;\r\r\r
+}\r\r\r
+\r\r\r
+\r\r\r
+extern "C" void *Test3_Thread4 (void *pdwParam)\r\r\r
+{\r\r\r
+   LONG *pdw = (LONG*)pdwParam;\r\r\r
+\r\r\r
+   // We're awake.\r\r\r
+   //\r\r\r
+   printf ("   3-4: ready\n");\r\r\r
+   InterlockedIncrement (pdw);\r\r\r
+\r\r\r
+   // Now wait until we see the signal to die.\r\r\r
+   //\r\r\r
+   while (*(volatile LONG*)pdw != 11)\r\r\r
+      ;\r\r\r
+\r\r\r
+   printf ("   3-4: terminating\n");\r\r\r
+   InterlockedIncrement (pdw);\r\r\r
+   return (void*)1;\r\r\r
+}\r\r\r
+\r\r\r
+\r\r\r
+extern "C" void *Test3_ThreadCount (void *pdwParam)\r\r\r
+{\r\r\r
+   volatile LONG *pdw = (LONG*)pdwParam;\r\r\r
+\r\r\r
+   pthread_t pMe;\r\r\r
+   if ((pMe = pthread_self()) == NULL)\r\r\r
+      return (void*)0;\r\r\r
+\r\r\r
+   try {\r\r\r
+      struct rx_queue *pNow = (rx_queue*)pMe;\r\r\r
+\r\r\r
+      for (struct rx_queue *pWalk = pNow->next; pWalk != pNow; pWalk = pWalk->next)\r\r\r
+         ++(*pdw);\r\r\r
+\r\r\r
+    } catch(...) {\r\r\r
+       *pdw = 0;\r\r\r
+    }\r\r\r
+\r\r\r
+   return (void*)*pdw;\r\r\r
+}\r\r\r
+\r\r\r
+size_t Test3_CountActiveQueue (void)\r\r\r
+{\r\r\r
+   DWORD dwArg = 0;\r\r\r
+   pthread_t pThread;\r\r\r
+   pthread_create (&pThread, NULL, Test3_ThreadCount, (void *)&dwArg);\r\r\r
+\r\r\r
+   DWORD status;\r\r\r
+   int rc;\r\r\r
+   if ((rc = pthread_join (pThread, (void**)&status)) != 0)\r\r\r
+      {\r\r\r
+      printf ("   3: counter: pthread_join failed; rc=%lu\n", rc);\r\r\r
+      return 0;\r\r\r
+      }\r\r\r
+\r\r\r
+   return dwArg;\r\r\r
+}\r\r\r
+\r\r\r
+BOOL Test3 (void)\r\r\r
+{\r\r\r
+   BOOL rc = TRUE;\r\r\r
+   printf ("Begin Test3:\n");\r\r\r
+\r\r\r
+   // Find the size of the active queue\r\r\r
+   //\r\r\r
+   size_t cInitialQueueSize;\r\r\r
+   if ((cInitialQueueSize = Test3_CountActiveQueue()) == 0)\r\r\r
+      {\r\r\r
+      printf ("   3: unable to determine active queue size\n");\r\r\r
+      rc = FALSE;\r\r\r
+      }\r\r\r
+   else\r\r\r
+      {\r\r\r
+      // Start two Win32 threads and two pthreads. We'll use a single, common\r\r\r
+      // parameter for each thread: dwSignal. Each thread will increment the\r\r\r
+      // signal param when it's ready for us to go; once that's done, a\r\r\r
+      // thread will kill itself and inc the signal *again* each die we\r\r\r
+      // increment the signal:\r\r\r
+      //\r\r\r
+      //    starts at 0\r\r\r
+      //    thread 1 wakes up and incs signal to 1\r\r\r
+      //    thread 2 wakes up and incs signal to 2\r\r\r
+      //    thread 3 wakes up and incs signal to 3\r\r\r
+      //    thread 4 wakes up and incs signal to 4\r\r\r
+      //    we notice signal is 4, and we increment signal to 5\r\r\r
+      //    thread 1 notices signal is 5, incs to 6 and dies\r\r\r
+      //    we notice signal is 6, and we increment signal to 7\r\r\r
+      //    thread 1 notices signal is 7, incs to 8 and dies\r\r\r
+      //    we notice signal is 8, and we increment signal to 9\r\r\r
+      //    thread 1 notices signal is 9, incs to 10 and dies\r\r\r
+      //    we notice signal is 10, and we increment signal to 11\r\r\r
+      //    thread 1 notices signal is 11, incs to 12 and dies\r\r\r
+      //    we notice signal is 12 and finish our tests\r\r\r
+      //\r\r\r
+      volatile LONG dwSignal = 0;\r\r\r
+      printf ("   3: creating test threads\n");\r\r\r
+\r\r\r
+      DWORD idThread;\r\r\r
+      CreateThread (0, 0, Test3_Thread1, (LPVOID)&dwSignal, 0, &idThread);\r\r\r
+      Sleep (500);\r\r\r
+\r\r\r
+      CreateThread (0, 0, Test3_Thread2, (LPVOID)&dwSignal, 0, &idThread);\r\r\r
+      Sleep (500);\r\r\r
+\r\r\r
+      pthread_attr_t attr;\r\r\r
+      attr.is_joinable = PTHREAD_CREATE_DETACHED;\r\r\r
+\r\r\r
+      pthread_t hThread;\r\r\r
+      pthread_create (&hThread, &attr, Test3_Thread3, (void *)&dwSignal);\r\r\r
+      Sleep (500);\r\r\r
+\r\r\r
+      pthread_create (&hThread, &attr, Test3_Thread4, (void *)&dwSignal);\r\r\r
+      Sleep (500);\r\r\r
+\r\r\r
+      // Count the active queue again as soon as we're sure all the threads\r\r\r
+      // are ready for us to do so.\r\r\r
+      //\r\r\r
+      while (dwSignal != 4)\r\r\r
+         ;\r\r\r
+\r\r\r
+      size_t cQueueSize;\r\r\r
+      if ((cQueueSize = Test3_CountActiveQueue()) == 0)\r\r\r
+         {\r\r\r
+         printf ("   3: unable to determine active queue size\n");\r\r\r
+         rc = FALSE;\r\r\r
+         }\r\r\r
+      else if (cQueueSize != cInitialQueueSize+4)\r\r\r
+         {\r\r\r
+         printf ("   3: error: active queue wasn't increased by 4\n");\r\r\r
+         rc = FALSE;\r\r\r
+         }\r\r\r
+      else while (rc && (dwSignal < 12))\r\r\r
+         {\r\r\r
+         LONG dwTarget = dwSignal +2;\r\r\r
+         InterlockedIncrement ((LONG*)&dwSignal);\r\r\r
+\r\r\r
+         // wait for a thread to notice the change and kill itself\r\r\r
+         while (dwSignal != dwTarget)\r\r\r
+            ;\r\r\r
+         Sleep (500); // give a little time for cleanup after thread incremented\r\r\r
+\r\r\r
+         if ((cQueueSize = Test3_CountActiveQueue()) == 0)\r\r\r
+            {\r\r\r
+            printf ("   3: unable to determine active queue size (dwSignal=%ld)\n", dwSignal);\r\r\r
+            rc = FALSE;\r\r\r
+            }\r\r\r
+         else if (cQueueSize != (cInitialQueueSize + 4 - ((dwTarget -4) /2)))\r\r\r
+            {\r\r\r
+            printf ("   3: active queue size did not diminish (dwSignal=%ld)\n", dwSignal);\r\r\r
+            rc = FALSE;\r\r\r
+            }\r\r\r
+         }\r\r\r
+      }\r\r\r
+\r\r\r
+   printf ("--> Test3 %s\n", (rc) ? TEXT("succeeded") : TEXT("FAILED\a\a\a"));\r\r\r
+   return rc;\r\r\r
+}\r\r\r
+\r\r\r
+\r\r\r
+/*\r\r\r
+ * main - Runs all tests (unless the command-line says otherwise)\r\r\r
+ *\r\r\r
+ */\r\r\r
+int main(int argc, char **argv)\r\r\r
+{\r\r\r
+   DWORD iRunTest[nPASSES_MAX];\r\r\r
+   for (size_t ii = 0; ii < nPASSES_MAX; ++ii)\r\r\r
+      iRunTest[ii] = (ii < nTESTS) ? (ii+1) : 0;\r\r\r
+\r\r\r
+   ii = 0;\r\r\r
+   for (--argc,++argv; argc; --argc,++argv)\r\r\r
+      {\r\r\r
+      DWORD iTest;\r\r\r
+      if ( ((iTest = (size_t)atol (*argv)) > 0) && (iTest <= nTESTS) )\r\r\r
+         {\r\r\r
+         if (ii == 0)\r\r\r
+            memset (iRunTest, 0x00, sizeof(iRunTest));\r\r\r
+         if (ii < nPASSES_MAX)\r\r\r
+            iRunTest[ ii++ ] = iTest;\r\r\r
+         }\r\r\r
+      }\r\r\r
+\r\r\r
+   BOOL rc = TRUE;\r\r\r
+\r\r\r
+   for (ii = 0; ii < nPASSES_MAX; ++ii)\r\r\r
+      {\r\r\r
+      if (iRunTest[ ii ] == 0)\r\r\r
+         break;\r\r\r
+      else switch (iRunTest[ ii ])\r\r\r
+         {\r\r\r
+         case 1: if (!Test1()) rc = FALSE;  break;\r\r\r
+         case 2: if (!Test2()) rc = FALSE;  break;\r\r\r
+         case 3: if (!Test3()) rc = FALSE;  break;\r\r\r
+         }\r\r\r
+      }\r\r\r
+\r\r\r
+   return rc;\r\r\r
+}\r\r\r
+\r\r\r
index a55f44dba50ff0c615536e9be126041b309c6ba3..89b35272a6cde927d68d3020f71999fab01d2dc9 100644 (file)
@@ -1 +1 @@
-#error kernel code not supported on SunOS 4 
+#error kernel code not supported on SunOS 4
index 4855613dfa27bc6d19355d1537f3c4ef8e4bb26d..0d60b4aadaf2b2d5dd1e83211ddf1f005f84f7d5 100644 (file)
@@ -26,10 +26,12 @@ PICTARGET =../pic/auth
 PICOBJS = $(patsubst %.o,$(PICTARGET)/%.o,$(OBJS))
 $(PICTARGET)/%.o: %.c $(PICTARGET)
        $(CC) -c $(PAM_CFLAGS) $(CFLAGS) $< -o $@
-all: ${TOP_LIBDIR}/libauth.a ${TOP_LIBDIR}/libauth.krb.a depinstall copyauth setkey  $(PICOBJS)
+
+all: ${TOP_LIBDIR}/libauth.a ${TOP_LIBDIR}/libauth.krb.a depinstall copyauth setkey $(PICOBJS)
 
 $(PICTARGET):
        mkdir -p $(PICTARGET)
+
 depinstall: ${TOP_INCDIR}/afs/keys.h ${TOP_INCDIR}/afs/cellconfig.h ${TOP_INCDIR}/afs/auth.h
 
 cellconfig.o: cellconfig.c ${INCLS}
index 208e97792bfe642eac6d72e7dcdd611dc682af47..6336b73e762721510991657ccc0f5676b7021160 100644 (file)
@@ -31,7 +31,6 @@ $(PICTARGET)/%.o: %.c $(PICTARGET)
 $(PICTARGET):
        mkdir -p $(PICTARGET)
 
-
 libcom_err.a: error_msg.o et_name.o com_err.o AFS_component_version_number.o $(PICOBJS)
        $(RM) -f $@
        $(AR) crv $@ error_msg.o et_name.o com_err.o AFS_component_version_number.o
index e2f3b23d5c389b2e53d5562a29f97c0fa18869ea..3d29372929ec2c103b7fd97938e8f597bb6d4b00 100644 (file)
@@ -1,15 +1,4 @@
-/*
- * Copyright 1988 by the Massachusetts Institute of Technology.
- *
- * For copying and distribution information, please see the file
- * <mit-copyright.h>.
- *
- * Machine-type definitions: Linux on PPC
- */
-
-#include <mit-cpyright.h>
-
 #define BITS32
 #define BIG
 #define MSBFIRST
-#define MUSTALLIGN
+#define MUSTALIGN
index 9fe6317454387e289f68e17134cd1833862993b7..d9f5fe6d2e809bce2d2235a9987c1922a0f6c869 100644 (file)
@@ -71,8 +71,6 @@ $(PICTARGET)/%.o: %.c $(PICTARGET)
 $(PICTARGET):
        mkdir -p $(PICTARGET)
 
-
-
 test tests: all
        cd test; $(MAKE)
 
index 131a06d698938445823b069daaca57a97175fe7b..e5f0b8cdda2a4e209d5f067470176bb6b50a4849 100644 (file)
@@ -252,7 +252,6 @@ openafs.ko: .FORCE
        env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_PATH} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules
         
 <all -linux26 -linux_26 -umlinux26>
-
 ${LIBAFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
        $(RM) -f $@
        $(LD) -r -o $@ $(AFSAOBJS) $(AFSNONFSOBJS)
index eeb782b56aac6a1f9adb4ee195eb3420428e052e..ce046e17234b008f9935e05750c362f31fe031b0 100755 (executable)
 # Appropriate source files for each object will be symlinked into ${KDIR}
 # EXTRA_CFLAGS will be set to ${CFLAGS} ${COMMON_INCLUDE}
 
-#!/usr/bin/perl
-# make_kbuild_makefile.pl
-# Generate a Makefile for use with the Linux 2.6+ kernel build system
-#
-# Usage: make_kbuild_makefile.pl ${KDIR} ${TARG} Makefiles...
-#
-# The specified makefiles will be scanned for variable values
-# The module ${TARG} will be built in ${TOP_SRCDIR}/src/libafs/${KDIR}.
-# It will include objects listed in ${AFSAOBJS} and ${AFSNONFSOBJS}
-# Appropriate source files for each object will be symlinked into ${KDIR}
-# EXTRA_CFLAGS will be set to ${CFLAGS} ${COMMON_INCLUDE}
-
 # Produces ${KDIR}/Makefile, suitable for use with kbuild
 
 use IO::File;
index e0e8841d9b03325452c0682aa3eaa9114c3133bd..ebbb8fc05d6c88b4b81cc4c4fb272c9935ecdc59 100644 (file)
@@ -20,16 +20,13 @@ PICOBJS = $(patsubst %.o,$(PICTARGET)/%.o,$(LIBOBJS))
 $(PICTARGET)/%.o: %.c $(PICTARGET)
        $(CC) -c $(PAM_CFLAGS) $(CFLAGS) $< -o $@
 
-
 all: ${TOP_LIBDIR}/liblwp.a ${TOP_INCDIR}/lock.h ${TOP_INCDIR}/lwp.h ${TOP_INCDIR}/preempt.h ${TOP_INCDIR}/timer.h $(PICOBJS)
 
-
 $(PICTARGET):
        mkdir -p $(PICTARGET)
 
 depinstall: ${TOP_INCDIR}/lock.h ${TOP_INCDIR}/lwp.h ${TOP_INCDIR}/preempt.h ${TOP_INCDIR}/timer.h
 
-
 #
 # Build rules
 #
index 4e38e987d96bd6dff329f9872146f6133c9253e9..cdaee203e94ffa8c4988bc8c6a3b52326fb79154 100644 (file)
@@ -48,11 +48,9 @@ $(PICTARGET)/%.o: %.c $(PICTARGET)
 all: ptserver pts pt_util db_verify ${TOP_LIBDIR}/libprot.a \
        depinstall readgroup readpwd testpt $(PICOBJS)
 
-
 $(PICTARGET):
        mkdir -p $(PICTARGET)
 
-
 depinstall: \
        ptint.cs.c ptint.xdr.c \
        ${TOP_INCDIR}/afs/prclient.h \
@@ -65,7 +63,6 @@ depinstall: \
        ${TOP_INCDIR}/afs/ptint.h \
        ${TOP_INCDIR}/afs/ptserver.h
 
-
 #
 # Build targets
 #
@@ -129,7 +126,7 @@ pterror.h pterror.c: pterror.et
        $(RM) -f pterror.h pterror.c
        ${COMPILE_ET} -p ${srcdir} pterror
 
-libprot.a: ptuser.o pterror.o ptint.cs.o ptint.xdr.o AFS_component_version_number.o 
+libprot.a: ptuser.o pterror.o ptint.cs.o ptint.xdr.o AFS_component_version_number.o
        $(RM) -f $@
        $(AR) crv $@ ptuser.o pterror.o ptint.cs.o ptint.xdr.o AFS_component_version_number.o
        $(RANLIB) $@
index e7b0668cfafab927d9b485608161646688fd405a..3b6620f7a257723c4663691a9650b9538dd162ad 100644 (file)
@@ -96,7 +96,7 @@ xdr_refernce.o: xdr_refernce.c xdr.h xdr_prototypes.h
 rxperf: rxperf.o librx.a
        ${CC} -o $@ rxperf.o ${LIBS}
 
-librx.a: ${LIBOBJS} RX_component_version_number.o 
+librx.a: ${LIBOBJS} RX_component_version_number.o
        -$(RM) -f $@
        $(AR) crv $@ ${LIBOBJS} RX_component_version_number.o
        $(RANLIB) $@
@@ -200,7 +200,6 @@ install: \
        ${DESTDIR}${includedir}/rx/xdr.h \
        ${DESTDIR}${includedir}/rx/xdr_prototypes.h
 
-
 ${DESTDIR}${libdir}/librx.a: librx.a
        ${INSTALL} $? $@
 
index a55f44dba50ff0c615536e9be126041b309c6ba3..89b35272a6cde927d68d3020f71999fab01d2dc9 100644 (file)
@@ -1 +1 @@
-#error kernel code not supported on SunOS 4 
+#error kernel code not supported on SunOS 4
index c082725f63bda00d6fd249af97d4d094d10cdf2a..dbe3912545d8828c698c58d1020cd54fe9f00d53 100644 (file)
@@ -19,7 +19,6 @@ OBJS=rxkad_client.o rxkad_server.o rxkad_common.o rxkad_errs.o \
        fcrypt.o crypt_conn.o ticket.o ticket5.o crc.o \
        md4.o md5.o
 
-
 PICTARGET =../pic/rxkad
 PICOBJS = $(patsubst %.o,$(PICTARGET)/%.o,$(OBJS))
 $(PICTARGET)/%.o: %.c $(PICTARGET)
@@ -28,7 +27,6 @@ $(PICTARGET)/%.o: %.c $(PICTARGET)
 $(PICTARGET)/%.o: domestic/%.c $(PICTARGET)
        $(CC) -c $(PAM_CFLAGS) $(CFLAGS) $< -o $@
 
-
 $(PICTARGET):
        mkdir -p $(PICTARGET)
 
index d22b1fef143c9c4fad409716a94a44e3528a7ae7..83a5a678f7d07eb7853196d029ad9ed280b68942 100644 (file)
@@ -80,7 +80,6 @@ afssyscalls.o: afssyscalls.c afssyscalls.h
 
 rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
 $(PICTARGET)/rmtsysnet.o $(PICTARGET)/rmtsysc.o: rmtsys.h
-
 rmtsysd: AFS_component_version_number.o afs.exp afsl.exp
 
 rmtsys.cs.c: rmtsys.xg
index 84918bd3353ba530be1f44433208028d81944cff..bc056d4d05ff544c440761ad4b2ff08ec5594f57 100644 (file)
@@ -34,8 +34,6 @@ depinstall: \
 $(PICTARGET):
        mkdir -p $(PICTARGET)
 
-
-
 utst_server: utst_server.o utst_int.ss.o utst_int.xdr.o libubik.a 
        ${CC} ${CFLAGS} -o utst_server utst_server.o utst_int.ss.o utst_int.xdr.o libubik.a $(LIBS)
 
@@ -102,7 +100,7 @@ uerrors.c ubik.h: uerrors.et ubik.p.h
        $(RM) -f ubik.h uerrors.c
        ${COMPILE_ET} -p ${srcdir} uerrors -h ubik
 
-libubik.a: ${LIBOBJS} AFS_component_version_number.o 
+libubik.a: ${LIBOBJS} AFS_component_version_number.o
        -$(RM) -f $@
        $(AR) crc $@ ${LIBOBJS} AFS_component_version_number.o
        $(RANLIB) $@
@@ -176,6 +174,10 @@ ${DESTDIR}${includedir}/ubik_int.h: ubik_int.h
 
 ${TOP_INCDIR}/ubik_int.h: ubik_int.h
        ${INSTALL} $? $@
+
+${DESTDIR}${bindir}/udebug: udebug
+       ${INSTALL} $? $@
+
 ${DESTDIR}${afssrvbindir}/udebug: udebug
        ${INSTALL} $? $@
 
index 1c3bef1080426a23ae0790584bf7804ac57d639a..e4db86a516e80fd0edf17da837b700480d4e2c0f 100644 (file)
@@ -65,7 +65,7 @@ dirpath.h: ${srcdir}/dirpath.hin Makefile
                ${srcdir}/dirpath.hin >dirpath.h.tmp && \
                mv dirpath.h.tmp dirpath.h )
 
-util.a: ${objects} AFS_component_version_number.o 
+util.a: ${objects} AFS_component_version_number.o
        $(RM) -f util.a
        $(AR) crv util.a ${objects} AFS_component_version_number.o
        $(RANLIB) util.a