From: Akim Demaille Date: Wed, 24 Jan 2001 07:58:16 +0000 (+0000) Subject: * autoscan.pl (print_unique): Push all the macro invocation X-Git-Tag: autoconf-2.50~205 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a29dd40a44f2c4a045d6beda1dd14f84dcaeac1e;p=thirdparty%2Fautoconf.git * 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. --- diff --git a/ChangeLog b/ChangeLog index cf73fc43f..5747d7cd0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2001-01-24 Akim Demaille + + * 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 Some non-srcdir build fixes. diff --git a/autoscan.in b/autoscan.in index cd94f9844..4eaee4e1e 100644 --- a/autoscan.in +++ b/autoscan.in @@ -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 () { - 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) || diff --git a/autoscan.pl b/autoscan.pl index cd94f9844..4eaee4e1e 100644 --- a/autoscan.pl +++ b/autoscan.pl @@ -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 () { - 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) || diff --git a/bin/autoscan.in b/bin/autoscan.in index cd94f9844..4eaee4e1e 100644 --- a/bin/autoscan.in +++ b/bin/autoscan.in @@ -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 () { - 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) ||