/* Definitions file for GNU Emacs running on AT&T's System V Release 4
- Copyright (C) 1987 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1990, 1999, 2000, 2002, 2003, 2004,
+ 2005, 2006 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 2, or (at your option)
+any later version.
+
GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY. No author or distributor
-accepts responsibility to anyone for the consequences of using it
-or for whether it serves any particular purpose or works at all,
-unless he says so in writing. Refer to the GNU Emacs General Public
-License for full details.
-
-Everyone is granted permission to copy, modify and redistribute
-GNU Emacs, but only under the conditions described in the
-GNU Emacs General Public License. A copy of this license is
-supposed to have been given to you along with GNU Emacs so you
-can know your rights and responsibilities. It should be in a
-file named COPYING. Among other things, the copyright notice
-and this notice must be preserved on all copies. */
+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, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, 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. */
#undef NOMULTIPLEJOBS
-/* If compiled by GNU C, we must have gnulib */
+/* Motif needs -lgen. */
+#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
+#define ORDINARY_LINK
-#ifdef __GNUC__
-#define GNULIB /usr/local/lib/gcc-gnulib
-#define LIBS_DEBUG
+#if 0
+#ifdef ORDINARY_LINK
+#define LIB_STANDARD -lc /usr/ucblib/libucb.a
#else
-#define GNULIB
+#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
-#define LIB_STANDARD GNULIB -lsocket -lnsl -lelf -lc /usr/ucblib/libucb.a /usr/ccs/lib/crtn.o
-
-/* Use ptem.h to get structures related to windows. */
+/* there are no -lg libraries on this system, and no libPW */
-#define NEED_PTEM_H
+#define LIBS_DEBUG
/* Undump with ELF */
#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>
-#undef SIGIO
+#include <sys/stream.h>
+#include <sys/stropts.h>
+#include <sys/termios.h>
+#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
-
-#define USE_UTIME
-
-/* <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 */
#define CLASH_DETECTION
#define HAVE_PTYS
-#define HAVE_SETSID
+#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
#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
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. */
if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
fatal ("ioctl I_PUSH ttcompat", errno);
-/* The definition of this in usg5-3.h is not needed in 5.4. */
+/* 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) */