*BSD News Article 13595


Return to BSD News archive

Newsgroups: comp.os.386bsd.apps
Path: sserve!newshost.anu.edu.au!munnari.oz.au!spool.mu.edu!uunet!mcsun!ieunet!dec4ie.ieunet.ie!jkh
From: jkh@whisker.lotus.ie (Jordan K. Hubbard)
Subject: Here are some diffs for lemacs 19.4
Message-ID: <JKH.93Mar29131631@whisker.lotus.ie>
Sender: usenet@ieunet.ie (USENET News System)
Nntp-Posting-Host: whisker.lotus.ie
Organization: Lotus Development Ireland
Date: Mon, 29 Mar 1993 13:16:31 GMT
Lines: 638

Here are some diffs that should help in getting my port of lemacs 19.4 to
compile under 386bsd.  I did this port in isolation to the 19.3 port (I didn't
know about it until I finished mine!), so any problems that exist with this
one are purely my fault.  Unpack the lemacs distribtion and cd to the top level
directory (lemacs-19.4), where you should unshar this file.  It will
unpack the m- and s- files I put together.  Apply the diffs and you should
be in business.

Note that I just diff'd my working sources, which means you get all my
preferences as well.  If you strongly dislike having things in /usr/gnu
then you should edit the Makefile as well.  Finally, I didn't include
diffs for etc/ because no changes there were necessary, you may however
wish to edit etc/Makefile to use gcc2 if you're a gcc 2.3.3 fan.  I did.

Let me know if this gives you any grief.


					Jordan


