echo | awk '
BEGIN {
  D["HAVE_DECL_NO"]=" 0"
}
{
  if (D["HAVE_DECL_NO"]) print "yes"
}'

prints "yes" with most awk implementations, but not with AIX 5.3 awk.
So it seems we really need D_is_set in the config headers awk script.
I've pushed this fix.

Cheers,
Ralf

2007-10-21  Ralf Wildenhues  <[EMAIL PROTECTED]>

        Fix config header generation with AIX awk.
        * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS_PREPARE): In awk
        script, use helper array D_is_set, as `" 0"' does not evaluate
        to true for AIX awk.

diff --git a/lib/autoconf/status.m4 b/lib/autoconf/status.m4
index 1511aae..e7de715 100644
--- a/lib/autoconf/status.m4
+++ b/lib/autoconf/status.m4
@@ -775,6 +775,7 @@ s/'"$ac_delim"'/"\\\
 "/g' >>$CONFIG_STATUS
 
 cat >>$CONFIG_STATUS <<_ACEOF
+  for (key in D) D_is_set[key] = 1
   FS = ""
 }
 /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
@@ -789,11 +790,10 @@ cat >>$CONFIG_STATUS <<_ACEOF
   }
   split(mac1, mac2, "(") #)
   macro = mac2[1]
-  definiens = D[macro]
-  if (definiens) {
+  if (D_is_set[macro]) {
     # Preserve the white space surrounding the "#".
     prefix = substr(line, 1, index(line, defundef) - 1)
-    print prefix "define", macro P[macro] definiens
+    print prefix "define", macro P[macro] D[macro]
     next
   } else {
     # Replace #undef with comments.  This is necessary, for example,


Reply via email to