Annotation of GNUtools/emacs/src/s-dgux.h, revision 1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.