Annotation of embedaddon/curl/tests/libtest/test1013.pl, revision 1.1
1.1 ! misho 1: #!/usr/bin/env perl
! 2: #***************************************************************************
! 3: # _ _ ____ _
! 4: # Project ___| | | | _ \| |
! 5: # / __| | | | |_) | |
! 6: # | (__| |_| | _ <| |___
! 7: # \___|\___/|_| \_\_____|
! 8: #
! 9: # Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
! 10: #
! 11: # This software is licensed as described in the file COPYING, which
! 12: # you should have received as part of this distribution. The terms
! 13: # are also available at https://curl.haxx.se/docs/copyright.html.
! 14: #
! 15: # You may opt to use, copy, modify, merge, publish, distribute and/or sell
! 16: # copies of the Software, and permit persons to whom the Software is
! 17: # furnished to do so, under the terms of the COPYING file.
! 18: #
! 19: # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
! 20: # KIND, either express or implied.
! 21: #
! 22: ###########################################################################
! 23: # Determine if curl-config --protocols/--features matches the
! 24: # curl --version protocols/features
! 25: if ( $#ARGV != 2 )
! 26: {
! 27: print "Usage: $0 curl-config-script curl-version-output-file features|protocols\n";
! 28: exit 3;
! 29: }
! 30:
! 31: my $what=$ARGV[2];
! 32:
! 33: # Read the output of curl --version
! 34: my $curl_protocols="";
! 35: open(CURL, "$ARGV[1]") || die "Can't get curl $what list\n";
! 36: while( <CURL> )
! 37: {
! 38: $curl_protocols = lc($_) if ( /$what:/i );
! 39: }
! 40: close CURL;
! 41:
! 42: $curl_protocols =~ s/\r//;
! 43: $curl_protocols =~ /\w+: (.*)$/;
! 44: @curl = split / /,$1;
! 45:
! 46: # These features are not supported by curl-config
! 47: @curl = grep(!/^(Debug|TrackMemory|Metalink|Largefile|CharConv)$/i, @curl);
! 48: @curl = sort @curl;
! 49:
! 50: # Read the output of curl-config
! 51: my @curl_config;
! 52: open(CURLCONFIG, "sh $ARGV[0] --$what|") || die "Can't get curl-config $what list\n";
! 53: while( <CURLCONFIG> )
! 54: {
! 55: chomp;
! 56: # ignore curl-config --features not in curl's feature list
! 57: push @curl_config, lc($_);
! 58: }
! 59: close CURLCONFIG;
! 60:
! 61: @curl_config = sort @curl_config;
! 62:
! 63: my $curlproto = join ' ', @curl;
! 64: my $curlconfigproto = join ' ', @curl_config;
! 65:
! 66: my $different = $curlproto ne $curlconfigproto;
! 67: if ($different) {
! 68: print "Mismatch in $what lists:\n";
! 69: print "curl: $curlproto\n";
! 70: print "curl-config: $curlconfigproto\n";
! 71: }
! 72: exit $different;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>