Add in the code required to auto-detect the OS and to set PORTNAME...
authorMarc G. Fournier
Fri, 24 Jan 1997 03:19:48 +0000 (03:19 +0000)
committerMarc G. Fournier
Fri, 24 Jan 1997 03:19:48 +0000 (03:19 +0000)
Right now, it only auto-detects FreeBSD, and the rest still get set
to UNDEFINED, but its a step in the right direction, no?

src/Makefile.global.in
src/config.guess [new file with mode: 0755]
src/config.sub [new file with mode: 0755]
src/configure.in
src/install-sh [new file with mode: 0755]

index 754c72a98fd97987b6f58e00809eb69e11169ce8..3f2784cd74be4ab43f61df615aaf3b95ff0851a9 100644 (file)
@@ -7,7 +7,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.3 1997/01/24 02:35:31 scrappy Exp $
+#    $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.4 1997/01/24 03:19:48 scrappy Exp $
 #
 # NOTES
 #    Essentially all Postgres make files include this file and use the 
@@ -66,7 +66,7 @@
 #
 #  make sure that you have no whitespaces after the PORTNAME setting
 #  or the makefiles can get confused
-PORTNAME= UNDEFINED
+PORTNAME= @PORTNAME@
 
 # Ignore LINUX_ELF if you're not using Linux.  But if you are, and you're
 # compiling to a.out (which means you're using the dld dynamic loading 
