symbol-scan: use configure script knowledge about how to run the C preprocessor

This commit is contained in:
Yang Tse 2010-11-25 21:05:20 +01:00
parent e8bc33d0a3
commit ef24ecde68
4 changed files with 61 additions and 4 deletions

View File

@ -3246,3 +3246,44 @@ AC_DEFUN([CURL_CHECK_PKGCONFIG], [
fi
fi
])
dnl CURL_GENERATE_CONFIGUREHELP_PM
dnl -------------------------------------------------
dnl Generate test harness configurehelp.pm module, defining and
dnl initializing some perl variables with values which are known
dnl when the configure script runs. For portability reasons, test
dnl harness needs information on how to run the C preprocessor.
AC_DEFUN([CURL_GENERATE_CONFIGUREHELP_PM], [
AC_REQUIRE([AC_PROG_CPP])dnl
tmp_cpp=`eval echo "$ac_cpp" 2>/dev/null`
if test -z "$tmp_cpp"; then
tmp_cpp='cpp'
fi
cat >./tests/configurehelp.pm <<_EOF
[@%:@] This is a generated file. Do not edit.
package configurehelp;
use strict;
use warnings;
use Exporter;
use vars qw(
@ISA
@EXPORT_OK
\$Cpreprocessor
);
@ISA = qw(Exporter);
@EXPORT_OK = qw(
\$Cpreprocessor
);
\$Cpreprocessor = '$tmp_cpp';
1;
_EOF
])

View File

@ -293,6 +293,7 @@ for fname in .deps \
config.status \
config.sub \
configure \
configurehelp.pm \
curl-config \
curlbuild.h \
depcomp \

View File

@ -2873,6 +2873,8 @@ AC_CONFIG_FILES([Makefile \
])
AC_OUTPUT
CURL_GENERATE_CONFIGUREHELP_PM
AC_MSG_NOTICE([Configured to build curl/libcurl:
curl version: ${VERSION}

View File

@ -21,16 +21,25 @@
#
###########################################################################
#
# This script grew out of help from Przemysław Iskra and Bálint Szilakszi
# This script grew out of help from Przemyslaw Iskra and Balint Szilakszi
# a late evening in the #curl IRC channel on freenode.
#
use strict;
use warnings;
#
# configurehelp perl module is generated by configure script
#
use configurehelp qw(
$Cpreprocessor
);
# we may get the dir root pointed out
my $root=$ARGV[0] || ".";
# need an include directory when building out-of-tree
my $i=$ARGV[1];
$i="-I$i " if $i;
my $i = ($ARGV[1]) ? "-I$ARGV[1] " : '';
my $h = "$root/include/curl/curl.h";
my $mh = "$root/include/curl/multi.h";
@ -39,7 +48,11 @@ my $verbose=0;
my $summary=0;
my $misses=0;
open H_IN, "-|", "cpp $i$h" || die "Cannot preprocess curl.h";
my @syms;
my %doc;
my %rem;
open H_IN, "-|", "$Cpreprocessor $i$h" || die "Cannot preprocess curl.h";
while ( <H_IN> ) {
if ( /enum\s+(\S+\s+)?{/ .. /}/ ) {
s/^\s+//;