autoconf
[Top][All Lists]
Advanced

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

Re: AC_CONFIG_COMMANDS does not handle an empty second argument.


From: Akim Demaille
Subject: Re: AC_CONFIG_COMMANDS does not handle an empty second argument.
Date: 06 Feb 2002 18:51:34 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)

| for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
|   ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
|   ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
| 
|   case $ac_dest in
|   esac
| done
| EOF
| 
| Note the empty case statement.

Thanks, I'm applying the following patch.  I'd like to know what shell
you used to document this.  None of the shells I tried (zsh, bash,
ash) exhibit such a problem.  It's funny to note CONFIG_COMMANDS was
the only one to have the problem: all the others (_HEADERS etc.) were
protected just like below.

Index: ChangeLog
from  Akim Demaille  <address@hidden>

        * lib/autoconf/status.m4 (_AC_OUTPUT_COMMANDS): Don't output empty
        case/esac, some shells don't support it.
        Reported by Zack Weinberg.
        * tests/torture.at (AC_CONFIG_COMMANDS with empty commands): New.

Index: THANKS
===================================================================
RCS file: /cvsroot/autoconf/autoconf/THANKS,v
retrieving revision 1.80
diff -u -u -r1.80 THANKS
--- THANKS 29 Jan 2002 17:19:30 -0000 1.80
+++ THANKS 6 Feb 2002 17:48:59 -0000
@@ -170,6 +170,7 @@
 Werner Lemberg              address@hidden
 Wilfredo Sanchez            address@hidden
 Wolfgang Mueller            address@hidden
+Zack Weinberg               address@hidden
 
 Many people are not named here because we lost track of them.  We
 thank them!  Please, help us keep this list up to date.
Index: lib/autoconf/status.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/status.m4,v
retrieving revision 1.17
diff -u -u -r1.17 status.m4
--- lib/autoconf/status.m4 14 Dec 2001 17:57:29 -0000 1.17
+++ lib/autoconf/status.m4 6 Feb 2002 17:48:59 -0000
@@ -361,9 +361,12 @@
   _AC_SRCPATHS(["$ac_dir"])
 
   AC_MSG_NOTICE([executing $ac_dest commands])
-  case $ac_dest in
+dnl Some shells don't like empty case/esac
+m4_ifset([AC_LIST_COMMANDS_COMMANDS],
+[  case $ac_dest in
 AC_LIST_COMMANDS_COMMANDS()dnl
   esac
+])dnl
 done
 _ACEOF
 ])# _AC_OUTPUT_COMMANDS
Index: tests/torture.at
===================================================================
RCS file: /cvsroot/autoconf/autoconf/tests/torture.at,v
retrieving revision 1.31
diff -u -u -r1.31 torture.at
--- tests/torture.at 6 Feb 2002 09:39:55 -0000 1.31
+++ tests/torture.at 6 Feb 2002 17:48:59 -0000
@@ -1,15 +1,6 @@
 #                                                      -*- Autotest -*-
 
-AT_BANNER([[Testing config.status.
-
-## ---------------------------------------------------------------- ##
-## This section of torture tests is trying to make Autoconf produce ##
-## failing `configure' scripts, which must never happen.  If one of ##
-## these tests ever fails, it is extremely important that you       ##
-## report the failure to address@hidden                      ##
-## ---------------------------------------------------------------- ##]])
-
-# Copyright 2000, 2001 Free Software Foundation, Inc.
+# Copyright 2000, 2001, 2002 (C) Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -27,6 +18,18 @@
 # 02111-1307, USA.
 
 
+AT_BANNER([[Testing config.status.]])
+
+
+## ---------------------------------------- ##
+## AC_CONFIG_COMMANDS with empty commands.  ##
+## ---------------------------------------- ##
+
+AT_CHECK_MACRO([AC_CONFIG_COMMANDS with empty commands],
+[[AC_CONFIG_COMMANDS([foo], [], [:])
+]])
+
+
 ## ------------ ##
 ## AC_ARG_VAR.  ##
 ## ------------ ##
@@ -179,8 +182,7 @@
 # Create a link
 AT_CHECK_CONFIG_CREATION(link)
 
-AT_CLEANUP(header file link commandvar-header var-file var-link var-command
-           input)
+AT_CLEANUP
 
 
 
@@ -246,7 +248,7 @@
          ["'$ " ' $ "'$
 ])
 
-AT_CLEANUP(configure config.status config.log config.cache)
+AT_CLEANUP
 
 
 
@@ -453,7 +455,7 @@
 [AT_BIG_VALUE
 ])])
 
-AT_CLEANUP(dummy)
+AT_CLEANUP
 
 
 ## -------- ##
@@ -493,7 +495,7 @@
 at_here=`pwd`
 AT_CHECK([cd at-dir && $at_here/configure], [], [ignore])
 
-AT_CLEANUP(at-dir foo.in foo)
+AT_CLEANUP
 
 
 ## ----------------- ##



reply via email to

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