Simplify linker-related logic in src/Makefile.in.
[bpt/emacs.git] / src / s / hpux10-20.h
CommitLineData
f2a77c3a 1/* System description file for hpux version 10.20.
97efb629
GM
2
3Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
427d4799 5
f2a77c3a
DN
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22#define RUN_TIME_REMAP
23
24/*
25 * Define symbols to identify the version of Unix this is.
26 * Define all the symbols that apply correctly.
27 */
28
29#define USG /* System III, System V, etc */
30
31#define USG5
32
33#define HPUX
34
35/* SYSTEM_TYPE should indicate the kind of system you are using.
36 It sets the Lisp variable system-type. */
37
38#define SYSTEM_TYPE "hpux"
39
f2a77c3a
DN
40/* Letter to use in finding device name of first pty,
41 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
42
43#define FIRST_PTY_LETTER 'p'
44
45/*
46 * Define HAVE_TERMIO if the system provides sysV-style ioctls
47 * for terminal control.
48 */
49
50#define HAVE_TERMIO
51
52/*
53 * Define HAVE_PTYS if the system supports pty devices.
54 */
55
56#define HAVE_PTYS
57
58/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
59
60#define HAVE_SOCKETS
61
62/* Define this symbol if your system has the functions bcopy, etc.
63 * s800 and later versions of s300 (s200) kernels have equivalents
64 * of the BSTRING functions of BSD. If your s200 kernel doesn't have
65 * em comment out this section.
66 */
67
68#define BSTRING
69
f2a77c3a
DN
70/* Define CLASH_DETECTION if you want lock files to be written
71 so that Emacs can tell instantly when you try to modify
72 a file that someone else has modified in his Emacs. */
73
74#define CLASH_DETECTION
75
76/* The symbol in the kernel where the load average is found
77 depends on the cpu type, so we let the m- files define LDAV_SYMBOL. */
78
79/* Special hacks needed to make Emacs run on this system. */
80
f2a77c3a
DN
81/* In hpux, the symbol SIGIO is defined, but the feature
82 doesn't work in the way Emacs needs it to. */
83
84#define BROKEN_SIGIO
85
f2a77c3a
DN
86/* Some additional system facilities exist. */
87
88#define HAVE_PERROR /* Delete this line for version 6. */
89
5e5a3b92
DN
90#define UNEXEC unexhp9k800.o
91
f2a77c3a
DN
92/* This is how to get the device name of the tty end of a pty. */
93#define PTY_TTY_NAME_SPRINTF \
94 sprintf (pty_name, "/dev/pty/tty%c%x", c, i);
95
96/* This is how to get the device name of the control end of a pty. */
97#define PTY_NAME_SPRINTF \
98 sprintf (pty_name, "/dev/ptym/pty%c%x", c, i);
99
100/* This triggers a conditional in xfaces.c. */
101#define XOS_NEEDS_TIME_H
102
f2a77c3a
DN
103/* Assar Westerlund <assar@sics.se> says this is necessary for
104 HP-UX 10.20, and that it works for HP-UX 0 as well. */
105#define NO_EDITRES
106
107/* Tested in getloadavg.c. */
108#define HAVE_PSTAT_GETDYNAMIC
109
110/* Eric Backus <ericb@lsid.hp.com> says, HP-UX 9.x on HP 700 machines
111 has a broken `rint' in some library versions including math library
112 version number A.09.05.
113
114 You can fix the math library by installing patch number PHSS_4630.
115 But we can fix it more reliably for Emacs like this. */
116#undef HAVE_RINT
117
118/* We have to go this route, rather than hpux9's approach of renaming the
119 functions via macros. The system's stdlib.h has fully prototyped
120 declarations, which yields a conflicting definition of srand48; it
121 tries to redeclare what was once srandom to be srand48. So we go
122 with HAVE_LRAND48 being defined. */
123#undef srandom
124#undef random
125#undef HAVE_RANDOM
126
f2a77c3a
DN
127/* AlainF 20-Jul-1996 says this is right. */
128#define KERNEL_FILE "/stand/vmunix"
129
7dff330b 130
f2a77c3a
DN
131/* Rainer Malzbender <rainer@displaytech.com> says definining
132 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20
133 using GCC. */
f2a77c3a
DN
134#ifndef HAVE_XRMSETDATABASE
135#define HAVE_XRMSETDATABASE
136#endif
137
f2a77c3a
DN
138/* 2000-11-21: Temporarily disable Unix 98 large file support found by
139 configure. It fails on HPUX 11, at least, because it enables
140 header sections which lose when `static' is defined away, as it is
141 on HP-UX. (You get duplicate symbol errors on linking). */
f2a77c3a 142#undef _FILE_OFFSET_BITS
427d4799 143
56bae7c7
DN
144/* Define NO_REMAP if memory segmentation makes it not work well
145 to change the boundary between the text section and data section
146 when Emacs is dumped. If you define this, the preloaded Lisp
147 code will not be sharable; but that's better than failing completely. */
148
149#define NO_REMAP
150
151/* Define VIRT_ADDR_VARIES if the virtual addresses of
152 pure and impure space as loaded can vary, and even their
153 relative order cannot be relied on.
154
155 Otherwise Emacs assumes that text space precedes data space,
156 numerically. */
157
158#define VIRT_ADDR_VARIES
159\f
160/* the data segment on this machine always starts at address 0x40000000. */
161
162#define DATA_SEG_BITS 0x40000000
163
164#define DATA_START 0x40000000
165#define TEXT_START 0x00000000
166
167/* Data type of load average, as read out of kmem. */
168
169#define LOAD_AVE_TYPE double
170
171/* Convert that into an integer that is 100 for a load average of 1.0 */
172
173#define LOAD_AVE_CVT(x) ((int) (x * 100.0))
174
175/* The symbol in the kernel where the load average is found
176 is named _avenrun. At this time there are two major flavors
177 of hp-ux (there is the s800 and s300 (s200) flavors). The
178 differences are thusly moved to the corresponding machine description file.
179*/
180
181/* no underscore please */
182#define LDAV_SYMBOL "avenrun"
183
184/* On USG systems these have different names. */
185
186#define index strchr
187#define rindex strrchr
188
ab5796a9
MB
189/* arch-tag: 8d8dcbf1-ca9b-48a1-94be-b750de18a5c6
190 (do not change this comment) */