changeset 457:e442bb589751

entered into RCS
author Jim Blandy <jimb@redhat.com>
date Fri, 13 Dec 1991 18:50:18 +0000
parents c0335c02f1d7
children 8f18e7e89008
files src/m/alliant1.h src/m/alliant4.h src/m/gould-np1.h src/m/is386.h src/m/news-risc.h src/m/sgi3000.h src/m/sun3-68881.h src/m/sun3-fpa.h src/m/sun3-soft.h src/m/sun3.h src/m/sun386.h src/m/symmetry.h src/m/tandem-s2.h src/s/386-ix.h src/s/bsd4-1.h src/s/bsd4-2.h src/s/dgux.h src/s/esix.h src/s/iris3-5.h src/s/irix3-3.h src/s/sunos4-0.h src/s/sunos4-1.h src/s/umax.h src/s/umips.h src/s/unipl5-0.h src/s/unipl5-2.h src/s/usg5-0.h src/s/usg5-2-2.h src/s/usg5-2.h src/s/vms.h src/s/vms4-0.h src/s/vms4-2.h src/s/vms4-4.h src/s/xenix.h
diffstat 34 files changed, 3147 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/alliant1.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,9 @@
+/* config.h should include this file for version 1 of Alliant's
+   operating system.  */
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="bsd4-2"  */
+
+#define ALLIANT_1
+#include "alliant.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/alliant4.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,24 @@
+/* machine description file for Alliant Concentrix 4.0 or later.
+   Use alliant.h for versions 2 and 3.  */
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="bsd4-2"  */
+
+#include "alliant.h"
+
+/* Concentrix uses a different kernel symbol for load average. */
+
+#undef  LDAV_SYMBOL		/* Undo definition in s-bsd4-2.h */
+#define LDAV_SYMBOL "_Loadavg"
+
+/* Data type of load average, as read out of kmem.  */
+
+#define LOAD_AVE_TYPE long
+
+/* Convert that into an integer that is 100 for a load average of 1.0  */
+
+#define LOAD_AVE_CVT(x) (x * 100 / LOADAVG_SCALE)
+
+/* include <sys/param.h> for the definition of LOADAVG_SCALE, and also
+   LOADAVG_SIZE, the number of items in the Loadavg array. */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/gould-np1.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,87 @@
+/* machine description file for Gould NP1 with UTX/32 3.0 (first release for NP1). */
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="bsd4-3"  */
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+/* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */
+/* at least currently, already defined by cpp, but make sure */
+#ifndef COFF
+#define COFF
+#endif COFF
+
+#include "gould.h"
+
+/* undefine what gould.h defined */
+#undef ADJUST_EXEC_HEADER
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+/* UTX 3.0 uses a cross between COFF and a.out format, but closer to COFF. */
+#ifndef COFF	/* at least currently, already defined by cpp */
+#define COFF
+#endif COFF
+
+/* make Gould NP1 and PN COFF look like USG COFF */
+/* NP1 COFF */
+#undef aouthdr /* Since gould.h already defined these */
+#undef a_dtbase
+
+#ifdef IN_UNEXEC
+#define aouthdr exec
+#define ADJUST_TEXT_SCNHDR_SIZE
+
+/* Gould COFF - these are already defined in gould.h */
+/*
+ * #define COFF_WITH_BSD_SYMTAB
+ * #define HEADER_INCL_IN_TEXT
+ * #define magic a_magic
+ * #define tsize a_text
+ * #define dsize a_data
+ * #define bsize a_bss
+ * #define entry a_entry
+ * #define text_start a_txbase
+ * #define data_start a_dtbase
+*/
+/* End Gould COFF */
+#endif /* IN_UNEXEC */
+
+/* NP1 supports a slightly different set than PowerNode */
+#define BAUD_CONVERT	{ 0, 50, 75, 110, 134, 150, 300, 450, 600, 1200, \
+			      1800, 2000, 2400, 3600, 4800, 7200, 9600, \
+				  19200, 38400 }
+
+#define LD_SWITCH_SYSTEM -BS -e start
+
+/* Undef C_DEBUG_SWITCH because it may have been set in gould.h */
+/* It will compile and load and works with dbx. Runs under an incomplete
+   port of gdb, but gdb doesn't always find things correctly. */
+#undef C_DEBUG_SWITCH
+#define C_DEBUG_SWITCH -g
+#define LIBS_DEBUG -lg
+
+
+/* The data segment in this machine always starts at address 0x1000000 = 16M.
+   An address of data cannot be stored correctly in a Lisp object;
+   we always lose the high bits.  We must tell XPNTR to add them back.  */
+
+#define DATA_SEG_BITS 0x1000000
+#define DATA_START    0x1000000
+
+/* The text segment always starts at 0.
+   This way we don't need to have a label _start defined.  */
+#define TEXT_START 0
+
+/* Data isn't right next to text on an NP1 */
+#define NO_REMAP
+
+/* The bcopy bug has reappeared */
+#undef BSTRING
+
+#ifndef GOULD_NP1
+#define GOULD_NP1
+#endif
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/is386.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,27 @@
+/* machine description file for Integrated Solutions 386 machine.  */
+
+#include "intel386.h"
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="note"
+
+NOTE-START
+Intel 386 (-machine=intel386 or -machine=is386.h)
+
+  The possibilities for -opsystem are: bsd4-2, usg5-2-2, usg5-3,
+  isc2-2, 386-ix, esix, or xenix.
+
+  18.58 should support a wide variety of operating systems.
+  Use isc2-2 for Interactive 386/ix version 2.2.
+  Use 386ix for prior versions.
+  Use esix for Esix.  It isn't clear what to do on an SCO system.
+
+  -machine=is386 is used for an Integrated Solutions 386 machine.
+  It may also be correct for Microport systems.
+NOTE-END  */
+
+#define LIBX10_MACHINE -lnsl_s
+#define LIBX11_MACHINE -lnsl_s
+
+#define LIBS_DEBUG -lg
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/news-risc.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,21 @@
+/* news-risc.h is for the "RISC News".  */
+
+#include "mips.h"
+#undef LIBS_MACHINE
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="bsd4-3"  */
+
+#define LIBS_MACHINE -lmld
+
+#define COFF
+#undef LD_SWITCH_MACHINE
+#define LD_SWITCH_MACHINE -x -D 800000
+
+/* #define C_OPTIMIZE_SWITCH -O2 */
+#define C_OPTIMIZE_SWITCH -O
+
+#define C_DEBUG_SWITCH -g3
+
+#undef TERMINFO
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/sgi3000.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,1 @@
+#include "irist.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/sun3-68881.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,28 @@
+/* sun3-68881.h, for a Sun 3, using the 68881.  */
+
+#include "sun3.h"
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="note"
+
+NOTE-START
+Sun with 68881 co-processor (-machine=sun3-68881;
+			     -opsystem=bsd4-2 or -opsystem=sunos4)
+
+  Versions 1, 2, and 3 of the operating system are derived from
+  Berkeley 4.2, meaning that you should use -opsystem=bsd4-2.
+
+  For SunOS release 4 on a Sun 3 with a 68881, use -machine=sun3-68881
+  and -opsystem=sunos4.  See the file share-lib/SUNBUG for how to
+  solve problems caused by bugs in the "export" version of SunOS 4.
+NOTE-END  */
+
+/* In case we are using floating point, work together with crt0.c.  */
+
+#ifndef __GNUC__
+#define C_SWITCH_MACHINE -f68881
+#endif
+
+#define sun_68881
+#define START_FILES crt0.o /usr/lib/Mcrt1.o
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/sun3-fpa.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,28 @@
+/* sun3-fpa.h, for a Sun 3, using the Sun fpa.  */
+
+#include "sun3.h"
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="note"
+
+NOTE-START
+Sun with FPA co-processor (-machine=sun3-fpa;
+			   -opsystem=bsd4-2 or -opsystem=sunos4)
+
+  Versions 1, 2, and 3 of the operating system are derived from
+  Berkeley 4.2, meaning that you should use -opsystem=bsd4-2.
+
+  For SunOS release 4 on a Sun 3 with an FPA, use -machine=sun3-fpa
+  and -opsystem=sunos4.  See the file share-lib/SUNBUG for how to
+  solve problems caused by bugs in the "export" version of SunOS 4.
+NOTE-END  */
+
+/* In case we are using floating point, work together with crt0.c.  */
+
+#ifndef __GNUC__
+#define C_SWITCH_MACHINE -ffpa
+#endif
+
+#define sun_fpa
+#define START_FILES crt0.o /usr/lib/Wcrt1.o
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/sun3-soft.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,29 @@
+/* sun3-soft.h, for a Sun 3, using the Sun with software floating point.  */
+
+#include "sun3.h"
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="note"
+
+NOTE-START
+Sun with software floating point (-machine=sun3-soft;
+			          -opsystem=bsd4-2 or -opsystem=sunos4)
+
+  Versions 1, 2, and 3 of the operating system are derived from
+  Berkeley 4.2, meaning that you should use -opsystem=bsd4-2.
+
+  If you want to use software floating point on SunOS release 4 on a
+  Sun 3, use -machine=sun3-68881 and -opsystem=sunos4.  See the file
+  share-lib/SUNBUG for how to solve problems caused by bugs in the
+  "export" version of SunOS 4.
+NOTE-END  */
+
+/* In case we are using floating point, work together with crt0.c.  */
+
+#ifndef __GNUC__
+#define C_SWITCH_MACHINE -fsoft
+#endif
+
+#define sun_soft
+#define START_FILES crt0.o /usr/lib/Fcrt1.o
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/sun3.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,50 @@
+/* machine description file for Sun 68000's OPERATING SYSTEM version 3
+   (for either 68000 or 68020 systems).  */
+
+#include "sun2.h"
+#undef sun2
+#ifndef sun3
+#define sun3
+#endif
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="note"
+
+NOTE-START
+Sun 1, 2 and 3 (-machine=sun1, -machine=sun2, -machine=sun3;
+                -opsystem=bsd4-2 or -opsystem=sunos4)
+
+  Whether you should use sun1, sun2 or sun3 depends on the
+		   VERSION OF THE OPERATING SYSTEM
+  you have.  There are three machine types for different versions of
+  SunOS.  All are derived from Berkeley 4.2, meaning that you should
+  use -opsystem=bsd4-2.  Emacs 17 has run on all of them.  You will
+  need to use sun3 on Sun 2's running SunOS release 3.
+
+  For SunOS release 4 on a Sun 3, use -machine=sun3 and
+  -opsystem=sunos4.  See the file share-lib/SUNBUG for how to solve
+  problems caused by bugs in the "export" version of SunOS 4.
+NOTE-END  */
+
+/* Say that the text segment of a.out includes the header;
+   the header actually occupies the first few bytes of the text segment
+   and is counted in hdr.a_text.  */
+
+#define A_TEXT_OFFSET(HDR) sizeof (HDR)
+
+/* This is the offset of the executable's text, from the start of the file.  */
+
+#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr))
+
+/* In case we are using floating point, work together with crt0.c.  */
+
+#ifndef __GNUC__
+#define C_SWITCH_MACHINE -fsoft
+#endif
+
+/* This line is needed if you are linking with X windows
+   and the library xlib was compiled to use the 68881.
+   For maximum cleanliness, don't edit this file;
+   instead, insert this line in config.h.  */
+/* #define START_FILES crt0.o /usr/lib/Mcrt1.o  */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/sun386.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,75 @@
+/* machine description file for Sun's 386-based RoadRunner.  This file borrows heavily from
+  "sun2.h", but since that file is heavily cpu-specific, it was easier
+  not to include it.
+
+   Copyright (C) 1988 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="note"
+
+NOTE-START
+  Use s-sunos4-0.h for operating system version 4.0, and s-sunos4-1.h
+  for later versions.  See the file share-lib/SUNBUG for how to solve
+  problems caused by bugs in the "export" version of SunOS 4.
+NOTE-END  */
+
+/* Say this machine is a bird */
+#ifndef roadrunner
+#define roadrunner
+#endif
+
+/* Actual cpu-specific defs */
+#include "intel386.h"
+
+/* Data type of load average, as read out of kmem.  */
+
+#define LOAD_AVE_TYPE long
+
+/* Convert that into an integer that is 100 for a load average of 1.0  */
+
+#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
+
+/* Underscores are not prepended to C symbols on this machine.  */ 
+#undef LDAV_SYMBOL
+#define LDAV_SYMBOL "avenrun"
+
+/* Must use the system's termcap.  It does special things.  */
+
+#define LIBS_TERMCAP -ltermcap
+
+/* Arrange to link with sun windows, if requested.  */
+/* For details on emacstool and sunfns, see etc/SUN-SUPPORT */
+/* These programs require Sun UNIX 4.2 Release 3.2 or greater */
+
+#ifdef HAVE_SUN_WINDOWS
+#define OTHER_FILES  ${etcdir}emacstool
+#define LIBS_MACHINE -lsuntool -lsunwindow -lpixrect
+#define OBJECTS_MACHINE sunfns.o
+#define SYMS_MACHINE syms_of_sunfns ()
+#define PURESIZE 132000
+#endif
+
+/* Roadrunner uses 'COFF' format */
+#define COFF
+
+#define C_SWITCH_MACHINE -Bstatic       /* avoid dynamic linking */
+#define LD_SWITCH_MACHINE -n -Bstatic
+/* Get rid of the -e __start that s-sunos4.h does.  */
+#undef LD_SWITCH_SYSTEM
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/symmetry.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,103 @@
+/* machine description file for SEQUENT SYMMETRY machines
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/* CHANGE: [Eric H. Herrin II; eric@ms.uky.edu - 15 Sept 1988] 
+ * Modified the sequent.h file for the Sequent Symmetry machine.   
+ * Biggest change was to align the sections in the a.out to 4K 
+ * boundaries (this is the page size).
+ */
+
+
+/* NOTICE: this file works for DYNIX release 3.0.12 on Sequent Symmetry
+ * (Intel 80386) machines.  Hasn't been tested on anything else.
+ */ 
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="bsd4-3"  */
+
+#include "intel386.h"
+
+/* Data type of load average, as read out of kmem.  */
+
+#define LOAD_AVE_TYPE unsigned long
+
+/* Convert that into an integer that is 100 for a load average of 1.0  */
+
+#define	FSCALE	1000.0
+#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
+
+/* Define C_ALLOCA if this machine does not support a true alloca
+   and the one written in C should be used instead.
+   Define HAVE_ALLOCA to say that the system provides a properly
+   working alloca function and it should be used.
+   Define neither one if an assembler-language alloca
+   in the file alloca.s should be used.  */
+
+/* #define C_ALLOCA */
+/*#define HAVE_ALLOCA*/
+
+/* Name of file the to look in
+   for the kernel symbol table (for load average) */
+
+#undef KERNEL_FILE
+#define KERNEL_FILE "/dynix"
+
+/* define HAVE_GETPAGESIZE for Symmetry */
+#define HAVE_GETPAGESIZE
+
+/* Avoids a compiler bug */
+
+#define TAHOE_REGISTER_BUG
+
+/* Say that the text segment of a.out includes the header;
+   the header actually occupies the first few bytes of the text segment
+   and is counted in hdr.a_text.  Furthermore, the value written
+   in the a_text in the file must have N_ADDRADJ added to it.  */
+
+#define A_TEXT_OFFSET(HDR) (sizeof (HDR) + N_ADDRADJ (HDR))
+
+/* This is the offset of the executable's text, from the start of the file.  */
+
+#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr))
+
+/* The file sections in the Symmetry a.out must be on 4K boundaries.
+ */
+#define SEGSIZ 4096
+#define SECTION_ALIGNMENT	(SEGSIZ-1)
+
+/* (short) negative-int doesn't sign-extend correctly */
+#define SHORT_CAST_BUG
+
+/* Cause compilations to be done in parallel in ymakefile.  */
+#define MAKE_PARALLEL &
+
+/* Define how to search all pty names.
+   This is for Dynix 3.0; delete next 5 definitions for older systems.  */
+
+#define PTY_MAJOR "pqrstuvwPQRSTUVW"
+#define PTY_MINOR "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
+#define PTY_ITERATION					\
+  register int ma, mi;					\
+  for (ma = 0; ma < sizeof(PTY_MAJOR) - 1; ma++)	\
+    for (mi = 0; mi < sizeof(PTY_MINOR) - 1; mi++)
+#define PTY_NAME_SPRINTF \
+  sprintf (ptyname, "/dev/pty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]);
+#define PTY_TTY_NAME_SPRINTF \
+  sprintf (ptyname, "/dev/tty%c%c", PTY_MAJOR[ma], PTY_MINOR[mi]);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/m/tandem-s2.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,24 @@
+/* machine description file for the Tandem Integrity S2.  */
+
+#include "mips.h"
+
+/* The following line tells the configuration script what sort of 
+   operating system this machine is likely to run.
+   USUAL-OPSYS="usg5-3"  */
+
+/* This overrides some of the usual support for the mips and system V.3.  */
+
+/* The S2 does not know about utimes() */
+#define USE_UTIME
+
+/* The operating system apparently defines TIOCGETC
+   but it doesn't work.  */
+#undef BROKEN_TIOCGETC
+
+/* rs@ai.mit.edu said this was necessary for it to work.  However, some
+   user of this machine ought to try to get subprocesses to work.  */
+#undef subprocesses
+
+/* Correct some library file names.  */
+#define START_FILES pre-crt0.o /usr/lib/crt1.o1.31
+#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o1.31
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/386-ix.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,20 @@
+/* Interactive 386/ix.  */
+
+#include "usg5-3.h"
+
+#define HAVE_SELECT
+
+#define BROKEN_TIOCGETC
+
+/* There are some reports that the following is needed
+   with some version of this system.
+#undef LIBX11_SYSTEM
+#define LIBX11_SYSTEM -linet
+
+#define HAVE_TIMEVAL
+#define USE_UTIME
+*/
+
+/* This is said to be needed as a result of having _insque rather
+   than insque in -loldX.  This may not always be the right thing.  */
+#define WRONG_NAME_INSQUE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/bsd4-1.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,149 @@
+/* Definitions file for GNU Emacs running on bsd 4.1.
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#define BSD4_1
+
+#define BSD
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "berkeley-unix"
+
+/* nomultiplejobs should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+/* #define NOMULTIPLEJOBS */
+
+/* Default is to set interrupt_input to 1: do input buffering within Emacs */
+
+#define INTERRUPT_INPUT
+
+/* First pty name is /dev/ptyp0.  */
+
+#define FIRST_PTY_LETTER 'p'
+ 
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+#undef HAVE_TIMEVAL
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+/* #define HAVE_SELECT */
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+/* #define HAVE_PTYS */
+
+/* Define this macro if system defines a type `union wait'.  */
+
+#define HAVE_UNION_WAIT
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+/* #define HAVE_SOCKETS */
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+#define NONSYSTEM_DIR_LIBRARY
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+/* #define BSTRING */
+
+/* subprocesses should be defined if you want to
+   have code for asynchronous subprocesses
+   (as used in M-x compile and M-x shell).
+   This is generally OS dependent, and not supported
+   under most USG systems. */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+/* #define COFF */
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+#undef CLASH_DETECTION    /* Might work; not tried yet.  */
+
+/* We use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+#define NLIST_STRUCT
+
+/* The file containing the kernel's symbol table is called /vmunix.  */
+
+#define KERNEL_FILE "/vmunix"
+
+/* The symbol in the kernel where the load average is found
+   is named _avenrun.  */
+
+#define LDAV_SYMBOL "_avenrun"
+
+/* Special hacks needed to make Emacs run on this system.  */
+
+/* Make the function `signal' act as in 4.2.  */
+
+#define signal sigset
+
+#define _longjmp longjmp
+#define _setjmp setjmp
+
+#define lstat stat
+
+/* sys_open handles the necessary 4.2 features for open.  */
+
+#define open sys_open
+
+/* Names of flags for open.  */
+#define O_RDONLY 0
+#define O_WRONLY 1
+#define O_RDWR 2
+#define O_EXCL	2000
+#define O_CREAT 1000
+
+/* Special library needed for linking for 4.1.  */
+#define LIBS_SYSTEM -ljobs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/bsd4-2.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,128 @@
+/* Definitions file for GNU Emacs running on bsd 4.2
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#ifndef BSD4_2
+#define BSD4_2
+#endif /* BSD4_2 */
+
+#ifndef BSD
+#define BSD
+#endif /* BSD */
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "berkeley-unix"
+
+/* nomultiplejobs should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+/* #define NOMULTIPLEJOBS */
+
+/* Default is to set interrupt_input to 1: do input buffering within Emacs */
+
+#define INTERRUPT_INPUT
+
+/* First pty name is /dev/ptyp0.  */
+
+#define FIRST_PTY_LETTER 'p'
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+#define HAVE_TIMEVAL
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+#define HAVE_SELECT
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+#define HAVE_PTYS
+
+/* Define this macro if system defines a type `union wait'.  */
+
+#define HAVE_UNION_WAIT
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+#define HAVE_SOCKETS
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+/* #define NONSYSTEM_DIR_LIBRARY */
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+#define BSTRING
+
+/* subprocesses should be defined if you want to
+   have code for asynchronous subprocesses
+   (as used in M-x compile and M-x shell).
+   This is generally OS dependent, and not supported
+   under most USG systems. */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+/* #define COFF */
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+#define CLASH_DETECTION
+
+/* We use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+#define NLIST_STRUCT
+
+/* The file containing the kernel's symbol table is called /vmunix.  */
+
+#define KERNEL_FILE "/vmunix"
+
+/* The symbol in the kernel where the load average is found
+   is named _avenrun.  */
+
+#define LDAV_SYMBOL "_avenrun"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/dgux.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,254 @@
+/* Definitions file for GNU Emacs running on Data General's DG/UX
+   version 4.32 and above.
+   Copyright (C) 1985, 1986, 1991 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+/* #define UNIPLUS */
+/* #define USG5 */
+/* #define USG */
+/* #define HPUX */
+/* #define UMAX */
+/* #define BSD4_1 */
+#define BSD4_2
+#define BSD4_3
+#define BSD
+/* #define VMS */
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "dgux-unix"
+
+/* NOMULTIPLEJOBS should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+/* #define NOMULTIPLEJOBS */
+
+/* Emacs can read input using SIGIO and buffering characters itself,
+   or using CBREAK mode and making C-g cause SIGINT.
+   The choice is controlled by the variable interrupt_input.
+   Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
+
+   SIGIO can be used only on systems that implement it (4.2 and 4.3).
+   CBREAK mode has two disadvatages
+     1) At least in 4.2, it is impossible to handle the Meta key properly.
+        I hear that in system V this problem does not exist.
+     2) Control-G causes output to be discarded.
+        I do not know whether this can be fixed in system V.
+
+   Another method of doing input is planned but not implemented.
+   It would have Emacs fork off a separate process
+   to read the input and send it to the true Emacs process
+   through a pipe.
+*/
+
+#define INTERRUPT_INPUT
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'a' means it is /dev/ptya0  */
+
+#define FIRST_PTY_LETTER 'r'
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+#define HAVE_TIMEVAL
+
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+#define HAVE_SELECT
+
+/*
+ *	Define HAVE_SOCKETS if the system supports sockets.
+ */
+
+#define HAVE_SOCKETS
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+#define HAVE_PTYS
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+/* #define NONSYSTEM_DIR_LIBRARY */
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+#define BSTRING
+
+/* subprocesses should be defined if you want to
+   have code for asynchronous subprocesses
+   (as used in M-x compile and M-x shell).
+   This is generally OS dependent, and not supported
+   under most USG systems. */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+#define COFF
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* #define CLASH_DETECTION */
+
+/* Define a replacement for the baud rate switch, since DG/UX uses a different
+   from BSD.  */
+
+#define	BAUD_CONVERT    { 0, 110, 134, 150, 300, 600, 1200, 1800, 2400, \
+			  4800, 9600, 19200, 38400 }
+
+/*
+ *	Define HAVE_GETTIMEOFDAY if gettimeofday() system call is available.
+ */
+
+#define HAVE_GETTIMEOFDAY
+
+/*
+ *	Define NLIST_STRUCT if the system has nlist.h
+ */
+
+#define	NLIST_STRUCT
+
+/*
+ *      Make WM Interface Compliant.
+ */
+
+#define XICCC
+
+/* Here, on a separate page, add any special hacks needed
+   to make Emacs work on this system.  For example,
+   you might define certain system call names that don't
+   exist on your system, or that do different things on
+   your system and must be used only through an encapsulation
+   (Which you should place, by convention, in sysdep.c).  */
+
+/* Some compilers tend to put everything declared static
+   into the initialized data area, which becomes pure after dumping Emacs.
+   On these systems, you must #define static as nothing to foil this.
+   Note that emacs carefully avoids static vars inside functions.  */
+
+/* #define static */
+
+/* DG/UX SPECIFIC ADDITIONS TO TEMPLATE FOLLOW: */
+
+/* Use the Berkeley flavors of the library routines, instead of System V.  */
+
+#define setpgrp(pid,pgrp) setpgrp2(pid,pgrp)
+#define getpgrp(pid) getpgrp2(pid)
+
+/* Act like Berkeley. */
+
+#define _setjmp(env) sigsetjmp(env,0)
+#define	_longjmp(env,val) longjmp(env,val)
+
+/* Use TERMINFO instead of termcap */
+
+#define	TERMINFO
+
+/*
+ *	Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *	for terminal control.
+ *	DG/UX has both BSD and AT&T style ioctl's.  Bsd ioctl's don't
+ *	seem to wait for the output to drain properly, so use System V.
+ */
+
+/* #define HAVE_TERMIO */
+
+/*
+ *	DG/UX 4.10 needs the following to turn on berkeley ioctl's.
+ */
+
+#ifndef HAVE_TERMIO
+#define _BSD_TTY_FLAVOR
+#endif
+
+/*
+ *	Use a Berkeley style sys/wait.h.
+ *      This makes WIF* macros operate on structures instead of ints.
+ */
+
+#define _BSD_WAIT_FLAVOR
+
+/* Enable the x-rebind keysym function.  Do not try to map function
+   keys internally. */
+
+#define XREBINDKEYSYM
+
+/*
+ *      Use BSD and POSIX-style signals.  This is crucial!
+ */
+
+/* MAKING_MAKEFILE must be defined in "ymakefile" before including config.h */
+#ifndef MAKING_MAKEFILE
+
+/* Make sure signal.h is included so macros below don't mess with it. */
+/* DG/UX include files prevent multiple inclusion. */
+
+#include <signal.h>
+
+#define POSIX_SIGNALS
+
+/* Not worth converting the old GNU malloc to work with POSIX_SIGNALS.  */
+#define SYSTEM_MALLOC
+
+/* Define this if you use System 5 Release 4 Streams */
+#define SYSV4_PTYS
+#define open  sys_open
+#define close sys_close
+#define read  sys_read
+#define write sys_write
+
+#define INTERRUPTABLE_OPEN
+#define INTERRUPTABLE_CLOSE
+/* can't hurt to define these, even though read/write should auto restart */
+#define INTERRUPTABLE_IO
+
+/* Can't use sys_signal because then etc/server.c would need sysdep.o.  */
+#define signal(SIG,FUNC) berk_signal(SIG,FUNC)
+
+#else /* MAKING_MAKEFILE */
+/* force gcc to be used */
+CC=gcc
+#endif /* not MAKING_MAKEFILE */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/esix.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,29 @@
+/* Definitions for ESIX, a variant of v.5.3 for the 386.  */
+/* These are based on reports for ESIX 5.3.2 D.  */
+
+#include "usg5-3.h"
+
+#define HAVE_TIMEVAL
+
+/* Some versions of V.3 have this, but not all. ESIX does. */
+#define HAVE_PTYS
+#define SYSV_PTYS
+
+/* Have -lg be used for debugging. */
+#undef LIBS_DEBUG
+#define LIBS_DEBUG -lg
+
+/* If using Roell's X server, define X11R4 */
+#ifdef X11R4			/* Roell's X server */
+#define HAVE_GETTIMEOFDAY /* Thomas Roell's X11R4 lib defines gettimeofday */
+#define select sys_select /* Emacs select() not good enough? */
+#undef LIBX11_SYSTEM
+#define LIBX11_SYSTEM -lpt
+#endif /* X11R4 */
+
+/* ESIX does not need <sys/sioctl.h>, but needs <sys/ptem.h> */
+#define NO_SIOCTL_H
+#define NEED_PTEM_H
+#define USG_SYS_TIME
+#define USE_UTIME
+#define BROKEN_FIONREAD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/iris3-5.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,196 @@
+/* Definitions file for GNU Emacs running on Silicon Graphics 3.5
+   Copyright (C) 1987 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#define USG
+#define USG5
+#define IRIS
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "irix"
+
+/* nomultiplejobs should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+#define NOMULTIPLEJOBS
+
+/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
+
+/* #define INTERRUPT_INPUT */
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'a' means it is /dev/ptya0  */
+
+#define FIRST_PTY_LETTER 'a'
+
+/*
+ *	Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *	for terminal control.
+ */
+
+#define HAVE_TERMIO
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+#define HAVE_TIMEVAL
+
+/* `utime' system call doesn't understand timevals.  */
+
+#define IRIS_UTIME
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+#define HAVE_SELECT
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+#define HAVE_PTYS
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+#define HAVE_SOCKETS
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+/* #define NONSYSTEM_DIR_LIBRARY */
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+#define BSTRING
+
+/* subprocesses should be defined if you want to
+   have code for asynchronous subprocesses
+   (as used in M-x compile and M-x shell).
+   This is generally OS dependent, and not supported
+   under most USG systems. */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+/* #define COFF */
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* #define CLASH_DETECTION */
+
+/* We use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+#define NLIST_STRUCT
+
+/* The file containing the kernel's symbol table is called /vmunix.  */
+
+#define KERNEL_FILE "/vmunix"
+
+/* The symbol in the kernel where the load average is found
+   is named _avenrun.  */
+
+#define LDAV_SYMBOL "_avenrun"
+
+
+/* Special hacks needed to make Emacs run on this system.  */
+
+/*
+ *	Make the sigsetmask function go away.  Don't know what the
+ *	ramifications of this are, but doesn't seem possible to
+ *	emulate it properly anyway at this point.
+ */
+
+#define sigsetmask(mask)	/* Null expansion */
+
+/* The IRIS defines SIGIO in signal.h, but doesn't implement it. */
+#undef SIGIO
+
+#define LIBS_MACHINE -lbsd -ldbm -lPW
+#define C_SWITCH_MACHINE -I/usr/include/bsd
+
+/* setjmp and longjmp can safely replace _setjmp and _longjmp,
+   but they will run slower.  */
+
+#define _setjmp setjmp
+#define _longjmp longjmp
+
+/* On USG systems the system calls are interruptable by signals
+ that the user program has elected to catch.  Thus the system call
+ must be retried in these cases.  To handle this without massive
+ changes in the source code, we remap the standard system call names
+ to names for our own functions in sysdep.c that do the system call
+ with retries. */
+
+#define read sys_read
+#define open sys_open
+#define write sys_write
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_IO
+
+/* On USG systems these have different names */
+
+#define index strchr
+#define rindex strrchr
+
+/* USG systems tend to put everything declared static
+   into the initialized data area, which becomes pure after dumping Emacs.
+   Foil this.  Emacs carefully avoids static vars inside functions.  */
+
+/* #define static */
+
+/* Compiler bug bites on many systems when default ADDR_CORRECT is used.  */
+
+#define ADDR_CORRECT(x) (int)((char *)(x) - (char*)0)
+
+/* some errno.h's don't actually allocate the variable itself */
+
+#define NEED_ERRNO
+
+/* The symbol FIONREAD is defined, but the feature does not work.  */
+
+#define BROKEN_FIONREAD
+
+/* This is how to get the device name of the tty end of a pty.  */
+#define PTY_TTY_NAME_SPRINTF \
+ 	    sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/irix3-3.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,175 @@
+/* Definitions file for GNU Emacs running on Silicon Graphics Irix system 3.3.
+   Copyright (C) 1987,1990 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#define USG
+#define USG5
+#define IRIS
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "irix"
+
+/* nomultiplejobs should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+/* #define NOMULTIPLEJOBS */
+
+/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
+
+/* #define INTERRUPT_INPUT */
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'a' means it is /dev/ptya0  */
+
+#define FIRST_PTY_LETTER 'a'
+
+/*
+ *	Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *	for terminal control.
+ */
+
+#define HAVE_TERMIO
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+#define HAVE_TIMEVAL
+
+/* `utime' system call doesn't understand timevals.  */
+
+#define IRIS_UTIME
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+#define HAVE_SELECT
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+#define HAVE_PTYS
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+#define HAVE_SOCKETS
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+/* #define NONSYSTEM_DIR_LIBRARY */
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+#define BSTRING
+
+/* subprocesses should be defined if you want to
+   have code for asynchronous subprocesses
+   (as used in M-x compile and M-x shell).
+   This is generally OS dependent, and not supported
+   under most USG systems. */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+/* #define COFF */
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* #define CLASH_DETECTION */
+
+/* We use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+#define NLIST_STRUCT
+
+/* The file containing the kernel's symbol table is called /unix.  */
+
+#define KERNEL_FILE "/unix"
+
+/* The symbol in the kernel where the load average is found
+   is named _avenrun.  */
+
+#define LDAV_SYMBOL "avenrun"
+
+
+/* setjmp and longjmp can safely replace _setjmp and _longjmp,
+   but they will run slower.  */
+
+#define _setjmp setjmp
+#define _longjmp longjmp
+
+/* On USG systems the system calls are interruptable by signals
+ that the user program has elected to catch.  Thus the system call
+ must be retried in these cases.  To handle this without massive
+ changes in the source code, we remap the standard system call names
+ to names for our own functions in sysdep.c that do the system call
+ with retries. */
+
+#define read sys_read
+#define open sys_open
+#define write sys_write
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_IO
+
+/* On USG systems these have different names */
+
+#define index strchr
+#define rindex strrchr
+
+/* USG systems tend to put everything declared static
+   into the initialized data area, which becomes pure after dumping Emacs.
+   Foil this.  Emacs carefully avoids static vars inside functions.  */
+
+/* #define static */
+
+/* This is how to get the device name of the tty end of a pty.  */
+#define PTY_TTY_NAME_SPRINTF \
+ 	    sprintf (ptyname, "/dev/ttyq%d", minor (stb.st_rdev));
+
+
+/* getwd is defined.  */
+
+#define HAVE_GETWD
+
+#define HAVE_SYSVIPC
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/sunos4-0.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,14 @@
+#include "bsd4-2.h"
+
+#if 0  /* This may have been needed for an earlier version of Sun OS 4.
+	  It seems to cause warnings in 4.0.3 and 4.1.  */
+#define O_NDELAY        FNDELAY /* Non-blocking I/O (4.2 style) */
+#endif
+
+#define LD_SWITCH_SYSTEM -e __start -Bstatic
+
+/* In SunOS 4.1, a static function called by tzsetwall reportedly
+   clears the byte just past an eight byte region it mallocs, corrupting
+   GNU malloc's memory pool.  But Sun's malloc doesn't seem to mind. */
+
+#define SYSTEM_MALLOC
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/sunos4-1.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,12 @@
+#include "sunos4-0.h"
+
+/* 4.1.1 makes these system calls interruptable.  */
+
+#define read sys_read
+#define write sys_write
+#define open sys_open
+#define close sys_close
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_CLOSE
+#define INTERRUPTIBLE_IO
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/umax.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,178 @@
+/* Definitions file for GNU Emacs running on UMAX 4.2
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+/* #define UNIPLUS */
+/* #define USG5 */
+/* #define USG */
+/* #define BSD4_1 */
+#define BSD4_2
+/* #define BSD4_3 */
+#define BSD
+#define UMAX4_2
+#define UMAX
+/* #define VMS */
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "berkeley-unix"
+
+/* NOMULTIPLEJOBS should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+/* #define NOMULTIPLEJOBS */
+
+/* Emacs can read input using SIGIO and buffering characters itself,
+   or using CBREAK mode and making C-g cause SIGINT.
+   The choice is controlled by the variable interrupt_input.
+   Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
+
+   SIGIO can be used only on systems that implement it (4.2 and 4.3).
+   CBREAK mode has two disadvatages
+     1) At least in 4.2, it is impossible to handle the Meta key properly.
+        I hear that in system V this problem does not exist.
+     2) Control-G causes output to be discarded.
+        I do not know whether this can be fixed in system V.
+
+   Another method of doing input is planned but not implemented.
+   It would have Emacs fork off a separate process
+   to read the input and send it to the true Emacs process
+   through a pipe.
+*/
+
+#define INTERRUPT_INPUT
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'a' means it is /dev/ptya0  */
+
+#define FIRST_PTY_LETTER 'p'
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+#define HAVE_TIMEVAL
+
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+#define HAVE_SELECT
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+#define HAVE_PTYS
+
+/* Define this macro if system defines a type `union wait'.  */
+
+#define HAVE_UNION_WAIT
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+#define HAVE_SOCKETS
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+/* #define NONSYSTEM_DIR_LIBRARY */
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+#define BSTRING
+
+/* subprocesses should be defined if you want to
+   have code for asynchronous subprocesses
+   (as used in M-x compile and M-x shell).
+   This is generally OS dependent, and not supported
+   under most USG systems. */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+#define COFF
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+#define MAIL_USE_FLOCK
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+#define CLASH_DETECTION
+
+/* We use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+#define NLIST_STRUCT
+
+/* The file containing the kernel's symbol table is called /vmunix.  */
+
+#define KERNEL_FILE "/vmunix"
+
+/* The symbol in the kernel where the load average is found
+   is named _avenrun.  */
+
+#define LDAV_SYMBOL "_avenrun"
+
+/* Here, on a separate page, add any special hacks needed
+   to make Emacs work on this system.  For example,
+   you might define certain system call names that don't
+   exist on your system, or that do different things on
+   your system and must be used only through an encapsulation
+   (Which you should place, by convention, in sysdep.c).  */
+
+/* Specify alignment requirement for start of text and data sections
+   in the executable file.  */
+
+#define SECTION_ALIGNMENT pagemask
+
+
+#define SEGMENT_MASK	(64 * 1024 - 1)
+
+
+/* crt0.c needs this for compilation because it uses asm.  */  
+
+#define C_SWITCH_ASM -q nodirect_code
+
+/* Encore machines with APC processor boards align sections on 4M
+   boundaries, so it is not easy to remap the start of the text segment
+   in the unexec() routine.  For them you need the following two lines.
+   For DPC processors you can enable these or not, as you wish, but
+   you will get better performance without them.  */
+
+/* #define NO_REMAP
+   #define TEXT_START 0
+*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/umips.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,77 @@
+/* Definitions file for GNU Emacs running on Mips operating system.
+   That system can emulate either BSD or Sys V, in either case with changes.
+   If BSD is defined, we assume BSD is being emulated; otherwise, Sys V.  */
+
+#ifdef BSD
+#include "bsd4-3.h"
+
+#define C_SWITCH_SYSTEM -systype bsd43
+#define LD_SWITCH_SYSTEM -systype bsd43
+#define LIBS_SYSTEM -lmld
+#define LIBS_DEBUG
+#define START_FILES pre-crt0.o /lib/crt1.o
+#define LIB_STANDARD -lc /usr/lib/crtn.o
+
+#define COFF
+#define TERMINFO
+#undef MAIL_USE_FLOCK  /* Someone should check this.  */
+#undef HAVE_UNION_WAIT
+
+#else /* not BSD */
+
+#include "usg5-2-2.h"
+
+#define LIBS_SYSTEM -lmld
+#define LIBS_DEBUG
+#define START_FILES pre-crt0.o /usr/lib/crt1.o
+#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o
+/* #define LIBS_TERMCAP -lcurses */
+
+#define C_SWITCH_SYSTEM -I/usr/include/bsd
+
+/* Cancel certain parts of standard sysV support.  */
+#undef NONSYSTEM_DIR_LIBRARY
+#define SYSV_SYSTEM_DIR
+#undef static
+
+/* Don't try to use SIGIO or FIONREAD even though they are defined.  */
+#undef SIGIO
+#define BROKEN_FIONREAD
+
+/* Describe special kernel features.  */
+
+#define HAVE_SYSVIPC
+
+#define HAVE_TIMEVAL
+#if defined(emacs)
+#include <bsd/sys/time.h>
+#endif
+
+/* #define HAVE_SELECT
+   The `select' in the system won't work for pipes,
+   so don't use it.  */
+
+#define HAVE_DUP2
+#define HAVE_GETWD
+#define HAVE_GETTIMEOFDAY
+
+#define HAVE_PTYS
+#define HAVE_SOCKETS
+/* #define BSTRING   Supposedly removed.  */
+
+#undef NOMULTIPLEJOBS
+
+#define CLASH_DETECTION
+
+#if defined(HAVE_X_WINDOWS) && defined(HAVE_X11)
+#define HAVE_VFORK		/* Graciously provided by libX.a */
+#endif
+
+#define utimes utime  /* Someone should check this.  */
+/* ??? */
+#define IRIS
+
+#endif /* not BSD */
+
+/* High order bit must be stripped off nlist return values */
+#define FIXUP_KERNEL_SYMBOL_ADDR(NL)  (NL)[0].n_value &= 0x7fffffff;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/unipl5-0.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,192 @@
+/* Definitions file for GNU Emacs running on UniSoft's UniPlus 5.0
+   Support for this system is not finished; don't expect this to work.
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#define USG				/* System III, System V, etc */
+
+#define USG5
+
+#define UNIPLUS
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "unisoft-unix"
+
+/* NOMULTIPLEJOBS should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+/* #define NOMULTIPLEJOBS */
+
+/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
+
+/* #define INTERRUPT_INPUT */
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'a' means it is /dev/ptya0  */
+
+/* #define FIRST_PTY_LETTER 'a' */
+
+/*
+ *	Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *	for terminal control.
+ */
+
+#define HAVE_TERMIO
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+/* #define HAVE_TIMEVAL */
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+/* #define HAVE_SELECT */
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+/* #define HAVE_PTYS */
+
+/* Define this macro if system defines a type `union wait'.  */
+
+#define HAVE_UNION_WAIT
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+/* #define HAVE_SOCKETS */
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+#define NONSYSTEM_DIR_LIBRARY
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+/* #define BSTRING */
+
+/* subprocesses should be defined if you want to
+   have code for asynchronous subprocesses
+   (as used in M-x compile and M-x shell).
+   This is generally OS dependent, and not supported
+   under most USG systems. */
+
+/* #define subprocesses */
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+/* #define COFF */
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* #define CLASH_DETECTION */
+
+/* Define SHORTNAMES if the C compiler can distinguish only
+   short names.  It means that the stuff in ../shortnames
+   must be run to convert the long names to short ones.
+
+   Some USG systems support long names.
+   If yours is one, DO NOT change this file!
+   Do #undef SHORTNAMES in the m- file or in config.h.  */
+
+#define SHORTNAMES
+
+/* We do NOT use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+/* #define NLIST_STRUCT */
+
+/* The file containing the kernel's symbol table is called /unix.  */
+
+#define KERNEL_FILE "/unix"
+
+/* The symbol in the kernel where the load average is found
+   is named avenrun.  */
+
+#define LDAV_SYMBOL "avenrun"
+
+/* Special hacks needed to make Emacs run on this system.  */
+
+/*
+ *	Make the sigsetmask function go away.  Don't know what the
+ *	ramifications of this are, but doesn't seem possible to
+ *	emulate it properly anyway at this point.
+ */
+
+#define sigsetmask(mask)	/* Null expansion */
+
+/* setjmp and longjmp can safely replace _setjmp and _longjmp,
+   but they will run slower.  */
+
+#define _setjmp setjmp
+#define _longjmp longjmp
+
+/* On USG systems the system calls are interruptable by signals
+ that the user program has elected to catch.  Thus the system call
+ must be retried in these cases.  To handle this without massive
+ changes in the source code, we remap the standard system call names
+ to names for our own functions in sysdep.c that do the system call
+ with retries. */
+
+#define read sys_read
+#define open sys_open
+#define write sys_write
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_IO
+
+/* On USG systems these have different names */
+
+#define index strchr
+#define rindex strrchr
+
+/* Compiler bug bites when default ADDR_CORRECT is used.  */
+
+#define ADDR_CORRECT(x) (x)
+
+/* Special library needed for linking for Uniplus */
+
+#define LIBS_SYSTEM -lnet
+
+/* A system-specific loader switch is needed.  */
+
+#define LD_SWITCH_SYSTEM -N -L/lib/libg /usr/lib/unshared.ld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/unipl5-2.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,186 @@
+/* Definitions file for GNU Emacs running on UniSoft's UniPlus 5.2
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#define USG				/* System III, System V, etc */
+
+#define USG5
+
+#define UNIPLUS
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "unisoft-unix"
+
+/* nomultiplejobs should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+/* #define NOMULTIPLEJOBS */
+
+/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
+
+/* #define INTERRUPT_INPUT */
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'p' means it is /dev/ptyp0  */
+
+#define FIRST_PTY_LETTER 'p'
+
+/*
+ *	Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *	for terminal control.
+ */
+
+#define HAVE_TERMIO
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+#define HAVE_TIMEVAL
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+#define HAVE_SELECT
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+#define HAVE_PTYS
+
+/* Define this macro if system defines a type `union wait'.  */
+
+#define HAVE_UNION_WAIT
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+/* #define HAVE_SOCKETS */
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+#define NONSYSTEM_DIR_LIBRARY
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+/* #define BSTRING */
+
+/* subprocesses should be defined if you want to
+ have code for asynchronous subprocesses
+ (as used in M-x compile and M-x shell).
+ This is generally OS dependent, and not supported
+ under most USG systems.  It is supported under UniPlus
+ System V Release 2. */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+#define COFF
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* #define CLASH_DETECTION */
+
+/* Uniplus 5.2 supports long names in C */
+
+/* #define SHORTNAMES */
+
+/* We do NOT use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+/* #define NLIST_STRUCT */
+
+/* The file containing the kernel's symbol table is called /unix.  */
+
+#define KERNEL_FILE "/unix"
+
+/* The symbol in the kernel where the load average is found
+   is named avenrun.  */
+
+#define LDAV_SYMBOL "avenrun"
+
+/* Special hacks needed to make Emacs run on this system.  */
+
+/*
+ *	Make the sigsetmask function go away.  Don't know what the
+ *	ramifications of this are, but doesn't seem possible to
+ *	emulate it properly anyway at this point.
+ */
+
+#define sigsetmask(mask)	/* Null expansion */
+
+/* setjmp and longjmp can safely replace _setjmp and _longjmp,
+   but they will run slower.  */
+
+#define _setjmp setjmp
+#define _longjmp longjmp
+
+/* On USG systems the system calls are interruptable by signals
+ that the user program has elected to catch.  Thus the system call
+ must be retried in these cases.  To handle this without massive
+ changes in the source code, we remap the standard system call names
+ to names for our own functions in sysdep.c that do the system call
+ with retries. */
+
+#define read sys_read
+#define open sys_open
+#define write sys_write
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_IO
+
+/* On USG systems these have different names */
+
+#define index strchr
+#define rindex strrchr
+
+/* Compiler bug bites when default ADDR_CORRECT is used.  */
+
+#define ADDR_CORRECT(x) (x)
+
+/* Special library needed for linking for Uniplus */
+
+#define LIBS_SYSTEM -lnet
+
+/* A system-specific loader switch is needed.  */
+
+#define LD_SWITCH_SYSTEM -N -L/lib/libg /usr/lib/unshared.ld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/usg5-0.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,183 @@
+/* Definitions file for GNU Emacs running on AT&T's System V.0
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#define USG				/* System III, System V, etc */
+
+#define USG5
+#define	USG5_0
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "usg-unix-v"
+
+/* nomultiplejobs should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+#define NOMULTIPLEJOBS
+
+/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
+
+/* #define INTERRUPT_INPUT */
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'p' means it is /dev/ptyp0  */
+
+#define FIRST_PTY_LETTER 'p'
+
+/*
+ *	Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *	for terminal control.
+ */
+
+#define HAVE_TERMIO
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+/* #define HAVE_TIMEVAL */
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+/* #define HAVE_SELECT */
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+/* #define HAVE_PTYS */
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+/* #define HAVE_SOCKETS */
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+#define NONSYSTEM_DIR_LIBRARY
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+/* #define BSTRING */
+
+/* subprocesses should be defined if you want to
+ have code for asynchronous subprocesses
+ (as used in M-x compile and M-x shell).
+ This is supposed to work now on system V release 2.  */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+#define COFF
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* #define CLASH_DETECTION */
+
+/* Define SHORTNAMES if the C compiler can distinguish only
+   short names.  It means that the stuff in ../shortnames
+   must be run to convert the long names to short ones.  */
+
+#define SHORTNAMES
+
+/* We do NOT use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+/* #define NLIST_STRUCT */
+
+/* The file containing the kernel's symbol table is called /unix.  */
+
+#define KERNEL_FILE "/unix"
+
+/* The symbol in the kernel where the load average is found
+   is named avenrun.  */
+
+#define LDAV_SYMBOL "avenrun"
+
+/* Special hacks needed to make Emacs run on this system.  */
+
+/*
+ *	Make the sigsetmask function go away.  Don't know what the
+ *	ramifications of this are, but doesn't seem possible to
+ *	emulate it properly anyway at this point.
+ */
+
+#define sigsetmask(mask)	/* Null expansion */
+
+/* setjmp and longjmp can safely replace _setjmp and _longjmp,
+   but they will run slower.  */
+
+#define _setjmp setjmp
+#define _longjmp longjmp
+
+/* On USG systems the system calls are interruptable by signals
+ that the user program has elected to catch.  Thus the system call
+ must be retried in these cases.  To handle this without massive
+ changes in the source code, we remap the standard system call names
+ to names for our own functions in sysdep.c that do the system call
+ with retries. */
+
+#define read sys_read
+#define open sys_open
+#define write sys_write
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_IO
+
+/* On USG systems these have different names */
+
+#define index strchr
+#define rindex strrchr
+
+/* USG systems tend to put everything declared static
+   into the initialized data area, which becomes pure after dumping Emacs.
+   Foil this.  Emacs carefully avoids static vars inside functions.  */
+
+#define static
+
+/* Compiler bug bites on many systems when default ADDR_CORRECT is used.  */
+
+#define ADDR_CORRECT(x) (x)
+
+/* Prevent -lg from being used for debugging.  Not implemented?  */
+
+#define LIBS_DEBUG
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/usg5-2-2.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,186 @@
+/* Definitions file for GNU Emacs running on AT&T's System V Release 2.2
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#define USG				/* System III, System V, etc */
+
+#define USG5
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "usg-unix-v"
+
+/* nomultiplejobs should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+#define NOMULTIPLEJOBS
+
+/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
+
+/* #define INTERRUPT_INPUT */
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'p' means it is /dev/ptyp0  */
+
+#define FIRST_PTY_LETTER 'p'
+
+/*
+ *	Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *	for terminal control.
+ */
+
+#define HAVE_TERMIO
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+/* #define HAVE_TIMEVAL */
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+/* #define HAVE_SELECT */
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+/* #define HAVE_PTYS */
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+/* #define HAVE_SOCKETS */
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+#define NONSYSTEM_DIR_LIBRARY
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+/* #define BSTRING */
+
+/* subprocesses should be defined if you want to
+ have code for asynchronous subprocesses
+ (as used in M-x compile and M-x shell).
+ This is supposed to work now on system V release 2.  */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+#define COFF
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* #define CLASH_DETECTION */
+
+/* Define SHORTNAMES if the C compiler can distinguish only
+   short names.  It means that the stuff in ../shortnames
+   must be run to convert the long names to short ones.  */
+
+/* #define SHORTNAMES */
+
+/* We use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+#define NLIST_STRUCT
+
+/* The file containing the kernel's symbol table is called /unix.  */
+
+#define KERNEL_FILE "/unix"
+
+/* The symbol in the kernel where the load average is found
+   is named avenrun.  */
+
+#define LDAV_SYMBOL "avenrun"
+
+/* Special hacks needed to make Emacs run on this system.  */
+
+/*
+ *	Make the sigsetmask function go away.  Don't know what the
+ *	ramifications of this are, but doesn't seem possible to
+ *	emulate it properly anyway at this point.
+ */
+
+#define sigsetmask(mask)	/* Null expansion */
+
+/* setjmp and longjmp can safely replace _setjmp and _longjmp,
+   but they will run slower.  */
+
+#define _setjmp setjmp
+#define _longjmp longjmp
+
+/* On USG systems the system calls are interruptable by signals
+ that the user program has elected to catch.  Thus the system call
+ must be retried in these cases.  To handle this without massive
+ changes in the source code, we remap the standard system call names
+ to names for our own functions in sysdep.c that do the system call
+ with retries. */
+
+#define read sys_read
+#define open sys_open
+#define write sys_write
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_IO
+
+/* On USG systems these have different names */
+
+#define index strchr
+#define rindex strrchr
+
+/* USG systems tend to put everything declared static
+   into the initialized data area, which becomes pure after dumping Emacs.
+   Foil this.  Emacs carefully avoids static vars inside functions.  */
+
+#define static
+
+/* Compiler bug bites on many systems when default ADDR_CORRECT is used.  */
+
+#define ADDR_CORRECT(x) (x)
+
+/* Prevent -lg from being used for debugging.  Not implemented?  */
+
+#define LIBS_DEBUG
+
+/* Use terminfo instead of termcap.  */
+
+#define TERMINFO
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/usg5-2.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,186 @@
+/* Definitions file for GNU Emacs running on AT&T's System V Release 2.0
+   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#define USG				/* System III, System V, etc */
+
+#define USG5
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "usg-unix-v"
+
+/* nomultiplejobs should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+#define NOMULTIPLEJOBS
+
+/* Default is to set interrupt_input to 0: don't do input buffering within Emacs */
+
+/* #define INTERRUPT_INPUT */
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'p' means it is /dev/ptyp0  */
+
+#define FIRST_PTY_LETTER 'p'
+
+/*
+ *	Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *	for terminal control.
+ */
+
+#define HAVE_TERMIO
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+/* #define HAVE_TIMEVAL */
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+/* #define HAVE_SELECT */
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+/* #define HAVE_PTYS */
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+/* #define HAVE_SOCKETS */
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+#define NONSYSTEM_DIR_LIBRARY
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+/* #define BSTRING */
+
+/* subprocesses should be defined if you want to
+ have code for asynchronous subprocesses
+ (as used in M-x compile and M-x shell).
+ This is supposed to work now on system V release 2.  */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+#define COFF
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* #define CLASH_DETECTION */
+
+/* Define SHORTNAMES if the C compiler can distinguish only
+   short names.  It means that the stuff in ../shortnames
+   must be run to convert the long names to short ones.  */
+
+/* #define SHORTNAMES */
+
+/* We do NOT use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+/* #define NLIST_STRUCT */
+
+/* The file containing the kernel's symbol table is called /unix.  */
+
+#define KERNEL_FILE "/unix"
+
+/* The symbol in the kernel where the load average is found
+   is named avenrun.  */
+
+#define LDAV_SYMBOL "avenrun"
+
+/* Special hacks needed to make Emacs run on this system.  */
+
+/*
+ *	Make the sigsetmask function go away.  Don't know what the
+ *	ramifications of this are, but doesn't seem possible to
+ *	emulate it properly anyway at this point.
+ */
+
+#define sigsetmask(mask)	/* Null expansion */
+
+/* setjmp and longjmp can safely replace _setjmp and _longjmp,
+   but they will run slower.  */
+
+#define _setjmp setjmp
+#define _longjmp longjmp
+
+/* On USG systems the system calls are interruptable by signals
+ that the user program has elected to catch.  Thus the system call
+ must be retried in these cases.  To handle this without massive
+ changes in the source code, we remap the standard system call names
+ to names for our own functions in sysdep.c that do the system call
+ with retries. */
+
+#define read sys_read
+#define open sys_open
+#define write sys_write
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_IO
+
+/* On USG systems these have different names */
+
+#define index strchr
+#define rindex strrchr
+
+/* USG systems tend to put everything declared static
+   into the initialized data area, which becomes pure after dumping Emacs.
+   Foil this.  Emacs carefully avoids static vars inside functions.  */
+
+#define static
+
+/* Compiler bug bites on many systems when default ADDR_CORRECT is used.  */
+
+#define ADDR_CORRECT(x) (x)
+
+/* Prevent -lg from being used for debugging.  Not implemented?  */
+
+#define LIBS_DEBUG
+
+/* Use terminfo instead of termcap.  */
+
+#define TERMINFO
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/vms.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,230 @@
+/* system description header for VMS
+   Copyright (C) 1986 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+#ifndef VMS		    /* Decus cpp doesn't define this but VAX C does */
+#define VMS
+#endif /* VMS */
+/* Note that this file is used indirectly via vms4-0.h, or some other
+   such file.  These other files define a symbol VMS4_0, VMS4_2, etc.  */
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "vax-vms"
+
+/* NOMULTIPLEJOBS should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+/* #define NOMULTIPLEJOBS */
+
+/* INTERRUPT_INPUT controls a default for Unix systems.
+   VMS uses a separate mechanism.  */
+
+/* #define INTERRUPT_INPUT */
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'a' means it is /dev/ptya0  */
+
+#define FIRST_PTY_LETTER 'a'
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+/* #define HAVE_TIMEVAL */
+
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+/* #define HAVE_SELECT */
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+/* #define HAVE_PTYS */
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+/* #define HAVE_SOCKETS */
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+#define NONSYSTEM_DIR_LIBRARY
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+/* #define BSTRING */
+
+/* subprocesses should be defined if you want to
+   have code for asynchronous subprocesses
+   (as used in M-x compile and M-x shell).
+   This is generally OS dependent, and not supported
+   under most USG systems. */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+/* #define COFF */
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+/* #define MAIL_USE_FLOCK */
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* #define CLASH_DETECTION */
+
+/* Define the maximum record length for print strings, if needed. */
+
+#define MAX_PRINT_CHARS 300
+
+
+/* Here, on a separate page, add any special hacks needed
+   to make Emacs work on this system.  For example,
+   you might define certain system call names that don't
+   exist on your system, or that do different things on
+   your system and must be used only through an encapsulation
+   (Which you should place, by convention, in sysdep.c).  */
+
+/* Do you have the shareable library bug?  If you link with a shareable
+   library that contains psects with the NOSHR attribute and also refer to
+   those psects in your program, the linker give you a private version of
+   the psect which is not related to the version used by the shareable
+   library.  The end result is that your references to variables in that
+   psect have absolutely nothing to do with library references to what is
+   supposed to be the same variable.  If you intend to link with the standard
+   C library (NOT the shareable one) you don't need to define this.  (This
+   is NOT fixed in V4.4...) */
+
+#define SHAREABLE_LIB_BUG
+
+/* Partially due to the above mentioned bug and also so that we don't need
+   to require that people have a shareable C library, the default for Emacs
+   is to link with the non-shared library.  If you want to link with the
+   shared library, define this and remake xmakefile and fileio.c. This allows
+   us to ship a guaranteed executable image. */
+
+#define LINK_CRTL_SHARE
+
+/* Define this if you want to read the file SYS$SYSTEM:SYSUAF.DAT for user
+   information.  If you do use this, you must either make SYSUAF.DAT world 
+   readable or install Emacs with SYSPRV.  */
+
+/* #define READ_SYSUAF */
+
+/* On VMS these have a different name */
+
+#define index strchr
+#define rindex strrchr
+#define unlink delete
+  
+/* On later versions of VMS these exist in the C run time library, but
+   we are using our own implementations.  Hide their names to avoid
+   linker errors */
+#define rename sys_rename
+#define execvp sys_execvp
+#define system sys_system
+
+/* Hide these names so that we don't get linker errors */
+#define malloc sys_malloc
+#define free sys_free
+#define realloc sys_realloc
+#define calloc sys_calloc
+
+/* Don't use the standard brk and sbrk */
+#define sbrk sys_sbrk
+#define brk sys_brk
+
+/* On VMS we want to avoid reading and writing very large amounts of
+   data at once, so we redefine read and write here. */
+
+#define read sys_read
+#define write sys_write
+
+/* sys_creat just calls the real creat with additional args of
+   "rfm=var", "rat=cr" to get "normal" VMS files... */
+#define creat sys_creat
+
+/* fwrite forces an RMS PUT on every call.  This is abysmally slow, so
+   we emulate fwrite with fputc, which forces buffering and is much
+   faster! */
+#define fwrite sys_fwrite
+
+/* getuid only returns the member number, which is not unique on most VMS
+   systems.  We emulate it with (getgid()<<16 | getuid()). */
+#define getuid sys_getuid
+
+/* If user asks for TERM, check first for EMACS_TERM.  */
+#define getenv sys_getenv
+  
+/* Standard C abort is less useful than it should be. */
+#define abort sys_abort
+
+/* Case conflicts with C library fread. */
+#define Fread F_read
+
+/* Case conflicts with C library srandom. */
+#define Srandom S_random
+
+/* Cause initialization of vmsfns.c to be run.  */
+#define SYMS_SYSTEM syms_of_vmsfns ()
+
+/* VAXCRTL access doesn't deal with SYSPRV very well (among other oddites...)
+   Here, we use $CHKPRO to really determine access. */
+#define access sys_access
+
+#define	PAGESIZE	512
+
+#define	_longjmp	longjmp
+#define	_setjmp		setjmp
+
+globalref char sdata[];
+#define DATA_START (((int) sdata + 511) & ~511)
+#define TEXT_START 512
+
+/* Baud-rate values from tty status are not standard.  */
+
+#define BAUD_CONVERT  \
+{ 0, 50, 75, 110, 134, 150, 300, 600, 1200, 1800, \
+  2000, 2400, 3600, 4800, 7200, 9600, 19200 }
+
+#define PURESIZE 132000
+
+/* Stdio FILE type has extra indirect on VMS, so must alter this macro.  */
+
+#define PENDING_OUTPUT_COUNT(FILE) ((*(FILE))->_ptr - (*(FILE))->_base)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/vms4-0.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,2 @@
+#include "vms.h"
+#define VMS4_0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/vms4-2.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,3 @@
+#include "vms.h"
+#define VMS4_2
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/vms4-4.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,3 @@
+#include "vms.h"
+#define VMS4_4
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/s/xenix.h	Fri Dec 13 18:50:18 1991 +0000
@@ -0,0 +1,238 @@
+/* Definitions file for GNU Emacs running SCO Xenix 386 Release 2.2
+   Copyright (C) 1988 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs 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 1, or (at your option)
+any later version.
+
+GNU Emacs 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 GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/*
+ *	Define symbols to identify the version of Unix this is.
+ *	Define all the symbols that apply correctly.
+ */
+
+/* #define UNIPLUS */
+#define XENIX
+#define USG5
+#define USG
+/* #define HPUX */
+/* #define UMAX */
+/* #define BSD4_1 */
+/* #define BSD4_2 */
+/* #define BSD4_3 */
+/* #define BSD */
+/* #define VMS */
+
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
+
+#define SYSTEM_TYPE "xenix"
+
+/* NOMULTIPLEJOBS should be defined if your system's shell
+ does not have "job control" (the ability to stop a program,
+ run some other program, then continue the first one).  */
+
+#define NOMULTIPLEJOBS
+
+/* Emacs can read input using SIGIO and buffering characters itself,
+   or using CBREAK mode and making C-g cause SIGINT.
+   The choice is controlled by the variable interrupt_input.
+   Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
+
+   SIGIO can be used only on systems that implement it (4.2 and 4.3).
+   CBREAK mode has two disadvatages
+     1) At least in 4.2, it is impossible to handle the Meta key properly.
+        I hear that in system V this problem does not exist.
+     2) Control-G causes output to be discarded.
+        I do not know whether this can be fixed in system V.
+
+   Another method of doing input is planned but not implemented.
+   It would have Emacs fork off a separate process
+   to read the input and send it to the true Emacs process
+   through a pipe.
+*/
+
+/* #define INTERRUPT_INPUT */
+
+/* Letter to use in finding device name of first pty,
+  if system supports pty's.  'p' means it is /dev/ptyp0  */
+
+/* #define FIRST_PTY_LETTER 'p' */
+
+/*
+ *	Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *	for terminal control.
+ */
+
+#define HAVE_TERMIO
+
+/*
+ *	Define HAVE_TIMEVAL if the system supports the BSD style clock values.
+ *	Look in <sys/time.h> for a timeval structure.
+ */
+
+/* #define HAVE_TIMEVAL */
+ 
+/*
+ *	Define HAVE_SELECT if the system supports the `select' system call.
+ */
+
+/* #define HAVE_SELECT */
+
+/*
+ *	Define HAVE_PTYS if the system supports pty devices.
+ */
+
+/* #define HAVE_PTYS */
+
+/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
+
+/* #define HAVE_SOCKETS */
+
+/*
+ *	Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
+ *      The 4.2 opendir, etc., library functions.
+ */
+
+#define NONSYSTEM_DIR_LIBRARY
+
+/* Define this symbol if your system has the functions bcopy, etc. */
+
+/* #define BSTRING */
+
+/* subprocesses should be defined if you want to
+ have code for asynchronous subprocesses
+ (as used in M-x compile and M-x shell).
+ This is supposed to work now on system V release 2.  */
+
+#define subprocesses
+
+/* If your system uses COFF (Common Object File Format) then define the
+   preprocessor symbol "COFF". */
+
+/* #define COFF */
+
+/* Xenix requires completely different unexec code
+   which lives in a separate file.  Specify the file name.  */
+
+#define UNEXEC unexenix.o
+
+/* define MAIL_USE_FLOCK if the mailer uses flock
+   to interlock access to /usr/spool/mail/$USER.
+   The alternative is that a lock file named
+   /usr/spool/mail/$USER.lock.  */
+
+#define MAIL_USE_FLOCK
+
+/* Define CLASH_DETECTION if you want lock files to be written
+   so that Emacs can tell instantly when you try to modify
+   a file that someone else has modified in his Emacs.  */
+
+/* The way this is implemented requires long filenames... */
+/* #define CLASH_DETECTION */
+
+/* Define SHORTNAMES if the C compiler can distinguish only
+   short names.  It means that the stuff in ../shortnames
+   must be run to convert the long names to short ones.  */
+
+/* #define SHORTNAMES */
+
+/* We do not use the Berkeley (and usg5.2.2) interface to nlist.  */
+
+/* #define NLIST_STRUCT */
+
+/* Compensate for one incompatibility between Xenix and V.0.  */
+#define n_zeroes n_name[0]
+
+/* The file containing the kernel's symbol table is called /xenix.  */
+
+#define KERNEL_FILE "/xenix"
+
+/* The symbol in the kernel where the load average is found
+   is named avenrun.  */
+
+#define LDAV_SYMBOL "_avenrun"
+
+/* Special hacks needed to make Emacs run on this system.  */
+
+/*
+ *	Make the sigsetmask function go away.  Don't know what the
+ *	ramifications of this are, but doesn't seem possible to
+ *	emulate it properly anyway at this point.
+ */
+
+#define sigsetmask(mask)	/* Null expansion */
+
+/* setjmp and longjmp can safely replace _setjmp and _longjmp,
+   but they will run slower.  */
+
+#define _setjmp setjmp
+#define _longjmp longjmp
+
+/* On USG systems the system calls are interruptable by signals
+ that the user program has elected to catch.  Thus the system call
+ must be retried in these cases.  To handle this without massive
+ changes in the source code, we remap the standard system call names
+ to names for our own functions in sysdep.c that do the system call
+ with retries. */
+
+#define read sys_read
+#define open sys_open
+#define write sys_write
+
+#define INTERRUPTIBLE_OPEN
+#define INTERRUPTIBLE_IO
+
+/* On USG systems these have different names */
+
+#define index strchr
+#define rindex strrchr
+
+/* Compiler bug bites on many systems when default ADDR_CORRECT is used.  */
+
+#define ADDR_CORRECT(x) (x)
+
+/* Prevent -lg from being used for debugging.  Not implemented?  */
+
+#define LIBS_DEBUG
+
+/* Switches for linking temacs.  */
+
+#define LD_SWITCH_SYSTEM -i
+
+/* Xenix implements sysV style IPC.  */
+
+#define HAVE_SYSVIPC
+
+/* Use terminfo instead of termcap.  */
+
+/* Tell Emacs to use Terminfo.  */
+
+#define TERMINFO
+
+/* Tell Xenix curses to BE Terminfo.  */
+#define M_TERMINFO
+
+/* Control program name for etc/fakemail to run.  */
+
+#ifdef SMAIL
+#define MAIL_PROGRAM_NAME "/usr/bin/smail -q0"
+#else
+#define MAIL_PROGRAM_NAME "/usr/lib/mail/execmail"
+#endif
+
+/* Some variants have TIOCGETC, but the structures to go with it
+   are not declared.  */
+
+#define BROKEN_TIOCGETC