1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
use Config;
use File::Spec;
use Crypt::OpenSSL::Guess qw(openssl_version openssl_inc_paths openssl_lib_paths);
my %args;
my ($major, $minor, $patch) = openssl_version();
print "Installed OpenSSL: $major.$minor.$patch\n";
$args{INC} = openssl_inc_paths();
$args{LIBS} = [openssl_lib_paths() . ' -lssl -lcrypto'];
my $cc_option_flags;
if ($Config::Config{cc} =~ /gcc/i) {
$cc_option_flags .= $ENV{AUTHOR_TESTING} ? ' -Wall -Werror' : ' -Wall';
} else {
$cc_option_flags .= '';
}
if ($Config{gccversion} =~ /llvm/i) {
if ( $^O eq 'darwin' && (
$Config{gccversion} =~ /LLVM 1[2-9].\d.[5-9]/ ||
$Config{gccversion} =~ /LLVM 1[3-9]/ ))
{
$cc_option_flags .= ' -Wno-deprecated-declarations -Wno-compound-token-split-by-macro';
} else {
$cc_option_flags .= ' -Wno-deprecated-declarations';
}
if ($Config{gccversion} =~ /llvm 13/i) {
$cc_option_flags .= ' -Wno-compound-token-split-by-macro';
}
if ($Config{PERL_VERSION} <= 20) {
$cc_option_flags .= ' -Wno-error=pointer-bool-conversion';
}
}
if ($Config{myuname} =~ /sunos|solaris/i) {
$args{OPTIMIZE} = $cc_option_flags;
} elsif ($Config{myuname} =~ /strawberry-{0,1}perl/i) {
if ($Config{PERL_VERSION} <= 24) {
$args{LIBS} = [openssl_lib_paths() . ' -leay32'];
}
} elsif ($Config{myuname} =~ /darwin/ ) {
$args{LDDLFLAGS} = openssl_lib_paths() . " " . $Config{lddlflags};
} else {
$args{LDDLFLAGS} = openssl_lib_paths() . " " . $Config{lddlflags};
$args{OPTIMIZE} = $cc_option_flags;
}
|