Add 2012 to FSF copyright years for Emacs files (do not merge to trunk)
[bpt/emacs.git] / src / s / gnu.h
CommitLineData
7dbddb94 1/* Definitions file for GNU Emacs running on the GNU Hurd.
4b158629 2 Copyright (C) 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005, 2006,
49f70d46 3 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
7dbddb94
RM
4
5This file is part of GNU Emacs.
6
4b158629 7GNU Emacs is free software: you can redistribute it and/or modify
7dbddb94 8it under the terms of the GNU General Public License as published by
4b158629
GM
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
7dbddb94
RM
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
4b158629 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
7dbddb94
RM
19
20
f2a77c3a
DN
21/* Get most of the stuff from bsd-common */
22#include "bsd-common.h"
7dbddb94
RM
23
24/* For mem-limits.h. */
25#define BSD4_2
26
27#undef SYSTEM_TYPE
28#define SYSTEM_TYPE "gnu"
29
8fffa182 30#undef NLIST_STRUCT
d5844360
RS
31#undef KERNEL_FILE
32#undef LDAV_SYMBOL
7dbddb94 33
7dbddb94
RM
34#define SIGNALS_VIA_CHARACTERS
35
36#define HAVE_TERMIOS
37#define NO_TERMIO
38
39#define LIBS_DEBUG
40
41/* XXX emacs should not expect TAB3 to be defined. */
42#define TABDLY OXTABS
43#define TAB3 OXTABS
44
2abc0cca
MB
45/* Tell Emacs that we are a terminfo based system; disable the use
46 of local termcap. (GNU uses ncurses.) */
47#ifdef HAVE_LIBNCURSES
48#define TERMINFO
49#define LIBS_TERMCAP -lncurses
50#endif
7dbddb94
RM
51
52#define SYSV_SYSTEM_DIR
53
54/* GNU has POSIX-style pgrp behavior. */
55#undef BSD_PGRPS
56
6b529d78
RS
57/* Use mmap directly for allocating larger buffers. */
58#ifdef DOUG_LEA_MALLOC
59#undef REL_ALLOC
60#endif
61
7dbddb94
RM
62/* GNU needs its own crt0, and libc defines data_start. */
63#define ORDINARY_LINK
64#define DATA_START ({ extern int data_start; (char *) &data_start; })
65
afe3e774
RM
66/* GNU now always uses the ELF format. */
67#define UNEXEC unexelf.o
7dbddb94 68
79e50e4f
RM
69/* Some losing code fails to include this and then assumes
70 that because it is braindead that O_RDONLY==0. */
71#ifndef NOT_C_CODE
72#include <fcntl.h>
73#endif
2327e4a0
GM
74
75#define NARROWPROTO 1
397214d4
RS
76
77#ifdef emacs
78#include <stdio.h> /* Get the definition of _IO_STDIO_H. */
79#if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
80/* new C libio names */
81#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
82 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
83#endif /* !_IO_STDIO_H */
84#endif /* emacs */
ab5796a9
MB
85
86/* arch-tag: 577983d9-87a6-4922-b8f8-ff2b563714a4
87 (do not change this comment) */