diff --git a/src/config.guess b/src/config.guess
new file mode 100755 (executable)
index 0000000..e9e4455
--- /dev/null
@@ -0,0 +1,693 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
+#
+# 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
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Written by Per Bothner .
+# The master version of this file is at the FSF in /home/gd/gnu/lib.
+#
+# 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 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).
+#
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# ([email protected] 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_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+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
+    alpha:OSF1:*:*)
+   # 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 alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'`
+   exit 0 ;;
+    21064:Windows_NT:50:3)
+   echo alpha-dec-winnt3.5
+   exit 0 ;;
+    Amiga*:UNIX_System_V:4.0:*)
+   echo m68k-cbm-sysv4
+   exit 0;;
+    amiga:NetBSD:*:*)
+      echo m68k-cbm-netbsd${UNAME_RELEASE}
+      exit 0 ;;
+    amiga:OpenBSD:*:*)
+      echo m68k-cbm-openbsd${UNAME_RELEASE}
+      exit 0 ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+   echo arm-acorn-riscix${UNAME_RELEASE}
+   exit 0;;
+    Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
+   # [email protected] (Earle F. Ake) contributed MIS and NILE.
+   if test "`(/bin/universe) 2>/dev/null`" = att ; then
+       echo pyramid-pyramid-sysv3
+   else
+       echo pyramid-pyramid-bsd
+   fi
+   exit 0 ;;
+    NILE:*:*:dcosx)
+   echo pyramid-pyramid-svr4
+   exit 0 ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+   echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   exit 0 ;;
+    i86pc:SunOS:5.*:*)
+   echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   exit 0 ;;
+    sun4*:SunOS:6*:*)
+   # According to config.sub, this is the proper way to canonicalize
+   # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+   # it's likely to be more like Solaris than SunOS4.
+   echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   exit 0 ;;
+    sun4*:SunOS:*:*)
+   case "`/usr/bin/arch -k`" in
+       Series*|S4*)
+       UNAME_RELEASE=`uname -v`
+       ;;
+   esac
+   # Japanese Language versions have a version number like `4.1.3-JL'.
+   echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+   exit 0 ;;
+    sun3*:SunOS:*:*)
+   echo m68k-sun-sunos${UNAME_RELEASE}
+   exit 0 ;;
+    aushp:SunOS:*:*)
+   echo sparc-auspex-sunos${UNAME_RELEASE}
+   exit 0 ;;
+    atari*:NetBSD:*:*)
+   echo m68k-atari-netbsd${UNAME_RELEASE}
+   exit 0 ;;
+    atari*:OpenBSD:*:*)
+   echo m68k-atari-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    sun3*:NetBSD:*:*)
+   echo m68k-sun-netbsd${UNAME_RELEASE}
+   exit 0 ;;
+    sun3*:OpenBSD:*:*)
+   echo m68k-sun-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    mac68k:NetBSD:*:*)
+   echo m68k-apple-netbsd${UNAME_RELEASE}
+   exit 0 ;;
+    mac68k:OpenBSD:*:*)
+   echo m68k-apple-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    powerpc:machten:*:*)
+   echo powerpc-apple-machten${UNAME_RELEASE}
+   exit 0 ;;
+    RISC*:Mach:*:*)
+   echo mips-dec-mach_bsd4.3
+   exit 0 ;;
+    RISC*:ULTRIX:*:*)
+   echo mips-dec-ultrix${UNAME_RELEASE}
+   exit 0 ;;
+    VAX*:ULTRIX*:*:*)
+   echo vax-dec-ultrix${UNAME_RELEASE}
+   exit 0 ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+   sed 's/^    //' << EOF >dummy.c
+   int main (argc, argv) int argc; char **argv; {
+   #if defined (host_mips) && defined (MIPSEB)
+   #if defined (SYSTYPE_SYSV)
+     printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+   #endif
+   #if defined (SYSTYPE_SVR4)
+     printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+   #endif
+   #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+     printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+   #endif
+   #endif
+     exit (-1);
+   }
+EOF
+   ${CC-cc} 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 ;;
+    Night_Hawk:Power_UNIX:*:*)
+   echo powerpc-harris-powerunix
+   exit 0 ;;
+    m88k:CX/UX:7*:*)
+   echo m88k-harris-cxux7
+   exit 0 ;;
+    m88k:*:4*:R4*)
+   echo m88k-motorola-sysv4
+   exit 0 ;;
+    m88k:*:3*:R3*)
+   echo m88k-motorola-sysv3
+   exit 0 ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+        if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
+   if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
+        -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
+       echo m88k-dg-dgux${UNAME_RELEASE}
+   else
+       echo m88k-dg-dguxbcs${UNAME_RELEASE}
+   fi
+        else echo i586-dg-dgux${UNAME_RELEASE}
+        fi
+   exit 0 ;;
+    M88*:DolphinOS:*:*)    # DolphinOS (SVR3)
+   echo m88k-dolphin-sysv3
+   exit 0 ;;
+    M88*:*:R3*:*)
+   # Delta 88k system running SVR3
+   echo m88k-motorola-sysv3
+   exit 0 ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+   echo m88k-tektronix-sysv3
+   exit 0 ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+   echo m68k-tektronix-bsd
+   exit 0 ;;
+    *:IRIX*:*:*)
+   echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+   exit 0 ;;
+    ????????: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:*:*)
+   echo i386-ibm-aix
+   exit 0 ;;
+    *:AIX:2:3)
+   if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+       sed 's/^        //' << EOF >dummy.c
+       #include 
+
+       main()
+           {
+           if (!__power_pc())
+               exit(1);
+           puts("powerpc-ibm-aix3.2.5");
+           exit(0);
+           }
+EOF
+       ${CC-cc} 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
+   else
+       echo rs6000-ibm-aix3.2
+   fi
+   exit 0 ;;
+    *:AIX:*:4)
+   if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
+       IBM_ARCH=rs6000
+   else
+       IBM_ARCH=powerpc
+   fi
+   if [ -x /usr/bin/oslevel ] ; then
+       IBM_REV=`/usr/bin/oslevel`
+   else
+       IBM_REV=4.${UNAME_RELEASE}
+   fi
+   echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+   exit 0 ;;
+    *:AIX:*:*)
+   echo rs6000-ibm-aix
+   exit 0 ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+   echo romp-ibm-bsd4.4
+   exit 0 ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
+   echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+   exit 0 ;;                           # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+   echo rs6000-bull-bosx
+   exit 0 ;;
+    DPX/2?00:B.O.S.:*:*)
+   echo m68k-bull-sysv3
+   exit 0 ;;
+    9000/[34]??:4.3bsd:1.*:*)
+   echo m68k-hp-bsd
+   exit 0 ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+   echo m68k-hp-bsd4.4
+   exit 0 ;;
+    9000/[3478]??:HP-UX:*:*)
+   case "${UNAME_MACHINE}" in
+       9000/31? )            HP_ARCH=m68000 ;;
+       9000/[34]?? )         HP_ARCH=m68k ;;
+       9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
+       9000/8?? )            HP_ARCH=hppa1.0 ;;
+   esac
+   HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+   echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+   exit 0 ;;
+    3050*:HI-UX:*:*)
+   sed 's/^    //' << EOF >dummy.c
+   #include 
+   int
+   main ()
+   {
+     long cpu = sysconf (_SC_CPU_VERSION);
+     /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+        true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+        results, however.  */
+     if (CPU_IS_PA_RISC (cpu))
+       {
+         switch (cpu)
+       {
+         case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+         case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+         case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+         default: puts ("hppa-hitachi-hiuxwe2"); break;
+       }
+       }
+     else if (CPU_IS_HP_MC68K (cpu))
+       puts ("m68k-hitachi-hiuxwe2");
+     else puts ("unknown-hitachi-hiuxwe2");
+     exit (0);
+   }
+EOF
+   ${CC-cc} 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:*:* )
+   echo hppa1.1-hp-bsd
+   exit 0 ;;
+    9000/8??:4.3bsd:*:*)
+   echo hppa1.0-hp-bsd
+   exit 0 ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+   echo hppa1.1-hp-osf
+   exit 0 ;;
+    hp8??:OSF1:*:*)
+   echo hppa1.0-hp-osf
+   exit 0 ;;
+    i?86:OSF1:*:*)
+   if [ -x /usr/sbin/sysversion ] ; then
+       echo ${UNAME_MACHINE}-unknown-osf1mk
+   else
+       echo ${UNAME_MACHINE}-unknown-osf1
+   fi
+   exit 0 ;;
+    parisc*:Lites*:*:*)
+   echo hppa1.1-hp-lites
+   exit 0 ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+   echo c1-convex-bsd
+        exit 0 ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+   if getsysinfo -f scalar_acc
+   then echo c32-convex-bsd
+   else echo c2-convex-bsd
+   fi
+        exit 0 ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+   echo c34-convex-bsd
+        exit 0 ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+   echo c38-convex-bsd
+        exit 0 ;;
+    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}
+   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/
+   exit 0 ;;
+    CRAY*TS:*:*:*)
+   echo t90-cray-unicos${UNAME_RELEASE}
+   exit 0 ;;
+    CRAY-2:*:*:*)
+   echo cray2-cray-unicos
+        exit 0 ;;
+    F300:UNIX_System_V:*:*)
+        FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit 0 ;;
+    F301:UNIX_System_V:*:*)
+       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
+       exit 0 ;;
+    hp3[0-9][05]:NetBSD:*:*)
+   echo m68k-hp-netbsd${UNAME_RELEASE}
+   exit 0 ;;
+    hp3[0-9][05]:OpenBSD:*:*)
+   echo m68k-hp-openbsd${UNAME_RELEASE}
+   exit 0 ;;
+    i?86:BSD/386:*:* | *:BSD/OS:*:*)
+   echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+   exit 0 ;;
+    *:FreeBSD:*:*)
+   echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+   exit 0 ;;
+    *:NetBSD:*:*)
+   echo ${UNAME_MACHINE}-unknown-netbsd`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 i386-pc-cygwin32
+   exit 0 ;;
+    p*:CYGWIN*:*)
+   echo powerpcle-unknown-cygwin32
+   exit 0 ;;
+    prep*:SunOS:5.*:*)
+   echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+   exit 0 ;;
+    *:GNU:*:*)
+   echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+   exit 0 ;;
+    *:Linux:*:*)
+   # The BFD linker knows what the default object file format is, so
+   # first see if it will tell us.
+   ld_help_string=`ld --help 2>&1`
+   if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then
+     echo "${UNAME_MACHINE}-pc-linux-gnu" ; exit 0
+   elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then
+     echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0
+   elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then
+     echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0
+   elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
+     echo "${UNAME_MACHINE}-unknown-linux-gnu" ; exit 0
+   elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
+     echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0
+   elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then
+     echo "powerpc-unknown-linux-gnu" ; exit 0
+   elif test "${UNAME_MACHINE}" = "alpha" ; then
+     echo alpha-unknown-linux-gnu ; exit 0
+   elif test "${UNAME_MACHINE}" = "sparc" ; then
+     echo sparc-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.
+     test ! -d /usr/lib/ldscripts/. \
+       && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
+     # Determine whether the default compiler is a.out or elf
+     cat >dummy.c <
+main(argc, argv)
+int argc;
+char *argv[];
+{
+#ifdef __ELF__
+  printf ("%s-pc-linux-gnu\n", argv[1]);
+#else
+  printf ("%s-pc-linux-gnuaout\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+     ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
+     rm -f dummy.c dummy
+   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:*:4.*:* | i?86:SYSTEM_V:4.*:*)
+   if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+       echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
+   else
+       echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
+   fi
+   exit 0 ;;
+    i?86:*:3.2:*)
+   if test -f /usr/options/cb.name; then
+       UNAME_REL=`sed -n 's/.*Version //p' 
+       echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+   elif /bin/uname -X 2>/dev/null >/dev/null ; then
+       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
+       echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+   else
+       echo ${UNAME_MACHINE}-pc-sysv32
+   fi
+   exit 0 ;;
+    Intel:Mach:3*:*)
+   echo i386-pc-mach3
+   exit 0 ;;
+    paragon:*:*:*)
+   echo i860-intel-osf1
+   exit 0 ;;
+    i860:*:4.*:*) # i860-SVR4
+   if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+     echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+   else # Add other i860-SVR4 vendors below as they are discovered.
+     echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+   fi
+   exit 0 ;;
+    mini*:CTIX:SYS*5:*)
+   # "miniframe"
+   echo m68010-convergent-sysv
+   exit 0 ;;
+    M68*:*:R3V[567]*:*)
+   test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 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`
+   /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+     && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+   /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+     && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+    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.*:*)
+   echo m68k-unknown-lynxos${UNAME_RELEASE}
+   exit 0 ;;
+    mc68030:UNIX_System_V:4.*:*)
+   echo m68k-atari-sysv4
+   exit 0 ;;
+    i?86:LynxOS:2.*:*)
+   echo i386-unknown-lynxos${UNAME_RELEASE}
+   exit 0 ;;
+    TSUNAMI:LynxOS:2.*:*)
+   echo sparc-unknown-lynxos${UNAME_RELEASE}
+   exit 0 ;;
+    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
+   echo rs6000-unknown-lynxos${UNAME_RELEASE}
+   exit 0 ;;
+    SM[BE]S:UNIX_SV:*:*)
+   echo mips-dde-sysv${UNAME_RELEASE}
+   exit 0 ;;
+    RM*:SINIX-*:*:*)
+   echo mips-sni-sysv4
+   exit 0 ;;
+    *:SINIX-*:*:*)
+   if uname -p 2>/dev/null >/dev/null ; then
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       echo ${UNAME_MACHINE}-sni-sysv4
+   else
+       echo ns32k-sni-sysv
+   fi
+   exit 0 ;;
+    *:UNIX_System_V:4*:FTX*)
+   # From Gerald Hewes .
+   # How about differentiating between stratus architectures? -djm
+   echo hppa1.1-stratus-sysv4
+   exit 0 ;;
+    *:*:*:FTX*)
+   # From [email protected].
+   echo i860-stratus-sysv4
+   exit 0 ;;
+    mc68*:A/UX:*:*)
+   echo m68k-apple-aux${UNAME_RELEASE}
+   exit 0 ;;
+    R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
+   if [ -d /usr/nec ]; then
+           echo mips-nec-sysv${UNAME_RELEASE}
+   else
+           echo mips-unknown-sysv${UNAME_RELEASE}
+   fi
+        exit 0 ;;
+    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                           # says 
+        echo i586-unisys-sysv4
+        exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+cat >dummy.c <
+#ifdef _SEQUENT_
+# include 
+# include 
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include 
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+     ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+   printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+   printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+#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)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+${CC-cc} 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.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+   echo c1-convex-bsd
+   exit 0 ;;
+    c2*)
+   if getsysinfo -f scalar_acc
+   then echo c32-convex-bsd
+   else echo c2-convex-bsd
+   fi
+   exit 0 ;;
+    c34*)
+   echo c34-convex-bsd
+   exit 0 ;;
+    c38*)
+   echo c38-convex-bsd
+   exit 0 ;;
+    c4*)
+   echo c4-convex-bsd
+   exit 0 ;;
+    esac
+fi
+
+#echo '(Unable to guess system type)' 1>&2
+
+exit 1
diff --git a/src/config.sub b/src/config.sub
new file mode 100755 (executable)
index 0000000..0432524
--- /dev/null
@@ -0,0 +1,927 @@
+#! /bin/sh
+# Configuration validation subroutine script, version 1.1.
+#   Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# 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
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#  CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#  CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+if [ x$1 = x ]
+then
+   echo Configuration name missing. 1>&2
+   echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
+   echo "or     $0 ALIAS" 1>&2
+   echo where ALIAS is a recognized configuration type. 1>&2
+   exit 1
+fi
+
+# First pass through any local machine types.
+case $1 in
+   *local*)
+       echo $1
+       exit 0
+       ;;
+   *)
+   ;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  linux-gnu*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+   -sun*os*)
+       # Prevent following clause from handling this invalid input.
+       ;;
+   -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+   -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+   -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+   -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+   -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+   -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+   -apple)
+       os=
+       basic_machine=$1
+       ;;
+   -hiux*)
+       os=-hiuxwe2
+       ;;
+   -sco5)
+       os=sco3.2v5
+       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+       ;;
+   -sco4)
+       os=-sco3.2v4
+       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+       ;;
+   -sco3.2.[4-9]*)
+       os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+       ;;
+   -sco3.2v[4-9]*)
+       # Don't forget version if it is 3.2v4 or newer.
+       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+       ;;
+   -sco*)
+       os=-sco3.2v2
+       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+       ;;
+   -isc)
+       os=-isc2.2
+       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+       ;;
+   -clix*)
+       basic_machine=clipper-intergraph
+       ;;
+   -isc*)
+       basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+       ;;
+   -lynx*)
+       os=-lynxos
+       ;;
+   -ptx*)
+       basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+       ;;
+   -windowsnt*)
+       os=`echo $os | sed -e 's/windowsnt/winnt/'`
+       ;;
+   -psos*)
+       os=-psos
+       ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+   # Recognize the basic CPU types without company name.
+   # Some are omitted here because they have special meanings below.
+   tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \
+       | arme[lb] | pyramid \
+       | tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
+       | alpha | we32k | ns16k | clipper | i370 | sh \
+       | powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
+       | pdp11 | mips64el | mips64orion | mips64orionel \
+       | sparc | sparclet | sparclite | sparc64)
+       basic_machine=$basic_machine-unknown
+       ;;
+   # We use `pc' rather than `unknown'
+   # because (1) that's what they normally are, and
+   # (2) the word "unknown" tends to confuse beginning users.
+   i[3456]86)
+     basic_machine=$basic_machine-pc
+     ;;
+   # Object if more than one company name word.
+   *-*-*)
+       echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+       exit 1
+       ;;
+   # Recognize the basic CPU types with company name.
+   vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \
+         | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
+         | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
+         | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
+         | hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
+         | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
+         | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
+         | mips64el-* | mips64orion-* | mips64orionel-* | f301-*)
+       ;;
+   # Recognize the various machine names and aliases which stand
+   # for a CPU type and a company and sometimes even an OS.
+   3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+       basic_machine=m68000-att
+       ;;
+   3b*)
+       basic_machine=we32k-att
+       ;;
+   alliant | fx80)
+       basic_machine=fx80-alliant
+       ;;
+   altos | altos3068)
+       basic_machine=m68k-altos
+       ;;
+   am29k)
+       basic_machine=a29k-none
+       os=-bsd
+       ;;
+   amdahl)
+       basic_machine=580-amdahl
+       os=-sysv
+       ;;
+   amiga | amiga-*)
+       basic_machine=m68k-cbm
+       ;;
+   amigados)
+       basic_machine=m68k-cbm
+       os=-amigados
+       ;;
+   amigaunix | amix)
+       basic_machine=m68k-cbm
+       os=-sysv4
+       ;;
+   apollo68)
+       basic_machine=m68k-apollo
+       os=-sysv
+       ;;
+   aux)
+       basic_machine=m68k-apple
+       os=-aux
+       ;;
+   balance)
+       basic_machine=ns32k-sequent
+       os=-dynix
+       ;;
+   convex-c1)
+       basic_machine=c1-convex
+       os=-bsd
+       ;;
+   convex-c2)
+       basic_machine=c2-convex
+       os=-bsd
+       ;;
+   convex-c32)
+       basic_machine=c32-convex
+       os=-bsd
+       ;;
+   convex-c34)
+       basic_machine=c34-convex
+       os=-bsd
+       ;;
+   convex-c38)
+       basic_machine=c38-convex
+       os=-bsd
+       ;;
+   cray | ymp)
+       basic_machine=ymp-cray
+       os=-unicos
+       ;;
+   cray2)
+       basic_machine=cray2-cray
+       os=-unicos
+       ;;
+   [ctj]90-cray)
+       basic_machine=c90-cray
+       os=-unicos
+       ;;
+   crds | unos)
+       basic_machine=m68k-crds
+       ;;
+   da30 | da30-*)
+       basic_machine=m68k-da30
+       ;;
+   decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+       basic_machine=mips-dec
+       ;;
+   delta | 3300 | motorola-3300 | motorola-delta \
+         | 3300-motorola | delta-motorola)
+       basic_machine=m68k-motorola
+       ;;
+   delta88)
+       basic_machine=m88k-motorola
+       os=-sysv3
+       ;;
+   dpx20 | dpx20-*)
+       basic_machine=rs6000-bull
+       os=-bosx
+       ;;
+   dpx2* | dpx2*-bull)
+       basic_machine=m68k-bull
+       os=-sysv3
+       ;;
+   ebmon29k)
+       basic_machine=a29k-amd
+       os=-ebmon
+       ;;
+   elxsi)
+       basic_machine=elxsi-elxsi
+       os=-bsd
+       ;;
+   encore | umax | mmax)
+       basic_machine=ns32k-encore
+       ;;
+   fx2800)
+       basic_machine=i860-alliant
+       ;;
+   genix)
+       basic_machine=ns32k-ns
+       ;;
+   gmicro)
+       basic_machine=tron-gmicro
+       os=-sysv
+       ;;
+   h3050r* | hiux*)
+       basic_machine=hppa1.1-hitachi
+       os=-hiuxwe2
+       ;;
+   h8300hms)
+       basic_machine=h8300-hitachi
+       os=-hms
+       ;;
+   harris)
+       basic_machine=m88k-harris
+       os=-sysv3
+       ;;
+   hp300-*)
+       basic_machine=m68k-hp
+       ;;
+   hp300bsd)
+       basic_machine=m68k-hp
+       os=-bsd
+       ;;
+   hp300hpux)
+       basic_machine=m68k-hp
+       os=-hpux
+       ;;
+   hp9k2[0-9][0-9] | hp9k31[0-9])
+       basic_machine=m68000-hp
+       ;;
+   hp9k3[2-9][0-9])
+       basic_machine=m68k-hp
+       ;;
+   hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
+       basic_machine=hppa1.1-hp
+       ;;
+   hp9k8[0-9][0-9] | hp8[0-9][0-9])
+       basic_machine=hppa1.0-hp
+       ;;
+   hppa-next)
+       os=-nextstep3
+       ;;
+   i370-ibm* | ibm*)
+       basic_machine=i370-ibm
+       os=-mvs
+       ;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+   i[3456]86v32)
+       basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+       os=-sysv32
+       ;;
+   i[3456]86v4*)
+       basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+       os=-sysv4
+       ;;
+   i[3456]86v)
+       basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+       os=-sysv
+       ;;
+   i[3456]86sol2)
+       basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+       os=-solaris2
+       ;;
+   iris | iris4d)
+       basic_machine=mips-sgi
+       case $os in
+           -irix*)
+           ;;
+           *)
+           os=-irix4
+           ;;
+       esac
+       ;;
+   isi68 | isi)
+       basic_machine=m68k-isi
+       os=-sysv
+       ;;
+   m88k-omron*)
+       basic_machine=m88k-omron
+       ;;
+   magnum | m3230)
+       basic_machine=mips-mips
+       os=-sysv
+       ;;
+   merlin)
+       basic_machine=ns32k-utek
+       os=-sysv
+       ;;
+   miniframe)
+       basic_machine=m68000-convergent
+       ;;
+   mips3*-*)
+       basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+       ;;
+   mips3*)
+       basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+       ;;
+   ncr3000)
+       basic_machine=i486-ncr
+       os=-sysv4
+       ;;
+   news | news700 | news800 | news900)
+       basic_machine=m68k-sony
+       os=-newsos
+       ;;
+   news1000)
+       basic_machine=m68030-sony
+       os=-newsos
+       ;;
+   news-3600 | risc-news)
+       basic_machine=mips-sony
+       os=-newsos
+       ;;
+   next | m*-next )
+       basic_machine=m68k-next
+       case $os in
+           -nextstep* )
+           ;;
+           -ns2*)
+             os=-nextstep2
+           ;;
+           *)
+             os=-nextstep3
+           ;;
+       esac
+       ;;
+   nh3000)
+       basic_machine=m68k-harris
+       os=-cxux
+       ;;
+   nh[45]000)
+       basic_machine=m88k-harris
+       os=-cxux
+       ;;
+   nindy960)
+       basic_machine=i960-intel
+       os=-nindy
+       ;;
+   np1)
+       basic_machine=np1-gould
+       ;;
+   pa-hitachi)
+       basic_machine=hppa1.1-hitachi
+       os=-hiuxwe2
+       ;;
+   paragon)
+       basic_machine=i860-intel
+       os=-osf
+       ;;
+   pbd)
+       basic_machine=sparc-tti
+       ;;
+   pbb)
+       basic_machine=m68k-tti
+       ;;
+        pc532 | pc532-*)
+       basic_machine=ns32k-pc532
+       ;;
+   pentium | p5)
+       basic_machine=i586-intel
+       ;;
+   pentiumpro | p6)
+       basic_machine=i686-intel
+       ;;
+   pentium-* | p5-*)
+       basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+       ;;
+   pentiumpro-* | p6-*)
+       basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+       ;;
+   k5)
+       # We don't have specific support for AMD's K5 yet, so just call it a Pentium
+       basic_machine=i586-amd
+       ;;
+   nexen)
+       # We don't have specific support for Nexgen yet, so just call it a Pentium
+       basic_machine=i586-nexgen
+       ;;
+   pn)
+       basic_machine=pn-gould
+       ;;
+   power)  basic_machine=rs6000-ibm
+       ;;
+   ppc)    basic_machine=powerpc-unknown
+           ;;
+   ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+       ;;
+   ppcle | powerpclittle | ppc-le | powerpc-little)
+       basic_machine=powerpcle-unknown
+           ;;
+   ppcle-* | powerpclittle-*)
+       basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+       ;;
+   ps2)
+       basic_machine=i386-ibm
+       ;;
+   rm[46]00)
+       basic_machine=mips-siemens
+       ;;
+   rtpc | rtpc-*)
+       basic_machine=romp-ibm
+       ;;
+   sequent)
+       basic_machine=i386-sequent
+       ;;
+   sh)
+       basic_machine=sh-hitachi
+       os=-hms
+       ;;
+   sps7)
+       basic_machine=m68k-bull
+       os=-sysv2
+       ;;
+   spur)
+       basic_machine=spur-unknown
+       ;;
+   sun2)
+       basic_machine=m68000-sun
+       ;;
+   sun2os3)
+       basic_machine=m68000-sun
+       os=-sunos3
+       ;;
+   sun2os4)
+       basic_machine=m68000-sun
+       os=-sunos4
+       ;;
+   sun3os3)
+       basic_machine=m68k-sun
+       os=-sunos3
+       ;;
+   sun3os4)
+       basic_machine=m68k-sun
+       os=-sunos4
+       ;;
+   sun4os3)
+       basic_machine=sparc-sun
+       os=-sunos3
+       ;;
+   sun4os4)
+       basic_machine=sparc-sun
+       os=-sunos4
+       ;;
+   sun4sol2)
+       basic_machine=sparc-sun
+       os=-solaris2
+       ;;
+   sun3 | sun3-*)
+       basic_machine=m68k-sun
+       ;;
+   sun4)
+       basic_machine=sparc-sun
+       ;;
+   sun386 | sun386i | roadrunner)
+       basic_machine=i386-sun
+       ;;
+   symmetry)
+       basic_machine=i386-sequent
+       os=-dynix
+       ;;
+   tower | tower-32)
+       basic_machine=m68k-ncr
+       ;;
+   udi29k)
+       basic_machine=a29k-amd
+       os=-udi
+       ;;
+   ultra3)
+       basic_machine=a29k-nyu
+       os=-sym1
+       ;;
+   vaxv)
+       basic_machine=vax-dec
+       os=-sysv
+       ;;
+   vms)
+       basic_machine=vax-dec
+       os=-vms
+       ;;
+       vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+   vxworks960)
+       basic_machine=i960-wrs
+       os=-vxworks
+       ;;
+   vxworks68)
+       basic_machine=m68k-wrs
+       os=-vxworks
+       ;;
+   vxworks29k)
+       basic_machine=a29k-wrs
+       os=-vxworks
+       ;;
+   xmp)
+       basic_machine=xmp-cray
+       os=-unicos
+       ;;
+        xps | xps100)
+       basic_machine=xps100-honeywell
+       ;;
+   none)
+       basic_machine=none-none
+       os=-none
+       ;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+   mips)
+       basic_machine=mips-mips
+       ;;
+   romp)
+       basic_machine=romp-ibm
+       ;;
+   rs6000)
+       basic_machine=rs6000-ibm
+       ;;
+   vax)
+       basic_machine=vax-dec
+       ;;
+   pdp11)
+       basic_machine=pdp11-dec
+       ;;
+   we32k)
+       basic_machine=we32k-att
+       ;;
+   sparc)
+       basic_machine=sparc-sun
+       ;;
+        cydra)
+       basic_machine=cydra-cydrome
+       ;;
+   orion)
+       basic_machine=orion-highlevel
+       ;;
+   orion105)
+       basic_machine=clipper-highlevel
+       ;;
+   *)
+       echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+       exit 1
+       ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+   *-digital*)
+       basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+       ;;
+   *-commodore*)
+       basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+       ;;
+   *)
+       ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+   # -solaris* is a basic system type, with this one exception.
+   -solaris1 | -solaris1.*)
+       os=`echo $os | sed -e 's|solaris1|sunos4|'`
+       ;;
+   -solaris)
+       os=-solaris2
+       ;;
+   -unixware* | svr4*)
+       os=-sysv4
+       ;;
+   -gnu/linux*)
+       os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+       ;;
+   # First accept the basic system types.
+   # The portable systems comes first.
+   # Each alternative MUST END IN A *, to match a version number.
+   # -sysv* is not here because it comes later, after sysvr4.
+   -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+         | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+         | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+         | -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
+         | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+         | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+         | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+         | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
+         | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+         | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+         | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+         | -linux-gnu* | -uxpv*)
+   # Remember, each alternative MUST END IN *, to match a version number.
+       ;;
+   -linux*)
+       os=`echo $os | sed -e 's|linux|linux-gnu|'`
+       ;;
+   -sunos5*)
+       os=`echo $os | sed -e 's|sunos5|solaris2|'`
+       ;;
+   -sunos6*)
+       os=`echo $os | sed -e 's|sunos6|solaris3|'`
+       ;;
+   -osfrose*)
+       os=-osfrose
+       ;;
+   -osf*)
+       os=-osf
+       ;;
+   -utek*)
+       os=-bsd
+       ;;
+   -dynix*)
+       os=-bsd
+       ;;
+   -acis*)
+       os=-aos
+       ;;
+   -ctix* | -uts*)
+       os=-sysv
+       ;;
+   -ns2 )
+           os=-nextstep2
+       ;;
+   # Preserve the version number of sinix5.
+   -sinix5.*)
+       os=`echo $os | sed -e 's|sinix|sysv|'`
+       ;;
+   -sinix*)
+       os=-sysv4
+       ;;
+   -triton*)
+       os=-sysv3
+       ;;
+   -oss*)
+       os=-sysv3
+       ;;
+   -svr4)
+       os=-sysv4
+       ;;
+   -svr3)
+       os=-sysv3
+       ;;
+   -sysvr4)
+       os=-sysv4
+       ;;
+   # This must come after -sysvr4.
+   -sysv*)
+       ;;
+   -xenix)
+       os=-xenix
+       ;;
+   -none)
+       ;;
+   *)
+       # Get rid of the `-' at the beginning of $os.
+       os=`echo $os | sed 's/[^-]*-//'`
+       echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+       exit 1
+       ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+   *-acorn)
+       os=-riscix1.2
+       ;;
+   arm*-semi)
+       os=-aout
+       ;;
+        pdp11-*)
+       os=-none
+       ;;
+   *-dec | vax-*)
+       os=-ultrix4.2
+       ;;
+   m68*-apollo)
+       os=-domain
+       ;;
+   i386-sun)
+       os=-sunos4.0.2
+       ;;
+   m68000-sun)
+       os=-sunos3
+       # This also exists in the configure program, but was not the
+       # default.
+       # os=-sunos4
+       ;;
+   *-tti)  # must be before sparc entry or we get the wrong os.
+       os=-sysv3
+       ;;
+   sparc-* | *-sun)
+       os=-sunos4.1.1
+       ;;
+   *-ibm)
+       os=-aix
+       ;;
+   *-hp)
+       os=-hpux
+       ;;
+   *-hitachi)
+       os=-hiux
+       ;;
+   i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+       os=-sysv
+       ;;
+   *-cbm)
+       os=-amigados
+       ;;
+   *-dg)
+       os=-dgux
+       ;;
+   *-dolphin)
+       os=-sysv3
+       ;;
+   m68k-ccur)
+       os=-rtu
+       ;;
+   m88k-omron*)
+       os=-luna
+       ;;
+   *-next )
+       os=-nextstep
+       ;;
+   *-sequent)
+       os=-ptx
+       ;;
+   *-crds)
+       os=-unos
+       ;;
+   *-ns)
+       os=-genix
+       ;;
+   i370-*)
+       os=-mvs
+       ;;
+   *-next)
+       os=-nextstep3
+       ;;
+        *-gould)
+       os=-sysv
+       ;;
+        *-highlevel)
+       os=-bsd
+       ;;
+   *-encore)
+       os=-bsd
+       ;;
+        *-sgi)
+       os=-irix
+       ;;
+        *-siemens)
+       os=-sysv4
+       ;;
+   *-masscomp)
+       os=-rtu
+       ;;
+   f301-fujitsu)
+       os=-uxpv
+       ;;
+   *)
+       os=-none
+       ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+   *-unknown)
+       case $os in
+           -riscix*)
+               vendor=acorn
+               ;;
+           -sunos*)
+               vendor=sun
+               ;;
+           -aix*)
+               vendor=ibm
+               ;;
+           -hpux*)
+               vendor=hp
+               ;;
+           -hiux*)
+               vendor=hitachi
+               ;;
+           -unos*)
+               vendor=crds
+               ;;
+           -dgux*)
+               vendor=dg
+               ;;
+           -luna*)
+               vendor=omron
+               ;;
+           -genix*)
+               vendor=ns
+               ;;
+           -mvs*)
+               vendor=ibm
+               ;;
+           -ptx*)
+               vendor=sequent
+               ;;
+           -vxsim* | -vxworks*)
+               vendor=wrs
+               ;;
+           -aux*)
+               vendor=apple
+               ;;
+       esac
+       basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+       ;;
+esac
+
+echo $basic_machine$os
index e18985ef038fd9d0ccec7f5f12f83b8f7b1a0d35..874ae706ae5dc8832a6b2650fd5f441d6dce61cd 100644 (file)
@@ -1,5 +1,12 @@
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(backend/access/common/heaptuple.c)
+AC_CANONICAL_HOST
+case "$host_os" in
+freebsd*) PORTNAME='BSD44_derived' ;;
+*) PORTNAME='UNDEFINED' ;;
+esac
+AC_SUBST(PORTNAME)
+
 AC_CONFIG_HEADER(include/config.h)
 
 dnl Checks for programs.
