/* 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.
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. Subsequently improved for Dell 2.2 by Eric
#undef NOMULTIPLEJOBS
-#define LIBS_SYSTEM -lsocket -lnsl -lelf
+/* Motif needs -lgen. */
+#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
#define ORDINARY_LINK
#if 0
/* there are no -lg libraries on this system, and no libPW */
#define LIBS_DEBUG
-#define LIBS_STANDARD -lc
+/* 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> */
#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
/* 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.
*/
-
-#ifndef NSIG
-#define NSIG 32
-#endif
-
-/* libc has this stuff, but not utimes. */
-
-#define HAVE_SELECT
-#define HAVE_TIMEVAL
-
-/* <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
+#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
#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. */
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. */
So give it a try. */
#define HAVE_SOCKETS
-#define bcopy(src,dst,n) memcpy(dst,src,n)
-#define bcmp(src,dst,n) memcmp(src,dst,n)
-#define bzero(s,n) memset(s,0,n)
+#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