home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / unix / aux / 3043 < prev    next >
Encoding:
Text File  |  1992-07-31  |  21.6 KB  |  735 lines

  1. Xref: sparky comp.unix.aux:3043 comp.emacs:2748
  2. Nntp-Posting-Host: alaska.et.byu.edu
  3. Lines: 722
  4. Path: sparky!uunet!gatech!news.byu.edu!news
  5. Message-ID: <uv@byu.edu>
  6. Date: Fri, 31 Jul 92 12:39:20 MDT
  7. From: gritton@alaska.et.byu.edu (Jamie Gritton)
  8. Organization: Brigham Young University, Provo UT USA
  9. Newsgroups: comp.unix.aux,comp.emacs
  10. Subject: Patch for GNU Emacs 18.58 on A/UX 3.0
  11. Reply-To: gritton@byu.edu
  12.  
  13.    The following four files will enable GNU emacs 18.58 to run on a
  14. Mac II under A/UX 3.0. I doubt they will work for earlier versions. I
  15. created this patch based on a similar patch for Epoch 4.0.
  16.  
  17.    All you need to do is get the regular emacs distribution from
  18. prep.ai.mit.edu or elsewhere, put the three header files in
  19. /usr/local/emacs/src, and apply the patch file from the
  20. /usr/local/emacs directory. Then a "make install" from that directory
  21. should build your emacs with no trouble at all. Note you do *not* need
  22. the GNU C compiler for this to work.
  23.  
  24.    The patch is also available on ftp.byu.edu as
  25. /pub/emacs-18.58-aux3.0.tar.Z.
  26.  
  27.    If you agree with the FSF's boycott on Apple Computer, don't use
  28. this patch. Otherwise, enjoy.
  29. --
  30. James Gritton - gritton@byu.edu - I disclaim
  31.  
  32. --- CUT HERE ---
  33. #!/bin/sh
  34. # This is a shell archive.  Remove anything before the above line,
  35. # then unpack it by saving it in a file and typing "sh file".
  36. #
  37. # Wrapped by Jamie Gritton <gritton@byu.edu> on Fri Jul 31 12:13:39 1992
  38. #
  39. # This archive contains:
  40. #    emacs-18.58-aux3.0.diff    config.h        
  41. #    m-mac2.h        s-aux-3.0.h        
  42. #
  43.  
  44. PATH=/bin:/usr/bin:$PATH; export PATH
  45.  
  46. echo x - emacs-18.58-aux3.0.diff
  47. cat >emacs-18.58-aux3.0.diff <<'@EOF'
  48. *** ../emacs-18.58/Makefile    Thu Feb 13 12:52:35 1992
  49. --- Makefile    Fri Jul 31 09:12:30 1992
  50. ***************
  51. *** 25,31 ****
  52.   
  53.   # Command used for installation.
  54.   # If `install' doesn't work on your system, try `./install.sh'.
  55. ! INSTALL=install
  56.   
  57.   # Subdirectories to make recursively.  `lisp' is not included
  58.   # because the compiled lisp files are part of the distribution
  59. --- 25,31 ----
  60.   
  61.   # Command used for installation.
  62.   # If `install' doesn't work on your system, try `./install.sh'.
  63. ! INSTALL=./install.sh
  64.   
  65.   # Subdirectories to make recursively.  `lisp' is not included
  66.   # because the compiled lisp files are part of the distribution
  67. ***************
  68. *** 63,68 ****
  69. --- 63,69 ----
  70.           done \
  71.       else true; \
  72.       fi
  73. +     chmod +x install.sh
  74.       $(INSTALL) -c -s etc/emacsclient ${BINDIR}/emacsclient
  75.       $(INSTALL) -c -s etc/etags ${BINDIR}/etags
  76.       $(INSTALL) -c -s etc/ctags ${BINDIR}/ctags
  77. *** ../emacs-18.58/etc/Makefile    Tue Jan 28 12:10:27 1992
  78. --- etc/Makefile    Thu Jul 30 18:04:05 1992
  79. ***************
  80. *** 45,50 ****
  81. --- 45,52 ----
  82.   #
  83.   movemail: movemail.c ../src/config.h
  84.       $(CC) -o movemail ${CFLAGS} movemail.c $(LOADLIBES)
  85. +     chgrp mail movemail
  86. +     chmod 2755 movemail
  87.   
  88.   cvtmail: cvtmail.c
  89.       $(CC) -o cvtmail ${CFLAGS} cvtmail.c $(LOADLIBES)
  90. *** ../emacs-18.58/lisp/paths.el    Sat Feb  8 20:34:43 1992
  91. --- lisp/paths.el    Thu Jul 30 18:04:06 1992
  92. ***************
  93. *** 52,58 ****
  94.     "Name of user's primary mail file.")
  95.   
  96.   (defconst rmail-spool-directory
  97. !   (if (memq system-type '(hpux usg-unix-v unisoft-unix rtu
  98.                      silicon-graphics-unix))
  99.         "/usr/mail/"
  100.       "/usr/spool/mail/")
  101. --- 52,58 ----
  102.     "Name of user's primary mail file.")
  103.   
  104.   (defconst rmail-spool-directory
  105. !   (if (memq system-type '(hpux usg-unix-v unisoft-unix rtu apple-unix
  106.                      silicon-graphics-unix))
  107.         "/usr/mail/"
  108.       "/usr/spool/mail/")
  109. ***************
  110. *** 106,116 ****
  111.           "/usr/man/cat4" "/usr/man/cat5" "/usr/man/cat6"
  112.           "/usr/man/cat7" "/usr/man/cat8" "/usr/man/catl" "/usr/man/catn"))
  113.        (t
  114. !        '("/usr/catman/u_man/man1" "/usr/catman/u_man/man6"
  115. !          "/usr/catman/p_man/man2" "/usr/catman/p_man/man3"
  116. !          "/usr/catman/p_man/man4" "/usr/catman/p_man/man5"
  117. !          "/usr/catman/a_man/man1" "/usr/catman/a_man/man7"
  118. !          "/usr/catman/a_man/man8" "/usr/catman/local")))
  119.     "List of directories containing formatted manual pages.")
  120.   
  121.   (defconst abbrev-file-name 
  122. --- 106,128 ----
  123.           "/usr/man/cat4" "/usr/man/cat5" "/usr/man/cat6"
  124.           "/usr/man/cat7" "/usr/man/cat8" "/usr/man/catl" "/usr/man/catn"))
  125.        (t
  126. !        '("/usr/catman/u_man/man1" "/usr/catman/u_man/man2"
  127. !          "/usr/catman/u_man/man3" "/usr/catman/u_man/man4"
  128. !          "/usr/catman/u_man/man5" "/usr/catman/u_man/man6"
  129. !          "/usr/catman/u_man/man7" "/usr/catman/u_man/man8"
  130. !          "/usr/catman/a_man/man1" "/usr/catman/a_man/man2"
  131. !          "/usr/catman/a_man/man3" "/usr/catman/a_man/man4"
  132. !          "/usr/catman/a_man/man5" "/usr/catman/a_man/man6"
  133. !          "/usr/catman/a_man/man7" "/usr/catman/a_man/man8"
  134. !          "/usr/catman/l_man/man1" "/usr/catman/l_man/man2"
  135. !          "/usr/catman/l_man/man3" "/usr/catman/l_man/man4"
  136. !          "/usr/catman/l_man/man5" "/usr/catman/l_man/man6"
  137. !          "/usr/catman/l_man/man7" "/usr/catman/l_man/man8"
  138. !          "/usr/catman/x_man/man1" "/usr/catman/x_man/man2"
  139. !          "/usr/catman/x_man/man3" "/usr/catman/x_man/man4"
  140. !          "/usr/catman/x_man/man5" "/usr/catman/x_man/man6"
  141. !          "/usr/catman/x_man/man7" "/usr/catman/x_man/man8"
  142. !          "/usr/catman/local")))
  143.     "List of directories containing formatted manual pages.")
  144.   
  145.   (defconst abbrev-file-name 
  146. *** ../emacs-18.58/src/emacs.c    Mon Dec  9 18:50:32 1991
  147. --- src/emacs.c    Thu Jul 30 18:04:05 1992
  148. ***************
  149. *** 259,264 ****
  150. --- 259,268 ----
  151.   #endif /* LINK_CRTL_SHARE */
  152.   #endif /* VMS */
  153.   
  154. + #ifdef AUX
  155. +   set42sig();
  156. + #endif
  157.   #ifdef USG_SHARED_LIBRARIES
  158.     if (bss_end)
  159.       brk (bss_end);
  160. *** ../emacs-18.58/src/malloc.c    Thu Jan 30 21:19:47 1992
  161. --- src/malloc.c    Fri Jul 31 10:22:27 1992
  162. ***************
  163. *** 96,101 ****
  164. --- 96,105 ----
  165.   #include "vlimit.h"
  166.   #endif
  167.   
  168. + #ifdef AUX
  169. + #include <errno.h>
  170. + #endif
  171.   extern char *start_of_data ();
  172.   
  173.   #ifdef BSD
  174. ***************
  175. *** 287,292 ****
  176. --- 291,300 ----
  177.      * out for VMS systems.
  178.      */
  179.     cp = sbrk (0);
  180. + #ifdef AUX
  181. +   if( ((int)cp == -1) && (errno = EINVAL) )
  182. +     cp = data_space_start;
  183. + #endif
  184.     siz = cp - data_space_start;
  185.   
  186.     if (warnfunction)
  187. *** ../emacs-18.58/src/process.c    Tue Feb 18 12:00:53 1992
  188. --- src/process.c    Thu Jul 30 18:04:07 1992
  189. ***************
  190. *** 1071,1077 ****
  191.   
  192.     if (inchannel >= 0)
  193.       {
  194. ! #ifndef USG
  195.         /* On USG systems it does not work to open
  196.        the pty's tty here and then close and reopen it in the child.  */
  197.   #ifdef O_NOCTTY
  198. --- 1071,1077 ----
  199.   
  200.     if (inchannel >= 0)
  201.       {
  202. ! #if !defined(USG) || defined(AUX)
  203.         /* On USG systems it does not work to open
  204.        the pty's tty here and then close and reopen it in the child.  */
  205.   #ifdef O_NOCTTY
  206. *** ../emacs-18.58/src/sysdep.c    Thu Feb 13 16:03:12 1992
  207. --- src/sysdep.c    Thu Jul 30 18:04:09 1992
  208. ***************
  209. *** 55,60 ****
  210. --- 55,63 ----
  211.   #include <sys/types.h>
  212.   #include <sys/stat.h>
  213.   #include <errno.h>
  214. + #ifdef AUX
  215. + #include <sys/file.h>
  216. + #endif
  217.   
  218.   extern int errno;
  219.   #ifndef VMS
  220. ***************
  221. *** 213,219 ****
  222.   #ifndef MEMORY_IN_STRING_H
  223.   #include <memory.h>
  224.   #endif
  225. ! #ifdef TIOCGWINSZ
  226.   #ifndef IRIS_4D
  227.   #ifndef mips
  228.   #ifndef aix386
  229. --- 216,222 ----
  230.   #ifndef MEMORY_IN_STRING_H
  231.   #include <memory.h>
  232.   #endif
  233. ! #if defined (TIOCGWINSZ) && !defined (AUX)
  234.   #ifndef IRIS_4D
  235.   #ifndef mips
  236.   #ifndef aix386
  237. ***************
  238. *** 453,459 ****
  239.     while (1)
  240.       {
  241.   #ifdef subprocesses
  242. ! #if defined (BSD) || (defined (HPUX) && !defined (HPUX_5))
  243.         /* Note that kill returns -1 even if the process is just a zombie now.
  244.        But inevitably a SIGCHLD interrupt should be generated
  245.        and child_sig will do wait3 and make the process go away. */
  246. --- 456,462 ----
  247.     while (1)
  248.       {
  249.   #ifdef subprocesses
  250. ! #if defined (BSD) || defined (AUX) || (defined (HPUX) && !defined (HPUX_5))
  251.         /* Note that kill returns -1 even if the process is just a zombie now.
  252.        But inevitably a SIGCHLD interrupt should be generated
  253.        and child_sig will do wait3 and make the process go away. */
  254. ***************
  255. *** 2419,2424 ****
  256. --- 2422,2441 ----
  257.     "user defined signal 2",        /* 17 SIGUSR2 */
  258.     "death of a child",            /* 18 SIGCLD */
  259.     "power-fail restart",            /* 19 SIGPWR */
  260. + #ifdef AUX
  261. +   "stop signal from tty",        /* 20 SIGTSTP */
  262. +   "input necessary",            /* 21 SIGTTIN */
  263. +   "output necessary",            /* 22 SIGTTOU */
  264. +   "i/o possible",            /* 23 SIGIO */
  265. +   "exceeded CPU time limit",        /* 24 SIGXCPU */
  266. +   "exceeded file size limit",        /* 25 SIGXFSZ */
  267. +   "virtual time alarm",            /* 26 SIGVTALRM */
  268. +   "profiling time alarm",        /* 27 SIGPROF */
  269. +   "window size changes",        /* 28 SIGWINCH */
  270. +   "continue a stopped process",        /* 29 SIGCONT */
  271. +   "urgent condition on IO channel",    /* 30 SIGURG */
  272. +   "input/output possible signal",    /* 31 SIGIO */
  273. + #endif /* AUX */
  274.   #endif /* not AIX */
  275.     0
  276.     };
  277. ***************
  278. *** 2505,2511 ****
  279.   }
  280.   #endif
  281.   
  282. ! #ifdef IRIS_UTIME
  283.   
  284.   /* The IRIS (3.5) has timevals, but uses sys V utime, and doesn't have the
  285.      utimbuf structure defined anywhere but in the man page. */
  286. --- 2522,2528 ----
  287.   }
  288.   #endif
  289.   
  290. ! #if defined (IRIS_UTIME) || defined (AUX)
  291.   
  292.   /* The IRIS (3.5) has timevals, but uses sys V utime, and doesn't have the
  293.      utimbuf structure defined anywhere but in the man page. */
  294. *** ../emacs-18.58/src/unexec.c    Sun Mar 31 13:44:53 1991
  295. --- src/unexec.c    Thu Jul 30 18:04:10 1992
  296. ***************
  297. *** 933,939 ****
  298.   {
  299.     register int nsyms;
  300.     register int new;
  301. ! #ifdef amdahl_uts
  302.     SYMENT symentry;
  303.     AUXENT auxentry;
  304.   #else
  305. --- 933,939 ----
  306.   {
  307.     register int nsyms;
  308.     register int new;
  309. ! #if defined (amdahl_uts) || defined (AUX)
  310.     SYMENT symentry;
  311.     AUXENT auxentry;
  312.   #else
  313. @EOF
  314.  
  315. chmod 644 emacs-18.58-aux3.0.diff
  316.  
  317. echo x - config.h
  318. cat >config.h <<'@EOF'
  319. /* GNU Emacs site configuration template file for Mac II running A/UX 3.0
  320.    Copyright (C) 1988 Free Software Foundation, Inc.
  321.  
  322. This file is part of GNU Emacs.
  323.  
  324. GNU Emacs is free software; you can redistribute it and/or modify
  325. it under the terms of the GNU General Public License as published by
  326. the Free Software Foundation; either version 1, or (at your option)
  327. any later version.
  328.  
  329. GNU Emacs is distributed in the hope that it will be useful,
  330. but WITHOUT ANY WARRANTY; without even the implied warranty of
  331. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  332. GNU General Public License for more details.
  333.  
  334. You should have received a copy of the GNU General Public License
  335. along with GNU Emacs; see the file COPYING.  If not, write to
  336. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  337.  
  338.  
  339.  
  340. /* Include here a s- file that describes the system type you are using.
  341.    See the file ../etc/MACHINES for a list of systems and
  342.    the names of the s- files to use for them.
  343.    See s-template.h for documentation on writing s- files.  */
  344. #include "s-aux-3.0.h"
  345.  
  346. /* Include here a m- file that describes the machine and system you use.
  347.    See the file ../etc/MACHINES for a list of machines and
  348.    the names of the m- files to use for them.
  349.    See m-template.h for info on what m- files should define.
  350.    */
  351. #include "m-mac2.h"
  352.  
  353. /* Load in the conversion definitions if this system
  354.    needs them and the source file being compiled has not
  355.    said to inhibit this.  There should be no need for you
  356.    to alter these lines.  */
  357.  
  358. #ifdef SHORTNAMES
  359. #ifndef NO_SHORTNAMES
  360. #include "../shortnames/remap.h"
  361. #endif /* not NO_SHORTNAMES */
  362. #endif /* SHORTNAMES */
  363.  
  364. /* Define HAVE_X_WINDOWS if you want to use the X window system.  */
  365.  
  366. #define HAVE_X_WINDOWS
  367.  
  368. /* Define X11 if you want to use version 11 of X windows.
  369.    Otherwise, Emacs expects to use version 10.  */
  370.  
  371. #ifdef HAVE_X_WINDOWS
  372. #define X11
  373. #endif
  374.  
  375. /* Define HAVE_X_MENU if you want to use the X window menu system.
  376.    This appears to work on some machines that support X
  377.    and not on others.  */
  378.  
  379. #define HAVE_X_MENU
  380.  
  381. /* Define `subprocesses' should be defined if you want to
  382.    have code for asynchronous subprocesses
  383.    (as used in M-x compile and M-x shell).
  384.    These do not work for some USG systems yet;
  385.    for the ones where they work, the s-*.h file defines this flag.  */
  386.  
  387. #ifndef VMS
  388. #ifndef USG
  389. #define subprocesses
  390. #endif
  391. #endif
  392.  
  393. /* Define USER_FULL_NAME to return a string
  394.    that is the user's full name.
  395.    It can assume that the variable `pw'
  396.    points to the password file entry for this user.
  397.  
  398.    At some sites, the pw_gecos field contains
  399.    the user's full name.  If neither this nor any other
  400.    field contains the right thing, use pw_name,
  401.    giving the user's login name, since that is better than nothing.  */
  402.  
  403. #define USER_FULL_NAME pw->pw_gecos
  404.  
  405. /* Define AMPERSAND_FULL_NAME if you use the convention
  406.    that & in the full name stands for the login id.  */
  407.  
  408. /* #define AMPERSAND_FULL_NAME */
  409.  
  410. /* # bytes of pure Lisp code to leave space for.
  411.    Note that s-vms.h and m-sun2.h may override this default.  */
  412.  
  413. #ifndef PURESIZE
  414. #ifdef HAVE_X_WINDOWS
  415. #define PURESIZE 122000
  416. #else
  417. #define PURESIZE 120000
  418. #endif
  419. #endif
  420.  
  421. /* Define HIGHPRI as a negative number
  422.    if you want Emacs to run at a higher than normal priority.
  423.    For this to take effect, you must install Emacs with setuid root.
  424.    Emacs will change back to the users's own uid after setting
  425.    its priority.  */
  426.  
  427. /* #define HIGHPRI */
  428.  
  429. @EOF
  430.  
  431. chmod 644 config.h
  432.  
  433. echo x - m-mac2.h
  434. cat >m-mac2.h <<'@EOF'
  435. /* m- file for Mac II running A/UX
  436.  
  437. This file is part of GNU Emacs.
  438.  
  439. GNU Emacs is free software; you can redistribute it and/or modify
  440. it under the terms of the GNU General Public License as published by
  441. the Free Software Foundation; either version 1, or (at your option)
  442. any later version.
  443.  
  444. GNU Emacs is distributed in the hope that it will be useful,
  445. but WITHOUT ANY WARRANTY; without even the implied warranty of
  446. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  447. GNU General Public License for more details.
  448.  
  449. You should have received a copy of the GNU General Public License
  450. along with GNU Emacs; see the file COPYING.  If not, write to
  451. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  452.  
  453.  
  454. /* The following three symbols give information on
  455.  the size of various data types.  */
  456.  
  457. #define SHORTBITS 16        /* Number of bits in a short */
  458.  
  459. #define INTBITS 32        /* Number of bits in an int */
  460.  
  461. #define LONGBITS 32        /* Number of bits in a long */
  462.  
  463. /* Define BIG_ENDIAN iff lowest-numbered byte in a word
  464.    is the most significant byte.  */
  465.  
  466. #define BIG_ENDIAN
  467.  
  468. /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
  469.  * group of arguments and treat it as an array of the arguments.  */
  470.  
  471. /* #define NO_ARG_ARRAY */
  472.  
  473. /* Define WORD_MACHINE if addresses and such have
  474.  * to be corrected before they can be used as byte counts.  */
  475.  
  476. /* #define WORD_MACHINE */
  477.  
  478. /* Define how to take a char and sign-extend into an int.
  479.    On machines where char is signed, this is a no-op.  */
  480.  
  481. #define SIGN_EXTEND_CHAR(c) (c)
  482.  
  483. /* Now define a symbol for the cpu type, if your compiler
  484.    does not define it automatically:
  485.    Ones defined so far include vax, m68000, ns16000, pyramid,
  486.    orion, tahoe, APOLLO and many others */
  487.  
  488. #ifndef m68k
  489. #define m68k 1
  490. #endif
  491.  
  492. /* Use type int rather than a union, to represent Lisp_Object */
  493. /* This is desirable for most machines.  */
  494.  
  495. #define NO_UNION_TYPE
  496.  
  497. /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
  498.    the 24-bit bit field into an int.  In other words, if bit fields
  499.    are always unsigned.
  500.  
  501.    If you use NO_UNION_TYPE, this flag does not matter.  */
  502.  
  503. #define EXPLICIT_SIGN_EXTEND
  504.  
  505. /* Data type of load average, as read out of kmem.  */
  506.  
  507. #define LOAD_AVE_TYPE long
  508.  
  509. /* Convert that into an integer that is 100 for a load average of 1.0  */
  510.  
  511. #define FSCALE 65536.0
  512. #define LDAV_SYMBOL "avenrun"
  513. #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
  514. #define KERNEL_FILE "/unix"
  515.  
  516. /* Define CANNOT_DUMP on machines where unexec does not work.
  517.    Then the function dump-emacs will not be defined
  518.    and temacs will do (load "loadup") automatically unless told otherwise.  */
  519.  
  520. /* #define CANNOT_DUMP */
  521.  
  522. /* Define VIRT_ADDR_VARIES if the virtual addresses of
  523.    pure and impure space as loaded can vary, and even their
  524.    relative order cannot be relied on.
  525.  
  526.    Otherwise Emacs assumes that text space precedes data space,
  527.    numerically.  */
  528.  
  529. /* #define VIRT_ADDR_VARIES */
  530.  
  531. /* Define C_ALLOCA if this machine does not support a true alloca
  532.    and the one written in C should be used instead.
  533.    Define HAVE_ALLOCA to say that the system provides a properly
  534.    working alloca function and it should be used.
  535.    Define neither one if an assembler-language alloca
  536.    in the file alloca.s should be used.  */
  537.  
  538. #define C_ALLOCA
  539. /* #define HAVE_ALLOCA */
  540.  
  541. /* Define NO_REMAP if memory segmentation makes it not work well
  542.    to change the boundary between the text section and data section
  543.    when Emacs is dumped.  If you define this, the preloaded Lisp
  544.    code will not be sharable; but that's better than failing completely.  */
  545.  
  546. #define NO_REMAP
  547. @EOF
  548.  
  549. chmod 644 m-mac2.h
  550.  
  551. echo x - s-aux-3.0.h
  552. cat >s-aux-3.0.h <<'@EOF'
  553. /* Definitions file for GNU Emacs running on A/UX 3.0
  554.  
  555. This file is part of GNU Emacs.
  556.  
  557. GNU Emacs is free software; you can redistribute it and/or modify
  558. it under the terms of the GNU General Public License as published by
  559. the Free Software Foundation; either version 1, or (at your option)
  560. any later version.
  561.  
  562. GNU Emacs is distributed in the hope that it will be useful,
  563. but WITHOUT ANY WARRANTY; without even the implied warranty of
  564. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  565. GNU General Public License for more details.
  566.  
  567. You should have received a copy of the GNU General Public License
  568. along with GNU Emacs; see the file COPYING.  If not, write to
  569. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  570.  
  571.  
  572. /*
  573.  *    Define symbols to identify the version of Unix this is.
  574.  *    Define all the symbols that apply correctly.
  575.  */
  576.  
  577. #define UNIPLUS
  578. #define USG5
  579. #define USG
  580. /* #define HPUX */
  581. /* #define UMAX */
  582. /* #define BSD4_1 */
  583. /* #define BSD4_2 */
  584. /* #define BSD4_3 */
  585. /* #define BSD */
  586. /* #define VMS */
  587. #define AUX
  588.  
  589. /* SYSTEM_TYPE should indicate the kind of system you are using.
  590.  It sets the Lisp variable system-type.  */
  591.  
  592. #define SYSTEM_TYPE "apple-unix"
  593.  
  594. /* NOMULTIPLEJOBS should be defined if your system's shell
  595.  does not have "job control" (the ability to stop a program,
  596.  run some other program, then continue the first one).  */
  597.  
  598. /* #define NOMULTIPLEJOBS */
  599.  
  600. /* Emacs can read input using SIGIO and buffering characters itself,
  601.    or using CBREAK mode and making C-g cause SIGINT.
  602.    The choice is controlled by the variable interrupt_input.
  603.    Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
  604.  
  605.    SIGIO can be used only on systems that implement it (4.2 and 4.3).
  606.    CBREAK mode has two disadvatages
  607.      1) At least in 4.2, it is impossible to handle the Meta key properly.
  608.         I hear that in system V this problem does not exist.
  609.      2) Control-G causes output to be discarded.
  610.         I do not know whether this can be fixed in system V.
  611.  
  612.    Another method of doing input is planned but not implemented.
  613.    It would have Emacs fork off a separate process
  614.    to read the input and send it to the true Emacs process
  615.    through a pipe.
  616. */
  617.  
  618. #define INTERRUPT_INPUT
  619.  
  620. /* Letter to use in finding device name of first pty,
  621.   if system supports pty's.  'a' means it is /dev/ptya0  */
  622.  
  623. #define FIRST_PTY_LETTER 'p'
  624.  
  625. /*
  626.  *    Define HAVE_TERMIO if the system provides sysV-style ioctls
  627.  *    for terminal control.
  628.  */
  629.  
  630. #define HAVE_TERMIO
  631.  
  632. /*
  633.  *    Define HAVE_TIMEVAL if the system supports the BSD style clock values.
  634.  *    Look in <sys/time.h> for a timeval structure.
  635.  */
  636.  
  637. #define HAVE_TIMEVAL
  638.  
  639. /*
  640.  *    Define HAVE_SELECT if the system supports the `select' system call.
  641.  */
  642.  
  643. #define HAVE_SELECT
  644.  
  645. /*
  646.  *    Define HAVE_PTYS if the system supports pty devices.
  647.  */
  648.  
  649. #define HAVE_PTYS
  650.  
  651. /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
  652.  
  653. #define HAVE_SOCKETS
  654.  
  655. /*
  656.  *    Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
  657.  *      The 4.2 opendir, etc., library functions.
  658.  */
  659.  
  660. /* #define NONSYSTEM_DIR_LIBRARY */
  661.  
  662. /* Define this symbol if your system has the functions bcopy, etc. */
  663.  
  664. #define BSTRING
  665.  
  666. /* subprocesses should be defined if you want to
  667.    have code for asynchronous subprocesses
  668.    (as used in M-x compile and M-x shell).
  669.    This is generally OS dependent, and not supported
  670.    under most USG systems. */
  671.  
  672. #define subprocesses
  673.  
  674. /* If your system uses COFF (Common Object File Format) then define the
  675.    preprocessor symbol "COFF". */
  676.  
  677. #define ADDR_CORRECT(x) (x)
  678. #define COFF
  679. #define NO_REMAP
  680.  
  681. /* define MAIL_USE_FLOCK if the mailer uses flock
  682.    to interlock access to /usr/spool/mail/$USER.
  683.    The alternative is that a lock file named
  684.    /usr/spool/mail/$USER.lock.  */
  685.  
  686. #define MAIL_USE_FLOCK
  687.  
  688. /* Define CLASH_DETECTION if you want lock files to be written
  689.    so that Emacs can tell instantly when you try to modify
  690.    a file that someone else has modified in his Emacs.  */
  691.  
  692. #define CLASH_DETECTION
  693.  
  694. /* Here, on a separate page, add any special hacks needed
  695.    to make Emacs work on this system.  For example,
  696.    you might define certain system call names that don't
  697.    exist on your system, or that do different things on
  698.    your system and must be used only through an encapsulation
  699.    (Which you should place, by convention, in sysdep.c).  */
  700.  
  701. #define _setjmp setjmp
  702. #define _longjmp longjmp
  703. #define NBPC 4096
  704. #define NO_SIOCTL_H
  705. #define SWITCH_ENUM_BUG
  706.  
  707. /* Some compilers tend to put everything declared static
  708.    into the initialized data area, which becomes pure after dumping Emacs.
  709.    On these systems, you must #define static as nothing to foil this.
  710.    Note that emacs carefully avoids static vars inside functions.  */
  711.  
  712. /* #define static */
  713.  
  714. /* Some more system calls supported */
  715.  
  716. #define HAVE_DUP2
  717. #define HAVE_GETWD
  718. #define HAVE_RANDOM
  719. #define HAVE_RENAME
  720.  
  721. /* Info for AUX 3.0's native C compiler */
  722.  
  723. #define C_DEBUG_SWITCH C_OPTIMIZE_SWITCH
  724. #define C_OPTIMIZE_SWITCH -O2
  725. #define LIBS_DEBUG
  726. #define LIB_STANDARD /lib/crtn.o /usr/lib/shlib.ld /lib/libc.a
  727. #define START_FILES pre-crt0.o /lib/crt1.o /lib/crt2.o
  728. @EOF
  729.  
  730. chmod 644 s-aux-3.0.h
  731.  
  732. exit 0
  733.