Article View: gnu.emacs.bug
Article #1864Re: Sharing two versions of EMACS
From: Jeff Peck
Date: Tue, 06 Feb 1990 02:16
Date: Tue, 06 Feb 1990 02:16
69 lines
3263 bytes
3263 bytes
> I am a non-emacs-user who is trying to install emacs on our Sun system
>for several users.
> So, my question. How do people out there share the etc, lisp and such
>files between the two copies? Do I really need seperate sets of these
>directories for the two executables?
No, you don't need two sets. In fact, you don't even need to versions
of emacs. The X compiled version of emacs should work just fine on
regular terminals. At most, you would invoke with the "-nw" arg to disable
any attempt to use X windows.
You don't explain what you mean by "straight" terminals: dumb tty, or Sunview?
Locally, i make one emacs with HAVE_X_WINDOWS, HAVE_SUN_WINDOWS, HAVE_NEWS
*all* defined. The window system environment variables tell emacs what
type of window to make or use (except X/NeWS users who want to specify a
NeWS window, they make their window and start emacs with -nw.
We do have many architectures, and manage to share everything but the
executables in the "etc" directory:
We have /usr/local/share/gnuemacs/{etc,src,lisp,info,...} which
has all the usual source and .elc files.
Then for each arch we have:
/usr/local/`arch`/gnuemacs/{src,lisp,info,...}
which are symlinks to "../../share/gnuemacs/{src,lisp,info,...}"
and /usr/local/`arch`/gnuemacs/etc which contains
symlinks to the *source* files and *DOC* files for the etc programs
[ie: "../../share/gnuemacs/etc/etags.c" ]
and contains the actual executables for that architecture.
The "emacs" executable is also in this directory so users just
need to include "/usr/local/gnuemacs/etc" in their path to
have access to all the gnu/etc executables.
#! /bin/csh
# make a /etc/local/`arch`/gnuemacs/etc directory
# convert non-executables to links to shared directory.
# rm -rf *
foreach file (`ls -F /export/local/share/gnuemacs/etc | grep -v "\*" `)
(cd /export/local/sun3/gnuemacs/etc; \rm -f $file; ln -s ../../share/gnuemacs/etc/$file .)
(cd /export/local/sun4/gnuemacs/etc; \rm -f $file; ln -s ../../share/gnuemacs/etc/$file .)
(cd /export/local/sun386/gnuemacs/etc; \rm -f $file; ln -s ../../share/gnuemacs/etc/$file .)
end
I have also hacked the src/config.h file to read `arch` to include
the correct m-<arch> file. so a common config.h is used for all arch's...
/* 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.
*/
#define HAVE_SUN_WINDOWS
#define HAVE_NEWS
#ifdef sun
#if defined sun386
#include "m-sun386.h"
#elif defined sparc
#include "m-sparc.h"
#elif defined mc68000
#include "m-sun3.h"
#endif
#endif
Technical Details
Message-ID:
<9002060216.AA00450@denali.sun.com>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!bu.edu!bu-cs!snorkelwacker!tut.cis.ohio-state.edu!SUN.COM!peckReferences:
<PETERS.90Feb5182650@jester.CC.MsState.Edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!bu.edu!bu-cs!snorkelwacker!tut.cis.ohio-state.edu!SUN.COM!peck From: peck@SUN.COM (Jeff Peck) Newsgroups: gnu.emacs.bug Subject: Re: Sharing two versions of EMACS Message-ID: <9002060216.AA00450@denali.sun.com> Date: 6 Feb 90 02:16:26 GMT References: <PETERS.90Feb5182650@jester.CC.MsState.Edu> Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 69