Merge from mainline.
[bpt/emacs.git] / src / s / hpux10-20.h
1 /* System description file for hpux version 10.20.
2
3 Copyright (C) 1999, 2001-2011 Free Software Foundation, Inc.
4
5 This file is part of GNU Emacs.
6
7 GNU Emacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20
21 #define RUN_TIME_REMAP
22
23 /* Define symbols to identify the version of Unix this is.
24 Define all the symbols that apply correctly. */
25 #define USG /* System III, System V, etc */
26 #define USG5
27 #define HPUX
28
29 /* SYSTEM_TYPE should indicate the kind of system you are using.
30 It sets the Lisp variable system-type. */
31 #define SYSTEM_TYPE "hpux"
32
33 /* Letter to use in finding device name of first pty,
34 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
35 #define FIRST_PTY_LETTER 'p'
36
37 #define NO_TERMIO
38
39 /* Define HAVE_PTYS if the system supports pty devices. */
40 #define HAVE_PTYS
41
42 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
43 #define HAVE_SOCKETS
44
45 /* Define CLASH_DETECTION if you want lock files to be written
46 so that Emacs can tell instantly when you try to modify
47 a file that someone else has modified in his Emacs. */
48 #define CLASH_DETECTION
49
50 /* Special hacks needed to make Emacs run on this system. */
51
52 /* In hpux, the symbol SIGIO is defined, but the feature
53 doesn't work in the way Emacs needs it to. */
54 #define BROKEN_SIGIO
55
56 /* Some additional system facilities exist. */
57 #define HAVE_PERROR /* Delete this line for version 6. */
58
59 /* This is how to get the device name of the tty end of a pty. */
60 #define PTY_TTY_NAME_SPRINTF \
61 sprintf (pty_name, "/dev/pty/tty%c%x", c, i);
62
63 /* This is how to get the device name of the control end of a pty. */
64 #define PTY_NAME_SPRINTF \
65 sprintf (pty_name, "/dev/ptym/pty%c%x", c, i);
66
67 /* This triggers a conditional in xfaces.c. */
68 #define XOS_NEEDS_TIME_H
69
70 /* Assar Westerlund <assar@sics.se> says this is necessary for
71 HP-UX 10.20, and that it works for HP-UX 0 as well. */
72 #define NO_EDITRES
73
74 /* Eric Backus <ericb@lsid.hp.com> says, HP-UX 9.x on HP 700 machines
75 has a broken `rint' in some library versions including math library
76 version number A.09.05.
77
78 You can fix the math library by installing patch number PHSS_4630.
79 But we can fix it more reliably for Emacs like this. */
80 #undef HAVE_RINT
81
82 /* We have to go this route, rather than hpux9's approach of renaming the
83 functions via macros. The system's stdlib.h has fully prototyped
84 declarations, which yields a conflicting definition of srand48; it
85 tries to redeclare what was once srandom to be srand48. So we go
86 with HAVE_LRAND48 being defined. */
87 #undef srandom
88 #undef random
89 #undef HAVE_RANDOM
90
91
92 /* Rainer Malzbender <rainer@displaytech.com> says definining
93 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 using GCC. */
94 #ifndef HAVE_XRMSETDATABASE
95 #define HAVE_XRMSETDATABASE
96 #endif
97
98 /* 2000-11-21: Temporarily disable Unix 98 large file support found by
99 configure. It fails on HPUX 11, at least, because it enables
100 header sections which lose when `static' is defined away, as it is
101 on HP-UX. (You get duplicate symbol errors on linking). */
102 #undef _FILE_OFFSET_BITS
103
104 /* Define VIRT_ADDR_VARIES if the virtual addresses of
105 pure and impure space as loaded can vary, and even their
106 relative order cannot be relied on.
107
108 Otherwise Emacs assumes that text space precedes data space,
109 numerically. */
110 #define VIRT_ADDR_VARIES
111 \f
112 /* The data segment on this machine always starts at address 0x40000000. */
113 #define DATA_SEG_BITS 0x40000000
114
115 #define DATA_START 0x40000000