]>
code.delx.au - gnu-emacs/blob - src/s/hpux10-20.h
1 /* System description file for hpux version 10.20.
2 Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008, 2009, 2010 Free Software Foundation, Inc.
5 This file is part of GNU Emacs.
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.
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.
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/>. */
21 #define RUN_TIME_REMAP
24 * Define symbols to identify the version of Unix this is.
25 * Define all the symbols that apply correctly.
28 #define USG /* System III, System V, etc */
34 /* SYSTEM_TYPE should indicate the kind of system you are using.
35 It sets the Lisp variable system-type. */
37 #define SYSTEM_TYPE "hpux"
39 /* Letter to use in finding device name of first pty,
40 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
42 #define FIRST_PTY_LETTER 'p'
45 * Define HAVE_TERMIO if the system provides sysV-style ioctls
46 * for terminal control.
52 * Define HAVE_PTYS if the system supports pty devices.
57 /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
61 /* Define this symbol if your system has the functions bcopy, etc.
62 * s800 and later versions of s300 (s200) kernels have equivalents
63 * of the BSTRING functions of BSD. If your s200 kernel doesn't have
64 * em comment out this section.
69 /* Define CLASH_DETECTION if you want lock files to be written
70 so that Emacs can tell instantly when you try to modify
71 a file that someone else has modified in his Emacs. */
73 #define CLASH_DETECTION
75 /* The symbol in the kernel where the load average is found
76 depends on the cpu type, so we let the m- files define LDAV_SYMBOL. */
78 /* Special hacks needed to make Emacs run on this system. */
80 /* Use the system provided termcap(3) library */
83 /* In hpux, the symbol SIGIO is defined, but the feature
84 doesn't work in the way Emacs needs it to. */
88 /* Some additional system facilities exist. */
90 #define HAVE_PERROR /* Delete this line for version 6. */
92 #define UNEXEC unexhp9k800.o
94 /* Include the file bsdtty.h, since this machine has job control. */
97 /* This is how to get the device name of the tty end of a pty. */
98 #define PTY_TTY_NAME_SPRINTF \
99 sprintf (pty_name, "/dev/pty/tty%c%x", c, i);
101 /* This is how to get the device name of the control end of a pty. */
102 #define PTY_NAME_SPRINTF \
103 sprintf (pty_name, "/dev/ptym/pty%c%x", c, i);
105 /* This triggers a conditional in xfaces.c. */
106 #define XOS_NEEDS_TIME_H
108 /* Assar Westerlund <assar@sics.se> says this is necessary for
109 HP-UX 10.20, and that it works for HP-UX 0 as well. */
112 /* Tested in getloadavg.c. */
113 #define HAVE_PSTAT_GETDYNAMIC
115 /* Eric Backus <ericb@lsid.hp.com> says, HP-UX 9.x on HP 700 machines
116 has a broken `rint' in some library versions including math library
117 version number A.09.05.
119 You can fix the math library by installing patch number PHSS_4630.
120 But we can fix it more reliably for Emacs like this. */
123 /* We have to go this route, rather than hpux9's approach of renaming the
124 functions via macros. The system's stdlib.h has fully prototyped
125 declarations, which yields a conflicting definition of srand48; it
126 tries to redeclare what was once srandom to be srand48. So we go
127 with HAVE_LRAND48 being defined. */
132 /* AlainF 20-Jul-1996 says this is right. */
133 #define KERNEL_FILE "/stand/vmunix"
135 #define LIBS_SYSTEM -l:libdld.sl
137 #define LIB_STANDARD -lc
139 /* Rainer Malzbender <rainer@displaytech.com> says definining
140 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20
143 #ifndef HAVE_XRMSETDATABASE
144 #define HAVE_XRMSETDATABASE
147 /* Make sure we get select from libc rather than from libcurses
148 because libcurses on HPUX 10.10 has a broken version of select.
149 We used to use -lc -lcurses, but this may be cleaner. */
150 #define LIBS_TERMCAP -ltermcap
152 /* 2000-11-21: Temporarily disable Unix 98 large file support found by
153 configure. It fails on HPUX 11, at least, because it enables
154 header sections which lose when `static' is defined away, as it is
155 on HP-UX. (You get duplicate symbol errors on linking). */
157 #undef _FILE_OFFSET_BITS
159 /* Define NO_REMAP if memory segmentation makes it not work well
160 to change the boundary between the text section and data section
161 when Emacs is dumped. If you define this, the preloaded Lisp
162 code will not be sharable; but that's better than failing completely. */
166 #define START_FILES pre-crt0.o $(CRT_DIR)/crt0.o
168 /* Define VIRT_ADDR_VARIES if the virtual addresses of
169 pure and impure space as loaded can vary, and even their
170 relative order cannot be relied on.
172 Otherwise Emacs assumes that text space precedes data space,
175 #define VIRT_ADDR_VARIES
177 /* the data segment on this machine always starts at address 0x40000000. */
179 #define DATA_SEG_BITS 0x40000000
181 #define DATA_START 0x40000000
182 #define TEXT_START 0x00000000
184 /* Data type of load average, as read out of kmem. */
186 #define LOAD_AVE_TYPE double
188 /* Convert that into an integer that is 100 for a load average of 1.0 */
190 #define LOAD_AVE_CVT(x) ((int) (x * 100.0))
192 /* The symbol in the kernel where the load average is found
193 is named _avenrun. At this time there are two major flavors
194 of hp-ux (there is the s800 and s300 (s200) flavors). The
195 differences are thusly moved to the corresponding machine description file.
198 /* no underscore please */
199 #define LDAV_SYMBOL "avenrun"
201 /* On USG systems these have different names. */
204 #define rindex strrchr
206 /* arch-tag: 8d8dcbf1-ca9b-48a1-94be-b750de18a5c6
207 (do not change this comment) */