X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/23b0668cf2879d5520b2157ef1fc7ad18f402ac6..d0a29e1de77e4c1c01c46d80b6ac2df06b1df2b3:/src/s/usg5-4.h diff --git a/src/s/usg5-4.h b/src/s/usg5-4.h index c977bb1c97..5e202e3eda 100644 --- a/src/s/usg5-4.h +++ b/src/s/usg5-4.h @@ -1,25 +1,27 @@ /* 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 . */ /* Use the SysVr3 file for at least base configuration. */ @@ -32,22 +34,30 @@ and this notice must be preserved on all copies. */ #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 */ @@ -55,35 +65,39 @@ and this notice must be preserved on all copies. */ #define UNEXEC unexelf.o +/* *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 . Get to get struct * tchars. But get first to make sure ttold.h doesn't * interfere. And don't try to use SIGIO yet. */ +#ifndef NOT_C_CODE +#include +#endif + #ifdef emacs +#ifndef NO_FILIO_H #include +#endif #include #include #include -#undef SIGIO +#include +#include +#include +#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 - -/* *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 */ @@ -96,7 +110,9 @@ and this notice must be preserved on all copies. */ #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 @@ -106,7 +122,7 @@ and this notice must be preserved on all copies. */ #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 @@ -130,20 +146,20 @@ and this notice must be preserved on all copies. */ 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. */ @@ -156,6 +172,28 @@ and this notice must be preserved on all copies. */ 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 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) */