Merge changes from emacs-24; up to 2012-04-26T02:03:19Z!ueno@unixuser.org
[bpt/emacs.git] / src / s / hpux10-20.h
1 /* System description file for hpux version 10.20.
2
3 Copyright (C) 1999, 2001-2012 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 /* Letter to use in finding device name of first pty,
30 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
31 #define FIRST_PTY_LETTER 'p'
32
33 /* Define HAVE_PTYS if the system supports pty devices. */
34 #define HAVE_PTYS
35
36 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
37 #define HAVE_SOCKETS
38
39 /* Define CLASH_DETECTION if you want lock files to be written
40 so that Emacs can tell instantly when you try to modify
41 a file that someone else has modified in his Emacs. */
42 #define CLASH_DETECTION
43
44 /* Special hacks needed to make Emacs run on this system. */
45
46 /* Some additional system facilities exist. */
47 #define HAVE_PERROR /* Delete this line for version 6. */
48
49 /* This is how to get the device name of the tty end of a pty. */
50 #define PTY_TTY_NAME_SPRINTF \
51 sprintf (pty_name, "/dev/pty/tty%c%x", c, i);
52
53 /* This is how to get the device name of the control end of a pty. */
54 #define PTY_NAME_SPRINTF \
55 sprintf (pty_name, "/dev/ptym/pty%c%x", c, i);
56
57 /* This triggers a conditional in xfaces.c. */
58 #define XOS_NEEDS_TIME_H
59
60 /* Assar Westerlund <assar@sics.se> says this is necessary for
61 HP-UX 10.20, and that it works for HP-UX 0 as well. */
62 #define NO_EDITRES
63
64 /* Eric Backus <ericb@lsid.hp.com> says, HP-UX 9.x on HP 700 machines
65 has a broken `rint' in some library versions including math library
66 version number A.09.05.
67
68 You can fix the math library by installing patch number PHSS_4630.
69 But we can fix it more reliably for Emacs like this. */
70 #undef HAVE_RINT
71
72 /* We have to go this route, rather than hpux9's approach of renaming the
73 functions via macros. The system's stdlib.h has fully prototyped
74 declarations, which yields a conflicting definition of srand48; it
75 tries to redeclare what was once srandom to be srand48. So we go
76 with HAVE_LRAND48 being defined. */
77 #undef srandom
78 #undef random
79 #undef HAVE_RANDOM
80
81
82 /* Rainer Malzbender <rainer@displaytech.com> says defining
83 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 using GCC. */
84 #ifndef HAVE_XRMSETDATABASE
85 #define HAVE_XRMSETDATABASE
86 #endif
87
88 /* Conservative garbage collection has not been tested, so for now
89 play it safe and stick with the old-fashioned way of marking. */
90 #define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE
91 \f
92 /* The data segment on this machine always starts at address 0x40000000. */
93 #define DATA_SEG_BITS 0x40000000
94
95 #define DATA_START 0x40000000