diff options
| author | Glenn Morris | 2013-10-22 23:22:54 -0700 |
|---|---|---|
| committer | Glenn Morris | 2013-10-22 23:22:54 -0700 |
| commit | b8e3b0a9ecb6c8ca1c2a4db189e92bcf08b5052d (patch) | |
| tree | 0efdb7b6fafc13b3c0a4dca69bbd3a2a3ac9e2c4 /src | |
| parent | e4ea223d7332952cc0e1275fa4c982645e11b17f (diff) | |
| download | emacs-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/ChangeLog | 7 | ||||
| -rw-r--r-- | src/Makefile.in | 10 |
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 @@ | |||
| 1 | 2013-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 | |||
| 1 | 2013-10-23 Paul Eggert <eggert@cs.ucla.edu> | 8 | 2013-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 | ||
| 314 | GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ | 314 | GETLOADAVG_LIBS = @GETLOADAVG_LIBS@ |
| 315 | 315 | ||
| 316 | RUN_TEMACS = `/bin/pwd`/temacs | 316 | RUN_TEMACS = ./temacs |
| 317 | 317 | ||
| 318 | ## Invoke ../nt/addsection for MinGW, ":" elsewhere. | 318 | ## Invoke ../nt/addsection for MinGW, ":" elsewhere. |
| 319 | TEMACS_POST_LINK = @TEMACS_POST_LINK@ | 319 | TEMACS_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) | |||
| 657 | VCSWITNESS = | 657 | VCSWITNESS = |
| 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@ |