]> code.delx.au - gnu-emacs/blobdiff - src/s/usg5-4.h
(Fmove_to_column): Remove unused local variable `end_byte'.
[gnu-emacs] / src / s / usg5-4.h
index 731154c604db412d9f225087207414127a9e4e94..70fb8ccb74d104f5517ad7caa09b023042fe25d1 100644 (file)
@@ -1,11 +1,11 @@
 /* Definitions file for GNU Emacs running on AT&T's System V Release 4
-   Copyright (C) 1987, 1990 Free Software Foundation, Inc.
+   Copyright (C) 1987, 1990, 1999, 2000 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)
+the Free Software Foundation; either version 2, or (at your option)
 any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
@@ -15,10 +15,12 @@ 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 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 /* This file written by James Van Artsdalen of Dell Computer Corporation.
- * james@bigtex.cactus.org.
+ * james@bigtex.cactus.org.  Subsequently improved for Dell 2.2 by Eric
+ * S. Raymond <esr@snark.thyrsus.com>.
  */
 
 /* Use the SysVr3 file for at least base configuration. */
@@ -31,13 +33,33 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #undef NOMULTIPLEJOBS
 
-#define LIBS_SYSTEM -lsocket -lnsl -lelf
+/* Motif needs -lgen.  */
+#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
 #define ORDINARY_LINK
 
-#if 0 /* These should be unnecessary now because of ORDINARY_LINK.  */
+#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
+#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 */
+
+#define LIBS_DEBUG
+/* This is turned off because nobody actually uses LIBS_STANDARD (Nov 1995).
+   That name is a typo.  The next step is to delete this entirely.  */
+/* #define LIBS_STANDARD -lc */
 
 /* No <sioctl.h> */
 
@@ -49,37 +71,39 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, 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.
  */
 
+#ifndef NOT_C_CODE
+#include <sys/wait.h>
+#endif
+
 #ifdef emacs
+#ifndef NO_FILIO_H
 #include <sys/filio.h>
+#endif
 #include <termio.h>
 #include <sys/ttold.h>
 #include <signal.h>
-#include <sys/wait.h>
 #include <sys/stream.h>
 #include <sys/stropts.h>
 #include <sys/termios.h>
-#undef SIGIO
+#define BROKEN_SIGIO
 #endif
 
-/* libc has this stuff, but not utimes. */
-
-#define HAVE_RENAME
-#define HAVE_SELECT
-#define HAVE_TIMEVAL
-#define HAVE_CLOSEDIR
-#define HAVE_GETTIMEOFDAY
-#define HAVE_DUP2
-
-/* <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).
+/* Some SVr4s don't define NSIG in sys/signal.h for ANSI environments;
+ * instead, there's a system variable _sys_nsig.  Unfortunately, we need the
+ * constant to dimension an array.  So wire in the appropriate value here.
  */
-
-#undef static
+#define NSIG_MINIMUM 32
 
 /* We need bss_end from emacs.c for undumping */
 
@@ -92,8 +116,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define CLASH_DETECTION
 
 #define HAVE_PTYS
-#define HAVE_SETSID
-#define HAVE_TCATTR
+#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
@@ -103,14 +128,16 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define HAVE_WAIT_HEADER
 #define WAITTYPE int
 #define wait3(status, options, rusage) \
-  waitpid((pid_t) -1, (status), (options))
+  waitpid ((pid_t) -1, (status), (options))
 #define WRETCODE(w) (w >> 8)
 
 /* TIOCGPGRP is broken in SysVr4, so we can't send signals to PTY
    subprocesses the usual way.  But TIOCSIGNAL does work for PTYs, and
    this is all we need.  */
 
+#ifndef IRIX6
 #define TIOCSIGSEND TIOCSIGNAL
+#endif
 
 /* This change means that we don't loop through allocate_pty too many
    times in the (rare) event of a failure. */
@@ -127,20 +154,20 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
    intercepting that death.  If any child but grantpt's should die
    within, it should be caught after sigrelse(2). */
 
-#define PTY_TTY_NAME_SPRINTF                   \
-  {                                            \
-    char *ptsname(), *ptyname;                 \
-                                               \
-    sighold(SIGCLD);                           \
-    if (grantpt(fd) == -1)                     \
-      fatal("could not grant slave pty");      \
-    sigrelse(SIGCLD);                          \
-    if (unlockpt(fd) == -1)                    \
-      fatal("could not unlock slave pty");     \
-    if (!(ptyname = ptsname(fd)))              \
-      fatal ("could not enable slave pty");    \
-    strncpy(pty_name, ptyname, sizeof(pty_name)); \
-    pty_name[sizeof(pty_name) - 1] = 0;                \
+#define PTY_TTY_NAME_SPRINTF                           \
+  {                                                    \
+    char *ptsname (), *ptyname;                                \
+                                                       \
+    sighold (SIGCLD);                                  \
+    if (grantpt (fd) == -1)                            \
+      { emacs_close (fd); return -1; }                 \
+    sigrelse (SIGCLD);                                 \
+    if (unlockpt (fd) == -1)                           \
+      { emacs_close (fd); return -1; }                 \
+    if (!(ptyname = ptsname (fd)))                     \
+      { emacs_close (fd); return -1; }                 \
+    strncpy (pty_name, ptyname, sizeof (pty_name));    \
+    pty_name[sizeof (pty_name) - 1] = 0;               \
   }
 
 /* Push various streams modules onto a PTY channel. */
@@ -153,6 +180,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, 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
@@ -167,3 +197,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 /* This definition was suggested for next release.
    So give it a try.  */
 #define HAVE_SOCKETS
+
+#define bcopy(src,dst,n)       memmove (dst,src,n)
+#define bcmp(src,dst,n)                memcmp (src,dst,n)
+#define bzero(s,n)             memset (s,0,n)
+
+/* Markus Weiand <weiand@khof.com> says this is needed for Motif on
+   SINIX.  */
+#undef LIBS_SYSTEM
+#define LIBS_SYSTEM -lgen