-/* This file is the configuration file for GNU/Linux operating systems.
+/* This file is the configuration file for Linux-based GNU systems
Copyright (C) 1985, 1986, 1992, 1994, 1996 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* #define UNIPLUS */
/* #define USG5 */
#define USG
-/* #define BSD */
+/* #define BSD_SYSTEM */
#define LINUX
/* SYSTEM_TYPE should indicate the kind of system you are using.
It sets the Lisp variable system-type. */
-#define SYSTEM_TYPE "linux" /* All the best software is free. */
+#define SYSTEM_TYPE "gnu/linux" /* All the best software is free. */
/* Check the version number of Linux--if it is at least 1.2.0,
it is safe to use SIGIO. */
#ifndef NOT_C_CODE
#ifdef emacs
+#ifdef HAVE_LINUX_VERSION_H
#include <linux/version.h>
#if LINUX_VERSION_CODE > 0x10200
#define LINUX_SIGIO_DOES_WORK
-#endif
-#endif
-#endif
+#endif /* LINUX_VERSION_CODE > 0x10200 */
+#if LINUX_VERSION_CODE >= 0x20000
+#define LINUX_MAP_SHARED_DOES_WORK
+#endif /* LINUX_VERSION_CODE >= 0x20000 */
+#endif /* HAVE_LINUX_VERSION_H */
+#endif /* emacs */
+#endif /* NOT_C_CODE */
/* Letter to use in finding device name of first pty,
if system supports pty's. 'p' means it is /dev/ptyp0 */
The alternative is that a lock file named
/usr/spool/mail/$USER.lock. */
-/* Both are used in Linux by different mail programs. I assume that most
- people are using newer mailers that have heard of flock. Change this
- if you need to. */
+/* On GNU/Linux systems, both methods are used by various mail
+ programs. I assume that most people are using newer mailers that
+ have heard of flock. Change this if you need to. */
#define MAIL_USE_FLOCK
/* #define LINUX_LDAV_FILE "/proc/loadavg" */
-/* This is needed for disknew.c:update_frame */
+/* This is needed for dispnew.c:update_frame */
#ifdef emacs
#include <stdio.h> /* Get the definition of _IO_STDIO_H. */
#define LIB_GCC `$(CC) $(C_SWITCH_X_SITE) -print-libgcc-file-name`
#ifndef __ELF__
-/* Linux has crt0.o in a non-standard place */
+/* GNU/Linux usually has crt0.o in a non-standard place */
#define START_FILES pre-crt0.o /usr/lib/crt0.o
#else
#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o
#endif
-/* As of version 1.1.51, Linux does not actually implement SIGIO. */
+#ifdef __ELF__
+/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
+ says where to find X windows at run time. */
+
+#ifdef __mips__
+#define LD_SWITCH_SYSTEM -G 0 LD_SWITCH_X_SITE_AUX
+#else
+#define LD_SWITCH_SYSTEM LD_SWITCH_X_SITE_AUX
+#endif /* __mips__ */
+#endif /* __ELF__ */
+
+/* As of version 1.1.51, Linux did not actually implement SIGIO.
+ But it works in newer versions. */
/* Here we assume that signal.h is already included. */
#ifdef emacs
#ifdef LINUX_SIGIO_DOES_WORK
#define HAVE_VFORK
#define HAVE_SYS_SIGLIST
#define HAVE_GETWD /* cure conflict with getcwd? */
+#define HAVE_WAIT_HEADER
#define SYSV_SYSTEM_DIR /* use dirent.h */
/* Paul Abrahams <abrahams@equinox.shaysnet.com> says this is needed. */
#define LIB_MOTIF -lXm -lXpm
-#ifdef HAVE_NCURSES
+#ifdef HAVE_LIBNCURSES
#define TERMINFO
+#define LIBS_TERMCAP -lncurses
#endif
#define HAVE_SYSVIPC
#ifdef __ELF__
#define UNEXEC unexelf.o
+#ifndef LINUX_MAP_SHARED_DOES_WORK
#define UNEXEC_USE_MAP_PRIVATE
#endif
+#endif
#ifdef LINUX_QMAGIC
and the function definitions in libc. So turn this off. */
/* #define REGEXP_IN_LIBC */
+/* Use BSD process groups, but use setpgid() instead of setpgrp() to
+ actually set a process group. */
+
+#define BSD_PGRPS
+#define setpgrp(pid,pgid) setpgid((pid),(pgid))