@@ -101,6 +108,4 @@ AC_FUNC_VPRINTF
 AC_CHECK_FUNCS(ftime getcwd gethostname gettimeofday putenv regcomp select socket strcspn strdup strerror strftime strspn strtod strtol)
 AC_CHECK_FUNCS(isinf tzset cbrt)
 
-#AC_OUTPUT(backend/optimizer/path/Makefile libpq++/man/Makefile backend/port/sparc_solaris/Makefile backend/utils/misc/Makefile backend/port/ultrix4/Makefile bin/psql/Makefile backend/utils/init/Makefile tutorial/C-code/Makefile test/examples/Makefile backend/utils/adt/Makefile bin/destroyuser/Makefile Makefile tutorial/Makefile bin/pg_dump/Makefile bin/cleardbdir/Makefile backend/optimizer/plan/Makefile backend/access/heap/Makefile backend/storage/page/Makefile backend/port/svr4/Makefile backend/optimizer/Makefile backend/utils/hash/Makefile backend/storage/large_object/Makefile backend/access/hash/Makefile test/Makefile backend/optimizer/prep/Makefile bin/initdb/Makefile bin/pg_version/Makefile bin/ipcclean/Makefile bin/pg4_dump/Makefile backend/postmaster/Makefile backend/access/Makefile test/regress/Makefile backend/storage/Makefile backend/port/bsdi/Makefile libpq++/Makefile backend/lib/Makefile backend/libpq/Makefile backend/access/gist/Makefile backend/nodes/Makefile libpgtcl/Makefile libpq/Makefile bin/destroydb/Makefile backend/access/nbtree/Makefile bin/Makefile bin/createuser/Makefile backend/port/Makefile backend/port/irix5/Makefile backend/utils/sort/Makefile backend/utils/error/Makefile backend/utils/time/Makefile backend/Makefile backend/utils/Makefile backend/commands/Makefile bin/pg_id/Makefile backend/tioga/Makefile backend/utils/cache/Makefile backend/port/aix/Makefile backend/storage/lmgr/Makefile test/bench/Makefile bin/monitor/Makefile backend/access/index/Makefile backend/port/hpux/Makefile utils/Makefile backend/port/i386_solaris/Makefile backend/catalog/Makefile backend/storage/smgr/Makefile backend/bootstrap/Makefile backend/storage/buffer/Makefile backend/storage/ipc/Makefile backend/rewrite/Makefile backend/access/rtree/Makefile backend/port/linux/Makefile backend/storage/file/Makefile man/Makefile libpq++/examples/Makefile backend/main/Makefile bin/pgtclsh/Makefile backend/access/common/Makefile bin/createdb/Makefile backend/port/dgux/Makefile backend/utils/fmgr/Makefile backend/parser/Makefile backend/port/sparc/Makefile backend/executor/Makefile backend/optimizer/util/Makefile tools/mkldexport/Makefile backend/utils/mmgr/Makefile backend/tcop/Makefile backend/port/BSD44_derived/Makefile backend/access/transam/Makefile backend/port/alpha/Makefile backend/regex/Makefile)
-
 AC_OUTPUT(GNUmakefile Makefile.global bin/psql/Makefile)
