changeset 2623:b951532eca82

* configure.in: Use the AC_ALLOCA test. * Makefile.in (ALLOCA): New variable, to be set by ./configure. (lib-src/Makefile): Edit the value of ALLOCA into lib-src/Makefile. * Makefile.in (install): Print out the name of the directory we're copying, so people can have some idea of whether we're making progress. * Makefile.in (install.aix, install.xenix, install.sysv, install): Don't forget to re-create the COPYDESTS directories after we clear them out. * Makefile.in: Add autoconf cookies so that the configure script can comment out sections of path variable definitions to choose between the installable configuration and the run-in-place configuration. * configure.in: Add new option `--run-in-place', to select the run-in-place path definitions. * Makefile.in (install, install.sysv, install.xenix, install.aix): Make sure that each source directory exists, and is different from the destination directory; then, delete the destination before copying over the source.
author Jim Blandy <jimb@redhat.com>
date Mon, 03 May 1993 02:06:16 +0000
parents 15cb6ba42da3
children 5de08620df66
files Makefile.in
diffstat 1 files changed, 103 insertions(+), 83 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.in	Sun May 02 12:46:26 1993 +0000
+++ b/Makefile.in	Mon May 03 02:06:16 1993 +0000
@@ -43,6 +43,7 @@
 CC=@CC@
 DEFS=@DEFS@
 C_SWITCH_SYSTEM=@c_switch_system@
+ALLOCA=@ALLOCA@
 
 ### These help us choose version- and architecture-specific directories
 ### to install files in.
@@ -103,60 +104,67 @@
 # expected to be in ${srcdir}/src, and the source code for Emacs's
 # utility programs is expected to be in ${srcdir}/lib-src.  This is
 # set by the configure script's `--srcdir' option.
-srcdir=.
+srcdir=@srcdir@
 
 # ==================== Emacs-specific directories ====================
 
 # These variables hold the values Emacs will actually use.  They are
 # based on the values of the standard Make variables above.
 
-# Where to install the lisp files distributed with Emacs.  This
-# includes the Emacs version, so that the lisp files for different
-# versions of Emacs will install themselves in separate directories.
-lispdir=${datadir}/emacs/${version}/lisp
+@inst_paths@# Where to install the lisp files distributed with
+@inst_paths@# Emacs.  This includes the Emacs version, so that the
+@inst_paths@# lisp files for different versions of Emacs will install
+@inst_paths@# themselves in separate directories.
+@inst_paths@lispdir=${datadir}/emacs/${version}/lisp
 
-# Where to install the lisp files which are distributed with Emacs
-# but not maintained by the FSF.  This includes the Emacs version, so
-# that the lisp files for different versions of Emacs will install
-# themselves in separate directories.
-externallispdir=${datadir}/emacs/${version}/external-lisp
+@inst_paths@# Where to install the lisp files which are distributed
+@inst_paths@# with Emacs but not maintained by the FSF.  This
+@inst_paths@# includes the Emacs version, so that the lisp files for
+@inst_paths@# different versions of Emacs will install themselves in
+@inst_paths@# separate directories.
+@inst_paths@externallispdir=${datadir}/emacs/${version}/external-lisp
 
-# Directories Emacs should search for lisp files specific to this
-# site (i.e. customizations), before consulting ${lispdir}.  This
-# should be a colon-separated list of directories.
-locallisppath=${datadir}/emacs/site-lisp
+@inst_paths@# Directories Emacs should search for lisp files specific
+@inst_paths@# to this site (i.e. customizations), before consulting
+@inst_paths@# ${lispdir}.  This should be a colon-separated list of
+@inst_paths@# directories.
+@inst_paths@locallisppath=${datadir}/emacs/site-lisp
 
-# Where Emacs will search to find its lisp files.  Before changing
-# this, check to see if your purpose wouldn't better be served by
-# changing locallisppath.  This should be a colon-separated list of
-# directories.
+# Where Emacs will search to find its lisp files.  Before
+# changing this, check to see if your purpose wouldn't
+# better be served by changing locallisppath.  This
+# should be a colon-separated list of directories.
 lisppath=${locallisppath}:${lispdir}
 
