]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* autoscan.pl (print_unique): Push all the macro invocation
authorAkim Demaille <akim@epita.fr>
Wed, 24 Jan 2001 07:58:16 +0000 (07:58 +0000)
committerAkim Demaille <akim@epita.fr>
Wed, 24 Jan 2001 07:58:16 +0000 (07:58 +0000)
locations.
(output_headers): For headers that need to be checked, push either
the specialized macro, or the generic macro call.
(check_configure_ac): Handle AC_CHECK_HEADERS.

ChangeLog
autoscan.in
autoscan.pl
bin/autoscan.in

index cf73fc43f3017d6eccefd6e11fb0618898037509..5747d7cd091b9d98addc97a16668d1ae064d2c59 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2001-01-24  Akim Demaille  <akim@epita.fr>
+
+       * autoscan.pl (print_unique): Push all the macro invocation
+       locations.
+       (output_headers): For headers that need to be checked, push either
+       the specialized macro, or the generic macro call.
+       (check_configure_ac): Handle AC_CHECK_HEADERS.
+
+       
 2001-01-24  Raja R Harinath  <harinath@cs.umn.edu>
 
        Some non-srcdir build fixes.
index cd94f9844f55b13783ce8d8ac92ccac0336883e7..4eaee4e1ee06d8266e73e9e74128f337f02ba3d7 100644 (file)
@@ -465,9 +465,7 @@ sub print_unique
       print CONF "$macro\n";
       $printed{$macro} = 1;
 
-      # For the time being, just don't bother with macros with arguments.
-      push (@{$needed_macros{$macro}}, @where)
-       if ($macro !~ /[][]|^AC_CHECK_.*S/);
+      push (@{$needed_macros{$macro}}, @where);
     }
 }
 
@@ -506,14 +504,18 @@ sub output_headers
   print CONF "\n# Checks for header files.\n";
   foreach $word (sort keys %headers)
     {
-      if (defined $headers_macros{$word} &&
-         $headers_macros{$word} eq 'AC_CHECK_HEADERS')
+      if (defined $headers_macros{$word})
        {
-         push(@have_headers, $word);
-       }
-      else
-       {
-         &print_unique($headers_macros{$word}, @{$headers{$word}});
+         if ($headers_macros{$word} eq 'AC_CHECK_HEADERS')
+           {
+             push (@have_headers, $word);
+             push (@{$needed_macros{"AC_CHECK_HEADERS($word)"}},
+                   @{$headers{$word}});
+           }
+         else
+           {
+             &print_unique ($headers_macros{$word}, @{$headers{$word}});
+           }
        }
     }
   print CONF "AC_CHECK_HEADERS([" . join(' ', sort(@have_headers)) . "])\n"
@@ -572,10 +574,11 @@ sub check_configure_ac
   my ($configure_ac) = $@;
   my ($trace_option) = '';
   my ($word);
-  my ($macro);
+  my ($macro, $header);
 
   foreach $macro (sort keys %needed_macros)
     {
+      $macro =~ s/\(.*//;
       $trace_option .= " -t $macro";
     }
 
@@ -584,8 +587,19 @@ sub check_configure_ac
 
   while (<TRACES>)
     {
-      my ($file, $line, $macro, $args) = split (/:/, $_, 4);
-      delete ($needed_macros{$macro});
+      chomp;
+      my ($file, $line, $macro, @args) = split (/:/, $_);
+      if ($macro =~ /^AC_CHECK_HEADERS$/)
+       {
+         foreach $header (split (/ /, $args[0]))
+           {
+             delete ($needed_macros{"AC_CHECK_HEADERS($header)"});
+           }
+       }
+      else
+       {
+         delete ($needed_macros{$macro});
+       }
     }
 
   close (TRACES) ||
index cd94f9844f55b13783ce8d8ac92ccac0336883e7..4eaee4e1ee06d8266e73e9e74128f337f02ba3d7 100644 (file)
@@ -465,9 +465,7 @@ sub print_unique
       print CONF "$macro\n";
       $printed{$macro} = 1;
 
-      # For the time being, just don't bother with macros with arguments.
-      push (@{$needed_macros{$macro}}, @where)
-       if ($macro !~ /[][]|^AC_CHECK_.*S/);
+      push (@{$needed_macros{$macro}}, @where);
     }
 }
 
