Article View: gnu.emacs.bug
Article #98482emacs 18.57 small fixes and suggestions
From: Casey Leedom
Date: Mon, 24 Jun 1991 02:13
Date: Mon, 24 Jun 1991 02:13
325 lines
12134 bytes
12134 bytes
%%% src/config.h-dist:
%%%
%%% Added note about define for HAVE_SUN_WINDOWS.
%%%
%%% Added two new defines LD_SWITCH_SITE and C_SWITCH_SITE to enable
%%% people to add special ld(1) and cc(1) flags that are specific to
%%% their site. For instance, we install X11 under /usr/local/include/X11
%%% and /usr/local/lib/X11. This necessitates using -I/usr/local/include
%%% for C compilation and -L/usr/local/lib/X11 for the loading phase.
*** src/config.h-dist-dist Tue Jan 8 10:24:37 1991
--- src/config.h-dist Wed Jun 19 11:33:41 1991
***************
*** 19,24 ****
--- 19,29 ----
+ /* Define HAVE_SUN_WINDOWS to get SunView support (i.e. ../etc/emacstool).
+ Must be before an include of m-sparc.h, hence the placement of the
+ define here. */
+ /* #define HAVE_SUN_WINDOWS */
+
/* 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.
***************
*** 106,108 ****
--- 111,129 ----
/* #define HIGHPRI */
+ /* Define LD_SWITCH_SITE to contain any special flags your loader may
+ need. For instance, if you've defined HAVE_X_WINDOWS above and your
+ X libraries aren't in a place that your loader can find on its own,
+ you might want to add "-L/..." or something similar. Watch out for
+ cpp interpretation of things like -L/usr/local/lib/X11 (the X11 define
+ above would cause this to become -L/usr/local/lib/). */
+
+ #define LD_SWITCH_SITE
+
+ /* Define C_SWITCH_SITE to contain any special flags your compiler may
+ need. For instance, if you've defined HAVE_X_WINDOWS above and your
+ X include files aren't in a place that your compiler can find on its
+ own, you might want to add "-I/..." or something similar. Again,
+ watch out for cpp interpretation here ... */
+
+ #define C_SWITCH_SITE
%%% src/ymakefile:
%%%
%%% Implemented LD_SWITCH_SITE and C_SWITCH_SITE described in change
%%% notes for src/config.h-dist.
*** src/ymakefile-dist Tue Jan 8 10:23:01 1991
--- src/ymakefile Wed Jun 19 11:40:40 1991
***************
*** 85,90 ****
--- 85,100 ----
#define C_SWITCH_SYSTEM
#endif
+ /* These can be passed in from config.h to define special load and
+ compile switches needed by individual sites */
+ #ifndef LD_SWITCH_SITE
+ #define LD_SWITCH_SITE
+ #endif
+
+ #ifndef C_SWITCH_SITE
+ #define C_SWITCH_SITE
+ #endif
+
#ifndef START_FILES
#ifdef NO_REMAP
#define START_FILES pre-crt0.o /lib/crt0.o
***************
*** 121,127 ****
#define LINKER ld
#endif
LD=LINKER
! LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_MACHINE
/* Figure out whether the system cpp can handle long names.
Do it by testing it right now.
--- 131,137 ----
#define LINKER ld
#endif
LD=LINKER
! LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_MACHINE LD_SWITCH_SITE
/* Figure out whether the system cpp can handle long names.
Do it by testing it right now.
***************
*** 144,150 ****
SHORT= shortnames
#endif /* SHORTNAMES */
! CFLAGS= C_DEBUG_SWITCH -Demacs $(MYCPPFLAG) C_SWITCH_MACHINE C_SWITCH_SYSTEM
/* DO NOT use -R. There is a special hack described in lastfile.c
which is used instead. Some initialized data areas are modified
at initial startup, then labeled as part of the text area when
--- 154,160 ----
SHORT= shortnames
#endif /* SHORTNAMES */
! CFLAGS= C_DEBUG_SWITCH -Demacs $(MYCPPFLAG) C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE
/* DO NOT use -R. There is a special hack described in lastfile.c
which is used instead. Some initialized data areas are modified
at initial startup, then labeled as part of the text area when
%%% Makefile:
%%%
%%% Added MANEXT define to control what extension should be used when
%%% installing manual pages. Also changed default installation directory
%%% to /usr/man/manl since that's more common in my estimation, but that's
%%% a judgement call.
%%%
%%% Added code to automatically detect if src/config.h was missing or out
%%% of date with respect to src/config.h-dist.
%%%
%%% Removed ``umask 0'' style code in installation of ${COPYDIR}. This
%%% is a security change. If the emacs system directories are world
%%% writable, it's unsafe for root to ever use emacs. Please take this
%%% fix. I've been making this change to various versions of emacs for
%%% the last three years and submitted the patch every time, but it
%%% never makes it in. Also, I'm sure that something similar needs to be
%%% done for the cpio copy, but I don't have cpio, so I don't know what
%%% change is necessary.
%%%
%%% Added code to remove ${LIBDIR}/etc/*.c asa half hearted clean up
%%% effort. This is really inadeqaute, but a real solution would require
%%% fairly lengthly changes to etc/Makefile to add an "install" node which
%%% would only install files that were absolutely necessary or some such.
%%% It's really annoying to have all these non-runtme files installed in
%%% runtime installation directories. Another annoying thing are the
%%% endless etc/DOC* files that keep accumulating as emacs is recompiled
%%% (this is also true of the src/emacs-* binaries which are left laying
%%% about even after a clean.) There are also a lot of non-editor related
%%% files in etc. that should really be relegated to a separate
%%% distribution of ``GNU Emacs Goodies'' that aren't related to editor
%%% functions. Primary among these is "yow". Similarly there are some
%%% very suspect files in lisp ... Can't we thin out the junk that's been
%%% accumulating in GNU emacs over the years? I realize that this is
%%% mostly a bitch on my part, but, really ... GNU Emacs is large enough
%%% without having to put up with silliness ... Sorry, personal opinion.
%%%
%%% Removed ``chmod 777 ${LIBDIR}'' from "mkdir" node for security
%%% reasons.
*** Makefile-dist Tue Nov 27 13:36:57 1990
--- Makefile Wed Jun 19 11:52:12 1991
***************
*** 13,21 ****
# Where to install things
# Note that on system V you must change MANDIR to /use/local/man/man1.
! LIBDIR= /usr/local/emacs
BINDIR= /usr/local/bin
! MANDIR= /usr/man/man1
# Flags passed down to subdirectory makefiles.
MFLAGS=
--- 13,22 ----
# Where to install things
# Note that on system V you must change MANDIR to /use/local/man/man1.
! LIBDIR= /usr/local/lib/emacs
BINDIR= /usr/local/bin
! MANDIR= /usr/man/manl
! MANEXT= l
# Flags passed down to subdirectory makefiles.
MFLAGS=
***************
*** 31,38 ****
# Subdirectories to clean
CLEANDIR= ${COPYDIR} lisp/term
! all: src/paths.h ${SUBDIR}
src/paths.h: Makefile src/paths.h-dist
/bin/sed 's;/usr/local/emacs;${LIBDIR};g' < src/paths.h-dist > src/paths.h
--- 32,52 ----
# Subdirectories to clean
CLEANDIR= ${COPYDIR} lisp/term
! all: src/config.h src/paths.h ${SUBDIR}
+ src/config.h: src/config.h-dist
+ @if [ -r src/config.h ]; then \
+ echo "*** src/config.h-dist is newer than src/config.h!"; \
+ echo " "; \
+ else \
+ exit 0; \
+ fi
+ @echo "*** You need to copy src/config.h-dist to src/config.h and"
+ @echo "*** then edit src/config.h to match your system."
+ @echo " "
+ @sh -c "exit 1"
+
+
src/paths.h: Makefile src/paths.h-dist
/bin/sed 's;/usr/local/emacs;${LIBDIR};g' < src/paths.h-dist > src/paths.h
***************
*** 45,56 ****
install: all mkdir lockdir
-if [ `/bin/pwd` != `(cd ${LIBDIR}; /bin/pwd)` ] ; then \
! tar cf - ${COPYDIR} | (cd ${LIBDIR}; umask 0; tar xBf - ) ;\
for i in ${CLEANDIR}; do \
(rm -rf ${LIBDIR}/$$i/RCS; \
rm -f ${LIBDIR}/$$i/\#*; \
rm -f ${LIBDIR}/$$i/*~); \
! done \
else true; \
fi
install -c -s etc/emacsclient ${BINDIR}/emacsclient
--- 59,71 ----
install: all mkdir lockdir
-if [ `/bin/pwd` != `(cd ${LIBDIR}; /bin/pwd)` ] ; then \
! tar cf - ${COPYDIR} | (cd ${LIBDIR}; tar xBf - ) ;\
for i in ${CLEANDIR}; do \
(rm -rf ${LIBDIR}/$$i/RCS; \
rm -f ${LIBDIR}/$$i/\#*; \
rm -f ${LIBDIR}/$$i/*~); \
! done; \
! rm -f ${LIBDIR}/etc/*.c; \
else true; \
fi
install -c -s etc/emacsclient ${BINDIR}/emacsclient
***************
*** 57,63 ****
install -c -s etc/etags ${BINDIR}/etags
install -c -s etc/ctags ${BINDIR}/ctags
install -c -s -m 1755 src/xemacs ${BINDIR}/xemacs
! install -c -m 444 etc/emacs.1 ${MANDIR}/emacs.1
-rm -f ${BINDIR}/emacs
mv ${BINDIR}/xemacs ${BINDIR}/emacs
--- 72,78 ----
install -c -s etc/etags ${BINDIR}/etags
install -c -s etc/ctags ${BINDIR}/ctags
install -c -s -m 1755 src/xemacs ${BINDIR}/xemacs
! install -c -m 444 etc/emacs.1 ${MANDIR}/emacs.${MANEXT}
-rm -f ${BINDIR}/emacs
mv ${BINDIR}/xemacs ${BINDIR}/emacs
***************
*** 68,97 ****
(rm -rf ${LIBDIR}/$$i/RCS; \
rm -f ${LIBDIR}/$$i/\#*; \
rm -f ${LIBDIR}/$$i/*~); \
! done \
else true; \
fi
-cpset etc/emacsclient ${BINDIR}/emacsclient 755 bin bin
-cpset etc/etags ${BINDIR}/etags 755 bin bin
-cpset etc/ctags ${BINDIR}/ctags 755 bin bin
! -cpset etc/emacs.1 ${MANDIR}/emacs.1 444 bin bin
-/bin/rm -f ${BINDIR}/emacs
-cpset src/xemacs ${BINDIR}/emacs 1755 bin bin
install.xenix: all mkdir lockdir
if [ `pwd` != `(cd ${LIBDIR}; pwd)` ] ; then \
! tar cf - ${COPYDIR} | (cd ${LIBDIR}; umask 0; tar xpf - ) ;\
for i in ${CLEANDIR}; do \
(rm -rf ${LIBDIR}/$$i/RCS; \
rm -f ${LIBDIR}/$$i/\#*; \
rm -f ${LIBDIR}/$$i/*~); \
! done \
else true; \
fi
cp etc/etags etc/ctags etc/emacsclient ${BINDIR}
chmod 755 ${BINDIR}/etags ${BINDIR}/ctags ${BINDIR}/emacsclient
! cp etc/emacs.1 ${MANDIR}/emacs.1
! chmod 444 ${MANDIR}/emacs.1
-mv -f ${BINDIR}/emacs ${BINDIR}/emacs.old
cp src/xemacs ${BINDIR}/emacs
chmod 1755 ${BINDIR}/emacs
--- 83,114 ----
(rm -rf ${LIBDIR}/$$i/RCS; \
rm -f ${LIBDIR}/$$i/\#*; \
rm -f ${LIBDIR}/$$i/*~); \
! done; \
! /bin/rm -f ${LIBDIR}/etc/*.c; \
else true; \
fi
-cpset etc/emacsclient ${BINDIR}/emacsclient 755 bin bin
-cpset etc/etags ${BINDIR}/etags 755 bin bin
-cpset etc/ctags ${BINDIR}/ctags 755 bin bin
! -cpset etc/emacs.1 ${MANDIR}/emacs.${MANEXT} 444 bin bin
-/bin/rm -f ${BINDIR}/emacs
-cpset src/xemacs ${BINDIR}/emacs 1755 bin bin
install.xenix: all mkdir lockdir
if [ `pwd` != `(cd ${LIBDIR}; pwd)` ] ; then \
! tar cf - ${COPYDIR} | (cd ${LIBDIR}; tar xpf - ) ;\
for i in ${CLEANDIR}; do \
(rm -rf ${LIBDIR}/$$i/RCS; \
rm -f ${LIBDIR}/$$i/\#*; \
rm -f ${LIBDIR}/$$i/*~); \
! done; \
! rm -f ${LIBDIR}/etc/*.c; \
else true; \
fi
cp etc/etags etc/ctags etc/emacsclient ${BINDIR}
chmod 755 ${BINDIR}/etags ${BINDIR}/ctags ${BINDIR}/emacsclient
! cp etc/emacs.1 ${MANDIR}/emacs.${MANEXT}
! chmod 444 ${MANDIR}/emacs.${MANEXT}
-mv -f ${BINDIR}/emacs ${BINDIR}/emacs.old
cp src/xemacs ${BINDIR}/emacs
chmod 1755 ${BINDIR}/emacs
***************
*** 99,105 ****
mkdir: FRC
-mkdir ${LIBDIR}
- -chmod 777 ${LIBDIR}
distclean:
for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} distclean); done
--- 116,121 ----
Technical Details
Message-ID:
<9106240213.AA00368@gauss.llnl.gov>Path:
arc1-ca.pugleaf.net!gmdzi!unido!math.fu-berlin.de!ira.uka.de!sol.ctr.columbia.edu!spool.mu.edu!caen!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!tut.cis.ohio-state.edu!unreplyable!garbageShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fb2f1,bdbcb878c15dd065,start X-Google-Attributes: gidfb2f1,public X-Google-ArrivalTime: 1991-06-23 19:13:43 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!math.fu-berlin.de!ira.uka.de!sol.ctr.columbia.edu!spool.mu.edu!caen!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!tut.cis.ohio-state.edu!unreplyable!garbage From: casey@GAUSS.LLNL.GOV (Casey Leedom) Newsgroups: gnu.emacs.bug Subject: emacs 18.57 small fixes and suggestions Message-ID: <9106240213.AA00368@gauss.llnl.gov> Date: 24 Jun 91 02:13:43 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 325 Approved: bug-gnu-emacs@prep.ai.mit.edu