]> code.delx.au - gnu-emacs/commitdiff
Diagnose failures due to colons in directory names.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 20 Jun 2014 16:05:10 +0000 (09:05 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 20 Jun 2014 16:05:10 +0000 (09:05 -0700)
* Makefile.in (epaths-force): Don't allow ':' in directories whose
names go into a colon-separated path.
* configure.ac: Fail if submake fails.

Fixes: debbugs:17278
ChangeLog
Makefile.in
configure.ac

index 39ea1f54452b40f22842f3ecb69bb5db4f3209ff..412b840a55e3a4ab4f48d639af64ff5893ae6109 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-06-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Diagnose failures due to colons in directory names (Bug#17278).
+       * Makefile.in (epaths-force): Don't allow ':' in directories whose
+       names go into a colon-separated path.
+       * configure.ac: Fail if submake fails.
+
 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
 
        Omit redundant extern decls.
index 7104ef82744b06bb86a3d6c30dd00081a61288df..1a7acef0c5aff9f325aad444bffd0aab5ac59200 100644 (file)
@@ -297,6 +297,14 @@ removenullpaths=sed -e 's/^:*//' -e 's/:*$$//g' -e 's/::*/:/g'
 # to just letting configure generate epaths.h from epaths.in in a
 # similar way to how Makefile is made from Makefile.in.
 epaths-force:
+       @for dir in '$(abs_srcdir)' '$(lispdir)' '$(archlibdir)'; do \
+         case $$dir in \
+           *:*) \
+             echo >&2 "Build or installation directory '$$dir'"; \
+             echo >&2 "cannot contain ':'."; \
+             exit 1;; \
+         esac; \
+       done
        @(standardlisppath=`echo "${standardlisppath}" | ${removenullpaths}` ; \
          locallisppath=`echo "${locallisppath}" | ${removenullpaths}` ; \
          buildlisppath=`echo "${buildlisppath}" | ${removenullpaths}` ; \
index 56005b51e22b123c8245dad84136bc93537de86c..c4ca395d6d17140ed4b9155a3636d38343a8ed82 100644 (file)
@@ -5121,7 +5121,7 @@ if test "${opsys}" = "mingw32"; then
   ${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force-w32
 else
   ${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force
-fi
+fi || AC_MSG_ERROR(['src/epaths.h' could not be made.])
 ], [GCC="$GCC" CPPFLAGS="$CPPFLAGS" opsys="$opsys"])
 
 dnl NB we have to cheat and use the ac_... version because abs_top_srcdir