automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: patch: stamp-h? files in subdirs


From: Derek R. Price
Subject: Re: patch: stamp-h? files in subdirs
Date: Wed, 31 Jan 2001 17:58:14 -0500

Tom Tromey wrote:

> >>>>> "Derek" == Derek R Price <address@hidden> writes:
>
> Derek> by an automake configure script.  The problem was in
> Derek> AM_CONFIG_HEADERS.  I fixed it, but is dependent on the
> Derek> autoconf beta.
>
> The next automake must be compatible with the old autoconf.  So this
> patch can't go in as-is.
>
> Tom

Ok.  This new patch (attached) does the same thing in shell.  It's not
quite as robust since a configure.in is limited to a single call to
AM_CONFIG_HEADER and no COMMANDS or INIT-CMDS instead of the multiple
calls and shell script hooks like AC_CONFIG_HEADER now allows.

Derek

--
Derek Price                      CVS Solutions Architect ( http://CVSHome.org )
mailto:address@hidden     OpenAvenue ( http://OpenAvenue.com )
--
File not found. Should I fake it? (Y/N)


? automake-1.4c-stamph.diff
? automake-1.4c-stamph2.diff
? m4/acheader.m4.sav
? tests/stamph2.test
? tests/dirname.test
Index: ChangeLog
===================================================================
RCS file: /cvs/automake/ChangeLog,v
retrieving revision 1.963
diff -u -r1.963 ChangeLog
--- ChangeLog   2001/01/31 04:05:43     1.963
+++ ChangeLog   2001/01/31 22:51:19
@@ -1,3 +1,8 @@
+2001-01-31  Derek Price  <address@hidden>
+
+       * m4/header.m4 (AM_CONFIG_HEADER): This macro was broken due to
+       unescaped shell metachars.  also fix stamp-h placement
+
 2001-01-30  Tom Tromey  <address@hidden>
 
        * automake.in (scan_one_autoconf_file): Don't mention
Index: m4/header.m4
===================================================================
RCS file: /cvs/automake/m4/header.m4,v
retrieving revision 1.7
diff -u -r1.7 header.m4
--- m4/header.m4        2000/08/06 12:36:53     1.7
+++ m4/header.m4        2001/01/31 22:51:19
@@ -16,13 +16,23 @@
          [],
          [test -z "$CONFIG_HEADERS" || echo timestamp >dnl
           patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),
-  [am_indx=1
-  for am_file in $1; do
-    case " $CONFIG_HEADERS " in
-    *" $am_file "*)
-      echo timestamp > `echo $am_file | sed 
's%:.*%%;s%[^/]*$%%'`stamp-h$am_indx
-      ;;
-    esac
-    am_indx=\`expr \$am_indx + 1\`
-  done])
-])
+[am_indx=1
+for am_file in $1; do
+  case " \$CONFIG_HEADERS " in
+  *" \$am_file "*)
+    am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
+    if test -n "\$am_dir"; then
+      am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
+      for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
+        am_tmpdir=\$am_tmpdir\$am_subdir/
+        if test ! -d \$am_tmpdir; then
+          mkdir \$am_tmpdir
+        fi
+      done
+    fi
+    echo timestamp > "\$am_dir"stamp-h\$am_indx
+    ;;
+  esac
+  am_indx=\`expr \$am_indx + 1\`
+done])
+]) # AM_CONFIG_HEADER
Index: tests/ChangeLog
===================================================================
RCS file: /cvs/automake/tests/ChangeLog,v
retrieving revision 1.326
diff -u -r1.326 ChangeLog
--- tests/ChangeLog     2001/01/29 09:41:43     1.326
+++ tests/ChangeLog     2001/01/31 22:51:20
@@ -1,3 +1,8 @@
+2001-01-31  Derek Price  <address@hidden>
+
+       * stamph2.test: new file
+       * Makefile.am (TESTS): Added stamph2.test
+ 
 2001-01-29  Akim Demaille  <address@hidden>
 
        * check.test: New.
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/tests/Makefile.am,v
retrieving revision 1.247
diff -u -r1.247 Makefile.am
--- tests/Makefile.am   2001/01/29 09:41:43     1.247
+++ tests/Makefile.am   2001/01/31 22:51:20
@@ -226,6 +226,7 @@
 spell3.test \
 spelling.test \
 stamph.test \
+stamph2.test \
 stdlib.test \
 subdir.test \
 subdir2.test \
Index: tests/Makefile.in
===================================================================
RCS file: /cvs/automake/tests/Makefile.in,v
retrieving revision 1.311
diff -u -r1.311 Makefile.in
--- tests/Makefile.in   2001/01/29 09:41:43     1.311
+++ tests/Makefile.in   2001/01/31 22:51:20
@@ -295,6 +295,7 @@
 spell3.test \
 spelling.test \
 stamph.test \
+stamph2.test \
 stdlib.test \
 subdir.test \
 subdir2.test \
@@ -492,7 +493,7 @@
 info-am install install-am install-data install-data-am install-exec \
 install-exec-am install-strip installcheck installcheck-am installdirs \
 maintainer-clean maintainer-clean-generic mostlyclean \
-mostlyclean-generic tags uninstall uninstall-am
+mostlyclean-generic uninstall uninstall-am
 
 
 distclean-local:
--- /dev/null   Thu Aug 24 05:00:32 2000
+++ tests/stamph2.test  Wed Jan 31 16:14:56 2001
@@ -0,0 +1,29 @@
+#! /bin/sh
+
+# Make sure stamp-h* files are created where we expect
+
+. $srcdir/defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_CONFIG_HEADER(firstfile.h sdir/secondfile.h thirdfile.h)
+AC_OUTPUT(Makefile)
+END
+
+: > Makefile.am
+mkdir sdir
+: > firstfile.h.in
+: > sdir/secondfile.h.in
+: > thirdfile.h.in
+
+# Fail gracefully if no autoconf.
+(autoconf --version) > /dev/null 2>&1 || exit 77
+
+$ACLOCAL || exit 1
+autoconf || exit 1
+$AUTOMAKE || exit 1
+./configure || exit 1
+
+(test -f stamp-h1 && test -f sdir/stamp-h2 && test -f stamp-h3) || exit 1
+exit 0

reply via email to

[Prev in Thread] Current Thread [Next in Thread]