aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2013-10-22 23:22:54 -0700
committerGlenn Morris2013-10-22 23:22:54 -0700
commitb8e3b0a9ecb6c8ca1c2a4db189e92bcf08b5052d (patch)
tree0efdb7b6fafc13b3c0a4dca69bbd3a2a3ac9e2c4 /src
parente4ea223d7332952cc0e1275fa4c982645e11b17f (diff)
downloademacs-b8e3b0a9ecb6c8ca1c2a4db189e92bcf08b5052d.tar.gz
emacs-b8e3b0a9ecb6c8ca1c2a4db189e92bcf08b5052d.zip
Make building in directories with whitespace possible
Make has trouble with targets containing whitespace, http://savannah.gnu.org/bugs/?712, so the general approach is to use relative paths where possible. It's generally only Emacs itself that needs absolute paths, eg in src/epaths.h. * configure.ac (srcdir): Don't make it absolute - abs_srcdir exists. * Makefile.in (abs_srcdir): New, set by configure. (buildlisppath): Use abs_srcdir. (install-arch-indep, install-etcdoc, install-info, install-man) (install-etc): Quote entities that might contain whitespace. * admin/unidata/Makefile.in (emacs, ${DSTDIR}/charprop.el): Quote entities that might contain whitespace. * leim/Makefile.in (abs_srcdir): New, set by configure. (buildlisppath): Use abs_srcdir. (RUN_EMACS, .el.elc, changed.tit, changed.misc, leim-list.el) ($(srcdir)/ja-dic/ja-dic.el, setwins, distclean, check-declare): Quote entities that might contain whitespace. * lib-src/Makefile.in ($(DESTDIR)${archlibdir}): Quote entities that might contain whitespace. * lisp/Makefile.in (abs_srcdir, abs_lisp): New, set by configure. (emacs, compile, compile-always): Quote entities that might contain whitespace. (custom-deps, finder-data, autoloads): Use abs_lisp. ($(MH_E_DIR)/mh-loaddefs.el, $(TRAMP_DIR)/tramp-loaddefs.el) ($(CAL_DIR)/cal-loaddefs.el, $(CAL_DIR)/diary-loaddefs.el) ($(CAL_DIR)/hol-loaddefs.el): Manually expand target file name. * nextstep/Makefile.in (${ns_check_file} ${ns_appdir}): Quote entities that might contain whitespace. * nt/Makefile.in ($(DESTDIR)${archlibdir}): Quote entities that might contain whitespace. * src/Makefile.in (RUN_TEMACS): Make relative (again). ($(leimdir)/leim-list.el, .el.elc, $(lispsource)/loaddefs.el) (bootstrap-emacs$(EXEEXT)): Quote entities that might contain whitespace. * test/automated/Makefile.in (abs_top_srcdir, top_builddir): New, set by configure. (top_srcdir): Remove. (abs_test, abs_lispsrc): New. (lisp): No longer absolute. (emacs, lisp-compile, compile, compile-always): Quote entities that might contain whitespace. Fixes: debbugs:15675
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/Makefile.in10
2 files changed, 12 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b534e0a1ab0..52669b57825 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
12013-10-23 Glenn Morris <rgm@gnu.org>
2
3 * Makefile.in (RUN_TEMACS): Make relative (again).
4 ($(leimdir)/leim-list.el, .el.elc, $(lispsource)/loaddefs.el)
5 (bootstrap-emacs$(EXEEXT)):
6 Quote entities that might contain whitespace.
7
12013-10-23 Paul Eggert <eggert@cs.ucla.edu> 82013-10-23 Paul Eggert <eggert@cs.ucla.edu>
2 9
3 Port to Solaris 10 and its bundled GCC. 10 Port to Solaris 10 and its bundled GCC.
diff --git a/src/Makefile.in b/src/Makefile.in
index 254aa175d49..ce65b190334 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -313,7 +313,7 @@ INTERVALS_H = dispextern.h intervals.h composite.h
313 313
314GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ 314GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
315 315
316RUN_TEMACS = `/bin/pwd`/temacs 316RUN_TEMACS = ./temacs
317 317
318## Invoke ../nt/addsection for MinGW, ":" elsewhere. 318## Invoke ../nt/addsection for MinGW, ":" elsewhere.
319TEMACS_POST_LINK = @TEMACS_POST_LINK@ 319TEMACS_POST_LINK = @TEMACS_POST_LINK@
@@ -437,7 +437,7 @@ all: emacs$(EXEEXT) $(OTHER_FILES)
437.PHONY: all 437.PHONY: all
438 438
439$(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT) 439$(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT)
440 cd $(leimdir) && $(MAKE) $(MFLAGS) leim-list.el EMACS=$(bootstrap_exe) 440 cd $(leimdir) && $(MAKE) $(MFLAGS) leim-list.el EMACS="$(bootstrap_exe)"
441 441
442## The dumped Emacs is as functional and more efficient than 442## The dumped Emacs is as functional and more efficient than
443## bootstrap-emacs, so we replace the latter with the former. 443## bootstrap-emacs, so we replace the latter with the former.
@@ -646,7 +646,7 @@ tags: TAGS TAGS-LISP $(lwlibdir)/TAGS
646## With GNU Make, we would just say "%.el : %.elc $(BOOTSTRAPEMACS)" 646## With GNU Make, we would just say "%.el : %.elc $(BOOTSTRAPEMACS)"
647.el.elc: 647.el.elc:
648 @cd ../lisp; $(MAKE) $(MFLAGS) compile-onefile \ 648 @cd ../lisp; $(MAKE) $(MFLAGS) compile-onefile \
649 THEFILE=$< EMACS=$(bootstrap_exe) 649 THEFILE=$< EMACS="$(bootstrap_exe)"
650 650
651## Since the .el.elc rule cannot specify an extra dependency, we do it here. 651## Since the .el.elc rule cannot specify an extra dependency, we do it here.
652$(lisp): $(BOOTSTRAPEMACS) 652$(lisp): $(BOOTSTRAPEMACS)
@@ -657,7 +657,7 @@ $(lisp): $(BOOTSTRAPEMACS)
657VCSWITNESS = 657VCSWITNESS =
658 658
659$(lispsource)/loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS) 659$(lispsource)/loaddefs.el: $(BOOTSTRAPEMACS) $(VCSWITNESS)
660 cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS=$(bootstrap_exe) 660 cd ../lisp; $(MAKE) $(MFLAGS) autoloads EMACS="$(bootstrap_exe)"
661 661
662## Dump an Emacs executable named bootstrap-emacs containing the 662## Dump an Emacs executable named bootstrap-emacs containing the
663## files from loadup.el in source form. 663## files from loadup.el in source form.
@@ -672,7 +672,7 @@ bootstrap-emacs$(EXEEXT): temacs$(EXEEXT)
672 mv -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \ 672 mv -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
673 fi 673 fi
674 @: Compile some files earlier to speed up further compilation. 674 @: Compile some files earlier to speed up further compilation.
675 cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS=$(bootstrap_exe) 675 cd ../lisp; $(MAKE) $(MFLAGS) compile-first EMACS="$(bootstrap_exe)"
676 676
677## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk. 677## Insert either autodeps.mk (if AUTO_DEPEND), else deps.mk.
678@deps_frag@ 678@deps_frag@