aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Blandy1993-05-03 02:06:16 +0000
committerJim Blandy1993-05-03 02:06:16 +0000
commitd3245f70eece5fde26ae4ab06f1b3d97fe28c8b7 (patch)
treeb8f08db5710964c197be7fa057ebc17ab12ea200
parent1770543d431e48624a4460e4bdaf979a346e2cab (diff)
downloademacs-d3245f70eece5fde26ae4ab06f1b3d97fe28c8b7.tar.gz
emacs-d3245f70eece5fde26ae4ab06f1b3d97fe28c8b7.zip
* 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.
-rw-r--r--Makefile.in194
1 files changed, 107 insertions, 87 deletions
diff --git a/Makefile.in b/Makefile.in
index 232c356480a..2ab87a8bfca 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -43,6 +43,7 @@ MAKE = make # BSD doesn't have it as a default.
43CC=@CC@ 43CC=@CC@
44DEFS=@DEFS@ 44DEFS=@DEFS@
45C_SWITCH_SYSTEM=@c_switch_system@ 45C_SWITCH_SYSTEM=@c_switch_system@
46ALLOCA=@ALLOCA@
46 47
47### These help us choose version- and architecture-specific directories 48### These help us choose version- and architecture-specific directories
48### to install files in. 49### to install files in.
@@ -103,60 +104,67 @@ infodir=${prefix}/info
103# expected to be in ${srcdir}/src, and the source code for Emacs's 104# expected to be in ${srcdir}/src, and the source code for Emacs's
104# utility programs is expected to be in ${srcdir}/lib-src. This is 105# utility programs is expected to be in ${srcdir}/lib-src. This is
105# set by the configure script's `--srcdir' option. 106# set by the configure script's `--srcdir' option.
106srcdir=. 107srcdir=@srcdir@
107 108
108# ==================== Emacs-specific directories ==================== 109# ==================== Emacs-specific directories ====================
109 110
110# These variables hold the values Emacs will actually use. They are 111# These variables hold the values Emacs will actually use. They are
111# based on the values of the standard Make variables above. 112# based on the values of the standard Make variables above.
112 113
113# Where to install the lisp files distributed with Emacs. This 114@inst_paths@# Where to install the lisp files distributed with
114# includes the Emacs version, so that the lisp files for different 115@inst_paths@# Emacs. This includes the Emacs version, so that the
115# versions of Emacs will install themselves in separate directories. 116@inst_paths@# lisp files for different versions of Emacs will install
116lispdir=${datadir}/emacs/${version}/lisp 117@inst_paths@# themselves in separate directories.
117 118@inst_paths@lispdir=${datadir}/emacs/${version}/lisp
118# Where to install the lisp files which are distributed with Emacs 119
119# but not maintained by the FSF. This includes the Emacs version, so 120@inst_paths@# Where to install the lisp files which are distributed
120# that the lisp files for different versions of Emacs will install 121@inst_paths@# with Emacs but not maintained by the FSF. This
121# themselves in separate directories. 122@inst_paths@# includes the Emacs version, so that the lisp files for
122externallispdir=${datadir}/emacs/${version}/external-lisp 123@inst_paths@# different versions of Emacs will install themselves in
123 124@inst_paths@# separate directories.
124# Directories Emacs should search for lisp files specific to this 125@inst_paths@externallispdir=${datadir}/emacs/${version}/external-lisp
125# site (i.e. customizations), before consulting ${lispdir}. This 126
127@inst_paths@# Directories Emacs should search for lisp files specific
128@inst_paths@# to this site (i.e. customizations), before consulting
129@inst_paths@# ${lispdir}. This should be a colon-separated list of
130@inst_paths@# directories.
131@inst_paths@locallisppath=${datadir}/emacs/site-lisp
132
133# Where Emacs will search to find its lisp files. Before
134# changing this, check to see if your purpose wouldn't
135# better be served by changing locallisppath. This
126# should be a colon-separated list of directories. 136# should be a colon-separated list of directories.
127locallisppath=${datadir}/emacs/site-lisp
128
129# Where Emacs will search to find its lisp files. Before changing
130# this, check to see if your purpose wouldn't better be served by
131# changing locallisppath. This should be a colon-separated list of
132# directories.
133lisppath=${locallisppath}:${lispdir} 137lisppath=${locallisppath}:${lispdir}
134 138
135# Where Emacs will search for its lisp files while building. This is 139# Where Emacs will search for its lisp files while
136# only used during the process of compiling Emacs, to help Emacs find 140# building. This is only used during the process of
137# its lisp files before they've been installed in their final 141# compiling Emacs, to help Emacs find its lisp files
138# location. It's usually identical to lisppath, except that the entry 142# before they've been installed in their final location.
139# for the directory containing the installed lisp files has been 143# It's usually identical to lisppath, except that the
140# replaced with ../lisp. This should be a colon-separated list of 144# entry for the directory containing the installed lisp
141# directories. 145# files has been replaced with ../lisp. This should be a
146# colon-separated list of directories.
142buildlisppath=../lisp 147buildlisppath=../lisp
143 148
144# Where to install the other architecture-independent data files 149@inst_paths@# Where to install the other architecture-independent
145# distributed with Emacs (like the tutorial, the cookie recipes and 150@inst_paths@# data files distributed with Emacs (like the tutorial,
146# the Zippy database). This path usually contains the Emacs version 151@inst_paths@# the cookie recipes and the Zippy database). This path
147# number, so the data files for multiple versions of Emacs may be 152@inst_paths@# usually contains the Emacs version number, so the data
148# installed at once. 153@inst_paths@# files for multiple versions of Emacs may be installed
149etcdir=${datadir}/emacs/${version}/etc 154@inst_paths@# at once.
150 155@inst_paths@etcdir=${datadir}/emacs/${version}/etc
151# Where to create and expect the locking directory, where the Emacs 156
152# locking code keeps track of which files are currently being edited. 157@inst_paths@# Where to create and expect the locking directory, where
153lockdir=${statedir}/emacs/lock 158@inst_paths@# the Emacs locking code keeps track of which files are
154 159@inst_paths@# currently being edited.
155# Where to put executables to be run by Emacs rather than the user. 160@inst_paths@lockdir=${statedir}/emacs/lock
156# This path usually includes the Emacs version and configuration name, 161
157# so that multiple configurations for multiple versions of Emacs may 162@inst_paths@# Where to put executables to be run by Emacs rather than
158# be installed at once. 163@inst_paths@# the user. This path usually includes the Emacs version
159archlibdir=${libdir}/emacs/${version}/${configuration} 164@inst_paths@# and configuration name, so that multiple configurations
165@inst_paths@# for multiple versions of Emacs may be installed at
166@inst_paths@# once.
167@inst_paths@archlibdir=${libdir}/emacs/${version}/${configuration}
160 168
161# ====================== Developer's configuration ======================= 169# ====================== Developer's configuration =======================
162 170
@@ -165,14 +173,14 @@ archlibdir=${libdir}/emacs/${version}/${configuration}
165# directories in the source tree to show up immediately in your working 173# directories in the source tree to show up immediately in your working
166# environment. It saves a great deal of disk space by not duplicating the 174# environment. It saves a great deal of disk space by not duplicating the
167# lisp and etc directories. 175# lisp and etc directories.
168# 176
169# lispdir=${srcdir}/lisp 177@rip_paths@lispdir=${srcdir}/lisp
170# externallispdir=${srcdir}/externallisp 178@rip_paths@externallispdir=${srcdir}/externallisp
171# locallisppath=${srcdir}/site-lisp 179@rip_paths@locallisppath=${datadir}/emacs/site-lisp
172# etcdir=${srcdir}/etc 180@rip_paths@etcdir=${srcdir}/etc
173# lockdir=${srcdir}/lock 181@rip_paths@lockdir=${srcdir}/lock
174# archlibdir=${srcdir}/bin 182@rip_paths@archlibdir=${srcdir}/lib-src
175# infodir=${srcdir}/info 183@rip_paths@infodir=${srcdir}/info
176 184
177# ==================== Utility Programs for the Build ==================== 185# ==================== Utility Programs for the Build ====================
178 186
@@ -256,6 +264,7 @@ lib-src/Makefile: ${srcdir}/lib-src/Makefile.in Makefile
256 -e 's|^\(libdir *=\).*$$|\1'"${libdir}"'|' \ 264 -e 's|^\(libdir *=\).*$$|\1'"${libdir}"'|' \
257 -e 's|^\(srcdir *=\).*$$|\1'"${srcdir}"'|' \ 265 -e 's|^\(srcdir *=\).*$$|\1'"${srcdir}"'|' \
258 -e 's|^\(archlibdir *=\).*$$|\1'"${archlibdir}"'|' \ 266 -e 's|^\(archlibdir *=\).*$$|\1'"${archlibdir}"'|' \
267 -e 's|^\(ALLOCA *=\).*$$|\1'"${ALLOCA}"'|' \
259 -e 's|^CC *=.*$$|CC='"${CC}"'|' \ 268 -e 's|^CC *=.*$$|CC='"${CC}"'|' \
260 -e 's|^DEFS *=.*$$|DEFS='"${DEFS}"'|' \ 269 -e 's|^DEFS *=.*$$|DEFS='"${DEFS}"'|' \
261 -e 's|^C_SWITCH_SYSTEM *=.*$$|C_SWITCH_SYSTEM='"${C_SWITCH_SYSTEM}"'|' \ 270 -e 's|^C_SWITCH_SYSTEM *=.*$$|C_SWITCH_SYSTEM='"${C_SWITCH_SYSTEM}"'|' \
@@ -294,20 +303,28 @@ Makefile:
294## If we let lib-src do its own installation, that means we 303## If we let lib-src do its own installation, that means we
295## don't have to duplicate the list of utilities to install in 304## don't have to duplicate the list of utilities to install in
296## this Makefile as well. 305## this Makefile as well.
306
307## We delete each directory in ${COPYDESTS} before we copy into it;
308## that way, we can reinstall over directories that have been put in
309## place with their files read-only (perhaps because they are checked
310## into RCS). In order to make this safe, we make sure that the
311## source exists and is distinct from the destination.
297install: all mkdir 312install: all mkdir
298 (cd lib-src; $(MAKE) install ${MFLAGS} bindir=${bindir} libdir=${libdir}) 313 (cd lib-src; $(MAKE) install ${MFLAGS} bindir=${bindir} libdir=${libdir})
299 -set ${COPYDESTS} ; \ 314 -set ${COPYDESTS} ; \
300 for dir in ${COPYDIR} ; do \ 315 for dir in ${COPYDIR} ; do \
301 dest=$$1 ; shift ; \ 316 dest=$$1 ; shift ; \
302 if [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ]; then \ 317 [ -d $${dir} ] \
303 (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xf - ) ; \ 318 && [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ] \
304 for subdir in `find $${dest} -type d ! -name RCS -print` ; do \ 319 && (echo "Copying $${dir}..." ; \
305 rm -rf $${subdir}/RCS ; \ 320 rm -rf $${dest} ; mkdir $${dest} ; \
306 rm -rf $${subdir}/CVS ; \ 321 (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xf - ); \
307 rm -f $${subdir}/\#* ; \ 322 for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
308 rm -f $${subdir}/*~ ; \ 323 rm -rf $${subdir}/RCS ; \
309 done ; \ 324 rm -rf $${subdir}/CVS ; \
310 fi ; \ 325 rm -f $${subdir}/\#* ; \
326 rm -f $${subdir}/*~ ; \
327 done) ; \
311 done 328 done
312 -(cd info ; \ 329 -(cd info ; \
313 if [ ! -f ${infodir}/dir ]; then \ 330 if [ ! -f ${infodir}/dir ]; then \
@@ -335,15 +352,16 @@ install.sysv: all mkdir
335 -set ${COPYDESTS} ; \ 352 -set ${COPYDESTS} ; \
336 for dir in ${COPYDIR} ; do \ 353 for dir in ${COPYDIR} ; do \
337 dest=$$1 ; shift ; \ 354 dest=$$1 ; shift ; \
338 if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \ 355 [ -d $${dir} ] \
339 (cd $${dir}; find . -print | cpio -pdum $${dest} ) ; \ 356 && [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ] \
340 for subdir in `find $${dest} -type d ! -name RCS -print` ; do \ 357 && (rm -rf $${dest} ; mkdir $${dest} ; \
341 rm -rf $${subdir}/RCS ; \ 358 (cd $${dir}; find . -print | cpio -pdum $${dest} ) ; \
342 rm -rf $${subdir}/CVS ; \ 359 for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
343 rm -f $${subdir}/\#* ; \ 360 rm -rf $${subdir}/RCS ; \
344 rm -f $${subdir}/*~ ; \ 361 rm -rf $${subdir}/CVS ; \
345 done ; \ 362 rm -f $${subdir}/\#* ; \
346 fi ; \ 363 rm -f $${subdir}/*~ ; \
364 done) ; \
347 done 365 done
348 -(cd info ; \ 366 -(cd info ; \
349 if [ ! -f ${infodir}/dir ]; then \ 367 if [ ! -f ${infodir}/dir ]; then \
@@ -369,15 +387,16 @@ install.xenix: all mkdir
369 -set ${COPYDESTS} ; \ 387 -set ${COPYDESTS} ; \
370 for dir in ${COPYDIR} ; do \ 388 for dir in ${COPYDIR} ; do \
371 dest=$$1 ; shift ; \ 389 dest=$$1 ; shift ; \
372 if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \ 390 [ -d $${dir} ] \
373 (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xpf - ) ; \ 391 && [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ] \
374 for subdir in `find $${dest} -type d ! -name RCS -print` ; do \ 392 && (rm -rf $${dest} ; mkdir $${dest} ; \
375 rm -rf $${subdir}/RCS ; \ 393 (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xpf - );\
376 rm -rf $${subdir}/CVS ; \ 394 for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
377 rm -f $${subdir}/\#* ; \ 395 rm -rf $${subdir}/RCS ; \
378 rm -f $${subdir}/*~ ; \ 396 rm -rf $${subdir}/CVS ; \
379 done ; \ 397 rm -f $${subdir}/\#* ; \
380 fi ; \ 398 rm -f $${subdir}/*~ ; \
399 done) ; \
381 done 400 done
382 -(cd info ; \ 401 -(cd info ; \
383 if [ ! -f ${infodir}/dir ]; then \ 402 if [ ! -f ${infodir}/dir ]; then \
@@ -408,15 +427,16 @@ install.aix: all mkdir
408 -set ${COPYDESTS} ; \ 427 -set ${COPYDESTS} ; \
409 for dir in ${COPYDIR} ; do \ 428 for dir in ${COPYDIR} ; do \
410 dest=$$1 ; shift ; \ 429 dest=$$1 ; shift ; \
411 if [ `/bin/pwd`/$${dir} != `(cd $${dest}; /bin/pwd)` ] ; then \ 430 [ -d $${dir} ] \
412 (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xBf - ) ; \ 431 && [ `(cd $${dir}; /bin/pwd)` != `(cd $${dest}; /bin/pwd)` ] \
413 for subdir in `find $${dest} -type d ! -name RCS -print` ; do \ 432 && (rm -rf $${dest} ; mkdir $${dest} ; \
414 rm -rf $${subdir}/RCS ; \ 433 (cd $${dir}; tar cf - . ) | (cd $${dest}; umask 0; tar xBf - );\
415 rm -rf $${subdir}/CVS ; \ 434 for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
416 rm -f $${subdir}/\#* ; \ 435 rm -rf $${subdir}/RCS ; \
417 rm -f $${subdir}/*~ ; \ 436 rm -rf $${subdir}/CVS ; \
418 done ; \ 437 rm -f $${subdir}/\#* ; \
419 fi ; \ 438 rm -f $${subdir}/*~ ; \
439 done) ; \
420 done 440 done
421 -(cd info ; \ 441 -(cd info ; \
422 if [ ! -f ${infodir}/dir ]; then \ 442 if [ ! -f ${infodir}/dir ]; then \