|
|
1.1 ! root 1: /* Definitions file for GNU Emacs running on HPUX release 7. ! 2: Based on AT&T System V.2. ! 3: Copyright (C) 1985, 1986 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 1, or (at your option) ! 10: 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; see the file COPYING. If not, write to ! 19: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 20: ! 21: ! 22: /* ! 23: * Define symbols to identify the version of Unix this is. ! 24: * Define all the symbols that apply correctly. ! 25: */ ! 26: ! 27: #define USG /* System III, System V, etc */ ! 28: ! 29: #define USG5 ! 30: ! 31: #define HPUX ! 32: ! 33: /* SYSTEM_TYPE should indicate the kind of system you are using. ! 34: It sets the Lisp variable system-type. */ ! 35: ! 36: #define SYSTEM_TYPE "hpux" ! 37: ! 38: /* `nomultiplejobs' should be defined if your system's shell ! 39: does not have "job control" (the ability to stop a program, ! 40: run some other program, then continue the first one). ! 41: ! 42: On hpux this depends on the precise kind of machine in use, ! 43: so the m- file defines this symbol if appropriate. */ ! 44: ! 45: /* Default is to set interrupt_input to 0: don't do input buffering within Emacs */ ! 46: ! 47: /* #define INTERRUPT_INPUT */ ! 48: ! 49: /* Letter to use in finding device name of first pty, ! 50: if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */ ! 51: ! 52: #define FIRST_PTY_LETTER 'p' ! 53: ! 54: /* ! 55: * Define HAVE_TERMIO if the system provides sysV-style ioctls ! 56: * for terminal control. ! 57: */ ! 58: ! 59: #define HAVE_TERMIO ! 60: ! 61: /* ! 62: * Define HAVE_TIMEVAL if the system supports the BSD style clock values. ! 63: * Look in <sys/time.h> for a timeval structure. ! 64: */ ! 65: ! 66: #define HAVE_TIMEVAL ! 67: ! 68: /* With HAVE_TIMEVAL define, Emacs expects to use `utimes'. ! 69: But HPUX does not have one. */ ! 70: ! 71: #define MISSING_UTIMES ! 72: ! 73: /* ! 74: * Define HAVE_SELECT if the system supports the `select' system call. ! 75: */ ! 76: ! 77: #define HAVE_SELECT ! 78: ! 79: /* ! 80: * Define HAVE_PTYS if the system supports pty devices. ! 81: */ ! 82: ! 83: #define HAVE_PTYS ! 84: ! 85: /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ ! 86: ! 87: #define HAVE_SOCKETS ! 88: ! 89: /* ! 90: * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate ! 91: * The 4.2 opendir, etc., library functions. ! 92: */ ! 93: ! 94: /* #define NONSYSTEM_DIR_LIBRARY */ ! 95: ! 96: /* Define this symbol if your system has the functions bcopy, etc. ! 97: * s800 and later versions of s300 (s200) kernels have equivilents ! 98: * of the BSTRING functions of BSD. If your s200 kernel doesn't have ! 99: * em comment out this section. ! 100: */ ! 101: ! 102: #define BSTRING ! 103: ! 104: /* subprocesses should be defined if you want to ! 105: have code for asynchronous subprocesses ! 106: (as used in M-x compile and M-x shell). ! 107: This is generally OS dependent, and not supported ! 108: under most USG systems. */ ! 109: ! 110: #define subprocesses ! 111: ! 112: /* If your system uses COFF (Common Object File Format) then define the ! 113: preprocessor symbol "COFF". */ ! 114: ! 115: /* #define COFF */ ! 116: ! 117: /* define MAIL_USE_FLOCK if the mailer uses flock ! 118: to interlock access to /usr/spool/mail/$USER. ! 119: The alternative is that a lock file named ! 120: /usr/spool/mail/$USER.lock. */ ! 121: ! 122: /* #define MAIL_USE_FLOCK */ ! 123: ! 124: /* Say we have the SYSV style of interprocess communication. */ ! 125: ! 126: #define HAVE_SYSVIPC ! 127: ! 128: /* Define CLASH_DETECTION if you want lock files to be written ! 129: so that Emacs can tell instantly when you try to modify ! 130: a file that someone else has modified in his Emacs. */ ! 131: ! 132: #define CLASH_DETECTION ! 133: ! 134: /* Define SHORTNAMES if the C compiler can distinguish only ! 135: short names. It means that the stuff in ../shortnames ! 136: must be run to convert the long names to short ones. ! 137: ! 138: Some USG systems support long names. ! 139: If yours is one, DO NOT change this file! ! 140: Do #undef SHORTNAMES in the m- file or in config.h. */ ! 141: ! 142: /* #define SHORTNAMES */ ! 143: ! 144: /* We use the Berkeley (and usg5.2.2) interface to nlist. */ ! 145: ! 146: #define NLIST_STRUCT ! 147: ! 148: /* The file containing the kernel's symbol table is called /hp-ux. */ ! 149: ! 150: #define KERNEL_FILE "/hp-ux" ! 151: ! 152: /* The symbol in the kernel where the load average is found ! 153: depends on the cpu type, so we let the m- files define LDAV_SYMBOL. */ ! 154: ! 155: /* Special hacks needed to make Emacs run on this system. */ ! 156: ! 157: /* ! 158: * Make the sigsetmask function go away. Don't know what the ! 159: * ramifications of this are, but doesn't seem possible to ! 160: * emulate it properly anyway at this point. ! 161: */ ! 162: ! 163: /* HPUX has sigsetmask */ ! 164: /* #define sigsetmask(mask) / * Null expansion * / */ ! 165: ! 166: /* setjmp and longjmp can safely replace _setjmp and _longjmp, ! 167: but they will run slower. */ ! 168: ! 169: /* HP-UX has _setjmp and _longjmp */ ! 170: /* ! 171: #define _setjmp setjmp ! 172: #define _longjmp longjmp ! 173: */ ! 174: ! 175: /* On USG systems the system calls are interruptable by signals ! 176: that the user program has elected to catch. Thus the system call ! 177: must be retried in these cases. To handle this without massive ! 178: changes in the source code, we remap the standard system call names ! 179: to names for our own functions in sysdep.c that do the system call ! 180: with retries. */ ! 181: ! 182: #define read sys_read ! 183: #define open sys_open ! 184: #define write sys_write ! 185: ! 186: #define INTERRUPTABLE_OPEN ! 187: #define INTERRUPTABLE_IO ! 188: ! 189: /* Use the system provided termcap(3) library */ ! 190: #define TERMINFO ! 191: ! 192: /* The 48-bit versions are more winning for Emacs. */ ! 193: ! 194: #define rand lrand48 ! 195: #define srand srand48 ! 196: ! 197: /* In hpux, the symbol SIGIO is defined, but the feature ! 198: does not really exist. ! 199: ! 200: Here we assume that signal.h is included before config.h ! 201: so that we can override it here. */ ! 202: ! 203: #undef SIGIO ! 204: ! 205: /* USG systems tend to put everything declared static ! 206: into the initialized data area, which becomes pure after dumping Emacs. ! 207: Foil this. Emacs carefully avoids static vars inside functions. */ ! 208: ! 209: #define static ! 210: ! 211: /* Define extra libraries to load. ! 212: This should have -lBSD, but that library is said to make ! 213: `signal' fail to work. */ ! 214: ! 215: #ifdef HPUX_NET ! 216: #define LIBS_SYSTEM -ln ! 217: #else ! 218: #define LIBS_SYSTEM ! 219: #endif ! 220: ! 221: /* Some additional system facilities exist. */ ! 222: ! 223: #define HAVE_DUP2 ! 224: #define HAVE_GETTIMEOFDAY ! 225: #define HAVE_GETHOSTNAME ! 226: #define HAVE_VFORK ! 227: #define HAVE_RENAME ! 228: ! 229: /* The following maps shared exec file to demand loaded exec. ! 230: Don't do this as demand loaded exec is broken in hpux. */ ! 231: ! 232: #if 0 ! 233: ! 234: /* Adjust a header field for the executable file about to be dumped. */ ! 235: ! 236: #define ADJUST_EXEC_HEADER \ ! 237: hdr.a_magic = ((ohdr.a_magic.file_type == OLDMAGIC.file_type) ? \ ! 238: NEWMAGIC : ohdr.a_magic); ! 239: ! 240: #endif ! 241: ! 242: /* Baud-rate values in tty status have nonstandard meanings. */ ! 243: ! 244: #define BAUD_CONVERT \ ! 245: { 0, 50, 75, 110, 135, 150, 200, 300, 600, 900, 1200, \ ! 246: 1800, 2400, 3600, 4800, 7200, 9600, 19200, 38400 } ! 247: ! 248: /* This is needed for HPUX version 6.2; it may not be needed for 6.2.1. */ ! 249: #define SHORT_CAST_BUG ! 250: ! 251: /* Define killpg so that we have process group functionality under HP. */ ! 252: #define killpg(PGRP, KSIG) kill (-(PGRP), KSIG) ! 253: ! 254: #ifndef NOT_C_CODE ! 255: #ifndef NO_SHORTNAMES ! 256: #include <sys/wait.h> ! 257: #define WAITTYPE int ! 258: #endif ! 259: #define WRETCODE(w) (((w) >> 8) & 0377) ! 260: #endif ! 261: ! 262: #if 0 /* This is in s-hpux8.h. */ ! 263: /* Get rid of this for HP/UX versions before version 8. */ ! 264: #define LD_SWITCH_SYSTEM -a archive ! 265: #endif ! 266: ! 267: /* This affects XInitWindow in x11term.c. */ ! 268: #define NO_X_DESTROY_DATABASE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.