(SOLARIS2): Defined.
[bpt/emacs.git] / src / s / gnu-linux.h
index 719f647..0283e0e 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is the configuration file for the Linux operating system.
-   Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc.
+   Copyright (C) 1985, 1986, 1992, 1994 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -122,7 +122,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
    so that Emacs can tell instantly when you try to modify
    a file that someone else has modified in his Emacs.  */
 
-/* #define CLASH_DETECTION */
+#define CLASH_DETECTION
 
 /* Here, on a separate page, add any special hacks needed
    to make Emacs work on this system.  For example,
@@ -155,7 +155,17 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 /* This is needed for disknew.c:update_frame() */
 
-#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_pptr - (FILE)->_pbase)
+#ifdef emacs
+#ifdef _IO_STDIO_H
+/* new C libio names */
+#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
+  ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
+#else /* !_IO_STDIO_H */
+/* old C++ iostream names */
+#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
+  ((FILE)->_pptr - (FILE)->_pbase)
+#endif /* !_IO_STDIO_H */
+#endif /* emacs */
 
 /* Linux has crt0.o in a non-standard place */
 #define START_FILES pre-crt0.o /usr/lib/crt0.o
@@ -172,14 +182,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include <values.h>
 #endif
 
-#define HAVE_SETSID
-
 /* This is needed for sysdep.c */
 
-#define HAVE_UNISTD_H        /* for getpagesize.h */
 #define NO_SIOCTL_H           /* don't have sioctl.h */
 
 #if 0 /* autoconf should take care of this.  */
+#define HAVE_UNISTD_H        /* for getpagesize.h */
 #define HAVE_RANDOM           /* is builtin */
 #endif
 #define HAVE_GETPAGESIZE
@@ -191,7 +199,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define SYSV_SYSTEM_DIR       /* use dirent.h */
 #define USG_SYS_TIME          /* use sys/time.h, not time.h */
 
-#define POSIX                 /* affects only getpagesize.h */
+#define POSIX                 /* affects getpagesize.h and systty.h */
 #define POSIX_SIGNALS
 
 /* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
@@ -207,9 +215,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define LD_SWITCH_SYSTEM -L/usr/X386/lib
 #endif
 
-/* Work around a bug in glibc with _longjmp. */
-#define C_SWITCH_SYSTEM -D_BSD_SOURCE
-
 /* Let's try this out, just in case.
    Nah.  Rik Faith <faith@cs.unc.edu> says it doesn't work well.  */
 /* #define SIGNALS_VIA_CHARACTERS */
@@ -217,7 +222,39 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 /* Rob Malouf <malouf@csli.stanford.edu> says:
    SYSV IPC is standard a standard part of Linux since version 0.99pl10,
    and is a very common addition to previous versions.  */
+
+#ifdef TERM
+#define LIBS_MACHINE -lclient
+#define C_SWITCH_SYSTEM -D_BSD_SOURCE -I/usr/src/term
+#else
 /* alane@wozzle.linet.org says that -lipc is not a separate library,
    since libc-4.4.1.  So -lipc was deleted.  */
 #define LIBS_MACHINE
+#define C_SWITCH_SYSTEM -D_BSD_SOURCE
+#endif
+
 #define HAVE_SYSVIPC
+
+#define A_TEXT_OFFSET(hdr) (N_MAGIC(hdr) == QMAGIC ? sizeof (struct exec) : 0)
+#define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr))
+#define ADJUST_EXEC_HEADER \
+  unexec_text_start = N_TXTADDR(ohdr) + A_TEXT_OFFSET(ohdr)
+
+/* In 19.23 and 19.24, configure sometimes fails to define these.
+   It has to do with the fact that configure uses CFLAGS when linking
+   while Makefile.in.in (erroneously) fails to do so when linking temacs.  */
+#ifndef HAVE_GETTIMEOFDAY
+#define HAVE_GETTIMEOFDAY
+#endif
+#ifndef HAVE_MKDIR
+#define HAVE_MKDIR
+#endif
+#ifndef HAVE_RMDIR
+#define HAVE_RMDIR
+#endif
+#ifndef HAVE_XSCREENNUMBEROFSCREEN
+#define HAVE_XSCREENNUMBEROFSCREEN
+#endif
+#ifndef HAVE_XRMSETDATABASE
+#define HAVE_XRMSETDATABASE
+#endif