diff --git a/src/install-sh b/src/install-sh
new file mode 100755 (executable)
index 0000000..ebc6691
--- /dev/null
@@ -0,0 +1,250 @@
+#! /bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission.  M.I.T. makes no representations about the
+# suitability of this software for any purpose.  It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+    case $1 in
+   -c) instcmd="$cpprog"
+       shift
+       continue;;
+
+   -d) dir_arg=true
+       shift
+       continue;;
+
+   -m) chmodcmd="$chmodprog $2"
+       shift
+       shift
+       continue;;
+
+   -o) chowncmd="$chownprog $2"
+       shift
+       shift
+       continue;;
+
+   -g) chgrpcmd="$chgrpprog $2"
+       shift
+       shift
+       continue;;
+
+   -s) stripcmd="$stripprog"
+       shift
+       continue;;
+
+   -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+       shift
+       continue;;
+
+   -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+       shift
+       continue;;
+
+   *)  if [ x"$src" = x ]
+       then
+       src=$1
+       else
+       # this colon is to work around a 386BSD /bin/sh bug
+       :
+       dst=$1
+       fi
+       shift
+       continue;;
+    esac
+done
+
+if [ x"$src" = x ]
+then
+   echo "install:  no input file specified"
+   exit 1
+else
+   true
+fi
+
+if [ x"$dir_arg" != x ]; then
+   dst=$src
+   src=""
+   
+   if [ -d $dst ]; then
+       instcmd=:
+   else
+       instcmd=mkdir
+   fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad 
+# if $src (and thus $dsttmp) contains '*'.
+
+   if [ -f $src -o -d $src ]
+   then
+       true
+   else
+       echo "install:  $src does not exist"
+       exit 1
+   fi
+   
+   if [ x"$dst" = x ]
+   then
+       echo "install:  no destination specified"
+       exit 1
+   else
+       true
+   fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+   if [ -d $dst ]
+   then
+       dst="$dst"/`basename $src`
+   else
+       true
+   fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+#  this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='   
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+   pathcomp="${pathcomp}${1}"
+   shift
+
+   if [ ! -d "${pathcomp}" ] ;
+        then
+       $mkdirprog "${pathcomp}"
+   else
+       true
+   fi
+
+   pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+   $doit $instcmd $dst &&
+
+   if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+   if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+   if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+   if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+   if [ x"$transformarg" = x ] 
+   then
+       dstfile=`basename $dst`
+   else
+       dstfile=`basename $dst $transformbasename | 
+           sed $transformarg`$transformbasename
+   fi
+
+# don't allow the sed command to completely eliminate the filename
+
+   if [ x"$dstfile" = x ] 
+   then
+       dstfile=`basename $dst`
+   else
+       true
+   fi
+
+# Make a temp file name in the proper directory.
+
+   dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+   $doit $instcmd $src $dsttmp &&
+
+   trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing.  If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+   if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+   if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+   if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+   if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+   $doit $rmcmd -f $dstdir/$dstfile &&
+   $doit $mvcmd $dsttmp $dstdir/$dstfile 
+
+fi &&
+
+
+exit 0