Return to BSD News archive
Path: sserve!manuel!munnari.oz.au!news.hawaii.edu!ames!olivea!uunet!psinntp!cubtosys!mischler From: mischler@cubic.com (Dave Mischler) Newsgroups: comp.unix.bsd Subject: Emacs 18.58 for 386bsd 0.1 Keywords: emacs, 386bsd Message-ID: <1992Jul29.225310.18452@cubic.com> Date: 29 Jul 92 22:53:10 GMT Organization: Cubic Toll Systems Lines: 360 I haven't seen anybody's port of EMACS to 386bsd 0.1, so here's mine. This will not solve all keyboard mapping problems, and "M-x rmail" doesn't work, but it's a place to start. How to use these files: 1) Follow the directions below for extracting the four listed files from the shell archive. The file emacs-386bsd must be made executable (e.g. "chmod ugo+rx emacs-386bsd"). 2) Acquire a copy of emacs-18.58.tar.Z and place it in the same directory as the files contained in this post. 3) From the root account, cd to the directory where you put all this stuff and type emacs-386bsd. Emacs will be extracted, compiled and installed. Other accounts besides root may work, but this is the only one I have tried. 4) Link /usr/share/misc/termcap to /etc/termcap (e.g. "ln -s /usr/share/misc/termcap /etc/termcap" ). 5) If you want to repeat the installation you should delete directory /usr/local/emacs first (e.g. "rm -rf /usr/local/emacs"). Have fun. Dave Mischler - mischler@cubic.com #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # config.h # emacs-386bsd # s-386bsd.h # site-init.el # This archive created: Wed Jul 29 16:05:19 1992 export PATH; PATH=/bin:$PATH if test -f 'config.h' then echo shar: will not over-write existing file "'config.h'" else cat << \SHAR_EOF > 'config.h' /* GNU Emacs site configuration template file. Copyright (C) 1988 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* Include here a s- file that describes the system type you are using. See the file ../etc/MACHINES for a list of systems and the names of the s- files to use for them. See s-template.h for documentation on writing s- files. */ #include "s-386bsd.h" /* Include here a m- file that describes the machine and system you use. See the file ../etc/MACHINES for a list of machines and the names of the m- files to use for them. See m-template.h for info on what m- files should define. */ #include "m-intel386.h" /* Load in the conversion definitions if this system needs them and the source file being compiled has not said to inhibit this. There should be no need for you to alter these lines. */ #ifdef SHORTNAMES #ifndef NO_SHORTNAMES #include "../shortnames/remap.h" #endif /* not NO_SHORTNAMES */ #endif /* SHORTNAMES */ /* Define HAVE_X_WINDOWS if you want to use the X window system. */ /* #define HAVE_X_WINDOWS */ /* Define X11 if you want to use version 11 of X windows. Otherwise, Emacs expects to use version 10. */ #ifdef HAVE_X_WINDOWS #define X11 #endif /* Define HAVE_X_MENU if you want to use the X window menu system. This appears to work on some machines that support X and not on others. */ /* #define HAVE_X_MENU */ /* Define `subprocesses' should be defined if you want to have code for asynchronous subprocesses (as used in M-x compile and M-x shell). These do not work for some USG systems yet; for the ones where they work, the s-*.h file defines this flag. */ #ifndef VMS #ifndef USG #define subprocesses #endif #endif /* Define USER_FULL_NAME to return a string that is the user's full name. It can assume that the variable `pw' points to the password file entry for this user. At some sites, the pw_gecos field contains the user's full name. If neither this nor any other field contains the right thing, use pw_name, giving the user's login name, since that is better than nothing. */ #define USER_FULL_NAME pw->pw_gecos /* Define AMPERSAND_FULL_NAME if you use the convention that & in the full name stands for the login id. */ /* #define AMPERSAND_FULL_NAME */ /* # bytes of pure Lisp code to leave space for. Note that s-vms.h and m-sun2.h may override this default. */ #ifndef PURESIZE #ifdef HAVE_X_WINDOWS #define PURESIZE 122000 #else #define PURESIZE 120000 #endif #endif /* Define HIGHPRI as a negative number if you want Emacs to run at a higher than normal priority. For this to take effect, you must install Emacs with setuid root. Emacs will change back to the users's own uid after setting its priority. */ /* #define HIGHPRI */ SHAR_EOF fi # end of overwriting check if test -f 'emacs-386bsd' then echo shar: will not over-write existing file "'emacs-386bsd'" else cat << \SHAR_EOF > 'emacs-386bsd' # # Shell script to install EMACS 18.58 on 386bsd. # It is expected that emacs-18.58.tar.Z, as well as config.h, # s-386bsd.h, and site-init.el are in the same directory as # this shell script. I did this as root. # # All EMACS features that I tried worked except rmail. # # EMACS will look for the termcap database in /etc/termcap, # so you should either set up a link from there to # /usr/share/misc/termcap or set environment variable TERMCAP # to /usr/share/misc/termcap. # zcat emacs-18.58.tar | tar -xf - # # Set up configuration files. # cd emacs-18.58/src cp paths.h-dist paths.h cp ../../config.h ./ cp ../../s-386bsd.h ./ cp ../../site-init.el ../lisp/ # # Build the stuff in etc. # cd ../etc make # # Build xemacs # cd ../src make # # Move all files to appropriate locations. # mv xemacs /usr/local/bin/emacs cd .. mv etc/ctags /usr/local/bin/ mv etc/etags /usr/local/bin/ mv etc/emacsclient /usr/local/bin/ mv etc/wakeup /usr/local/bin/ mkdir /usr/local/emacs mv etc /usr/local/emacs/etc mv info /usr/local/emacs/info mv lisp /usr/local/emacs/lisp SHAR_EOF fi # end of overwriting check if test -f 's-386bsd.h' then echo shar: will not over-write existing file "'s-386bsd.h'" else cat << \SHAR_EOF > 's-386bsd.h' /* Definitions file for GNU Emacs running on bsd 4.3 Copyright (C) 1985, 1986 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * Define symbols to identify the version of Unix this is. * Define all the symbols that apply correctly. */ #ifndef BSD4_3 #define BSD4_3 #endif /* BSD4_3 */ #ifndef BSD #define BSD #endif /* BSD */ /* SYSTEM_TYPE should indicate the kind of system you are using. It sets the Lisp variable system-type. */ #define SYSTEM_TYPE "berkeley-unix" /* nomultiplejobs should be defined if your system's shell does not have "job control" (the ability to stop a program, run some other program, then continue the first one). */ /* #define NOMULTIPLEJOBS */ /* Do not use interrupt_input = 1 by default, because in 4.3 we can make noninterrupt input work properly. */ #undef INTERRUPT_INPUT /* First pty name is /dev/ptyp0. */ #define FIRST_PTY_LETTER 'p' /* * Define HAVE_TIMEVAL if the system supports the BSD style clock values. * Look in <sys/time.h> for a timeval structure. */ #define HAVE_TIMEVAL /* * Define HAVE_SELECT if the system supports the `select' system call. */ #define HAVE_SELECT /* * Define HAVE_PTYS if the system supports pty devices. */ #define HAVE_PTYS /* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ #define HAVE_SOCKETS /* * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate * The 4.2 opendir, etc., library functions. */ /* #define NONSYSTEM_DIR_LIBRARY */ /* Define this symbol if your system has the functions bcopy, etc. */ #define BSTRING /* subprocesses should be defined if you want to have code for asynchronous subprocesses (as used in M-x compile and M-x shell). This is generally OS dependent, and not supported under most USG systems. */ #define subprocesses /* If your system uses COFF (Common Object File Format) then define the preprocessor symbol "COFF". */ /* #define COFF */ /* define MAIL_USE_FLOCK if the mailer uses flock to interlock access to /usr/spool/mail/$USER. The alternative is that a lock file named /usr/spool/mail/$USER.lock. */ #define MAIL_USE_FLOCK /* Define CLASH_DETECTION if you want lock files to be written so that Emacs can tell instantly when you try to modify a file that someone else has modified in his Emacs. */ #define CLASH_DETECTION /* We use the Berkeley (and usg5.2.2) interface to nlist. */ #define NLIST_STRUCT /* The file containing the kernel's symbol table is called /vmunix. */ #define KERNEL_FILE "/vmunix" /* The symbol in the kernel where the load average is found is named _avenrun. */ #define LDAV_SYMBOL "_avenrun" /* Make PENDING_OUTPUT_COUNT work in dispnew.c */ #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) /* "Fix" some make items */ #define C_SWITCH_SYSTEM -O -traditional #define LIBS_DEBUG SHAR_EOF fi # end of overwriting check if test -f 'site-init.el' then echo shar: will not over-write existing file "'site-init.el'" else cat << \SHAR_EOF > 'site-init.el' (setq rmail-spool-directory "/var/mail/") (setq sendmail-program "/usr/sbin/sendmail") (setq manual-program "/usr/bin/man") SHAR_EOF fi # end of overwriting check # End of shell archive exit 0