Add 2010 to copyright years.
[bpt/emacs.git] / src / s / usg5-4.h
index 4ca5b6f..c611911 100644 (file)
@@ -1,13 +1,13 @@
 /* Definitions file for GNU Emacs running on AT&T's System V Release 4
-   Copyright (C) 1987, 1990, 1999, 2000, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007  Free Software Foundation, Inc.
+   Copyright (C) 1987, 1990, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+                 2006, 2007, 2008, 2009, 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
-GNU Emacs is free software; you can redistribute it and/or modify
+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 2, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, 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
@@ -15,9 +15,7 @@ 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, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.  */
+along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* This file written by James Van Artsdalen of Dell Computer Corporation.
  * james@bigtex.cactus.org.  Subsequently improved for Dell 2.2 by Eric
@@ -26,34 +24,90 @@ Boston, MA 02110-1301, USA.  */
 
 /* Use the SysVr3 file for at least base configuration. */
 
-#include "usg5-3.h"
+#define USG                            /* System III, System V, etc */
 
+#define USG5
 #define USG5_4
 
-/* We do have multiple jobs.  Handle ^Z. */
+/* SYSTEM_TYPE should indicate the kind of system you are using.
+ It sets the Lisp variable system-type.  */
 
-#undef NOMULTIPLEJOBS
+#define SYSTEM_TYPE "usg-unix-v"
 
-/* Motif needs -lgen.  */
-#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
-#define ORDINARY_LINK
+/*
+ *     Define HAVE_TERMIO if the system provides sysV-style ioctls
+ *     for terminal control.
+ */
+
+#define HAVE_TERMIO
+
+/*
+ *     Define HAVE_PTYS if the system supports pty devices.
+ */
+
+/*
+ *     Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
+ *     library functions.  Almost, but not quite the same as
+ *     the 4.2 functions
+ */
+#define SYSV_SYSTEM_DIR
+
+/* 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 these have different names */
+#ifndef HAVE_INDEX
+#define index strchr
+#endif /* ! defined (HAVE_INDEX) */
+#ifndef HAVE_RINDEX
+#define rindex strrchr
+#endif /* ! defined (HAVE_RINDEX) */
+
+/* Use terminfo instead of termcap.  */
+
+#define TERMINFO
 
-#if 0
-#ifdef ORDINARY_LINK
-#define LIB_STANDARD -lc /usr/ucblib/libucb.a
-#else
-#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o
-#define LIB_STANDARD -lc /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o
-#endif
-#else
 
-#ifdef ORDINARY_LINK
+/* The docs for system V/386 suggest v.3 has sigpause,
+   so let's give it a try.  */
+#define HAVE_SYSV_SIGPAUSE
+
+
+/* If we're using the System V X port, BSD bstring functions will be handy */
+
+#ifdef HAVE_X_WINDOWS
+#define BSTRING
+#endif /* HAVE_X_WINDOWS */
+
+/* On USG systems signal handlers return void */
+
+#define SIGTYPE void
+
+#define ORDINARY_LINK
+
 #define LIB_STANDARD
-#else
-#define START_FILES pre-crt0.o /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xt.o
-#define LIB_STANDARD -lc /usr/ccs/lib/crtn.o
-#endif
-#endif
 
 /* there are no -lg libraries on this system, and no libPW */
 
@@ -65,12 +119,6 @@ Boston, MA 02110-1301, USA.  */
 
 #define UNEXEC unexelf.o
 
-/* <sys/stat.h> *defines* stat(2) as a static function.  If "static"
- * is blank, then many files will have a public definition for stat(2).
- */
-
-#undef static
-
 /* Get FIONREAD from <sys/filio.h>.  Get <sys/ttold.h> to get struct
  * tchars. But get <termio.h> first to make sure ttold.h doesn't
  * interfere.  And don't try to use SIGIO yet.
@@ -81,9 +129,7 @@ Boston, MA 02110-1301, USA.  */
 #endif
 
 #ifdef emacs
-#ifndef NO_FILIO_H
 #include <sys/filio.h>
-#endif
 #include <termio.h>
 #include <sys/ttold.h>
 #include <signal.h>
@@ -99,28 +145,18 @@ Boston, MA 02110-1301, USA.  */
  */
 #define NSIG_MINIMUM 32
 
-/* We need bss_end from emacs.c for undumping */
-
-#ifndef USG_SHARED_LIBRARIES
-#define USG_SHARED_LIBRARIES
-#endif
-
 /* We can support this */
 
 #define CLASH_DETECTION
 
 #define HAVE_PTYS
 #define HAVE_TERMIOS
-#undef BROKEN_TIOCGWINSZ
-#undef BROKEN_TIOCGETC
 
 /* It is possible to receive SIGCHLD when there are no children
    waiting, because a previous waitsys(2) cleaned up the carcass of child
    without clearing the SIGCHLD pending info.  So, use a non-blocking
    wait3 instead, which maps to waitpid(2) in SysVr4. */
 
-#define HAVE_WAIT_HEADER
-#define WAITTYPE int
 #define wait3(status, options, rusage) \
   waitpid ((pid_t) -1, (status), (options))
 #define WRETCODE(w) (w >> 8)
@@ -134,7 +170,6 @@ Boston, MA 02110-1301, USA.  */
 /* This change means that we don't loop through allocate_pty too many
    times in the (rare) event of a failure. */
 
-#undef FIRST_PTY_LETTER
 #define FIRST_PTY_LETTER 'z'
 
 /* This sets the name of the master side of the PTY. */
@@ -172,28 +207,9 @@ Boston, MA 02110-1301, USA.  */
   if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
     fatal ("ioctl I_PUSH ttcompat", errno);
 
-/* Undo the SVr3 X11 library definition */
-#undef LIB_X11_LIB
-
-/* The definition of this in s-usg5-3.h is not needed in 5.4.  */
-/* liblnsl_s should never be used.  The _s suffix implies a shared
-   library, as opposed to a DLL.  Share libraries were used in SVR3, and are
-   available only in order to allow SVR3 binaries to run.  They should not be
-   linked in to new binaries. -- caraway!pinkas@caraway.intel.com.  */
-#undef LIBX10_SYSTEM
-#undef LIBX11_SYSTEM
-
-/* Tell x11term.c and keyboard.c we have the system V streams feature.  */
-#define SYSV_STREAMS
-
 /* This definition was suggested for next release.
    So give it a try.  */
 #define HAVE_SOCKETS
 
-/* Markus Weiand <weiand@khof.com> says this is needed for Motif on
-   SINIX.  */
-#undef LIBS_SYSTEM
-#define LIBS_SYSTEM -lgen
-
 /* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6
    (do not change this comment) */