|
|
1.1 ! root 1: /* Definitions file for GNU Emacs running on Data General's DG/UX ! 2: version 4.32 and above. ! 3: Copyright (C) 1985, 1986, 1991 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 UNIPLUS */ ! 28: /* #define USG5 */ ! 29: /* #define USG */ ! 30: /* #define HPUX */ ! 31: /* #define UMAX */ ! 32: /* #define BSD4_1 */ ! 33: #define BSD4_2 ! 34: #define BSD4_3 ! 35: #define BSD ! 36: /* #define VMS */ ! 37: ! 38: /* SYSTEM_TYPE should indicate the kind of system you are using. ! 39: It sets the Lisp variable system-type. */ ! 40: ! 41: #define SYSTEM_TYPE "dgux-unix" ! 42: ! 43: /* NOMULTIPLEJOBS should be defined if your system's shell ! 44: does not have "job control" (the ability to stop a program, ! 45: run some other program, then continue the first one). */ ! 46: ! 47: /* #define NOMULTIPLEJOBS */ ! 48: ! 49: /* Emacs can read input using SIGIO and buffering characters itself, ! 50: or using CBREAK mode and making C-g cause SIGINT. ! 51: The choice is controlled by the variable interrupt_input. ! 52: Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) ! 53: ! 54: SIGIO can be used only on systems that implement it (4.2 and 4.3). ! 55: CBREAK mode has two disadvatages ! 56: 1) At least in 4.2, it is impossible to handle the Meta key properly. ! 57: I hear that in system V this problem does not exist. ! 58: 2) Control-G causes output to be discarded. ! 59: I do not know whether this can be fixed in system V. ! 60: ! 61: Another method of doing input is planned but not implemented. ! 62: It would have Emacs fork off a separate process ! 63: to read the input and send it to the true Emacs process ! 64: through a pipe. ! 65: */ ! 66: ! 67: #define INTERRUPT_INPUT ! 68: ! 69: /* Letter to use in finding device name of first pty, ! 70: if system supports pty's. 'a' means it is /dev/ptya0 */ ! 71: ! 72: #define FIRST_PTY_LETTER 'r' ! 73: ! 74: /* ! 75: * Define HAVE_TIMEVAL if the system supports the BSD style clock values. ! 76: * Look in <sys/time.h> for a timeval structure. ! 77: */ ! 78: ! 79: #define HAVE_TIMEVAL ! 80: ! 81: /* ! 82: * Define HAVE_SELECT if the system supports the `select' system call. ! 83: */ ! 84: ! 85: #define HAVE_SELECT ! 86: ! 87: /* ! 88: * Define HAVE_SOCKETS if the system supports sockets. ! 89: */ ! 90: ! 91: #define HAVE_SOCKETS ! 92: ! 93: /* ! 94: * Define HAVE_PTYS if the system supports pty devices. ! 95: */ ! 96: ! 97: #define HAVE_PTYS ! 98: ! 99: /* ! 100: * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate ! 101: * The 4.2 opendir, etc., library functions. ! 102: */ ! 103: ! 104: /* #define NONSYSTEM_DIR_LIBRARY */ ! 105: ! 106: /* Define this symbol if your system has the functions bcopy, etc. */ ! 107: ! 108: #define BSTRING ! 109: ! 110: /* subprocesses should be defined if you want to ! 111: have code for asynchronous subprocesses ! 112: (as used in M-x compile and M-x shell). ! 113: This is generally OS dependent, and not supported ! 114: under most USG systems. */ ! 115: ! 116: #define subprocesses ! 117: ! 118: /* If your system uses COFF (Common Object File Format) then define the ! 119: preprocessor symbol "COFF". ! 120: ! 121: DGUX can use either COFF or ELF. To use ELF format, define ELF. */ ! 122: ! 123: #ifndef ELF ! 124: #define COFF ! 125: #endif ! 126: ! 127: #ifndef COFF /* People will probably find this apparently unreliable ! 128: till the NFS dumping bug is fixed. */ ! 129: ! 130: /* It is possible to undump to ELF with DG/UX 5.4, but for revisions below ! 131: 5.4.1 the undump MUST be done on a local file system, or the kernel will ! 132: panic. ELF executables have the advantage of using shared libraries, ! 133: while COFF executables will still work on 4.2x systems. */ ! 134: ! 135: #define UNEXEC unexelf.o ! 136: ! 137: /* This makes sure that all segments in the executable are undumped, ! 138: not just text, data, and bss. In the case of Mxdb and shared ! 139: libraries, additional information is stored in other sections. ! 140: It does not hurt to have this defined if you don't use Mxdb or ! 141: shared libraries. In fact, it makes no difference. */ ! 142: ! 143: /* Necessary for shared libraries and Mxdb debugging information. */ ! 144: #define USG_SHARED_LIBRARIES ! 145: #endif ! 146: ! 147: /* define MAIL_USE_FLOCK if the mailer uses flock ! 148: to interlock access to /usr/spool/mail/$USER. ! 149: The alternative is that a lock file named ! 150: /usr/spool/mail/$USER.lock. */ ! 151: ! 152: /* #define MAIL_USE_FLOCK */ ! 153: ! 154: /* Define CLASH_DETECTION if you want lock files to be written ! 155: so that Emacs can tell instantly when you try to modify ! 156: a file that someone else has modified in his Emacs. */ ! 157: ! 158: /* #define CLASH_DETECTION */ ! 159: ! 160: /* Define a replacement for the baud rate switch, since DG/UX uses a different ! 161: from BSD. */ ! 162: ! 163: #define BAUD_CONVERT { 0, 110, 134, 150, 300, 600, 1200, 1800, 2400, \ ! 164: 4800, 9600, 19200, 38400 } ! 165: ! 166: /* ! 167: * Define HAVE_GETTIMEOFDAY if gettimeofday() system call is available. ! 168: */ ! 169: ! 170: #define HAVE_GETTIMEOFDAY ! 171: ! 172: /* ! 173: * Define NLIST_STRUCT if the system has nlist.h ! 174: */ ! 175: ! 176: #define NLIST_STRUCT ! 177: ! 178: /* ! 179: * Make WM Interface Compliant. ! 180: */ ! 181: ! 182: #define XICCC ! 183: ! 184: /* Here, on a separate page, add any special hacks needed ! 185: to make Emacs work on this system. For example, ! 186: you might define certain system call names that don't ! 187: exist on your system, or that do different things on ! 188: your system and must be used only through an encapsulation ! 189: (Which you should place, by convention, in sysdep.c). */ ! 190: ! 191: /* Some compilers tend to put everything declared static ! 192: into the initialized data area, which becomes pure after dumping Emacs. ! 193: On these systems, you must #define static as nothing to foil this. ! 194: Note that emacs carefully avoids static vars inside functions. */ ! 195: ! 196: /* #define static */ ! 197: ! 198: /* DG/UX SPECIFIC ADDITIONS TO TEMPLATE FOLLOW: */ ! 199: ! 200: /* Use the Berkeley flavors of the library routines, instead of System V. */ ! 201: ! 202: #define setpgrp(pid,pgrp) setpgrp2(pid,pgrp) ! 203: #define getpgrp(pid) getpgrp2(pid) ! 204: ! 205: /* Act like Berkeley. */ ! 206: ! 207: #define _setjmp(env) sigsetjmp(env,0) ! 208: #define _longjmp(env,val) longjmp(env,val) ! 209: ! 210: /* Use TERMINFO instead of termcap */ ! 211: ! 212: #define TERMINFO ! 213: ! 214: /* ! 215: * Define HAVE_TERMIO if the system provides sysV-style ioctls ! 216: * for terminal control. ! 217: * DG/UX has both BSD and AT&T style ioctl's. Bsd ioctl's don't ! 218: * seem to wait for the output to drain properly, so use System V. ! 219: */ ! 220: ! 221: /* #define HAVE_TERMIO */ ! 222: ! 223: /* ! 224: * DG/UX 4.10 needs the following to turn on berkeley ioctl's. ! 225: */ ! 226: ! 227: #ifndef HAVE_TERMIO ! 228: #ifndef _BSD_TTY_FLAVOR /* Already defined, in dgux 4.30. */ ! 229: #define _BSD_TTY_FLAVOR ! 230: #endif ! 231: #endif ! 232: ! 233: /* ! 234: * Use a Berkeley style sys/wait.h. ! 235: * This makes WIF* macros operate on structures instead of ints. ! 236: */ ! 237: ! 238: #define _BSD_WAIT_FLAVOR ! 239: ! 240: /* ! 241: * Use BSD and POSIX-style signals. This is crucial! ! 242: */ ! 243: ! 244: #define POSIX_SIGNALS ! 245: ! 246: /* Not worth converting the old GNU malloc to work with POSIX_SIGNALS. */ ! 247: #define SYSTEM_MALLOC ! 248: ! 249: /* Define this if you use System 5 Release 4 Streams */ ! 250: #define SYSV4_PTYS ! 251: #define open sys_open ! 252: #define close sys_close ! 253: #define read sys_read ! 254: #define write sys_write ! 255: ! 256: #define INTERRUPTABLE_OPEN ! 257: #define INTERRUPTABLE_CLOSE ! 258: /* can't hurt to define these, even though read/write should auto restart */ ! 259: #define INTERRUPTABLE_IO ! 260: ! 261: /* Can't use sys_signal because then etc/server.c would need sysdep.o. */ ! 262: #define signal(SIG,FUNC) berk_signal(SIG,FUNC) ! 263: ! 264: #define LD_SWITCH_SYSTEM ! 265: /* Cannot depend on /lib/crt0.o because make does not understand an elink(1) */ ! 266: #define START_FILES pre-crt0.o ! 267: #define LIBS_SYSTEM -ldgc /lib/crt0.o ! 268: ! 269: /* definitions for xmakefile production */ ! 270: #ifdef COFF ! 271: ! 272: #define C_COMPILER \ ! 273: TARGET_BINARY_INTERFACE=m88kdguxcoff gcc -traditional ! 274: ! 275: #define LINKER \ ! 276: TARGET_BINARY_INTERFACE=m88kdguxcoff ld ! 277: ! 278: #define MAKE_COMMAND \ ! 279: TARGET_BINARY_INTERFACE=m88kdguxcoff make ! 280: ! 281: #else /* not COFF */ ! 282: ! 283: #define C_COMPILER \ ! 284: TARGET_BINARY_INTERFACE=m88kdguxelf gcc -traditional ! 285: ! 286: #define LINKER \ ! 287: TARGET_BINARY_INTERFACE=m88kdguxelf ld ! 288: ! 289: #define MAKE_COMMAND \ ! 290: TARGET_BINARY_INTERFACE=m88kdguxelf make ! 291: ! 292: #endif /* COFF */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.