home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!pmafire!news.dell.com!swrinde!mips!darwin.sura.net!uvaarpa!cv3.cv.nrao.edu!laphroaig!cflatter
- From: cflatter@nrao.edu (Chris Flatters)
- Newsgroups: comp.unix.bsd
- Subject: GNU emacs for 386BSD
- Message-ID: <1992Jul28.155251.3433@nrao.edu>
- Date: 28 Jul 92 15:52:51 GMT
- Sender: news@nrao.edu
- Reply-To: cflatter@nrao.edu
- Organization: NRAO
- Lines: 298
-
- The following shar file contains the two configuration files required
- for GNU emacs 18.58 under 386BSD 0.1 (s-386bsd.h and m-386bsd.h) and a
- brief README. I have assumed that anybody who wants this has read the
- GNU emacs INSTALL document.
-
- I didn't know about Pace Willisson's earlier configuration for 386BSD 0.0
- when I started this. This version is organized rather differently than
- Pace's and has one improvement --- the load-average function will now work
- if emacs is installed with the correct privileges.
-
-
- # This is a shell archive. Save it in a file, remove anything before
- # this line, and then unpack it by entering "sh file". Note, it may
- # create directories; files and directories will be owned by you and
- # have default permissions.
- #
- # This archive contains:
- #
- # README
- # m-386bsd.h
- # s-386bsd.h
- #
- echo x - README
- sed 's/^X//' >README << 'END-of-README'
- XThe two files s-386bsd.h and m-386bsd.h configure GNU emacs 18.58 for
- X386BSD 0.1. Copy them to the directory $BUILD/src where $BUILD stands
- Xfor the topmost directory of the GNU emacs distribution. You may then
- Xfollow the instructions in the GNU Emacs Installation Guide using
- Xs-386bsd.h and m-386bsd.h as the s- and m- files in conf.h. Note,
- Xhowever, that you must edit $BUILD/Makefile changing `/bin/sed' to
- X`/usr/bin/sed' before running make. Also note that you must run the
- Xfollowing commands (as root) after installing emacs.
- X
- Xcd /usr/local/bin # or wherever the emacs binary was installed
- Xchgrp kmem emacs
- Xchmod g+s emacs
- X
- XIf you don't perform this last step then the load-average function
- Xwill always return (0 0 0).
- X
- XNOTES
- X
- X- Pressing Ctrl-Shift-2 generates `@' rather than C-@ so you will
- X have to change the keyboard mapping for set-mark. I think that
- X this must be an oddity in the 386BSD keyboard driver.
- X
- X- There is nothing wrong with the status line. The termcap database
- X for the console highlights text by changing the colour rather than
- X using inverse video: this looks rather odd if you are used to seeing
- X emacs on monochrome terminals.
- X
- X- The only substantial difference between m-386bsd.h and m-intel386.h
- X are the macros relating to the load average. These should probably
- X have been placed in a #ifdef block in m-intel386.h but I dislike
- X #ifdefs.
- END-of-README
- echo x - m-386bsd.h
- sed 's/^X//' >m-386bsd.h << 'END-of-m-386bsd.h'
- X/* m- file for 386BSD.
- X Copyright (C) 1987 Free Software Foundation, Inc.
- X
- XThis file is part of GNU Emacs.
- X
- XGNU Emacs is free software; you can redistribute it and/or modify
- Xit under the terms of the GNU General Public License as published by
- Xthe Free Software Foundation; either version 1, or (at your option)
- Xany later version.
- X
- XGNU Emacs is distributed in the hope that it will be useful,
- Xbut WITHOUT ANY WARRANTY; without even the implied warranty of
- XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- XGNU General Public License for more details.
- X
- XYou should have received a copy of the GNU General Public License
- Xalong with GNU Emacs; see the file COPYING. If not, write to
- Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
- X
- X
- X/* The following three symbols give information on
- X the size of various data types. */
- X
- X#define SHORTBITS 16 /* Number of bits in a short */
- X
- X#define INTBITS 32 /* Number of bits in an int */
- X
- X#define LONGBITS 32 /* Number of bits in a long */
- X
- X/* i386 is not big-endian: lowest numbered byte is least significant. */
- X
- X/* #undef BIG_ENDIAN */
- X
- X/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
- X * group of arguments and treat it as an array of the arguments. */
- X
- X/* #define NO_ARG_ARRAY */
- X
- X/* Define WORD_MACHINE if addresses and such have
- X * to be corrected before they can be used as byte counts. */
- X
- X/* #define WORD_MACHINE */
- X
- X/* Define how to take a char and sign-extend into an int.
- X On machines where char is signed, this is a no-op. */
- X
- X#define SIGN_EXTEND_CHAR(c) (c)
- X
- X/* Now define a symbol for the cpu type, if your compiler
- X does not define it automatically:
- X Ones defined so far include vax, m68000, ns16000, pyramid,
- X orion, tahoe, APOLLO and many others */
- X
- X#define INTEL386
- X
- X/* Use type int rather than a union, to represent Lisp_Object */
- X
- X#define NO_UNION_TYPE
- X
- X/* crt0.c, if it is used, should use the i386-bsd style of entry.
- X with no extra dummy args. On USG and XENIX,
- X NO_REMAP says this isn't used. */
- X
- X#define CRT0_DUMMIES bogus_fp,
- X
- X/* crt0.c should define a symbol `start' and do .globl with a dot. */
- X
- X#define DOT_GLOBAL_START
- X
- X/* Data type of load average, as read out of kmem. */
- X#define LOAD_AVE_TYPE unsigned long
- X
- X/* Convert that into an integer that is 100 for a load average of 1.0 */
- X#define LOAD_AVE_CVT(x) ((int)(((double) (x)) * 100.0 / FSCALE))
- X
- X/* Define CANNOT_DUMP on machines where unexec does not work.
- X Then the function dump-emacs will not be defined
- X and temacs will do (load "loadup") automatically unless told otherwise. */
- X
- X/* #define CANNOT_DUMP */
- X
- X/* Define VIRT_ADDR_VARIES if the virtual addresses of
- X pure and impure space as loaded can vary, and even their
- X relative order cannot be relied on.
- X
- X Otherwise Emacs assumes that text space precedes data space,
- X numerically. */
- X
- X/* #define VIRT_ADDR_VARIES */
- X
- X#define HAVE_ALLOCA
- X
- X/* If compiling with GCC, let GCC implement alloca. */
- X#if defined(__GNUC__) && !defined(alloca)
- X#define alloca(n) __builtin_alloca(n)
- X#define HAVE_ALLOCA
- X#endif
- END-of-m-386bsd.h
- echo x - s-386bsd.h
- sed 's/^X//' >s-386bsd.h << 'END-of-s-386bsd.h'
- X/* Definitions file for GNU Emacs running on 386BSD
- X Copyright (C) 1985, 1986 Free Software Foundation, Inc.
- X
- XThis file is part of GNU Emacs.
- X
- XGNU Emacs is free software; you can redistribute it and/or modify
- Xit under the terms of the GNU General Public License as published by
- Xthe Free Software Foundation; either version 1, or (at your option)
- Xany later version.
- X
- XGNU Emacs is distributed in the hope that it will be useful,
- Xbut WITHOUT ANY WARRANTY; without even the implied warranty of
- XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- XGNU General Public License for more details.
- X
- XYou should have received a copy of the GNU General Public License
- Xalong with GNU Emacs; see the file COPYING. If not, write to
- Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
- X
- X
- X/*
- X * Define symbols to identify the version of Unix this is.
- X * Define all the symbols that apply correctly.
- X */
- X
- X#ifndef BSD4_3
- X#define BSD4_3
- X#endif /* BSD4_3 */
- X
- X#ifndef BSD
- X#define BSD
- X#endif /* BSD */
- X
- X/* SYSTEM_TYPE should indicate the kind of system you are using.
- X It sets the Lisp variable system-type. */
- X
- X#define SYSTEM_TYPE "386BSD"
- X
- X/* nomultiplejobs should be defined if your system's shell
- X does not have "job control" (the ability to stop a program,
- X run some other program, then continue the first one). */
- X
- X/* #define NOMULTIPLEJOBS */
- X
- X/* Do not use interrupt_input = 1 by default, because in 4.3
- X we can make noninterrupt input work properly. */
- X
- X#undef INTERRUPT_INPUT
- X
- X/* First pty name is /dev/ptyp0. */
- X
- X#define FIRST_PTY_LETTER 'p'
- X/*
- X * Define HAVE_TIMEVAL if the system supports the BSD style clock values.
- X * Look in <sys/time.h> for a timeval structure.
- X */
- X
- X#define HAVE_TIMEVAL
- X
- X/*
- X * Define HAVE_SELECT if the system supports the `select' system call.
- X */
- X
- X#define HAVE_SELECT
- X
- X/*
- X * Define HAVE_PTYS if the system supports pty devices.
- X */
- X
- X#define HAVE_PTYS
- X
- X/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
- X
- X#define HAVE_SOCKETS
- X
- X/*
- X * Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
- X * The 4.2 opendir, etc., library functions.
- X */
- X
- X/* #define NONSYSTEM_DIR_LIBRARY */
- X
- X/* Define this symbol if your system has the functions bcopy, etc. */
- X
- X#define BSTRING
- X
- X/* subprocesses should be defined if you want to
- X have code for asynchronous subprocesses
- X (as used in M-x compile and M-x shell).
- X This is generally OS dependent, and not supported
- X under most USG systems. */
- X
- X#define subprocesses
- X
- X/* If your system uses COFF (Common Object File Format) then define the
- X preprocessor symbol "COFF". */
- X
- X/* #define COFF */
- X
- X/* define MAIL_USE_FLOCK if the mailer uses flock
- X to interlock access to /usr/spool/mail/$USER.
- X The alternative is that a lock file named
- X /usr/spool/mail/$USER.lock. */
- X
- X#define MAIL_USE_FLOCK
- X
- X/* Define CLASH_DETECTION if you want lock files to be written
- X so that Emacs can tell instantly when you try to modify
- X a file that someone else has modified in his Emacs. */
- X
- X#define CLASH_DETECTION
- X
- X/* We use the Berkeley (and usg5.2.2) interface to nlist. */
- X
- X#define NLIST_STRUCT
- X
- X/* The file containing the kernel's symbol table is called /386bsd. */
- X
- X#define KERNEL_FILE "/386bsd"
- X
- X/* The symbol in the kernel where the load average is found
- X is named _averunnable. */
- X
- X#define LDAV_SYMBOL "_averunnable"
- X
- X/* This macro determines the number of bytes waiting to be written
- X in a FILE buffer. */
- X
- X#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
- X
- X/* 386BSD uses GNU C */
- X
- X#define C_COMPILER gcc -traditional
- X
- X/* 386BSD stores the termcap database in /usr/share/misc rather than
- X /etc. We use the system termcap library to avoid putting a #ifdef
- X in termcap.c or forcing the user to use TERMCAP. */
- X#define LIBS_TERMCAP -ltermcap
- END-of-s-386bsd.h
- exit
-