aboutsummaryrefslogtreecommitdiffstats
path: root/machines.h
diff options
context:
space:
mode:
Diffstat (limited to 'machines.h')
-rw-r--r--machines.h2392
1 files changed, 2392 insertions, 0 deletions
diff --git a/machines.h b/machines.h
new file mode 100644
index 0000000..7fe1ff9
--- /dev/null
+++ b/machines.h
@@ -0,0 +1,2392 @@
+/* machines.h --
+ Included file in the makefile that gets run through Cpp. This file
+ tells which machines have what features based on the unique machine
+ identifier present in Cpp. */
+
+/* Copyright (C) 1993 Free Software Foundation, Inc.
+
+ This file is part of GNU Bash, the Bourne Again SHell.
+
+ Bash 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, or (at your option) any later
+ version.
+
+ Bash 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 Bash; see the file COPYING. If not, write to the Free Software
+ Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+/* **************************************************************** */
+/* */
+/* Global Assumptions (true for most systems). */
+/* */
+/* **************************************************************** */
+
+/* We make some global assumptions here. This can be #undef'ed in
+ various machine specific entries. */
+
+/* If this file is being processed with Gcc, then the user has Gcc. */
+#if defined (__GNUC__) && !defined (NeXT) && !defined (__FreeBSD__)
+# if !defined (HAVE_GCC)
+# define HAVE_GCC
+# endif /* HAVE_GCC */
+#endif /* __GNUC__ && !NeXT && !__FreeBSD__ */
+
+/* Assume that all machines have the getwd () system call. We unset it
+ for USG systems. */
+#define HAVE_GETWD
+
+/* Assume that all systems have a working getcwd () call. We unset it for
+ ISC systems. */
+#define HAVE_GETCWD
+
+/* Most (but not all) systems have a good, working version of dup2 ().
+ For systems that don't have the call (HP/UX), and for systems
+ that don't set the open-on-exec flag for the dup'ed file descriptors,
+ (Sequents running Dynix, Ultrix), #undef HAVE_DUP2 in the machine
+ description. */
+#define HAVE_DUP2
+
+/* Every machine that has Gcc has alloca as a builtin in Gcc. If you are
+ compiling Bash without Gcc, then you must have alloca in a library,
+ in your C compiler, or be able to assemble or compile the alloca source
+ that we ship with Bash. */
+#define HAVE_ALLOCA
+
+/* We like most machines to use the GNU Malloc routines supplied in the
+ source code because they provide high quality error checking. On
+ some machines, our malloc () cannot be used (because of library
+ conflicts, for example), and for those, you should specifically
+ #undef USE_GNU_MALLOC in the machine description. */
+#define USE_GNU_MALLOC
+
+/* This causes the Gnu malloc library (from glibc) to be used. */
+/* #define USE_GNU_MALLOC_LIBRARY */
+
+/* Assume that every operating system supplies strchr () and strrchr ()
+ in a standard library until proven otherwise. */
+#define HAVE_STRCHR
+
+/* Hardware-dependent CFLAGS. */
+#define MACHINE_CFLAGS
+
+/* **************************************************************** */
+/* */
+/* Sun Microsystems Machines */
+/* */
+/* **************************************************************** */
+
+/* NetBSD running on a sparc. */
+#if defined (sparc) && defined (__NetBSD__)
+# define M_MACHINE "sun4"
+# define M_OS "NetBSD"
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DINT_GROUPS_ARRAY \
+ -DRLIMTYPE=quad_t
+# define SYSDEP_LDFLAGS -static
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_DIRENT
+# define HAVE_STRCASECMP
+# undef USE_GNU_MALLOC
+#endif /* sparc && __NetBSD__ */
+
+/* BSDI BSD/OS running on a sparc. */
+#if defined (sparc) && defined (__bsdi__)
+# define M_MACHINE "sun4"
+# define M_OS "BSD_OS"
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DRLIMTYPE=quad_t
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_DIRENT
+# define HAVE_STRCASECMP
+#endif /* sparc && __bsdi__ */
+
+#if defined (sun) && !defined (M_MACHINE)
+/* We aren't currently using GNU Malloc on Suns because of a bug in Sun's
+ YP which bites us when Sun free ()'s an already free ()'ed address.
+ When Sun fixes their YP, we can start using our winning malloc again. */
+#undef USE_GNU_MALLOC
+
+/* Most Sun systems have signal handler functions that are void. */
+# define VOID_SIGHANDLER
+
+/* Most Sun systems have the following. */
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define HAVE_GETGROUPS
+
+/* Check for SunOS4 or greater. */
+# if defined (SunOS5)
+# define M_OS "SunOS5"
+# define SYSDEP_CFLAGS -DUSGr4 -DUSG -DSolaris -DOPENDIR_NOT_ROBUST \
+ -DNO_SBRK_DECL -DINT_GROUPS_ARRAY
+# define EXTRA_LIB_SEARCH_PATH /usr/ccs/lib
+# if !defined (HAVE_GCC)
+# define REQUIRED_LIBRARIES -ldl
+# define SYSDEP_LDFLAGS -Bdynamic
+# endif /* !HAVE_GCC */
+# define HAVE_STRERROR
+# undef HAVE_GETWD
+# undef HAVE_SETLINEBUF
+# endif /* SunOS5 */
+
+# if defined (SunOS4)
+# define M_OS "SunOS4"
+# define SYSDEP_CFLAGS -DBSD_GETPGRP -DOPENDIR_NOT_ROBUST -DTERMIOS_LDISC \
+ -DINT_GROUPS_ARRAY
+# define HAVE_DIRENT
+# endif /* SunOS4 */
+
+# if !defined (SunOS4) && !defined (SunOS5)
+# define M_OS "SunOS3"
+# if !defined (sparc) && !defined (__sparc__)
+# undef VOID_SIGHANDLER
+# endif /* !sparc */
+# endif /* !SunOS4 && !SunOS5 */
+
+# if defined (mc68010)
+# define sun2
+# define M_MACHINE "sun2"
+# endif
+# if defined (mc68020)
+# define sun3
+# define M_MACHINE "sun3"
+# endif
+# if defined (sparc) || defined (__sparc__)
+# define sun4
+# define M_MACHINE "sparc"
+# endif
+# if defined (i386)
+# define done386
+# if !defined (SunOS5)
+# define Sun386i
+# define M_MACHINE "Sun386i"
+# else
+# define M_MACHINE "i386"
+# endif
+# endif /* i386 */
+
+#endif /* sun && !M_MACHINE */
+
+/* **************************************************************** */
+/* */
+/* DEC Machines (vax, decstations) */
+/* */
+/* **************************************************************** */
+
+/* ************************ */
+/* */
+/* Alpha with OSF/1 */
+/* */
+/* ************************ */
+#if defined (__alpha) || defined (alpha)
+# define M_MACHINE "alpha"
+# define M_OS "OSF1"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define HAVE_GETGROUPS
+# define VOID_SIGHANDLER
+# define USE_TERMCAP_EMULATION
+# if !defined (__GNUC__)
+# define SYSDEP_CFLAGS -DNLS -D_BSD
+# endif /* !__GNUC__ */
+# undef HAVE_ALLOCA
+# undef USE_GNU_MALLOC
+#endif /* __alpha || alpha */
+
+/* ************************ */
+/* */
+/* NetBSD/pmax (DEC mips) */
+/* */
+/* ************************ */
+#if defined(mips) && defined(__NetBSD__)
+# define M_MACHINE "mips"
+# define M_OS "NetBSD"
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DINT_GROUPS_ARRAY \
+ -DRLIMTYPE=quad_t
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_DIRENT
+# define HAVE_STRCASECMP
+#endif /* mips && __NetBSD__ */
+
+/* ************************ */
+/* */
+/* Ultrix */
+/* */
+/* ************************ */
+#if defined (ultrix)
+# if defined (MIPSEL)
+# undef HAVE_ALLOCA_H
+# define M_MACHINE "MIPSEL"
+# else /* !MIPSEL */
+# define M_MACHINE "vax"
+# endif /* !MIPSEL */
+# define SYSDEP_CFLAGS -DBSD_GETPGRP -DTERMIOS_MISSING -DTERMIOS_LDISC \
+ -DINT_GROUPS_ARRAY
+# define M_OS "Ultrix"
+# define HAVE_DIRENT
+# define VOID_SIGHANDLER
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define HAVE_GETGROUPS
+# undef HAVE_DUP2
+#endif /* ultrix */
+
+/* ************************ */
+/* */
+/* VAX 4.3 BSD */
+/* */
+/* ************************ */
+#if defined (vax) && !defined (ultrix)
+# define M_MACHINE "vax"
+# define M_OS "Bsd"
+# define HAVE_SETLINEBUF
+# define HAVE_SYS_SIGLIST
+# define HAVE_GETGROUPS
+# define USE_VFPRINTF_EMULATION
+#endif /* vax && !ultrix */
+
+/* ************************ */
+/* */
+/* Tahoe 4.3 BSD */
+/* */
+/* ************************ */
+#if defined (tahoe)
+# define M_MACHINE "tahoe"
+# define M_OS "Bsd"
+# define HAVE_SETLINEBUF
+# define HAVE_SYS_SIGLIST
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+#endif /* tahoe */
+
+/* **************************************************************** */
+/* */
+/* Machines with MIPSco processors */
+/* */
+/* **************************************************************** */
+
+/* **************************************** */
+/* */
+/* SGI Iris/IRIX */
+/* */
+/* **************************************** */
+#if defined (sgi)
+# if defined (Irix3)
+# define M_OS "Irix3"
+# if !defined (HAVE_GCC)
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -real_frameptr -Wf,-XNl3072
+# endif
+# undef HAVE_ALLOCA
+# endif /* Irix3 */
+# if defined (Irix4)
+# define M_OS "Irix4"
+# if !defined (HAVE_GCC)
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -Wf,-XNl3072
+# endif
+# endif /* Irix4 */
+# if defined (Irix5)
+# define M_OS "Irix5"
+# if !defined (HAVE_GCC)
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -Wf,-XNl3072
+# endif
+# endif /* Irix5 */
+# if defined (Irix6)
+# define M_OS "Irix6"
+# if !defined (HAVE_GCC)
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -mips2
+# endif /* !HAVE_GCC */
+# endif /* Irix6 */
+# define M_MACHINE "sgi"
+# define HAVE_GETGROUPS
+# define VOID_SIGHANDLER
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define REQUIRED_LIBRARIES -lsun
+ /* SGI cc uses ansi c features *without* defining __STDC__ */
+# if defined (__EXTENSIONS__) && !defined (__STDC__)
+# define ANSIC -D__STDC__
+# else
+# define ANSIC
+# endif /* !__EXTENSIONS__ || __STDC__ */
+# if defined (Irix5) || defined (Irix6)
+# define SGI_CFLAGS -DUSG -DPGRP_PIPE -DHAVE_BCOPY -DHAVE_GETPW_DECLS \
+ -DHAVE_SOCKETS -DNO_SBRK_DECL
+# else
+# define SGI_CFLAGS -DUSG -DPGRP_PIPE -DHAVE_BCOPY -DHAVE_GETPW_DECLS \
+ -DHAVE_SOCKETS
+# endif /* !Irix5 */
+# define SYSDEP_CFLAGS SGI_CFLAGS MACHINE_CFLAGS ANSIC
+# define SYSDEP_LDFLAGS MACHINE_CFLAGS
+#endif /* sgi */
+
+/* ************************ */
+/* */
+/* NEC EWS 4800 */
+/* */
+/* ************************ */
+#if defined (nec_ews)
+# if defined (SYSTYPE_SYSV) || defined (USGr4)
+# define M_MACHINE "ews4800"
+# define M_OS "USG"
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_STRERROR
+# define HAVE_DUP2
+# undef HAVE_GETWD
+# undef HAVE_RESOURCE /* ? */
+ /* Alloca requires either Gcc or cc with -lucb. */
+# if !defined (HAVE_GCC)
+# define EXTRA_LIB_SEARCH_PATH /usr/ucblib
+# define REQUIRED_LIBRARIES -lc -lucb
+# endif /* !HAVE_GCC */
+# if defined (MIPSEB)
+# if !defined (HAVE_GCC)
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -Wf,-XNl3072
+# endif
+# define SYSDEP_CFLAGS MACHINE_CFLAGS -DUSGr4 -DUSGr3 -D_POSIX_JOB_CONTROL
+# else /* !MIPSEB */
+# define SYSDEP_CFLAGS -DUSGr4
+# endif /* MIPSEB */
+# else /* !SYSTYPE_SYSV && !USGr4 */
+# define M_OS "Bsd"
+# endif /* !SYSTYPE_SYSV && !USGr4 */
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+#endif /* nec_ews */
+
+/* ************************ */
+/* */
+/* Generic MIPS SVR4, 4.2 */
+/* */
+/* ************************ */
+#if defined (MIPSEB) && defined (USGr4)
+# define M_MACHINE "MIPSEB"
+# define M_OS "USG"
+# if defined (sony) && !defined (HAVE_GCC)
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -Wf,-XNl3072
+# endif
+/* XXX - os/svr4.h -- for the future -- XXX */
+# undef HAVE_GETWD
+# define HAVE_DIRENT
+# define HAVE_STRERROR
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+/* alloca */
+# if !defined (HAVE_GCC)
+# define EXTRA_LIB_SEARCH_PATH /usr/ucblib
+# define REQUIRED_LIBRARIES -lc -lucb
+# endif /* !HAVE_GCC */
+# if defined (USGr4_2)
+# define SYSDEP_CFLAGS MACHINE_CFLAGS -DUSGr4 -DUSGr4_2
+# else
+# define SYSDEP_CFLAGS MACHINE_CFLAGS -DUSGr4
+# endif /* !USGr4_2 */
+#endif
+
+/* ************************ */
+/* */
+/* Sony */
+/* */
+/* ************************ */
+#if defined (sony) && !defined (M_MACHINE)
+# if defined (MIPSEB)
+# define M_MACHINE "MIPSEB"
+# else /* !MIPSEB */
+# define M_MACHINE "sony"
+# endif /* !MIPSEB */
+
+# if defined (SYSTYPE_SYSV) || defined (USGr4)
+# define M_OS "USG"
+# undef HAVE_GETWD
+# define HAVE_DIRENT
+# define HAVE_STRERROR
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+ /* Alloca requires either Gcc or cc with -lucb. */
+# if !defined (HAVE_GCC)
+# define EXTRA_LIB_SEARCH_PATH /usr/ucblib
+# define REQUIRED_LIBRARIES -lc -lucb
+# endif /* !HAVE_GCC */
+# if defined (MIPSEB)
+# if !defined (HAVE_GCC)
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -Wf,-XNl3072
+# endif
+# define SYSDEP_CFLAGS MACHINE_CFLAGS -DUSGr4
+# else /* !MIPSEB */
+# define SYSDEP_CFLAGS -DUSGr4
+# endif /* !MIPSEB */
+# else /* !SYSTYPE_SYSV && !USGr4 */
+# define M_OS "Bsd"
+# define SYSDEP_CFLAGS -DHAVE_UID_T
+# endif /* !SYSTYPE_SYSV && !USGr4 */
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+#endif /* sony */
+
+/* ******************************* */
+/* */
+/* Ardent Titan OS v2.2 and later */
+/* */
+/* ******************************* */
+#if defined (ardent)
+# define M_MACHINE "Ardent Titan"
+# define M_OS "Bsd"
+# if defined (titan)
+# undef HAVE_GETGROUPS
+# else
+# define HAVE_GETGROUPS
+# endif /* !titan */
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define SYSDEP_CFLAGS -43 -w
+# define SYSDEP_LDFLAGS -43
+# undef HAVE_ALLOCA
+# undef USE_GNU_MALLOC
+# undef HAVE_VFPRINTF
+# undef HAVE_DIRENT_H
+#endif /* ardent */
+
+/* ************************ */
+/* */
+/* Stardent */
+/* */
+/* ************************ */
+#if defined (stardent) && !defined (M_MACHINE)
+# define M_MACHINE "Stardent"
+# define M_OS "USG"
+# define HAVE_SYS_SIGLIST
+# define USE_TERMCAP_EMULATION
+# define VOID_SIGHANDLER
+# undef HAVE_GETWD
+# undef HAVE_ALLOCA
+#endif /* stardent */
+
+/* ******************************** */
+/* */
+/* MIPS RISC/os */
+/* */
+/* ******************************** */
+
+/* Notes on compiling with "make":
+
+ * Place /bsd43/bin in your PATH before /bin.
+ * Use `$(CC) -E' instead of `/lib/cpp' in Makefile.
+*/
+#if defined (mips) && ((!defined (M_MACHINE) && !defined (__nonstopux)) || defined (RiscOS))
+
+# if defined (MIPSEB)
+# define M_MACHINE "MIPSEB"
+# else /* !MIPSEB */
+# if defined (MIPSEL)
+# define M_MACHINE "MIPSEL"
+# else /* !MIPSEL */
+# define M_MACHINE "mips"
+# endif /* !MIPSEL */
+# endif /* !MIPSEB */
+
+# define M_OS "Bsd"
+
+ /* Special things for machines from MIPS Co. */
+# define MIPS_CFLAGS -DOPENDIR_NOT_ROBUST -DPGRP_PIPE
+
+# if !defined (HAVE_GCC)
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -Wf,-XNl3072 -systype bsd43
+# define SYSDEP_LDFLAGS -systype bsd43
+# endif /* !HAVE_GCC */
+# define SYSDEP_CFLAGS MACHINE_CFLAGS MIPS_CFLAGS
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define HAVE_GETGROUPS
+# undef HAVE_UNISTD_H
+# if !defined (HAVE_RESOURCE)
+# define HAVE_RESOURCE
+# endif /* !HAVE_RESOURCE */
+ /* /usr/include/sys/wait.h appears not to work correctly, so why use it? */
+# undef HAVE_WAIT_H
+#endif /* mips */
+
+/* ************************ */
+/* */
+/* Pyramid */
+/* */
+/* ************************ */
+#if defined (pyr)
+# define M_MACHINE "Pyramid"
+# define M_OS "Bsd"
+# if !defined (HAVE_GCC)
+# undef HAVE_ALLOCA
+# endif /* HAVE_GCC */
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+#endif /* pyr */
+
+/* ************************ */
+/* */
+/* IBMRT */
+/* */
+/* ************************ */
+#if defined (ibm032)
+# define M_MACHINE "IBMRT"
+# define M_OS "Bsd"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define USE_VFPRINTF_EMULATION
+ /* Alloca requires either gcc or hc or pcc with -ma in SYSDEP_CFLAGS. */
+# if !defined (HAVE_GCC)
+# define SYSDEP_CFLAGS -ma -U__STDC__
+# endif /* !HAVE_GCC */
+# define HAVE_GETGROUPS
+/* #define USE_GNU_TERMCAP */
+#endif /* ibm032 */
+
+/* **************************************************************** */
+/* */
+/* All Intel 386 Processor Machines are Defined Here! */
+/* */
+/* **************************************************************** */
+
+#if defined (i386)
+
+/* Sequent Symmetry running Dynix/ptx 2.x */
+# if !defined (done386) && defined (_SEQUENT_)
+# define done386
+# define M_MACHINE "Symmetry"
+# define M_OS "Dynix"
+# define DYNIX_CFLAGS -DHAVE_GETDTABLESIZE -DHAVE_SETDTABLESIZE \
+ -DHAVE_GETPW_DECLS -DHAVE_SOCKETS
+# define SYSDEP_CFLAGS -DUSG -DUSGr3 DYNIX_CFLAGS
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+/* Might need to add -lsocket -linet -lnsl to the list of libraries. */
+# define REQUIRED_LIBRARIES -lPW -lseq
+# undef HAVE_GETWD
+# undef HAVE_RESOURCE
+# undef HAVE_ALLOCA
+# endif /* _SEQUENT_ */
+
+/* Sequent Symmetry running Dynix (4.2 BSD) */
+# if !defined (done386) && defined (sequent)
+# define done386
+# define M_MACHINE "Symmetry"
+# define M_OS "Bsd"
+# define SYSDEP_CFLAGS -DCPCC -DHAVE_SETDTABLESIZE
+# define HAVE_SETLINEBUF
+# define HAVE_SYS_SIGLIST
+# define HAVE_GETGROUPS
+# define LD_HAS_NO_DASH_L
+# undef HAVE_DUP2
+# endif /* Sequent 386 */
+
+/* NeXT 3.x on i386 */
+# if !defined (done386) && defined (NeXT)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "NeXTstep"
+# define HAVE_VFPRINTF
+# define HAVE_SYS_SIGLIST
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# if !defined (HAVE_RESOURCE)
+# define HAVE_RESOURCE
+# endif
+# define HAVE_STRCASECMP
+# define GCC_STANDARD
+# undef HAVE_GETWD
+# undef HAVE_GETCWD
+# undef USE_GNU_MALLOC
+# undef HAVE_DIRENT_H
+# define SYSDEP_CFLAGS -DNeXT -DMKFIFO_MISSING -DRLOGIN_PGRP_BUG
+# endif
+
+/* Generic 386 clone running Mach (4.3 BSD-compatible). */
+# if !defined (done386) && defined (MACH)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "Bsd"
+# define HAVE_SETLINEBUF
+# define HAVE_SYS_SIGLIST
+# define HAVE_GETGROUPS
+# endif /* i386 && MACH */
+
+/* AIX PS/2 1.[23] for the [34]86. */
+# if !defined (done386) && defined (aixpc)
+# define done386
+# define M_MACHINE "aixpc"
+# define M_OS "AIX"
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# if defined (AIX_13) /* AIX PS/2 1.3 */
+# define SYSDEP_CFLAGS -DTERMIOS_LDISC
+# define REQUIRED_LIBRARIES -lc_s
+# else
+# define SYSDEP_CFLAGS -D_BSD -DTERMIOS_LDISC
+# define REQUIRED_LIBRARIES -lbsd -lc_s
+# endif /* !AIX_13 */
+# define HAVE_GETGROUPS
+# if !defined (HAVE_GCC)
+# undef HAVE_ALLOCA
+# undef HAVE_ALLOCA_H
+# endif /* !HAVE_GCC */
+# define USE_TERMCAP_EMULATION
+# endif /* AIXPC i386 */
+
+/* System V Release 4 on the 386 */
+# if !defined (done386) && defined (USGr4)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "USG"
+# define HAVE_DIRENT
+# define HAVE_SYS_SIGLIST
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+ /* Alloca requires either Gcc or cc with -lucb. */
+# if !defined (HAVE_GCC)
+# define EXTRA_LIB_SEARCH_PATH /usr/ucblib
+# define REQUIRED_LIBRARIES -lc -lucb
+# endif /* !HAVE_GCC */
+# define HAVE_GETGROUPS
+# if defined (USGr4_2)
+# define SYSDEP_CFLAGS -DUSGr4 -DUSGr4_2 -DNO_SBRK_DECL
+# else
+# define SYSDEP_CFLAGS -DUSGr4
+# endif /* ! USGr4_2 */
+# undef HAVE_GETWD
+# endif /* System V Release 4 on i386 */
+
+/* 386 box running Interactive Unix 2.2 or greater. */
+# if !defined (done386) && defined (isc386)
+# define done386
+# define M_MACHINE "isc386"
+# define M_OS "USG"
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# define USE_TERMCAP_EMULATION
+# if defined (HAVE_GCC)
+# define SYSDEP_LDFLAGS -posix
+# define ISC_POSIX
+# else
+# define REQUIRED_LIBRARIES -lPW
+# define SYSDEP_LDFLAGS -Xp
+# define ISC_POSIX -Xp
+# endif
+# define ISC_SYSDEPS -DUSGr3 -DPGRP_PIPE -DHAVE_GETPW_DECLS -D_POSIX_SOURCE -DOPENDIR_NOT_ROBUST -DMEMMOVE_MISSING -DWAITPID_BROKEN
+# if defined (__STDC__)
+# if defined (HAVE_GCC)
+# define ISC_EXTRA -DO_NDELAY=O_NONBLOCK
+# else
+# define ISC_EXTRA -Dmode_t="unsigned short" -DO_NDELAY=O_NONBLOCK
+# endif /* HAVE_GCC */
+# else
+# define ISC_EXTRA
+# endif /* __STDC__ */
+# define SYSDEP_CFLAGS ISC_SYSDEPS ISC_POSIX ISC_EXTRA
+# undef HAVE_GETWD
+# if !defined (ISC_4)
+# undef HAVE_GETCWD
+# else
+# undef HAVE_RESOURCE
+# endif /* ISC_4 */
+# endif /* isc386 */
+
+/* Xenix386 machine (with help from Ronald Khoo <ronald@robobar.co.uk>). */
+# if !defined (done386) && defined (Xenix386)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "Xenix"
+# define XENIX_CFLAGS -DUSG -DUSGr3 -DMEMMOVE_MISSING
+
+# if defined (XENIX_22)
+# define XENIX_EXTRA -DREVERSED_SETVBUF_ARGS
+# define REQUIRED_LIBRARIES -lx
+# else /* !XENIX_22 */
+# define HAVE_DIRENT
+# if defined (XENIX_23)
+# define XENIX_EXTRA -DLD_HAS_NO_DASH_L
+# define REQUIRED_LIBRARIES -ldir
+# else /* !XENIX_23 */
+# define XENIX_EXTRA -xenix
+# define SYSDEP_LDFLAGS -xenix
+# define REQUIRED_LIBRARIES -ldir -l2.3
+# endif /* !XENIX_23 */
+# endif /* !XENIX_22 */
+
+# define SYSDEP_CFLAGS XENIX_CFLAGS XENIX_EXTRA
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define ALLOCA_ASM x386-alloca.s
+# define ALLOCA_OBJ x386-alloca.o
+# undef HAVE_ALLOCA
+# undef HAVE_GETWD
+# undef HAVE_RESOURCE
+# endif /* Xenix386 */
+
+/* SCO UNIX 3.2 chip@count.tct.com (Chip Salzenberg) */
+# if !defined (done386) && defined (M_UNIX)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "SCO"
+# define SCO_CFLAGS -DUSG -DUSGr3 -DPGRP_PIPE
+# if defined (SCOv4) || defined (SCOv5)
+# define SYSDEP_CFLAGS SCO_CFLAGS -DWAITPID_BROKEN
+# else /* !SCOv4 && !SCOv5 */
+# define SYSDEP_CFLAGS SCO_CFLAGS -DOPENDIR_NOT_ROBUST -DMUST_UNBLOCK_CHILD
+# endif /* !SCOv4 && !SCOv5 */
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# undef HAVE_GETWD
+# undef HAVE_RESOURCE
+/* advice from wbader@cess.lehigh.edu and Eduard.Vopicka@vse.cz */
+# if !defined (HAVE_GCC)
+# define REQUIRED_LIBRARIES -lc_s -lc -lPW
+# else
+# define REQUIRED_LIBRARIES -lc_s -lc
+# endif /* !HAVE_GCC */
+# endif /* SCO Unix on 386 boxes. */
+
+# if !defined (done386) && defined (__OSF1__)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "OSF1"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define HAVE_GETGROUPS
+# define VOID_SIGHANDLER
+# define HAVE_BCOPY
+# define USE_TERMCAP_EMULATION
+# define SYSDEP_CFLAGS -D_BSD
+# define REQUIRED_LIBRARIES -lbsd
+# endif /* OSF/1 */
+
+/* BSDI BSD/OS running on a 386 or 486. */
+# if !defined (done386) && defined (__bsdi__)
+# define done386
+# define M_MACHINE "i386"
+# if defined (BSDI2)
+# define M_OS "BSD_OS"
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DRLIMTYPE=quad_t
+# else
+# define M_OS "BSD386"
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DINT_GROUPS_ARRAY
+# endif
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_DIRENT
+# define HAVE_STRCASECMP
+# endif /* !done386 && bsdi */
+
+/* NetBSD running on a 386 or 486. */
+# if !defined (done386) && defined (__NetBSD__)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "NetBSD"
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DINT_GROUPS_ARRAY \
+ -DRLIMTYPE=quad_t
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_DIRENT
+# define HAVE_STRCASECMP
+# endif /* !done386 && __NetBSD__ */
+
+/* FreeBSD running on a 386 or 486. */
+# if !defined (done386) && defined (__FreeBSD__)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "FreeBSD"
+# if __FreeBSD__ > 1
+# define SYSDEP_CFLAGS -D__BSD_4_4__ -DRLIMTYPE=quad_t
+# else
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DINT_GROUPS_ARRAY
+# endif
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_DIRENT
+# define HAVE_STRCASECMP
+# define GCC_STANDARD
+# endif /* !done386 && __FreeBSD__ */
+
+/* Jolitz 386BSD running on a 386 or 486. */
+# if !defined (done386) && defined (__386BSD__)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "_386BSD"
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DINT_GROUPS_ARRAY
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_DIRENT
+# define HAVE_STRCASECMP
+# endif /* !done386 && __386BSD__ */
+
+# if !defined (done386) && (defined (__linux__) || defined (linux))
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "Linux"
+# define SYSDEP_CFLAGS -DHAVE_GETDTABLESIZE -DHAVE_BCOPY \
+ -DHAVE_GETPW_DECLS -DHAVE_GETHOSTNAME
+# define REQUIRED_LIBRARIES
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_SYS_SIGLIST
+# define HAVE_VFPRINTF
+# define HAVE_VARARGS_H
+# define SEARCH_LIB_NEEDS_SPACE
+# if defined (__GNUC__)
+# define HAVE_FIXED_INCLUDES
+# endif /* __GNUC__ */
+# undef USE_GNU_MALLOC
+# undef HAVE_SETLINEBUF
+# undef HAVE_GETWD
+# endif /* !done386 && __linux__ */
+
+/* QNX 4.2 with GCC pt@flard.ocunix.on.ca (Paul Trunley) */
+# if !defined (done386) && defined (qnx)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "QNX"
+# define SYSDEP_CFLAGS -D_POSIX_SOURCE -O2 -DUSG
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_GCC
+# define HAVE_FIXED_INCLUDES
+# define HAVE_STRERROR
+# define HAVE_GETGROUPS
+# undef USE_GNU_MALLOC
+# endif /* QNX 4.2 with GCC */
+
+/* Lynx 2.1.0 (Mike Brennen <mbrennen@maverick.intecom.com>) */
+# if !defined (done386) && (defined (__Lynx__) || defined (Lynx))
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "Lynx"
+# define SYSDEP_CFLAGS -DHAVE_GETDTABLESIZE -DHAVE_BCOPY
+# define REQUIRED_LIBRARIES -lc_p
+# define HAVE_GETGROUPS
+# define VOID_SIGHANDLER
+# define HAVE_SYS_SIGLIST
+# define HAVE_VFPRINTF
+# define HAVE_VARARGS_H
+# if defined (__GNUC__)
+# define HAVE_FIXED_INCLUDES
+# endif /* __GNUC__ */
+/* Actually, Lynx does have unistd.h, but it defines _POSIX_VERSION,
+ and doesn't supply a fully compatible job control package. We just
+ pretend that it doesn't have it. */
+# undef HAVE_UNISTD_H
+/* Lynx's wait structure reverses w_Stopval and w_Stopsig - don't use it */
+# undef HAVE_WAIT_H
+# undef HAVE_DIRENT_H
+# endif /* !done386 && __Lynx__ */
+
+/* Assume a generic 386 running Sys V Release 3. */
+# if !defined (done386)
+# define done386
+# define M_MACHINE "i386"
+# define M_OS "USG"
+# define SYSDEP_CFLAGS -DUSGr3
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+ /* Alloca requires either Gcc or cc with libPW.a */
+# if !defined (HAVE_GCC)
+# define REQUIRED_LIBRARIES -lPW
+# endif /* !HAVE_GCC */
+# undef HAVE_GETWD
+# endif /* Generic i386 Box running Sys V release 3. */
+#endif /* All i386 Machines with an `i386' define in cpp. */
+
+/* **************************************************************** */
+/* */
+/* Alliant FX/800 */
+/* */
+/* **************************************************************** */
+/* Original descs flushed. FX/2800 machine desc 1.13 bfox@ai.mit.edu.
+ Do NOT use -O with the stock compilers. If you must optimize, use
+ -uniproc with fxc, and avoid using scc. */
+#if defined (alliant)
+# define M_MACHINE "alliant"
+# define M_OS "Concentrix"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_RESOURCE
+# define VOID_SIGHANDLER
+# define HAVE_STRERROR
+# define USE_GNU_MALLOC
+# define LD_HAS_NO_DASH_L
+# define SYSDEP_CFLAGS -DTERMIOS_MISSING -DMKFIFO_MISSING \
+ -DBSD_GETPGRP -DRLOGIN_PGRP_BUG -w
+ /* Actually, Alliant does have unistd.h, but it defines _POSIX_VERSION,
+ and doesn't supply a fully compatible job control package. We just
+ pretend that it doesn't have it. */
+# undef HAVE_UNISTD_H
+# undef HAVE_ALLOCA
+#endif /* alliant */
+
+/* ********************* */
+/* */
+/* Linux/m68k */
+/* */
+/* ********************* */
+#if defined (mc68000) && (defined (__linux__) || defined (linux))
+# define M_MACHINE "m68k"
+# define M_OS "Linux"
+# define SYSDEP_CFLAGS -DHAVE_BCOPY -DHAVE_GETPW_DECLS -DHAVE_GETHOSTNAME
+# define REQUIRED_LIBRARIES
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_SYS_SIGLIST
+# define HAVE_VFPRINTF
+# define HAVE_VARARGS_H
+# if defined (__GNUC__)
+# define HAVE_FIXED_INCLUDES
+# endif /* __GNUC__ */
+# undef USE_GNU_MALLOC
+# undef HAVE_SETLINEBUF
+# define HAVE_STRCASECMP
+#endif /* mc68000 && __linux__ */
+
+/* **************************************************************** */
+/* */
+/* Motorola Delta series running System V R3V6/7 */
+/* */
+/* **************************************************************** */
+/* Contributed by Robert L. McMillin (rlm@ms_aspen.hac.com). */
+
+#if defined (m68k) && defined (sysV68)
+# define M_MACHINE "Delta"
+# define M_OS "USG"
+# define SYSDEP_CFLAGS -DUSGr3 -DMEMMOVE_MISSING
+# define VOID_SIGHANDLER
+# define HAVE_VFPRINTF
+# define REQUIRED_LIBRARIES -lm881
+# undef HAVE_GETWD
+# undef HAVE_RESOURCE
+# undef HAVE_DUP2
+# undef HAVE_ALLOCA
+#endif /* Delta series */
+
+/* **************************************************************** */
+/* */
+/* Gould 9000 - UTX/32 R2.1A */
+/* */
+/* **************************************************************** */
+#if defined (gould) /* Maybe should be GOULD_PN ? */
+# define M_MACHINE "gould"
+# define M_OS "Bsd"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+#endif /* gould */
+
+/* ************************ */
+/* */
+/* NeXT */
+/* */
+/* ************************ */
+#if defined (NeXT) && !defined (M_MACHINE)
+# define M_MACHINE "NeXT"
+# define M_OS "NeXTstep"
+# define HAVE_VFPRINTF
+# define HAVE_SYS_SIGLIST
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# if !defined (HAVE_RESOURCE)
+# define HAVE_RESOURCE
+# endif
+# define HAVE_STRCASECMP
+# define GCC_STANDARD
+# undef HAVE_GETWD
+# undef HAVE_GETCWD
+# undef HAVE_DIRENT_H
+# define SYSDEP_CFLAGS -DMKFIFO_MISSING -DRLOGIN_PGRP_BUG
+# undef USE_GNU_MALLOC
+#endif /* NeXT */
+
+/* ********************** */
+/* */
+/* m68k NetBSD */
+/* */
+/* ********************** */
+#if defined (m68k) && defined (__NetBSD__)
+# include <machine/param.h>
+# define M_MACHINE MACHINE
+# define M_OS "NetBSD"
+/* os/netbsd.h */
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DINT_GROUPS_ARRAY \
+ -DRLIMTYPE=quad_t
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_DIRENT
+# define HAVE_STRCASECMP
+#endif /* m68k && __NetBSD__ */
+
+/* ************************ */
+/* */
+/* hp9000 4.4 BSD */
+/* */
+/* ************************ */
+#if defined (hp9000) && defined (__BSD_4_4__)
+# define M_MACHINE "hp9000"
+# define M_OS "BSD_4_4"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_STRCASECMP
+# define SYSDEP_CFLAGS -DHAVE_GETDTABLESIZE -DHAVE_BCOPY -DHAVE_RESOURCE
+# undef HAVE_ALLOCA
+#endif /* hp9000 && __BSD_4_4__ */
+
+/* ************************ */
+/* */
+/* hp9000 4.3 BSD */
+/* */
+/* ************************ */
+#if defined (hp9000) && !defined (hpux) && !defined (M_MACHINE)
+# define M_MACHINE "hp9000"
+# define M_OS "Bsd"
+# undef HAVE_ALLOCA
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define USE_VFPRINTF_EMULATION
+#endif /* hp9000 && !hpux */
+
+/* ************************ */
+/* */
+/* hpux */
+/* */
+/* ************************ */
+#if defined (hpux)
+
+/* HPUX comes in several different flavors, from pre-release 6.2 (basically
+ straight USG), to Posix compliant 9.0. */
+
+ /* HP machines come in several processor types.
+ They are distinguished here. */
+# if defined (hp9000s200) && !defined (hp9000s300)
+# define M_MACHINE "hp9000s200"
+# endif /* hp9000s200 */
+# if defined (hp9000s300) && !defined (M_MACHINE)
+# define M_MACHINE "hp9000s300"
+# endif /* hp9000s300 */
+# if defined (hp9000s500) && !defined (M_MACHINE)
+# define M_MACHINE "hp9000s500"
+# endif /* hp9000s500 */
+# if defined (hp9000s700) && !defined (M_MACHINE)
+# define M_MACHINE "hp9000s700"
+# endif /* hp9000s700 */
+# if defined (hp9000s800) && !defined (M_MACHINE)
+# define M_MACHINE "hp9000s800"
+# endif /* hp9000s800 */
+# if defined (hppa) && !defined (M_MACHINE)
+# define M_MACHINE "hppa"
+# endif /* hppa */
+
+/* Define the OS as the particular type that we are using. */
+/* This is for HP-UX systems earlier than HP-UX 6.2 -- no job control. */
+# if defined (HPUX_USG)
+# define M_OS "USG"
+# define HPUX_CFLAGS -Dhpux
+# define REQUIRED_LIBRARIES -lPW -lBSD
+# undef HAVE_WAIT_H
+# define HPUX_EXTRA
+# else /* !HPUX_USG */
+
+/* All of the other operating systems need HPUX to be defined. */
+# define HPUX_EXTRA -DHPUX -Dhpux -DHAVE_GETHOSTNAME -DUSG
+
+ /* HPUX 6.2 .. 6.5 require -lBSD for getwd (), and -lPW for alloca (). */
+# if defined (HPUX_6)
+# define M_OS "hpux_6"
+# define REQUIRED_LIBRARIES -lPW -lBSD
+# undef HAVE_ALLOCA
+# undef HAVE_WAIT_H
+# endif /* HPUX_6 */
+
+ /* On HP-UX 7.x, we do not link with -lBSD, so we don't have getwd (). */
+# if defined (HPUX_7)
+# define M_OS "hpux_7"
+# define REQUIRED_LIBRARIES -lPW
+# define HPUX_CFLAGS -DHAVE_SOCKETS
+# undef HAVE_GETWD
+# undef USE_GNU_MALLOC
+# endif /* HPUX_7 */
+
+ /* HP-UX 8.x systems do not have a working alloca () on all platforms.
+ This can cause us problems, especially when globbing. HP has the
+ same YP bug as Sun, so we #undef USE_GNU_MALLOC. */
+# if defined (HPUX_8)
+# define M_OS "hpux_8"
+# if !defined (__GNUC__)
+# undef HAVE_ALLOCA
+# define HPUX_ANSI +O3 -Aa -D_HPUX_SOURCE
+# else
+# define HPUX_ANSI
+# endif
+# undef HAVE_GETWD
+# undef USE_GNU_MALLOC
+# define HPUX_CFLAGS -DNO_SBRK_DECL -DHAVE_SOCKETS HPUX_ANSI
+# endif /* HPUX_8 */
+
+ /* HP-UX 9.0 reportedly fixes the alloca problems present in the 8.0
+ release. If so, -lPW is required to include it. */
+# if defined (HPUX_9)
+# define M_OS "hpux_9"
+# if !defined (__GNUC__)
+# undef HAVE_ALLOCA
+# define HPUX_ANSI +O3 -Ae
+# else
+# define HPUX_ANSI
+# endif
+# undef HAVE_GETWD
+# undef USE_GNU_MALLOC
+# undef HAVE_RESOURCE
+# define HPUX_CFLAGS -DNO_SBRK_DECL -DHAVE_SOCKETS -DHAVE_GETHOSTNAME HPUX_ANSI
+# endif /* HPUX_9 */
+
+# if defined (HPUX_10)
+# define M_OS "hpux_10"
+# if !defined (__GNUC__)
+# undef HAVE_ALLOCA
+# define HPUX_ANSI +O3 -Ae
+# else
+# define HPUX_ANSI
+# endif
+# undef HAVE_GETWD
+# undef USE_GNU_MALLOC
+# undef HAVE_RESOURCE
+# define HPUX_CFLAGS -DNO_SBRK_DECL -DHAVE_SOCKETS -DHAVE_GETHOSTNAME -DBSD_GETPGRP HPUX_ANSI
+# endif /* HPUX_9 */
+
+# endif /* !HPUX_USG */
+
+ /* All of the HPUX systems that we have tested have the following. */
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define USE_TERMCAP_EMULATION
+# define SEARCH_LIB_NEEDS_SPACE
+
+# if defined (HPUX_CFLAGS)
+# define SYSDEP_CFLAGS HPUX_CFLAGS HPUX_EXTRA
+# else /* !HPUX_CFLAGS */
+# define SYSDEP_CFLAGS HPUX_EXTRA
+# endif /* !HPUX_CFLAGS */
+
+#endif /* hpux */
+
+/* ************************ */
+/* */
+/* MIPS OSF/1 */
+/* */
+/* ************************ */
+# if defined (MIPSEL) && defined (__OSF1__)
+# define M_MACHINE "mips"
+# define M_OS "OSF1"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define HAVE_GETGROUPS
+# define VOID_SIGHANDLER
+# define HAVE_BCOPY
+# define USE_TERMCAP_EMULATION
+# define SYSDEP_CFLAGS -D_BSD
+# define REQUIRED_LIBRARIES -lbsd
+# endif /* MIPSEL && __OSF1__ */
+
+/* ************************ */
+/* */
+/* HP OSF/1 */
+/* */
+/* ************************ */
+#if defined (__hp_osf)
+# define M_MACHINE "HPOSF1"
+# define M_OS "OSF1"
+# define SYSDEP_CFLAGS -q no_sl_enable
+# define SYSDEP_LDFLAGS -q lang_level:classic
+# define REQUIRED_LIBRARIES -lPW
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# undef HAVE_ALLOCA
+#endif /* __hp_osf */
+
+/* ************************ */
+/* */
+/* KSR1 OSF/1 */
+/* */
+/* ************************ */
+#if defined (__ksr1__)
+# define M_MACHINE "KSR1"
+# define M_OS "OSF1"
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define SYSDEP_CFLAGS -DHAVE_GETDTABLESIZE -DHAVE_BCOPY -DHAVE_UID_T
+# undef HAVE_ALLOCA
+# undef USE_GNU_MALLOC
+#endif /* ksr1 */
+
+/* ************************ */
+/* */
+/* Intel Paragon - OSF/1 */
+/* */
+/* ************************ */
+#if defined (__i860) && defined (__PARAGON__)
+# define M_MACHINE "Paragon"
+# define M_OS "OSF1"
+# define HAVE_GETGROUPS
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_STRERROR
+# define HAVE_SYS_SIGLIST
+#endif /* __i860 && __PARAGON__ */
+
+/* ************************ */
+/* */
+/* IBM AIX/ESA (OSF/1) */
+/* */
+/* ************************ */
+#if defined(AIXESA) || (defined(__ibmesa) && defined(_AIX))
+# define M_MACHINE "IBMESA"
+# define M_OS "OSF1"
+# define HAVE_GETGROUPS
+# define HAVE_SETLINEBUF
+# define HAVE_VPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_STRERROR
+# define HAVE_SYS_SIGLIST
+# define HAVE_ALLOCA_H /* hack for AIX/ESA, which has malloc.h */
+# undef USE_GNU_MALLOC
+#endif /* AIXESA || (__ibmesa && _AIX) */
+
+/* ************************ */
+/* */
+/* Intel i860 -- SVR4 */
+/* */
+/* ************************ */
+#if defined (__i860) && defined (USGr4) && !defined (M_MACHINE)
+# define M_MACHINE "i860"
+# define M_OS "USG"
+# define HAVE_DIRENT
+# define HAVE_SYS_SIGLIST
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# if !defined (HAVE_GCC) && !defined (HAVE_ALLOCA_H)
+# undef HAVE_ALLOCA
+# endif /* !HAVE_GCC && !HAVE_ALLOCA_H */
+# if defined (USGr4_2)
+# define SYSDEP_CFLAGS -DUSGr4 -DUSGr4_2
+# else
+# define SYSDEP_CFLAGS -DUSGr4
+# endif /* ! USGr4_2 */
+# undef HAVE_GETWD
+#endif /* __i860 && USGr4 */
+
+/* ************************ */
+/* */
+/* Xenix286 */
+/* */
+/* ************************ */
+#if defined (Xenix286)
+# define M_MACHINE "i286"
+# define M_OS "Xenix"
+
+# define XENIX_CFLAGS -DUSG -DUSGr3 -DMEMMOVE_MISSING
+
+# if defined (XENIX_22)
+# define XENIX_EXTRA -DREVERSED_SETVBUF_ARGS
+# define REQUIRED_LIBRARIES -lx
+# else /* !XENIX_22 */
+# define HAVE_DIRENT
+# if defined (XENIX_23)
+# define XENIX_EXTRA -DLD_HAS_NO_DASH_L
+# define REQUIRED_LIBRARIES -ldir
+# else /* !XENIX_23 */
+# define XENIX_EXTRA -xenix
+# define SYSDEP_LDFLAGS -xenix
+# define REQUIRED_LIBRARIES -ldir -l2.3
+# endif /* !XENIX_23 */
+# endif /* !XENIX_22 */
+
+# define SYSDEP_CFLAGS XENIX_CFLAGS XENIX_EXTRA
+# undef HAVE_ALLOCA
+# undef HAVE_GETWD
+# undef HAVE_RESOURCE
+#endif /* Xenix286 */
+
+/* ************************ */
+/* */
+/* convex */
+/* */
+/* ************************ */
+#if defined (convex)
+# define M_MACHINE "convex"
+# define M_OS "Bsd"
+# undef HAVE_ALLOCA
+# define HAVE_SETLINEBUF
+# define HAVE_SYS_SIGLIST
+# define HAVE_GETGROUPS
+#endif /* convex */
+
+/* ************************ */
+/* */
+/* AIX/RT */
+/* */
+/* ************************ */
+#if defined (aix) && !defined (aixpc)
+# define M_MACHINE "AIXRT"
+# define M_OS "USG"
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define HAVE_SYS_SIGLIST
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# define USE_TERMCAP_EMULATION
+# if !defined (HAVE_GCC)
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -a
+# endif /* !HAVE_GCC */
+# define SYSDEP_CFLAGS MACHINE_CFLAGS -DNLS -DUSGr3 -DHAVE_BCOPY
+# undef USE_GNU_MALLOC
+# undef HAVE_ALLOCA
+# undef HAVE_RESOURCE
+#endif /* aix && !aixpc */
+
+/* **************************************** */
+/* */
+/* IBM RISC 6000 */
+/* */
+/* **************************************** */
+#if defined (RISC6000) || defined (_IBMR2)
+# define M_MACHINE "RISC6000"
+# define M_OS "AIX"
+# define HAVE_DIRENT
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define USE_TERMCAP_EMULATION
+# define HAVE_GETGROUPS
+# define SYSDEP_CFLAGS -DNLS -DUSGr3 -DHAVE_BCOPY
+# undef HAVE_ALLOCA
+# undef HAVE_GETWD
+# undef USE_GNU_MALLOC
+#endif /* RISC6000 */
+
+/* **************************************** */
+/* */
+/* u370 IBM AIX/370 */
+/* */
+/* **************************************** */
+#if defined (u370)
+# if defined (_AIX370)
+# define M_MACHINE "AIX370"
+# define M_OS "Bsd"
+# define REQUIRED_LIBRARIES -lbsd
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define SYSDEP_CFLAGS -D_BSD
+# define HAVE_GETGROUPS
+# define USE_TERMCAP_EMULATION
+# undef USE_GNU_MALLOC
+# endif /* _AIX370 */
+# if defined (USGr4) /* System V Release 4 on 370 series architecture. */
+# define M_MACHINE "uxp"
+# define M_OS "USG"
+# define HAVE_DIRENT
+# define HAVE_SYS_SIGLIST
+# define HAVE_VFPRINTF
+# define USE_GNU_MALLOC
+# define VOID_SIGHANDLER
+# if !defined (HAVE_GCC)
+# undef HAVE_ALLOCA
+# define EXTRA_LIB_SEARCH_PATH /usr/ucblib
+# define REQUIRED_LIBRARIES -lc -lucb
+# endif /* !HAVE_GCC */
+# define HAVE_GETGROUPS
+# define HAVE_RESOURCE
+# define SYSDEP_CFLAGS -DUSGr4 -DNO_SBRK_DECL
+# endif /* USGr4 */
+#endif /* u370 */
+
+/* ************************ */
+/* */
+/* ATT 3B */
+/* */
+/* ************************ */
+#if defined (att3b) || defined (u3b2)
+# if defined (att3b)
+# define M_MACHINE "att3b"
+# define HAVE_SYS_SIGLIST
+# else /* !att3b */
+# define M_MACHINE "u3b2"
+# endif /* !att3b */
+# define M_OS "USG"
+# undef HAVE_GETWD
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+ /* For an AT&T Unix before V.3 take out the -DUSGr3 and the HAVE_DIRENT. */
+# define SYSDEP_CFLAGS -DUSGr3
+# define HAVE_DIRENT
+ /* Alloca requires either Gcc or cc with libPW.a. */
+# if !defined (HAVE_GCC)
+# define REQUIRED_LIBRARIES -lPW
+# endif /* !HAVE_GCC */
+#endif /* att3b */
+
+/* ************************ */
+/* */
+/* ATT 386 */
+/* */
+/* ************************ */
+#if defined (att386)
+# define M_MACHINE "att386"
+# define M_OS "USG"
+# undef HAVE_GETWD
+ /* Alloca requires either Gcc or cc with libPW.a. */
+# if !defined (HAVE_GCC)
+# define REQUIRED_LIBRARIES -lPW
+# endif /* HAVE_GCC */
+# define HAVE_SYS_SIGLIST
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+ /* For an AT&T Unix before V.3 take out the -DUSGr3 and the HAVE_DIRENT. */
+# define SYSDEP_CFLAGS -DUSGr3
+# define HAVE_DIRENT
+#endif /* att386 */
+
+/* ************************ */
+/* */
+/* ATT UNIX PC */
+/* */
+/* ************************ */
+#if defined (unixpc)
+# define M_MACHINE "unixpc"
+# define M_OS "USG"
+# define HAVE_VFPRINTF
+# define HAVE_DIRENT
+# if defined (HAVE_GCC)
+# define REQUIRED_LIBRARIES -ldirent -shlib
+# else /* !HAVE_GCC */
+# define REQUIRED_LIBRARIES -ldirent
+# endif /* !HAVE_GCC */
+# undef HAVE_GETWD
+# undef HAVE_DUP2
+# undef VOID_SIGHANDLER
+# undef HAVE_WAIT_H
+#endif /* unixpc */
+
+/* ************************ */
+/* */
+/* Encore */
+/* */
+/* ************************ */
+#if defined (MULTIMAX)
+# if defined (n16)
+# define M_MACHINE "Multimax32k"
+# else
+# define M_MACHINE "Multimax"
+# endif /* n16 */
+# if defined (UMAXV)
+# define M_OS "USG"
+# define REQUIRED_LIBRARIES -lPW
+# define SYSDEP_CFLAGS -DUSGr3
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define USE_TERMCAP_EMULATION
+# define VOID_SIGHANDLER
+# else
+# if defined (CMU)
+# define M_OS "Mach"
+# else
+# define M_OS "Bsd"
+# endif /* CMU */
+# define HAVE_SYS_SIGLIST
+# define HAVE_STRERROR
+# define HAVE_SETLINEBUF
+# endif /* UMAXV */
+# define HAVE_GETGROUPS
+#endif /* MULTIMAX */
+
+/* ******************************************** */
+/* */
+/* Encore Series 91 (88K BCS w Job Control) */
+/* */
+/* ******************************************** */
+#if defined (__m88k) && defined (__UMAXV__)
+# define M_MACHINE "Gemini"
+# define M_OS "USG"
+# define REQUIRED_LIBRARIES -lPW
+# define USE_TERMCAP_EMULATION
+# define HAVE_DIRENT
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define SYSDEP_CFLAGS -q ext=pcc -D_POSIX_JOB_CONTROL -D_POSIX_VERSION \
+ -Dmalloc=_malloc -Dfree=_free -Drealloc=_realloc
+#endif /* m88k && __UMAXV__ */
+
+/* ******************************************** */
+/* */
+/* System V Release 4 on the ICL DRS6000 */
+/* */
+/* ******************************************** */
+#if defined (drs6000)
+# define M_MACHINE "drs6000"
+# define M_OS "USG"
+# define SYSDEP_CFLAGS -Xa -DUSGr4
+# define SEARCH_LIB_NEEDS_SPACE
+# define HAVE_DIRENT
+# define HAVE_SYS_SIGLIST
+# define HAVE_VFPRINTF
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define USE_GNU_TERMCAP
+# if !defined (__GNUC__)
+# undef HAVE_ALLOCA
+# endif
+# undef HAVE_ALLOCA_H
+# undef USE_GNU_MALLOC
+#endif /* drs6000 */
+
+/* ******************************************** */
+/* */
+/* System V Release 4 on the Sparc (generic) */
+/* */
+/* ******************************************** */
+#if defined (sparc) && defined (__svr4__) && !defined (M_MACHINE)
+# define M_MACHINE "sparc"
+# define M_OS "SVR4"
+# define SYSDEP_CFLAGS -DUSG -DUSGr4 -DHAVE_UID_T
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define USE_GNU_TERMCAP
+# if !defined (__GNUC__)
+# undef HAVE_ALLOCA
+# endif
+# undef HAVE_BCOPY
+# undef HAVE_GETWD
+# undef USE_GNU_MALLOC
+#endif /* sparc && __svr4__ */
+
+/* ******************************************** */
+/* */
+/* Commodore Amiga */
+/* */
+/* ******************************************** */
+#if defined (amiga) && defined (__NetBSD__)
+# define M_MACHINE "amiga"
+# define M_OS "NetBSD"
+# define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST -DINT_GROUPS_ARRAY \
+ -DRLIMTYPE=quad_t
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# define HAVE_DIRENT
+# define HAVE_STRCASECMP
+#endif /* amiga && __NetBSD__ */
+
+#if defined (amiga) && !defined (M_MACHINE)
+# define M_MACHINE "amiga"
+# define M_OS "USG"
+# define SYSDEP_CFLAGS -DUSGr4
+# if !defined (HAVE_GCC)
+# define EXTRA_LIB_SEARCH_PATH /usr/ucblib
+# define REQUIRED_LIBRARIES -lc -lucb
+# endif /* !HAVE_GCC */
+# define HAVE_DIRENT
+# define HAVE_SYS_SIGLIST
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# undef HAVE_GETWD
+# undef USE_GNU_MALLOC
+#endif /* System V Release 4 on amiga */
+
+/* ************************ */
+/* */
+/* clipper */
+/* */
+/* ************************ */
+/* This is for the Orion 1/05 (A BSD 4.2 box based on a Clipper processor) */
+#if defined (clipper) && !defined (M_MACHINE)
+# define M_MACHINE "clipper"
+# define M_OS "Bsd"
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+#endif /* clipper */
+
+/* ******************************** */
+/* */
+/* Integrated Solutions 68020? */
+/* */
+/* ******************************** */
+#if defined (is68k)
+# define M_MACHINE "is68k"
+# define M_OS "Bsd"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define USE_VFPRINTF_EMULATION
+# undef HAVE_ALLOCA
+#endif /* is68k */
+
+/* ******************************** */
+/* */
+/* Omron Luna/Mach 2.5 */
+/* */
+/* ******************************** */
+#if defined (luna88k)
+# define M_MACHINE "Luna88k"
+# define M_OS "Bsd"
+# define HAVE_SYS_SIGLIST
+# define USE_GNU_MALLOC
+# define HAVE_SETLINEBUF
+# define HAVE_VFPRINTF
+# define HAVE_GETGROUPS
+# define HAVE_VFPRINTF
+#endif /* luna88k */
+
+/* ************************ */
+/* */
+/* BBN Butterfly GP1000 */
+/* Mach 1000 v2.5 */
+/* */
+/* ************************ */
+#if defined (butterfly) && defined (BFLY1)
+#define M_MACHINE "BBN Butterfly"
+#define M_OS "Mach 1000"
+#define HAVE_SETLINEBUF
+#define HAVE_SYS_SIGLIST
+#define HAVE_GETGROUPS
+#define HAVE_VFPRINTF
+# ifdef BUILDING_MAKEFILE
+MAKE = make
+# endif /* BUILDING_MAKEFILE */
+#endif /* butterfly */
+
+/* **************************************** */
+/* */
+/* Apollo/SR10.2/BSD4.3 */
+/* */
+/* **************************************** */
+/* This is for the Apollo DN3500 running SR10.2 BSD4.3 */
+#if defined (apollo)
+# define M_MACHINE "apollo"
+# define M_OS "Bsd"
+# define SYSDEP_CFLAGS -D_POSIX_VERSION -D_INCLUDE_BSD_SOURCE \
+ -D_INCLUDE_POSIX_SOURCE -DTERMIOS_MISSING \
+ -DBSD_GETPGRP -Dpid_t=int
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+#endif /* apollo */
+
+/* ************************ */
+/* */
+/* DG AViiON */
+/* */
+/* ************************ */
+/* This is for the DG AViiON box (runs DG/UX with both AT&T & BSD features.) */
+/* DG/UX comes standard with Gcc. */
+#if defined (__DGUX__) || defined (DGUX)
+# define M_OS "DGUX"
+# if !defined (_M88KBCS_TARGET)
+# define M_MACHINE "AViiON"
+# define REQUIRED_LIBRARIES -ldgc
+# else /* _M88KBCS_TARGET */
+# define M_MACHINE "m88kBCS_AV"
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -D_M88K_SOURCE
+# undef HAVE_RESOURCE
+# endif /* _M88KBCS_TARGET */
+# define SYSDEP_CFLAGS MACHINE_CFLAGS -D_DGUX_SOURCE -DPGRP_PIPE -DUSG
+# define HAVE_GCC
+# define HAVE_FIXED_INCLUDES
+# define HAVE_STRERROR
+# define HAVE_GETGROUPS
+# define VOID_SIGHANDLER
+# undef HAVE_GETWD
+# undef USE_GNU_MALLOC
+
+/* If you want to build bash for M88K BCS compliance on a DG/UX 5.4
+ or above system, do the following:
+ - If you have built in this directory before run "make clean" to
+ endure the Bash directory is clean.
+ - Run "eval `sde-target m88kbcs`" to set the software development
+ environment to build BCS objects.
+ - Run "make".
+ - Do "eval `sde-target default`" to reset the SDE. */
+#endif /* __DGUX__ */
+
+/* ************************ */
+/* */
+/* Harris Night Hawk */
+/* */
+/* ************************ */
+/* This is for the Harris Night Hawk family. */
+#if defined (_CX_UX)
+# if defined (_M88K)
+# define M_MACHINE "nh4000"
+# else /* !_M88K */
+# if defined (hcx)
+# define M_MACHINE "nh2000"
+# else /* !hcx */
+# if defined (gcx)
+# define M_MACHINE "nh3000"
+# endif /* gcx */
+# endif /* !hcx */
+# endif /* !_M88K */
+# define M_OS "USG"
+# define SYSDEP_CFLAGS -g -Xa -v -Dgetwd=bash_getwd -D_POSIX_SOURCE \
+ -D_POSIX_JOB_CONTROL
+# define USE_TERMCAP_EMULATION
+# define HAVE_VFPRINTF
+# define HAVE_GETGROUPS
+# define VOID_SIGHANDLER
+# undef USE_GNU_MALLOC
+# undef HAVE_GETWD
+#endif /* _CX_UX */
+
+/* **************************************** */
+/* */
+/* Tektronix */
+/* */
+/* **************************************** */
+/* These are unproven as yet. */
+#if defined (Tek4132)
+# define M_MACHINE "Tek4132"
+# define M_OS "Bsd"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+#endif /* Tek4132 */
+
+#if defined (Tek4300)
+# define M_MACHINE "Tek4300"
+# define M_OS "Bsd"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+#endif /* Tek4300 */
+
+/* ************************ */
+/* */
+/* Tektronix XD88 */
+/* */
+/* ************************ */
+#if defined (m88k) && defined (XD88)
+# define M_MACHINE "XD88"
+# define M_OS "USG"
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define HAVE_GETCWD
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# undef HAVE_GETWD
+# undef HAVE_ALLOCA
+#endif /* m88k && XD88 */
+
+/* ************************ */
+/* */
+/* Motorola M88100 */
+/* */
+/* ************************ */
+#if defined (m88k) && (defined (M88100) || defined (USGr4))
+# define M_MACHINE "M88100"
+# define M_OS "USG"
+# if defined (USGr4)
+# define SYSDEP_CFLAGS -DUSGr4 -D_POSIX_JOB_CONTROL
+# else
+# define SYSDEP_CFLAGS -D_POSIX_JOB_CONTROL -DWAITPID_BROKEN
+# endif
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_GETGROUPS
+# undef HAVE_GETWD
+# if !defined (USGr4)
+# undef HAVE_GETCWD
+# endif
+# undef HAVE_ALLOCA
+#endif /* m88k && M88100 */
+
+/* ************************ */
+/* */
+/* Sequent Balances */
+/* (Dynix 3.x) */
+/* ************************ */
+#if defined (sequent) && !defined (M_MACHINE)
+# define M_MACHINE "Sequent"
+# define M_OS "Bsd"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# define LD_HAS_NO_DASH_L
+# undef HAVE_DUP2
+#endif /* sequent */
+
+/* ****************************************** */
+/* */
+/* NCR Tower 32, System V Release 3 */
+/* */
+/* ****************************************** */
+#if defined (tower32)
+# define M_MACHINE "tower32"
+# define M_OS "USG"
+# if !defined (HAVE_GCC)
+# define REQUIRED_LIBRARIES -lPW
+ /* Disable stack/frame-pointer optimization, incompatible with alloca */
+# undef MACHINE_CFLAGS
+# define MACHINE_CFLAGS -W2,-aat
+# endif /* !HAVE_GCC */
+# define SYSDEP_CFLAGS -DUSGr3 MACHINE_CFLAGS
+# define HAVE_VFPRINTF
+# define USE_TERMCAP_EMULATION
+# define VOID_SIGHANDLER
+# undef HAVE_GETWD
+#endif /* tower32 */
+
+/* ************************ */
+/* */
+/* Concurrent */
+/* */
+/* ************************ */
+#if defined (concurrent)
+# define M_MACHINE "Concurrent"
+# if defined (USE_BSD_UNIVERSE)
+ /* Use the BSD universe (`universe ucb') */
+# define M_OS "Bsd"
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# else /* !USE_BSD_UNIVERSE */
+ /* Concurrent 7000 with RTU 6.1A using the ATT universe (`universe att') */
+# define M_OS "USG"
+# define SYSDEP_CFLAGS -DHAVE_BCOPY -DHAVE_UID_T -DHAVE_GETDTABLESIZE -Dmc7000
+# define REQUIRED_LIBRARIES -ljobs
+# define HAVE_VPRINTF
+# define HAVE_GETGROUPS
+# define HAVE_DUP2
+# define HAVE_DIRENT
+# define HAVE_SYS_SIGLIST
+# endif /* !USE_BSD_UNIVERSE */
+#endif /* concurrent */
+
+/* **************************************************************** */
+/* */
+/* Honeywell Bull X20 (lele@idea.sublink.org) */
+/* */
+/* **************************************************************** */
+#if defined (hbullx20)
+# define M_MACHINE "Honeywell"
+# define M_OS "USG"
+# define SYSDEP_CFLAGS -DUSG
+ /* Bull x20 needs -lposix for struct dirent. */
+# define REQUIRED_LIBRARIES -lPW -lposix
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define USE_TERMCAP_EMULATION
+# undef HAVE_GETWD
+#endif /* hbullx20 */
+
+/* ************************ */
+/* */
+/* CRAY */
+/* */
+/* ************************ */
+#if defined (cray)
+# include <sys/param.h>
+# if defined (Cray1) || defined (Cray2)
+# define M_MACHINE "Cray"
+# define CRAY_STACK
+# endif
+# if defined (CrayXMP) && !defined (M_MACHINE)
+# define M_MACHINE "CrayXMP"
+# define CRAY_STACK -DCRAY_STACKSEG_END=getb67
+# endif
+# if defined (CrayYMP) && !defined (M_MACHINE)
+# define M_MACHINE "CrayYMP"
+# if RELEASE_LEVEL >= 7000
+# define CRAY_STACK -DCRAY_STACKSEG_END=_getb67
+# else
+# define CRAY_STACK -DCRAY_STACKSEG_END=getb67
+# endif /* RELEASE_LEVEL < 7000 */
+# endif
+# if !defined (M_MACHINE)
+# define M_MACHINE "Cray"
+# define CRAY_STACK
+# endif
+# define M_OS "Unicos"
+# define SYSDEP_CFLAGS -DUSG -DPGRP_PIPE -DOPENDIR_NOT_ROBUST \
+ -DHAVE_BCOPY CRAY_STACK
+# define HAVE_VFPRINTF
+# define HAVE_MULTIPLE_GROUPS
+# define VOID_SIGHANDLER
+# define USE_TERMCAP_EMULATION
+# undef HAVE_ALLOCA
+# undef HAVE_RESOURCE
+# undef USE_GNU_MALLOC
+#endif /* cray */
+
+/* ************************ */
+/* */
+/* MagicStation */
+/* */
+/* ************************ */
+#if defined (MagicStation)
+# define M_MACHINE "MagicStation"
+# define M_OS "USG"
+# define SYSDEP_CFLAGS -DUSGr4
+# define HAVE_DIRENT
+# define HAVE_GETGROUPS
+# define HAVE_STRERROR
+# define VOID_SIGHANDLER
+# undef HAVE_ALLOCA
+# undef HAVE_GETWD
+#endif /* MagicStation */
+
+/* ************************ */
+/* */
+/* Plexus */
+/* */
+/* ************************ */
+#if defined (plexus)
+# define M_MACHINE "plexus"
+# define M_OS "USG"
+# define REQUIRED_LIBRARIES -lndir
+# define USE_TERMCAP_EMULATION
+# undef HAVE_DUP2
+# undef HAVE_GETWD
+# define HAVE_VFPRINTF
+# undef HAVE_ALLOCA /* -lPW doesn't work w/bash-cc? */
+#endif /* plexus */
+
+/* ************************ */
+/* */
+/* Siemens MX500 */
+/* (SINIX 5.2x) */
+/* ************************ */
+#ifdef sinix
+#define M_MACHINE "Siemens MX500"
+#define M_OS "SINIX V5.2x"
+#define USG
+#define HAVE_GETCWD
+#define VOID_SIGHANDLER
+#define HAVE_STRERROR
+#define HAVE_GETGROUPS
+#define HAVE_VFPRINTF
+#define HAVE_POSIX_SIGNALS
+#define HAVE_RESOURCE
+#define USE_GNU_MALLOC
+#define SYSDEP_CFLAGS -DUSGr3 -DUSG
+#define REQUIRED_LIBRARIES syscalls.o
+#undef HAVE_ALLOCA
+#undef HAVE_GETWD
+#endif /* sinix */
+
+/* ************************ */
+/* */
+/* Symmetric 375 (4.2 BSD) */
+/* */
+/* ************************ */
+#if defined (scs) && !defined (M_MACHINE)
+# define M_MACHINE "Symmetric_375"
+# define M_OS "Bsd"
+# define HAVE_SYS_SIGLIST
+# define HAVE_GETGROUPS
+# define HAVE_SETLINEBUF
+# define USE_VFPRINTF_EMULATION
+# define USE_GNU_MALLOC
+# undef HAVE_STRCHR
+#endif /* scs */
+
+/* ************************ */
+/* */
+/* Tandem */
+/* */
+/* ************************ */
+/* I don't know what this is supposed to be (Greg Lehey, LEMIS, 29 May 1995).
+ * Tandem had two very different machines which ran SVR3: the LXN, based on
+ * a Motorola 68000, and the S2, based on a MIPS R3000. Both are obsolete
+ * (well, S2s should now be running NonStop UX version B, which is a flavour
+ * of SVR4). I'm leaving this here and will test for NonStop UX B with the
+ * preprocessor variable __nonstopux, which is set by the native compiler and
+ * should also be set by any other compiler, such as gcc (caveat portor: you'$
+ * need to fix gcc config to to get this). */
+#if defined (tandem) && !defined (M_MACHINE)
+# define M_MACHINE "tandem"
+# define M_OS "USG"
+# define SYSDEP_CFLAGS -DUSGr3
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+ /* Alloca requires either Gcc or cc with libPW.a */
+# if !defined (HAVE_GCC)
+# define REQUIRED_LIBRARIES -lPW
+# endif /* !HAVE_GCC */
+# undef HAVE_GETWD
+#endif /* Tandem running SVR3 */
+
+/* This is for NonStop UX Bxx, which is SVR4, but there's a very good
+ * chance it will trigger on NonStop UX Axx (SVR3). If this happens,
+ * fix it or upgrade your OS. */
+#if defined (mips) && defined (__nonstopux) /* Integrity, NonStop UX */
+# define M_MACHINE "Integrity"
+# define M_OS "NonStop_UX"
+# undef HAVE_GETWD
+# define HAVE_DIRENT
+# define HAVE_STRERROR
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define HAVE_SYS_SIGLIST
+# define HAVE_SETLINEBUF
+# define HAVE_GETGROUPS
+# undef HAVE_ALLOCA
+#endif
+
+/* ****************** */
+/* */
+/* Fujitsu UXP/M */
+/* */
+/* ****************** */
+
+#if defined (__uxpm__)
+# define M_MACHINE "VP"
+# define M_OS "USG"
+# define VOID_SIGHANDLER
+# define HAVE_POSIX_SIGNALS
+# define HAVE_VFPRINTF
+# define HAVE_DIRENT
+# define HAVE_SETVBUF
+# define HAVE_STRCHR
+# define HAVE_STRERROR
+# define HAVE_GETGROUPS
+# define HAVE_DUP2
+# undef HAVE_ALLOCA
+# undef HAVE_GETWD
+# define HAVE_GETCWD
+# define HAVE_SYS_SIGLIST
+# define NO_SBRK_DECL
+# define SYSDEP_CFLAGS -DHAVE_UID_T -Dsys_siglist=_sys_siglist -DUSGr4
+# define EXTRA_LIB_SEARCH_PATH /usr/ucblib
+# define REQUIRED_LIBRARIES -lc -lucb
+#endif
+
+/* ****************** */
+/* */
+/* Amdahl UTS */
+/* */
+/* ****************** */
+
+#if defined (UTS) && !defined (M_MACHINE)
+# define M_MACHINE "uts"
+# define M_OS "systemV"
+# define SYSDEP_CFLAGS -DUSG -DMEMMOVE_MISSING
+# define REQUIRED_LIBRARIES
+# undef HAVE_SYS_SIGLIST
+# undef HAVE_GETWD
+# undef HAVE_ALLOCA
+# define HAVE_VFPRINTF
+# define HAVE_DIRENT
+# undef HAVE_RESOURCE
+#endif /* UTS */
+
+/* ************************ */
+/* */
+/* Stratus i860 running FTX (jonathan@sybase.com (Jonathan Stockley)) */
+/* */
+/* ************************ */
+/* Use 'make CPP_DEFINES=-D_FTX' to build as /usr/ccs/lib/cpp doesn't set
+ anything other than i860 which may be set on other i860 machines.
+ The C compiler, cc, sets _FTX & i860 but, unfortunately it barfs at stuff
+ in cpp-Makefile that has a # in it (it has it's own builtin cpp).
+*/
+#if defined(_FTX) && defined (i860) && !defined (M_MACHINE)
+#define M_MACHINE "Stratus_i860"
+#define M_OS "FTX"
+#define VOID_SIGHANDLER
+#define HAVE_POSIX_SIGNALS
+#define HAVE_VFPRINTF
+#define HAVE_SETVBUF
+#define REVERSED_SETVBUF_ARGS
+#define HAVE_STRCHR
+#define HAVE_STRERROR
+#define HAVE_GETGROUPS
+#define HAVE_DUP2
+#undef HAVE_ALLOCA
+#undef HAVE_GETWD
+#define HAVE_GETCWD
+#define HAVE_SYS_SIGLIST
+#define SYSDEP_CFLAGS -DHAVE_UID_T -Dsys_siglist=_sys_siglist -DUSGr4
+#define EXTRA_LIB_SEARCH_PATH /usr/ucblib
+#define REQUIRED_LIBRARIES -lc -lucb
+#endif /* _FTX */
+
+/* ************************ */
+/* */
+/* PCS Cadmus System */
+/* */
+/* ************************ */
+#if defined (cadmus) && !defined (M_MACHINE)
+# define M_MACHINE "cadmus"
+# define M_OS "BrainDeath"
+# define SYSDEP_CFLAGS -DUSG
+# define HAVE_DIRENT
+# define HAVE_VFPRINTF
+# define VOID_SIGHANDLER
+# define USE_TERMCAP_EMULATION
+# undef HAVE_GETWD
+# undef HAVE_ALLOCA
+# undef HAVE_WAIT_H
+#endif /* cadmus */
+
+/* **************************************************************** */
+/* */
+/* Generic Entry */
+/* */
+/* **************************************************************** */
+
+/* Use this entry for your machine if it isn't represented here. It
+ is loosely based on a Vax running 4.3 BSD. */
+
+#if !defined (M_MACHINE)
+# define UNKNOWN_MACHINE
+#endif
+
+#if defined (UNKNOWN_MACHINE)
+# define M_MACHINE "UNKNOWN_MACHINE"
+# define M_OS "UNKNOWN_OS"
+
+/* Required libraries for building on this system. */
+# define REQUIRED_LIBRARIES
+
+/* Define HAVE_SYS_SIGLIST if your system has sys_siglist[]. */
+# define HAVE_SYS_SIGLIST
+
+/* Undef HAVE_GETWD if your C library does not provide a working version
+ of getwd(). */
+/* # undef HAVE_GETWD */
+
+/* Undef HAVE_GETCWD if your C library does not provide a working version
+ of getcwd(). */
+/* # undef HAVE_GETCWD */
+
+/* Undef HAVE_ALLOCA if you are not using Gcc, and neither your library
+ nor compiler has a version of alloca (). In that case, we will use
+ our version of alloca () in alloca.c */
+/* # undef HAVE_ALLOCA */
+
+/* Undef USE_GNU_MALLOC if there appear to be library conflicts, or if you
+ especially desire to use your OS's version of malloc () and friends. We
+ reccommend against this because GNU Malloc has debugging code built in. */
+/* # undef USE_GNU_MALLOC */
+
+/* Define USE_GNU_TERMCAP if you want to use the GNU termcap library
+ instead of your system termcap library. */
+/* # define USE_GNU_TERMCAP */
+
+/* Define HAVE_SETLINEBUF if your machine has the setlinebuf ()
+ stream library call. Otherwise, setvbuf () will be used. If
+ neither of them work, you can edit in your own buffer control
+ based upon your machines capabilities. */
+# define HAVE_SETLINEBUF
+
+/* Define HAVE_VFPRINTF if your machines has the vfprintf () library
+ call. Otherwise, printf will be used. */
+# define HAVE_VFPRINTF
+
+/* Define USE_VFPRINTF_EMULATION if you want to use the BSD-compatible
+ vfprintf() emulation in vprint.c. */
+/* # define USE_VFPRINTF_EMULATION */
+
+/* Define HAVE_GETGROUPS if your OS allows you to be in multiple
+ groups simultaneously by supporting the `getgroups' system call. */
+# define HAVE_GETGROUPS
+
+/* Define SYSDEP_CFLAGS to be the flags to cc that make your compiler
+ work. For example, `-ma' on the RT makes alloca () work. */
+/* This is a summary of the semi-machine-independent definitions that
+ can go into SYSDEP_CFLAGS:
+
+ AFS - The Andrew File System is being used
+ AFS_CREATE_BUG - AFS has a bug with file creation if O_CREAT is
+ specified
+ BSD_GETPGRP - getpgrp(2) takes a pid argument, a la 4.3 BSD
+ HAVE_BCOPY - bcopy(3) exists and works as in BSD
+ HAVE_GETDTABLESIZE - getdtablesize(2) exists and works correctly
+ HAVE_GETHOSTNAME - gethostname(2) or gethostname(3) is present and
+ works as in BSD
+ HAVE_GETPW_DECLS - USG machines with the getpw* functions defined in
+ <pwd.h> that cannot handle redefinitions in the
+ bash source
+ HAVE_RESOURCE - <sys/resource.h> and [gs]rlimit exist and work
+ HAVE_SETDTABLESIZE - setdtablesize(2) exists and works correctly
+ HAVE_SOCKETS - this system has BSD sockets added to a System V base
+ HAVE_UID_T - Definitions for uid_t and gid_t are in <sys/types.h>
+ INT_GROUPS_ARRAY - the second argument to getgroups(3) is an array
+ of integers
+ MEMMOVE_MISSING - the system does not have memmove(3)
+ MKFIFO_MISSING - named pipes do not work or mkfifo(3) is missing
+ NO_SBRK_DECL - don't declare sbrk as extern char *sbrk() in
+ lib/malloc/malloc.c
+ OPENDIR_NOT_ROBUST - opendir(3) allows you to open non-directory files
+ PGRP_PIPE - Requires parent-child synchronization via pipes to
+ make job control work right
+ REVERSED_SETVBUF_ARGS - brain-damaged implementation of setvbuf that
+ has args 2 and 3 reversed from the SVID and
+ ANSI standard
+ RLOGIN_PGRP_BUG - processes started by rlogind have a process group
+ of 0
+ TERMIOS_LDISC - system has a c_line line discipline member in struct
+ termios
+ TERMIOS_MISSING - the termios(3) functions are not present or don't
+ work, even though _POSIX_VERSION is defined
+ USG - The machine is running some sort of System V Unix
+ USGr3 - The machine is running SVR3.x
+ USGr4 - The machine is running SVR4
+ USGr4_2 - The machine is running SVR4.2
+*/
+# define SYSDEP_CFLAGS
+
+/* Define HAVE_STRERROR if your system supplies a definition for strerror ()
+ in the C library, or a macro in a header file. */
+/* # define HAVE_STRERROR */
+
+/* Define HAVE_STRCASECMP if your system supplies definitions for the
+ casel-insensitive string comparison functions strcasecmp and strncasemp
+ in the C library or one of the system header files. */
+/* # define HAVE_STRCASECMP */
+
+/* Define HAVE_DIRENT if you have the dirent library and a definition of
+ struct dirent. If not, the BSD directory reading library and struct
+ direct are assumed. */
+/* # define HAVE_DIRENT */
+
+/* If your system does not supply /usr/lib/libtermcap.a, but includes
+ the termcap routines as a part of the curses library, then define
+ this. This is the case on some System V machines. */
+/* # define USE_TERMCAP_EMULATION */
+
+/* Define VOID_SIGHANDLER if your system's signal () returns a pointer to
+ a function returning void. */
+/* # define VOID_SIGHANDLER */
+
+/* Define EXTRA_LIB_SEARCH_PATH if your required libraries (or standard)
+ ones for that matter) are not normally in the ld search path. For
+ example, some machines require /usr/ucblib in the ld search path so
+ that they can use -lucb. */
+/* # define EXTRA_LIB_SEARCH_PATH /usr/ucblib */
+
+/* Define SEARCH_LIB_NEEDS_SPACE if your native ld requires a space after
+ the -L argument, which gives the name of an alternate directory to search
+ for libraries specified with -llib. For example, the HPUX ld requires
+ this:
+ -L lib/readline -lreadline
+ instead of:
+ -Llib/readline -lreadline
+ */
+/* # define SEARCH_LIB_NEEDS_SPACE */
+
+/* Define LD_HAS_NO_DASH_L if your ld can't grok the -L flag in any way, or
+ if it cannot grok the -l<lib> flag, or both. */
+/* # define LD_HAS_NO_DASH_L */
+
+/* Define GCC_STANDARD if the standard `cc' is gcc and you don't want
+ to use the compiler named `gcc' for some reason. */
+/* # define GCC_STANDARD */
+
+# if defined (LD_HAS_NO_DASH_L)
+# undef SEARCH_LIB_NEEDS_SPACE
+# endif /* LD_HAS_NO_DASH_L */
+
+#endif /* UNKNOWN_MACHINE */