-# Where Emacs will search for its lisp files while building.  This is
-# only used during the process of compiling Emacs, to help Emacs find
-# its lisp files before they've been installed in their final
-# location.  It's usually identical to lisppath, except that the entry
-# for the directory containing the installed lisp files has been
-# replaced with ../lisp.  This should be a colon-separated list of
-# directories.
+# Where Emacs will search for its lisp files while
+# building.  This is only used during the process of
+# compiling Emacs, to help Emacs find its lisp files
+# before they've been installed in their final location.
+# It's usually identical to lisppath, except that the
+# entry for the directory containing the installed lisp
+# files has been replaced with ../lisp.  This should be a
+# colon-separated list of directories.
 buildlisppath=../lisp
 
-# Where to install the other architecture-independent data files
-# distributed with Emacs (like the tutorial, the cookie recipes and
-# the Zippy database).	This path usually contains the Emacs version
-# number, so the data files for multiple versions of Emacs may be
-# installed at once.
-etcdir=${datadir}/emacs/${version}/etc
+@inst_paths@# Where to install the other architecture-independent
+@inst_paths@# data files distributed with Emacs (like the tutorial,
+@inst_paths@# the cookie recipes and the Zippy database). This path
+@inst_paths@# usually contains the Emacs version number, so the data
+@inst_paths@# files for multiple versions of Emacs may be installed
+@inst_paths@# at once.
+@inst_paths@etcdir=${datadir}/emacs/${version}/etc
 
-# Where to create and expect the locking directory, where the Emacs
-# locking code keeps track of which files are currently being edited.
-lockdir=${statedir}/emacs/lock
+@inst_paths@# Where to create and expect the locking directory, where
+@inst_paths@# the Emacs locking code keeps track of which files are
+@inst_paths@# currently being edited.
+@inst_paths@lockdir=${statedir}/emacs/lock
 
-# Where to put executables to be run by Emacs rather than the user.
-# This path usually includes the Emacs version and configuration name,
-# so that multiple configurations for multiple versions of Emacs may
-# be installed at once.
-archlibdir=${libdir}/emacs/${version}/${configuration}
+@inst_paths@# Where to put executables to be run by Emacs rather than
+@inst_paths@# the user.  This path usually includes the Emacs version
+@inst_paths@# and configuration name, so that multiple configurations
+@inst_paths@# for multiple versions of Emacs may be installed at
+@inst_paths@# once.
+@inst_paths@archlibdir=${libdir}/emacs/${version}/${configuration}
 
 # ====================== Developer's configuration =======================
 
@@ -165,14 +173,14 @@
 # directories in the source tree to show up immediately in your working
 # environment.  It saves a great deal of disk space by not duplicating the
 # lisp and etc directories.
-#
-# lispdir=${srcdir}/lisp
-# externallispdir=${srcdir}/externallisp
-# locallisppath=${srcdir}/site-lisp
-# etcdir=${srcdir}/etc
-# lockdir=${srcdir}/lock
-# archlibdir=${srcdir}/bin
-# infodir=${srcdir}/info
+
+@rip_paths@lispdir=${srcdir}/lisp
+@rip_paths@externallispdir=${srcdir}/externallisp
+@rip_paths@locallisppath=${datadir}/emacs/site-lisp
+@rip_paths@etcdir=${srcdir}/etc
+@rip_paths@lockdir=${srcdir}/lock
+@rip_paths@archlibdir=${srcdir}/lib-src
+@rip_paths@infodir=${srcdir}/info
 
 # ==================== Utility Programs for the Build ====================
 
@@ -256,6 +264,7 @@
 	  -e 's|^\(libdir *=\).*$$|\1'"${libdir}"'|'			\
 	  -e 's|^\(srcdir *=\).*$$|\1'"${srcdir}"'|'			\
 	  -e 's|^\(archlibdir *=\).*$$|\1'"${archlibdir}"'|'		\
+	  -e 's|^\(ALLOCA *=\).*$$|\1'"${ALLOCA}"'|'			\
 	  -e 's|^CC *=.*$$|CC='"${CC}"'|'				\
 	  -e 's|^DEFS *=.*$$|DEFS='"${DEFS}"'|' \
 	  -e 's|^C_SWITCH_SYSTEM *=.*$$|C_SWITCH_SYSTEM='"${C_SWITCH_SYSTEM}"'|' \
@@ -294,20 +303,28 @@
 ## If we let lib-src do its own installation, that means we
 ## don't have to duplicate the list of utilities to install in
 ## this Makefile as well.