# 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:
#
#	lemacs.diffs
#	src/m/m-486.h
#	src/s/s-386bsd.h
#
echo x - lemacs.diffs
sed 's/^X//' >lemacs.diffs << 'END-of-lemacs.diffs'
Xdiff +recursive +context lemacs-19.4.orig/Makefile lemacs-19.4/Makefile
X*** lemacs-19.4.orig/Makefile	Wed Jan 13 22:08:59 1993
X--- lemacs-19.4/Makefile	Mon Mar  8 19:27:05 1993
X***************
X*** 15,23 ****
X  
X  # Where to install things
X  # Note that on system V you must change MANDIR to /use/local/man/man1.
X! LIBDIR= /usr/local/emacs
X! BINDIR= /usr/local/bin
X! MANDIR= /usr/man/man1
X  
X  # Flags passed down to subdirectory makefiles.
X  MFLAGS=
X--- 15,23 ----
X  
X  # Where to install things
X  # Note that on system V you must change MANDIR to /use/local/man/man1.
X! LIBDIR= /usr/gnu/lib/emacs
X! BINDIR= /usr/gnu/bin
X! MANDIR= /usr/gnu/man/man1
X  
X  # Flags passed down to subdirectory makefiles.
X  MFLAGS=
Xdiff +recursive +context lemacs-19.4.orig/src/callproc.c lemacs-19.4/src/callproc.c
X*** lemacs-19.4.orig/src/callproc.c	Wed Jan 20 17:17:45 1993
X--- lemacs-19.4/src/callproc.c	Sun Mar  7 03:09:06 1993
X***************
X*** 406,412 ****
X--- 406,414 ----
X  extern void close_process_descs (void);
X  extern void setpgrp_of_tty (int);
X  
X+ #ifndef __386BSD__
X  extern pid_t setpgrp ();
X+ #endif
X  
X  void
X  child_setup (in, out, err, new_argv, env)
Xdiff +recursive +context lemacs-19.4.orig/src/config.h lemacs-19.4/src/config.h
X*** lemacs-19.4.orig/src/config.h	Mon Jan 18 00:24:53 1993
X--- lemacs-19.4/src/config.h	Mon Mar  8 02:50:07 1993
X***************
X*** 42,48 ****
X     the s- files to use for them.  See s-template.h for documentation on 
X     writing s- files.
X   */
X! #include "s/s-sunos4shr.h"
X  
X  /* Include here a m- file that describes the machine and system you use.
X     See the file ../etc/MACHINES for a list of machines and the names of 
X--- 42,48 ----
X     the s- files to use for them.  See s-template.h for documentation on 
X     writing s- files.
X   */
X! #include "s/s-386bsd.h"
X  
X  /* Include here a m- file that describes the machine and system you use.
X     See the file ../etc/MACHINES for a list of machines and the names of 
X***************
X*** 49,55 ****
X     the m- files to use for them.   See m-template.h for info on what m- 
X     files should define.
X   */
X! #include "m/m-sparc.h"
X  
X  /* Load in the conversion definitions if this system
X     needs them and the source file being compiled has not
X--- 49,55 ----
X     the m- files to use for them.   See m-template.h for info on what m- 
X     files should define.
X   */
X! #include "m/m-486.h"
X  
X  /* Load in the conversion definitions if this system
X     needs them and the source file being compiled has not
X***************
X*** 120,126 ****
X  /* Define LISP_FLOAT_TYPE if you want emacs to support floating-point
X     numbers. */
X  
X! #define LISP_FLOAT_TYPE
X  
X  /* Define this for new syntax parsing code that works with C++ mode. */
X  #define NEW_SYNTAX
X--- 120,126 ----
X  /* Define LISP_FLOAT_TYPE if you want emacs to support floating-point
X     numbers. */
X  
X! /* #define LISP_FLOAT_TYPE */
X  
X  /* Define this for new syntax parsing code that works with C++ mode. */
X  #define NEW_SYNTAX
X***************
X*** 150,156 ****
X     to do this, let us know and we'll put them there in the next release.
X   */
X  /* #define NEED_STRDUP */
X! /* #define NEED_REALPATH */
X  
X  
X  /* Define REL_ALLOC if you want to use the relocating allocator for
X--- 150,156 ----
X     to do this, let us know and we'll put them there in the next release.
X   */
X  /* #define NEED_STRDUP */
X! #define NEED_REALPATH
X  
X  
X  /* Define REL_ALLOC if you want to use the relocating allocator for
Xdiff +recursive +context lemacs-19.4.orig/src/emacs.c lemacs-19.4/src/emacs.c
X*** lemacs-19.4.orig/src/emacs.c	Wed Jan 20 01:41:34 1993
X--- lemacs-19.4/src/emacs.c	Sat Mar  6 22:46:24 1993
X***************
X*** 141,147 ****
X--- 141,151 ----
X    /* If we are controlling the terminal, reset terminal modes */
X  #ifdef BSD
X    if (ioctl(0, TIOCGPGRP, &tpgrp) == 0
X+ #ifdef __386BSD__
X+       && tpgrp == getpgrp ())
X+ #else
X        && tpgrp == getpgrp (0))
X+ #endif
X  #endif /* BSD */
X      {
X        reset_sys_modes ();
X***************
X*** 552,559 ****
X--- 556,565 ----
X  
X  extern void malloc_warning ();
X  
X+ #ifndef __386BSD__
X  #ifdef BSD
X  extern pid_t setpgrp ();
X+ #endif
X  #endif
X  
X  #ifdef RUN_TIME_REMAP
Xdiff +recursive +context lemacs-19.4.orig/src/fileio.c lemacs-19.4/src/fileio.c
X*** lemacs-19.4.orig/src/fileio.c	Wed Jan 20 01:42:13 1993
X--- lemacs-19.4/src/fileio.c	Sun Mar  7 00:08:14 1993
X***************
X*** 1089,1095 ****
X  static int retrying_write (int, char *, int);
X  
X  #if defined(HAVE_TIMEVAL) && !defined(USE_UTIME)
X! #if !defined(IRIX) && !defined(NeXT)
X  extern int utimes (char *, struct timeval *);
X  #endif
X  #endif
X--- 1089,1095 ----
X  static int retrying_write (int, char *, int);
X  
X  #if defined(HAVE_TIMEVAL) && !defined(USE_UTIME)
X! #if !defined(IRIX) && !defined(NeXT) && !defined(__386BSD__)
X  extern int utimes (char *, struct timeval *);
X  #endif
X  #endif
Xdiff +recursive +context lemacs-19.4.orig/src/fns.c lemacs-19.4/src/fns.c
X*** lemacs-19.4.orig/src/fns.c	Sun Jan 17 18:58:04 1993
X--- lemacs-19.4/src/fns.c	Sun Mar  7 01:09:02 1993
X***************
X*** 119,126 ****
X--- 119,128 ----
X    return arg;
X  }
X  
X+ #ifndef __386BSD__
X  extern int random ();
X  extern void srandom ();
X+ #endif
X  
X  DEFUN ("random", Frandom, Srandom, 0, 1, 0,
X    "Return a pseudo-random number.\n\
Xdiff +recursive +context lemacs-19.4.orig/src/lisp.h lemacs-19.4/src/lisp.h
X*** lemacs-19.4.orig/src/lisp.h	Wed Jan 20 17:18:14 1993
X--- lemacs-19.4/src/lisp.h	Mon Mar  8 02:50:14 1993
X***************
X*** 36,43 ****
X--- 36,45 ----
X  #  include <sysent.h>
X  # endif
X  
X+ #ifndef __386BSD__
X  #ifndef index
X  extern char *index (const char *, char);
X+ #endif
X  #endif
X  
X  #ifdef NeXT
Xdiff +recursive +context lemacs-19.4.orig/src/lwlib/Imakefile lemacs-19.4/src/lwlib/Imakefile
X*** lemacs-19.4.orig/src/lwlib/Imakefile	Wed Jan 20 17:31:37 1993
X--- lemacs-19.4/src/lwlib/Imakefile	Sun Mar  7 14:04:48 1993
X***************
X*** 84,91 ****
X  # define DoNormalLib YES
X  #endif
X  #include <Library.tmpl>
X!     EXT_DEFINES = -DTHIS_IS_X11R5 -DINCLUDE_ALLOCA_H
X!         WHICH_X = x11r5
X  #else /* !5 */
X      EXT_DEFINES = "ERROR!  Imakefile was unable to determine whether this is X11r4 or X11r5."
X  #endif /* !5 */
X--- 84,91 ----
X  # define DoNormalLib YES
X  #endif
X  #include <Library.tmpl>
X!     EXT_DEFINES = -DTHIS_IS_X11R5
X!         WHICH_X = usr1/X11.5
X  #else /* !5 */
X      EXT_DEFINES = "ERROR!  Imakefile was unable to determine whether this is X11r4 or X11r5."
X  #endif /* !5 */
Xdiff +recursive +context lemacs-19.4.orig/src/mem_limits.h lemacs-19.4/src/mem_limits.h
X*** lemacs-19.4.orig/src/mem_limits.h	Mon Jun 29 15:26:48 1992
X--- lemacs-19.4/src/mem_limits.h	Mon Mar  8 02:22:14 1993
X***************
X*** 26,31 ****
X--- 26,37 ----
X  #include <sys/resource.h>
X  #endif /* BSD4_2 */
X  
X+ #ifdef __386BSD__
X+ #include <sys/types.h>
X+ #include <sys/time.h>
X+ #include <sys/resource.h>
X+ #endif
X+ 
X  #ifdef __STDC__
X  typedef void *POINTER;
X  #else
X***************
X*** 57,63 ****
X  
X  
X  
X! #ifdef USG
X  
X  get_lim_data ()
X  {
X--- 63,69 ----
X  
X  
X  
X! #if defined(USG)
X  
X  get_lim_data ()
X  {
X***************
X*** 73,79 ****
X  }
X  
X  #else /* not USG */
X! #ifndef BSD4_2
X  
X  get_lim_data ()
X  {
X--- 79,85 ----
X  }
X  
X  #else /* not USG */
X! #if !defined(BSD4_2) && !defined(__386BSD__)
X  
X  get_lim_data ()
X  {
Xdiff +recursive +context lemacs-19.4.orig/src/process.c lemacs-19.4/src/process.c
X*** lemacs-19.4.orig/src/process.c	Wed Jan 13 22:17:51 1993
X--- lemacs-19.4/src/process.c	Sun Mar  7 02:18:55 1993
X***************
X*** 1097,1103 ****
X--- 1097,1105 ----
X  extern void start_polling (void);
X  extern void stop_polling (void);
X  
X+ #ifndef __386BSD__
X  extern pid_t setpgrp();
X+ #endif
X  
X  static void
X  create_process (process, new_argv)
Xdiff +recursive +context lemacs-19.4.orig/src/sysdep.c lemacs-19.4/src/sysdep.c
X*** lemacs-19.4.orig/src/sysdep.c	Wed Jan 20 01:43:09 1993
X--- lemacs-19.4/src/sysdep.c	Sat Mar  6 23:26:28 1993
X***************
X*** 697,703 ****
X--- 697,707 ----
X  #ifdef SIGTSTP
X  
X  #ifdef BSD
X+ #ifdef __386BSD__
X+   killpg (getpgrp (), SIGTSTP);
X+ #else
X    killpg (getpgrp (0), SIGTSTP);
X+ #endif
X  #else
X    kill (-getpgrp (), SIGTSTP);
X  #endif
Xdiff +recursive +context lemacs-19.4.orig/src/unexec.c lemacs-19.4/src/unexec.c
X*** lemacs-19.4.orig/src/unexec.c	Thu Dec 10 18:30:39 1992
X--- lemacs-19.4/src/unexec.c	Sun Mar  7 02:17:01 1993
X***************
X*** 230,236 ****
X--- 230,238 ----
X  typedef long ptrdiff_t;
X  #endif
X  #endif
X+ #ifndef __386BSD__
X  extern void *sbrk (ptrdiff_t);
X+ #endif
X  #else
X  extern void *sbrk ();
X  #endif
Xdiff +recursive +context lemacs-19.4.orig/src/vm-limit.c lemacs-19.4/src/vm-limit.c
X*** lemacs-19.4.orig/src/vm-limit.c	Tue Dec 29 01:47:30 1992
X--- lemacs-19.4/src/vm-limit.c	Sun Mar  7 03:14:07 1993
X***************
X*** 42,48 ****
X--- 42,50 ----
X     0 means don't issue them.  */
X  static void (*warnfunction) ();
X  
X+ #ifndef __386BSD__
X  extern POINTER sbrk ();
X+ #endif
X  
X  /* Get more memory space, complaining if we're near the end. */
X  
Xdiff +recursive +context lemacs-19.4.orig/src/ymakefile lemacs-19.4/src/ymakefile
X*** lemacs-19.4.orig/src/ymakefile	Wed Jan 20 17:19:13 1993
X--- lemacs-19.4/src/ymakefile	Mon Mar  8 19:26:26 1993
X***************
X*** 49,55 ****
X  
X  /* Some machines don't find the standard C libraries in the usual place.  */
X  #ifndef LIB_STANDARD
X! #define LIB_STANDARD -lc
X  #endif
X  
X  /* Unless inhibited or changed, use -lg to link for debugging.  */
X--- 49,55 ----
X  
X  /* Some machines don't find the standard C libraries in the usual place.  */
X  #ifndef LIB_STANDARD
X! #define LIB_STANDARD -lc '-L/usr/gnu/lib/gcc-lib/i386--bsd/2.3.3/' -lgcc -lc
X  #endif
X  
X  /* Unless inhibited or changed, use -lg to link for debugging.  */
X***************
X*** 125,131 ****
X  
X  /* If user wants to optimize, this is how.  */
X  #ifndef C_OPTIMIZE_SWITCH
X! #define C_OPTIMIZE_SWITCH -O
X  #endif
X  
X  /* cc switches needed to make `asm' keyword work.
X--- 125,131 ----
X  
X  /* If user wants to optimize, this is how.  */
X  #ifndef C_OPTIMIZE_SWITCH
X! #define C_OPTIMIZE_SWITCH -O2
X  #endif
X  
X  /* cc switches needed to make `asm' keyword work.
X***************
X*** 229,235 ****
X  #endif /* !ENERGIZE */
X  
X  
X! CFLAGS= C_DEBUG_SWITCH C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE \
X  	-Demacs $(MYCPPFLAG) $(LIBX11_INCLUDES) ENERGIZE_INCLUDES
X  
X  LDFLAGS= LD_SWITCH_SYSTEM LD_SWITCH_MACHINE LD_SWITCH_SITE \
X--- 229,235 ----
X  #endif /* !ENERGIZE */
X  
X  
X! CFLAGS= C_OPTIMIZE_SWITCH C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE \
X  	-Demacs $(MYCPPFLAG) $(LIBX11_INCLUDES) ENERGIZE_INCLUDES
X  
X  LDFLAGS= LD_SWITCH_SYSTEM LD_SWITCH_MACHINE LD_SWITCH_SITE \
END-of-lemacs.diffs
echo x - src/m/m-486.h
sed 's/^X//' >src/m/m-486.h << 'END-of-src/m/m-486.h'
X/* m- file for intel 386.
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#define SIGN_EXTEND_CHAR(c) (c)
X
X#define NO_UNION_TYPE
X
X/* crt0.c should define a symbol `start' and do .globl with a dot.  */
X#define DOT_GLOBAL_START
X
X#define CRT0_DUMMIES bogus_fp,
X
X/* CPU symbol */
X#define INTEL386
X
X/* Of course we have alloca! */
X#define HAVE_ALLOCA
END-of-src/m/m-486.h
echo x - src/s/s-386bsd.h
sed 's/^X//' >src/s/s-386bsd.h << 'END-of-src/s/s-386bsd.h'
X/* Definitions file for GNU Emacs running on bsd 4.3
X   Copyright (C) 1985, 1986, 1992 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 2, 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#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
X
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 "berkeley-unix"
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/*
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 this macro if system defines a type `union wait'.  */
X
X#define HAVE_UNION_WAIT
X
X/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
X
X#define HAVE_SOCKETS
X
X/*
X *	Define NEED_STRDUP if your C library doesn't have strdup().
X */
X/* #define NEED_STRDUP */
X
X/*	Define HAVE_INVERSE_HYPERBOLIC if you math library contains definitions
X *	of acosh, asinh, and atanh.  Define HAVE_CBRT and HAVE_RINT if your 
X *	math library contains cbrt and rint.  Otherwise, they will be
X *	simulated.
X */
X#define HAVE_INVERSE_HYPERBOLIC
X#define HAVE_CBRT
X#define HAVE_RINT
X
X/*	Define FLOAT_CATCH_SIGILL if your floating point library routines
X *	can generate SIGILL conditions.
X */
X#define FLOAT_CATCH_SIGILL
X
X/*	Define FLOAT_CHECK_ERRNO if the float library routines set errno, as
X *	the ANSI C spec requires.  (This has no effect on machines which use
X *	the SysV `matherr' mechanism.)
X */
X#define FLOAT_CHECK_ERRNO
X
X/*	Define FLOAT_CHECK_DOMAIN if the float library doesn't handle errors by
X *	either setting errno, or signalling SIGFPE/SIGILL (for example, some
X *	systems write a message to stderr.)  Otherwise, domain and range
X *	checking will happen before calling the float routines.  This has no
X *	effect on machines which use the SysV `matherr' mechanism.
X */
X#define FLOAT_CHECK_DOMAIN
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 /vmunix.  */
X
X#define KERNEL_FILE "/vmunix"
X
X/* The symbol in the kernel where the load average is found
X   is named _avenrun.  */
X
X#define LDAV_SYMBOL "_avenrun"
X
X#define FLOAT_CATCH_SIGILL
END-of-src/s/s-386bsd.h
exit

--
Jordan Hubbard          Lotus Development Ireland       jkh@whisker.lotus.ie
386bsd Patchkit Coordinator                             All-around nice dude.
I do not speak for Lotus as that's not in my job description.