home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / unix / bsd / 3197 < prev    next >
Encoding:
Text File  |  1992-07-30  |  10.4 KB  |  371 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!psinntp!cubtosys!mischler
  3. From: mischler@cubic.com (Dave Mischler)
  4. Subject: Emacs 18.58 for 386bsd 0.1
  5. Organization: Cubic Toll Systems
  6. Date: Wed, 29 Jul 92 22:53:10 GMT
  7. Message-ID: <1992Jul29.225310.18452@cubic.com>
  8. Keywords: emacs, 386bsd
  9. Lines: 360
  10.  
  11. I haven't seen anybody's port of EMACS to 386bsd 0.1, so here's mine.
  12. This will not solve all keyboard mapping problems, and "M-x rmail"
  13. doesn't work, but it's a place to start.
  14.  
  15. How to use these files:
  16.  
  17.     1) Follow the directions below for extracting the four listed
  18.        files from the shell archive.  The file emacs-386bsd must
  19.        be made executable (e.g. "chmod ugo+rx emacs-386bsd").
  20.  
  21.     2) Acquire a copy of emacs-18.58.tar.Z and place it in the
  22.        same directory as the files contained in this post.
  23.  
  24.     3) From the root account, cd to the directory where you put
  25.        all this stuff and type emacs-386bsd.  Emacs will be
  26.        extracted, compiled and installed.  Other accounts besides
  27.        root may work, but this is the only one I have tried.
  28.  
  29.     4) Link /usr/share/misc/termcap to /etc/termcap (e.g.
  30.        "ln -s /usr/share/misc/termcap /etc/termcap" ).
  31.  
  32.     5) If you want to repeat the installation you should delete
  33.        directory /usr/local/emacs first (e.g. "rm -rf /usr/local/emacs").
  34.  
  35. Have fun.
  36.  
  37. Dave Mischler    -    mischler@cubic.com
  38.  
  39. #! /bin/sh
  40. # This is a shell archive, meaning:
  41. # 1. Remove everything above the #! /bin/sh line.
  42. # 2. Save the resulting text in a file.
  43. # 3. Execute the file with /bin/sh (not csh) to create the files:
  44. #    config.h
  45. #    emacs-386bsd
  46. #    s-386bsd.h
  47. #    site-init.el
  48. # This archive created: Wed Jul 29 16:05:19 1992
  49. export PATH; PATH=/bin:$PATH
  50. if test -f 'config.h'
  51. then
  52.     echo shar: will not over-write existing file "'config.h'"
  53. else
  54. cat << \SHAR_EOF > 'config.h'
  55. /* GNU Emacs site configuration template file.
  56.    Copyright (C) 1988 Free Software Foundation, Inc.
  57.  
  58. This file is part of GNU Emacs.
  59.  
  60. GNU Emacs is free software; you can redistribute it and/or modify
  61. it under the terms of the GNU General Public License as published by
  62. the Free Software Foundation; either version 1, or (at your option)
  63. any later version.
  64.  
  65. GNU Emacs is distributed in the hope that it will be useful,
  66. but WITHOUT ANY WARRANTY; without even the implied warranty of
  67. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  68. GNU General Public License for more details.
  69.  
  70. You should have received a copy of the GNU General Public License
  71. along with GNU Emacs; see the file COPYING.  If not, write to
  72. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  73.  
  74.  
  75.  
  76. /* Include here a s- file that describes the system type you are using.
  77.    See the file ../etc/MACHINES for a list of systems and
  78.    the names of the s- files to use for them.
  79.    See s-template.h for documentation on writing s- files.  */
  80. #include "s-386bsd.h"
  81.  
  82. /* Include here a m- file that describes the machine and system you use.
  83.    See the file ../etc/MACHINES for a list of machines and
  84.    the names of the m- files to use for them.
  85.    See m-template.h for info on what m- files should define.
  86.    */
  87. #include "m-intel386.h"
  88.  
  89. /* Load in the conversion definitions if this system
  90.    needs them and the source file being compiled has not
  91.    said to inhibit this.  There should be no need for you
  92.    to alter these lines.  */
  93.  
  94. #ifdef SHORTNAMES
  95. #ifndef NO_SHORTNAMES
  96. #include "../shortnames/remap.h"
  97. #endif /* not NO_SHORTNAMES */
  98. #endif /* SHORTNAMES */
  99.  
  100. /* Define HAVE_X_WINDOWS if you want to use the X window system.  */
  101.  
  102. /* #define HAVE_X_WINDOWS */
  103.  
  104. /* Define X11 if you want to use version 11 of X windows.
  105.    Otherwise, Emacs expects to use version 10.  */
  106.  
  107. #ifdef HAVE_X_WINDOWS
  108. #define X11
  109. #endif
  110.  
  111. /* Define HAVE_X_MENU if you want to use the X window menu system.
  112.    This appears to work on some machines that support X
  113.    and not on others.  */
  114.  
  115. /* #define HAVE_X_MENU */
  116.  
  117. /* Define `subprocesses' should be defined if you want to
  118.    have code for asynchronous subprocesses
  119.    (as used in M-x compile and M-x shell).
  120.    These do not work for some USG systems yet;
  121.    for the ones where they work, the s-*.h file defines this flag.  */
  122.  
  123. #ifndef VMS
  124. #ifndef USG
  125. #define subprocesses
  126. #endif
  127. #endif
  128.  
  129. /* Define USER_FULL_NAME to return a string
  130.    that is the user's full name.
  131.    It can assume that the variable `pw'
  132.    points to the password file entry for this user.
  133.  
  134.    At some sites, the pw_gecos field contains
  135.    the user's full name.  If neither this nor any other
  136.    field contains the right thing, use pw_name,
  137.    giving the user's login name, since that is better than nothing.  */
  138.  
  139. #define USER_FULL_NAME pw->pw_gecos
  140.  
  141. /* Define AMPERSAND_FULL_NAME if you use the convention
  142.    that & in the full name stands for the login id.  */
  143.  
  144. /* #define AMPERSAND_FULL_NAME */
  145.  
  146. /* # bytes of pure Lisp code to leave space for.
  147.    Note that s-vms.h and m-sun2.h may override this default.  */
  148.  
  149. #ifndef PURESIZE
  150. #ifdef HAVE_X_WINDOWS
  151. #define PURESIZE 122000
  152. #else
  153. #define PURESIZE 120000
  154. #endif
  155. #endif
  156.  
  157. /* Define HIGHPRI as a negative number
  158.    if you want Emacs to run at a higher than normal priority.
  159.    For this to take effect, you must install Emacs with setuid root.
  160.    Emacs will change back to the users's own uid after setting
  161.    its priority.  */
  162.  
  163. /* #define HIGHPRI */
  164.  
  165. SHAR_EOF
  166. fi # end of overwriting check
  167. if test -f 'emacs-386bsd'
  168. then
  169.     echo shar: will not over-write existing file "'emacs-386bsd'"
  170. else
  171. cat << \SHAR_EOF > 'emacs-386bsd'
  172. #
  173. #   Shell script to install EMACS 18.58 on 386bsd.
  174. #   It is expected that emacs-18.58.tar.Z, as well as config.h,
  175. #   s-386bsd.h, and site-init.el are in the same directory as
  176. #   this shell script.  I did this as root.
  177. #
  178. #   All EMACS features that I tried worked except rmail.
  179. #
  180. #   EMACS will look for the termcap database in /etc/termcap,
  181. #   so you should either set up a link from there to
  182. #   /usr/share/misc/termcap or set environment variable TERMCAP
  183. #   to /usr/share/misc/termcap.
  184. #
  185. zcat emacs-18.58.tar | tar -xf -
  186. #
  187. #   Set up configuration files.
  188. #
  189. cd emacs-18.58/src
  190. cp paths.h-dist paths.h
  191. cp ../../config.h ./
  192. cp ../../s-386bsd.h ./
  193. cp ../../site-init.el ../lisp/
  194. #
  195. #   Build the stuff in etc.
  196. #
  197. cd ../etc
  198. make
  199. #
  200. #   Build xemacs
  201. #
  202. cd ../src
  203. make
  204. #
  205. #   Move all files to appropriate locations.
  206. #
  207. mv xemacs /usr/local/bin/emacs
  208. cd ..
  209. mv etc/ctags /usr/local/bin/
  210. mv etc/etags /usr/local/bin/
  211. mv etc/emacsclient /usr/local/bin/
  212. mv etc/wakeup /usr/local/bin/
  213. mkdir /usr/local/emacs
  214. mv etc /usr/local/emacs/etc
  215. mv info /usr/local/emacs/info
  216. mv lisp /usr/local/emacs/lisp
  217. SHAR_EOF
  218. fi # end of overwriting check
  219. if test -f 's-386bsd.h'
  220. then
  221.     echo shar: will not over-write existing file "'s-386bsd.h'"
  222. else
  223. cat << \SHAR_EOF > 's-386bsd.h'
  224. /* Definitions file for GNU Emacs running on bsd 4.3
  225.    Copyright (C) 1985, 1986 Free Software Foundation, Inc.
  226.  
  227. This file is part of GNU Emacs.
  228.  
  229. GNU Emacs is free software; you can redistribute it and/or modify
  230. it under the terms of the GNU General Public License as published by
  231. the Free Software Foundation; either version 1, or (at your option)
  232. any later version.
  233.  
  234. GNU Emacs is distributed in the hope that it will be useful,
  235. but WITHOUT ANY WARRANTY; without even the implied warranty of
  236. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  237. GNU General Public License for more details.
  238.  
  239. You should have received a copy of the GNU General Public License
  240. along with GNU Emacs; see the file COPYING.  If not, write to
  241. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  242.  
  243.  
  244. /*
  245.  *    Define symbols to identify the version of Unix this is.
  246.  *    Define all the symbols that apply correctly.
  247.  */
  248.  
  249. #ifndef BSD4_3
  250. #define BSD4_3
  251. #endif /* BSD4_3 */
  252.  
  253. #ifndef BSD
  254. #define BSD
  255. #endif /* BSD */
  256.  
  257. /* SYSTEM_TYPE should indicate the kind of system you are using.
  258.  It sets the Lisp variable system-type.  */
  259.  
  260. #define SYSTEM_TYPE "berkeley-unix"
  261.  
  262. /* nomultiplejobs should be defined if your system's shell
  263.  does not have "job control" (the ability to stop a program,
  264.  run some other program, then continue the first one).  */
  265.  
  266. /* #define NOMULTIPLEJOBS */
  267.  
  268. /* Do not use interrupt_input = 1 by default, because in 4.3
  269.    we can make noninterrupt input work properly.  */
  270.  
  271. #undef INTERRUPT_INPUT
  272.  
  273. /* First pty name is /dev/ptyp0.  */
  274.  
  275. #define FIRST_PTY_LETTER 'p'
  276. /*
  277.  *    Define HAVE_TIMEVAL if the system supports the BSD style clock values.
  278.  *    Look in <sys/time.h> for a timeval structure.
  279.  */
  280.  
  281. #define HAVE_TIMEVAL
  282.  
  283. /*
  284.  *    Define HAVE_SELECT if the system supports the `select' system call.
  285.  */
  286.  
  287. #define HAVE_SELECT
  288.  
  289. /*
  290.  *    Define HAVE_PTYS if the system supports pty devices.
  291.  */
  292.  
  293. #define HAVE_PTYS
  294.  
  295. /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
  296.  
  297. #define HAVE_SOCKETS
  298.  
  299. /*
  300.  *    Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
  301.  *      The 4.2 opendir, etc., library functions.
  302.  */
  303.  
  304. /* #define NONSYSTEM_DIR_LIBRARY */
  305.  
  306. /* Define this symbol if your system has the functions bcopy, etc. */
  307.  
  308. #define BSTRING
  309.  
  310. /* subprocesses should be defined if you want to
  311.    have code for asynchronous subprocesses
  312.    (as used in M-x compile and M-x shell).
  313.    This is generally OS dependent, and not supported
  314.    under most USG systems. */
  315.  
  316. #define subprocesses
  317.  
  318. /* If your system uses COFF (Common Object File Format) then define the
  319.    preprocessor symbol "COFF". */
  320.  
  321. /* #define COFF */
  322.  
  323. /* define MAIL_USE_FLOCK if the mailer uses flock
  324.    to interlock access to /usr/spool/mail/$USER.
  325.    The alternative is that a lock file named
  326.    /usr/spool/mail/$USER.lock.  */
  327.  
  328. #define MAIL_USE_FLOCK
  329.  
  330. /* Define CLASH_DETECTION if you want lock files to be written
  331.    so that Emacs can tell instantly when you try to modify
  332.    a file that someone else has modified in his Emacs.  */
  333.  
  334. #define CLASH_DETECTION
  335.  
  336. /* We use the Berkeley (and usg5.2.2) interface to nlist.  */
  337.  
  338. #define NLIST_STRUCT
  339.  
  340. /* The file containing the kernel's symbol table is called /vmunix.  */
  341.  
  342. #define KERNEL_FILE "/vmunix"
  343.  
  344. /* The symbol in the kernel where the load average is found
  345.    is named _avenrun.  */
  346.  
  347. #define LDAV_SYMBOL "_avenrun"
  348.  
  349. /* Make PENDING_OUTPUT_COUNT work in dispnew.c    */
  350.  
  351. #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
  352.  
  353. /* "Fix" some make items    */
  354.  
  355. #define C_SWITCH_SYSTEM -O -traditional
  356. #define LIBS_DEBUG
  357. SHAR_EOF
  358. fi # end of overwriting check
  359. if test -f 'site-init.el'
  360. then
  361.     echo shar: will not over-write existing file "'site-init.el'"
  362. else
  363. cat << \SHAR_EOF > 'site-init.el'
  364. (setq rmail-spool-directory "/var/mail/")
  365. (setq sendmail-program "/usr/sbin/sendmail")
  366. (setq manual-program "/usr/bin/man")
  367. SHAR_EOF
  368. fi # end of overwriting check
  369. #    End of shell archive
  370. exit 0
  371.