+
+## We delete each directory in ${COPYDESTS} before we copy into it;
+## that way, we can reinstall over directories that have been put in
+## place with their files read-only (perhaps because they are checked
+## into RCS).  In order to make this safe, we make sure that the
+## source exists and is distinct from the destination.
 install: all mkdir
 	(cd lib-src; $(MAKE) install ${MFLAGS} bindir=${bindir} libdir=${libdir})
 	-set ${COPYDESTS} ; \
 	 for dir in ${COPYDIR} ; do \
 	   dest=$$1 ; shift ; \
-	   if [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ]; then \
-	     (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xf - ) ; \
-	     for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
-	       rm -rf $${subdir}/RCS ; \
-	       rm -rf $${subdir}/CVS ; \
-	       rm -f  $${subdir}/\#* ; \
-	       rm -f  $${subdir}/*~ ; \
-	     done ; \
-	   fi ; \
+	   [ -d $${dir} ] \
+           && [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ] \
+           && (echo "Copying $${dir}..." ; \
+	       rm -rf $${dest} ; mkdir $${dest} ; \
+	       (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xf - ); \
+	       for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
+		 rm -rf $${subdir}/RCS ; \
+		 rm -rf $${subdir}/CVS ; \
+		 rm -f  $${subdir}/\#* ; \
+		 rm -f  $${subdir}/*~ ; \
+	       done) ; \
 	 done
 	-(cd info ; \
 	  if [ ! -f ${infodir}/dir ]; then \
@@ -335,15 +352,16 @@
 	-set ${COPYDESTS} ; \
 	 for dir in ${COPYDIR} ; do \
 	   dest=$$1 ; shift ; \
-	   if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \
-	     (cd $${dir}; find . -print | cpio -pdum $${dest} ) ; \
-	     for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
-	       rm -rf $${subdir}/RCS ; \
-	       rm -rf $${subdir}/CVS ; \
-	       rm -f  $${subdir}/\#* ; \
-	       rm -f  $${subdir}/*~ ; \
-	     done ; \
-	   fi ; \
+	   [ -d $${dir} ] \
+           && [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ] \
+           && (rm -rf $${dest} ; mkdir $${dest} ; \
+	       (cd $${dir}; find . -print | cpio -pdum $${dest} ) ; \
+	       for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
+		 rm -rf $${subdir}/RCS ; \
+		 rm -rf $${subdir}/CVS ; \
+		 rm -f  $${subdir}/\#* ; \
+		 rm -f  $${subdir}/*~ ; \
+	       done) ; \
 	 done
 	-(cd info ; \
 	  if [ ! -f ${infodir}/dir ]; then \
@@ -369,15 +387,16 @@
 	-set ${COPYDESTS} ; \
 	 for dir in ${COPYDIR} ; do \
 	   dest=$$1 ; shift ; \
-	   if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \
-	     (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xpf - ) ; \
-	     for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
-	       rm -rf $${subdir}/RCS ; \
-	       rm -rf $${subdir}/CVS ; \
-	       rm -f  $${subdir}/\#* ; \
-	       rm -f  $${subdir}/*~ ; \
-	     done ; \
-	   fi ; \
+	   [ -d $${dir} ] \
+           && [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ] \
+           && (rm -rf $${dest} ; mkdir $${dest} ; \
+	       (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xpf - );\
+	       for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
+		 rm -rf $${subdir}/RCS ; \
+		 rm -rf $${subdir}/CVS ; \
+		 rm -f  $${subdir}/\#* ; \
+		 rm -f  $${subdir}/*~ ; \
+	       done) ; \
 	 done
 	-(cd info ; \
 	  if [ ! -f ${infodir}/dir ]; then \
@@ -408,15 +427,16 @@
 	-set ${COPYDESTS} ; \
 	 for dir in ${COPYDIR} ; do \
 	   dest=$$1 ; shift ; \
-	   if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \
-	     (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xBf - ) ; \
-	     for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
-	       rm -rf $${subdir}/RCS ; \
-	       rm -rf $${subdir}/CVS ; \
-	       rm -f  $${subdir}/\#* ; \
-	       rm -f  $${subdir}/*~ ; \
-	     done ; \
-	   fi ; \
+	   [ -d $${dir} ] \
+           && [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ] \
+           && (rm -rf $${dest} ; mkdir $${dest} ; \
+	       (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xBf - );\
+	       for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
+		 rm -rf $${subdir}/RCS ; \
+		 rm -rf $${subdir}/CVS ; \
+		 rm -f  $${subdir}/\#* ; \
+		 rm -f  $${subdir}/*~ ; \
+	       done) ; \
 	 done
 	-(cd info ; \
 	  if [ ! -f ${infodir}/dir ]; then \