50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
#!/usr/bin/env perl
 | 
						|
# Determine if curl-config --protocols/--features matches the
 | 
						|
# curl --version protocols/features
 | 
						|
if ( $#ARGV != 2 ) 
 | 
						|
{
 | 
						|
	print "Usage: $0 curl-config-script curl-version-output-file features|protocols\n";
 | 
						|
	exit 3;
 | 
						|
}
 | 
						|
 | 
						|
my $what=$ARGV[2];
 | 
						|
 | 
						|
# Read the output of curl --version
 | 
						|
my $curl_protocols="";
 | 
						|
open(CURL, "$ARGV[1]") || die "Can't get curl $what list\n";
 | 
						|
while( <CURL> )
 | 
						|
{
 | 
						|
    $curl_protocols = lc($_) if ( /$what:/i );
 | 
						|
}
 | 
						|
close CURL;
 | 
						|
 | 
						|
$curl_protocols =~ /\w+: (.*)$/;
 | 
						|
@curl = split / /,$1;
 | 
						|
 | 
						|
# These features are not supported by curl-config
 | 
						|
@curl = grep(!/^(Debug|Largefile|CharConv|GSS-Negotiate|SPNEGO)$/i, @curl);
 | 
						|
@curl = sort @curl;
 | 
						|
 | 
						|
# Read the output of curl-config
 | 
						|
my @curl_config;
 | 
						|
open(CURLCONFIG, "sh $ARGV[0] --$what|") || die "Can't get curl-config $what list\n";
 | 
						|
while( <CURLCONFIG> )
 | 
						|
{
 | 
						|
    chomp;
 | 
						|
    push @curl_config, lc($_);
 | 
						|
}
 | 
						|
close CURLCONFIG;
 | 
						|
 | 
						|
@curl_config = sort @curl_config;
 | 
						|
 | 
						|
my $curlproto = join ' ', @curl;
 | 
						|
my $curlconfigproto = join ' ', @curl_config;
 | 
						|
 | 
						|
my $different = $curlproto ne $curlconfigproto;
 | 
						|
if ($different) {
 | 
						|
	print "Mismatch in $what lists:\n";
 | 
						|
	print "curl:        $curlproto\n";
 | 
						|
	print "curl-config: $curlconfigproto\n";
 | 
						|
}
 | 
						|
exit $different;
 |