@@ -506,14 +504,18 @@ sub output_headers
   print CONF "\n# Checks for header files.\n";
   foreach $word (sort keys %headers)
     {
-      if (defined $headers_macros{$word} &&
-         $headers_macros{$word} eq 'AC_CHECK_HEADERS')
+      if (defined $headers_macros{$word})
        {
-         push(@have_headers, $word);
-       }
-      else
-       {
-         &print_unique($headers_macros{$word}, @{$headers{$word}});
+         if ($headers_macros{$word} eq 'AC_CHECK_HEADERS')
+           {
+             push (@have_headers, $word);
+             push (@{$needed_macros{"AC_CHECK_HEADERS($word)"}},
+                   @{$headers{$word}});
+           }
+         else
+           {
+             &print_unique ($headers_macros{$word}, @{$headers{$word}});
+           }
        }
     }
   print CONF "AC_CHECK_HEADERS([" . join(' ', sort(@have_headers)) . "])\n"
@@ -572,10 +574,11 @@ sub check_configure_ac
   my ($configure_ac) = $@;
   my ($trace_option) = '';
   my ($word);
-  my ($macro);
+  my ($macro, $header);
 
   foreach $macro (sort keys %needed_macros)
     {
+      $macro =~ s/\(.*//;
       $trace_option .= " -t $macro";
     }
 
@@ -584,8 +587,19 @@ sub check_configure_ac
 
   while (<TRACES>)
     {
-      my ($file, $line, $macro, $args) = split (/:/, $_, 4);
-      delete ($needed_macros{$macro});
+      chomp;
+      my ($file, $line, $macro, @args) = split (/:/, $_);
+      if ($macro =~ /^AC_CHECK_HEADERS$/)
+       {
+         foreach $header (split (/ /, $args[0]))
+           {
+             delete ($needed_macros{"AC_CHECK_HEADERS($header)"});
+           }
+       }
+      else
+       {
+         delete ($needed_macros{$macro});
+       }
     }
 
   close (TRACES) ||
index cd94f9844f55b13783ce8d8ac92ccac0336883e7..4eaee4e1ee06d8266e73e9e74128f337f02ba3d7 100644 (file)
@@ -465,9 +465,7 @@ sub print_unique
       print CONF "$macro\n";
       $printed{$macro} = 1;
 
-      # For the time being, just don't bother with macros with arguments.
-      push (@{$needed_macros{$macro}}, @where)
-       if ($macro !~ /[][]|^AC_CHECK_.*S/);
+      push (@{$needed_macros{$macro}}, @where);
     }
 }
 
@@ -506,14 +504,18 @@ sub output_headers
   print CONF "\n# Checks for header files.\n";
   foreach $word (sort keys %headers)
     {
-      if (defined $headers_macros{$word} &&
-         $headers_macros{$word} eq 'AC_CHECK_HEADERS')
+      if (defined $headers_macros{$word})
        {
-         push(@have_headers, $word);
-       }
-      else
-       {
-         &print_unique($headers_macros{$word}, @{$headers{$word}});
+         if ($headers_macros{$word} eq 'AC_CHECK_HEADERS')
+           {
+             push (@have_headers, $word);
+             push (@{$needed_macros{"AC_CHECK_HEADERS($word)"}},
+                   @{$headers{$word}});
+           }
+         else
+           {
+             &print_unique ($headers_macros{$word}, @{$headers{$word}});
+           }
        }
     }
   print CONF "AC_CHECK_HEADERS([" . join(' ', sort(@have_headers)) . "])\n"
@@ -572,10 +574,11 @@ sub check_configure_ac
   my ($configure_ac) = $@;
   my ($trace_option) = '';
   my ($word);
-  my ($macro);
+  my ($macro, $header);
 
   foreach $macro (sort keys %needed_macros)
     {
+      $macro =~ s/\(.*//;
       $trace_option .= " -t $macro";
     }
 
@@ -584,8 +587,19 @@ sub check_configure_ac
 
   while (<TRACES>)
     {
-      my ($file, $line, $macro, $args) = split (/:/, $_, 4);
-      delete ($needed_macros{$macro});
+      chomp;
+      my ($file, $line, $macro, @args) = split (/:/, $_);
+      if ($macro =~ /^AC_CHECK_HEADERS$/)
+       {
+         foreach $header (split (/ /, $args[0]))
+           {
+             delete ($needed_macros{"AC_CHECK_HEADERS($header)"});
+           }
+       }
+      else
+       {
+         delete ($needed_macros{$macro});
+       }
     }
 
   close (TRACES) ||