summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2013-10-24 19:04:33 -0400
committerGlenn Morris <rgm@gnu.org>2013-10-24 19:04:33 -0400
commit357a508109504494cdc4a3fa0c53aca351890026 (patch)
treeefa328dbca98958a721f529c036c5102f875fed8
parent71e3276bc574257845c81c095d41ed58399089fe (diff)
downloademacs-357a508109504494cdc4a3fa0c53aca351890026.tar.gz
Avoid non-portable "` ... \"...\" ... `" nesting
* configure.ac: * Makefile.in (install-arch-indep, install-etcdoc, install-info): * lib-src/Makefile.in ($(DESTDIR)${archlibdir}): * nt/Makefile.in ($(DESTDIR)${archlibdir}): Avoid non-portable "`\" nesting.
-rw-r--r--ChangeLog4
-rw-r--r--Makefile.in17
-rw-r--r--configure.ac9
-rw-r--r--lib-src/ChangeLog3
-rw-r--r--lib-src/Makefile.in3
-rw-r--r--nt/ChangeLog3
-rw-r--r--nt/Makefile.in3
7 files changed, 33 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index af9025c1080..4382f9dcabd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2013-10-24 Glenn Morris <rgm@gnu.org>
+ * configure.ac:
+ * Makefile.in (install-arch-indep, install-etcdoc, install-info):
+ Avoid non-portable "`\" nesting.
+
* configure.ac (CPPFLAGS) [mingw32]: Use abs_top_srcdir.
* Makefile.in (abs_top_srcdir): New, set by configure.
diff --git a/Makefile.in b/Makefile.in
index 1a92ca8aaf3..2c854fd9ae0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -571,9 +571,11 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
for dir in ${COPYDIR} ; do \
[ -d $${dir} ] || exit 1 ; \
dest="$$1" ; shift ; \
- [ -d "$${dest}" ] && \
- [ "`cd \"$${dest}\" && /bin/pwd`" = "`cd $${dir} && /bin/pwd`" ] && \
- continue ; \
+ if [ -d "$${dest}" ]; then \
+ exp_dest=`cd "$${dest}" && /bin/pwd`; \
+ [ "$$exp_dest" = "`cd $${dir} && /bin/pwd`" ] && continue ; \
+ else true; \
+ fi; \
if [ "$${dir}" = "leim/quail" ]; then \
[ "`cd $${dir} && /bin/pwd`" = "`cd ${srcdir}/leim/quail && /bin/pwd`" ] && \
continue ; \
@@ -623,7 +625,8 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
cd "$${thisdir}" ; \
cd "$${dir}" || exit 1 ; \
for f in `find . -name "*.elc" -print`; do \
- ${GZIP_PROG} -9n "`echo \"$$f\" | sed 's/.elc$$/.el/'`" ; \
+ f_el=`echo "$$f" | sed 's/.elc$$/.el/'`; \
+ ${GZIP_PROG} -9n "$$f_el" ; \
done ; \
done )
-chmod -R a+r "$(DESTDIR)${datadir}/emacs/${version}" ${COPYDESTS}
@@ -637,7 +640,8 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
install-etcdoc: src install-arch-indep
-unset CDPATH; \
umask 022; ${MKDIR_P} "$(DESTDIR)${etcdocdir}" ; \
- if [ "`cd ./etc; /bin/pwd`" != "`cd \"$(DESTDIR)${etcdocdir}\"; /bin/pwd`" ]; \
+ exp_etcdocdir=`cd "$(DESTDIR)${etcdocdir}"; /bin/pwd`; \
+ if [ "`cd ./etc; /bin/pwd`" != "$$exp_etcdocdir" ]; \
then \
docfile="DOC"; \
echo "Copying etc/$${docfile} to $(DESTDIR)${etcdocdir} ..." ; \
@@ -650,7 +654,8 @@ install-info: info
umask 022; ${MKDIR_P} "$(DESTDIR)${infodir}"
-unset CDPATH; \
thisdir=`/bin/pwd`; \
- if [ "`cd ${srcdir}/info && /bin/pwd`" = "`cd \"$(DESTDIR)${infodir}\" && /bin/pwd`" ]; then \
+ exp_infodir=`cd "$(DESTDIR)${infodir}" && /bin/pwd`; \
+ if [ "`cd ${srcdir}/info && /bin/pwd`" = "$$exp_infodir" ]; then \
true; \
else \
(cd "$(DESTDIR)${infodir}"; \
diff --git a/configure.ac b/configure.ac
index e73775e69a7..7d8cb8815fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -78,7 +78,14 @@ dnl I think we have to check, eg, both exec_prefix and bindir,
dnl because the latter by default is not yet expanded, but the user
dnl may have specified a value for it via --bindir.
dnl Note that abs_srcdir and abs_builddir are not yet defined. :(
-for var in "`pwd`" "`cd \"$srcdir\"; pwd`" "$prefix" "$exec_prefix" \
+
+dnl "`cd \"$srcdir\" is not portable.
+dnl See autoconf manual "Shell Substitutions":
+dnl "There is just no portable way to use double-quoted strings inside
+dnl double-quoted back-quoted expressions (pfew!)."
+temp_srcdir=`cd "$srcdir"; pwd`
+
+for var in "`pwd`" "$temp_srcdir" "$prefix" "$exec_prefix" \
"$datarootdir" "$bindir" "$datadir" "$sharedstatedir" "$libexecdir"; do
dnl configure sets LC_ALL=C early on, so this range should work.
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 35672f22d64..44d7260dead 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,5 +1,8 @@
2013-10-24 Glenn Morris <rgm@gnu.org>
+ * Makefile.in ($(DESTDIR)${archlibdir}):
+ Avoid non-portable "`\" nesting.
+
* Makefile.in (abs_top_srcdir): New, set by configure.
2013-10-23 Glenn Morris <rgm@gnu.org>
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in
index 3843f549679..b765668aebc 100644
--- a/lib-src/Makefile.in
+++ b/lib-src/Makefile.in
@@ -234,7 +234,8 @@ $(DESTDIR)${archlibdir}: all
@echo
@echo "Installing utilities run internally by Emacs."
umask 022; ${MKDIR_P} "$(DESTDIR)${archlibdir}"
- if [ "`cd \"$(DESTDIR)${archlibdir}\" && /bin/pwd`" != "`/bin/pwd`" ]; then \
+ exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd`; \
+ if [ "$$exp_archlibdir" != "`/bin/pwd`" ]; then \
for file in ${UTILITIES}; do \
$(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file "$(DESTDIR)${archlibdir}/$$file" ; \
done ; \
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 12389607627..a1cac150cac 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,5 +1,8 @@
2013-10-24 Glenn Morris <rgm@gnu.org>
+ * Makefile.in ($(DESTDIR)${archlibdir}):
+ Avoid non-portable "`\" nesting.
+
* Makefile.in (abs_top_srcdir): New, set by configure.
2013-10-23 Glenn Morris <rgm@gnu.org>
diff --git a/nt/Makefile.in b/nt/Makefile.in
index 8bd37e7983c..17fef43e26d 100644
--- a/nt/Makefile.in
+++ b/nt/Makefile.in
@@ -144,7 +144,8 @@ $(DESTDIR)${archlibdir}: all
@echo
@echo "Installing utilities run internally by Emacs."
umask 022; ${MKDIR_P} "$(DESTDIR)${archlibdir}"
- if [ "`cd \"$(DESTDIR)${archlibdir}\" && /bin/pwd`" != "`/bin/pwd`" ]; then \
+ exp_archlibdir=`cd "$(DESTDIR)${archlibdir}" && /bin/pwd`; \
+ if [ "$$exp_archlibdir" != "`/bin/pwd`" ]; then \
for file in ${UTILITIES}; do \
$(INSTALL_PROGRAM) $(INSTALL_STRIP) $$file "$(DESTDIR)${archlibdir}/$$file" ; \
done ; \