summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Makefile.in8
-rw-r--r--configure.ac2
3 files changed, 16 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 39ea1f54452..412b840a55e 100644
--- 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.
diff --git a/Makefile.in b/Makefile.in
index 7104ef82744..1a7acef0c5a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -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}` ; \
diff --git a/configure.ac b/configure.ac
index 56005b51e22..c4ca395d6d1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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