Skip to content

Commit f48933d

Browse files
committedJul 26, 2023
use Crypt::OpenSSL:ConfiguredAPI to get the set API level
1 parent 4021731 commit f48933d

File tree

5 files changed

+66
-7
lines changed

5 files changed

+66
-7
lines changed
 

‎Makefile.PL

+31-5
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,24 @@ use ExtUtils::MakeMaker;
1111
use Config;
1212
use File::Spec;
1313
use Crypt::OpenSSL::Guess;
14+
use Crypt::OpenSSL::ConfiguredAPI;
15+
1416
my %args;
1517

1618
my ($major, $minor, $patch) = openssl_version();
1719
print "Installed OpenSSL: $major.$minor.$patch\n";
1820

21+
my $version = ($major * 10000) + ($minor * 100);
22+
my $api = Crypt::OpenSSL::ConfiguredAPI::get_configured_api();
23+
print "API version read $api\n";
24+
25+
my $compat = $api ne 0 ? $api : $version;
26+
print "OPENSSL_COMPAT_API set to: $compat\n";
27+
1928
$args{INC} = openssl_inc_paths();
2029
$args{LIBS} = [openssl_lib_paths() . ' -lssl -lcrypto'];
2130

22-
my $cc_option_flags = $major ge 3 ? ' -DOPENSSL_API_COMPAT=30000' : ' -DOPENSSL_API_COMPAT=10100';
31+
my $cc_option_flags = " -DOPENSSL_API_COMPAT=$compat";
2332

2433
if ($Config::Config{cc} =~ /gcc/i) {
2534
$cc_option_flags .= $ENV{AUTHOR_TESTING} ? ' -Wall -Werror' : ' -Wall';
@@ -55,22 +64,33 @@ if ($Config{myuname} =~ /sunos|solaris/i) {
5564
my %WriteMakefileArgs = (
5665
"ABSTRACT" => "Sign a Certificate Signing Request in XS.",
5766
"AUTHOR" => "Timothy Legge <timlegge\@cpan.org>",
67+
"BUILD_REQUIRES" => {
68+
"Crypt::OpenSSL::ConfiguredAPI" => 0,
69+
"Crypt::OpenSSL::Guess" => 0
70+
},
5871
"CONFIGURE_REQUIRES" => {
72+
"Crypt::OpenSSL::ConfiguredAPI" => 0,
5973
"Crypt::OpenSSL::Guess" => 0,
6074
"ExtUtils::MakeMaker" => 0
6175
},
6276
"DISTNAME" => "Crypt-OpenSSL-SignCSR",
6377
"LICENSE" => "apache",
6478
"MIN_PERL_VERSION" => "5.014",
6579
"NAME" => "Crypt::OpenSSL::SignCSR",
66-
"PREREQ_PM" => {},
80+
"PREREQ_PM" => {
81+
"Exporter" => 0,
82+
"XSLoader" => 0
83+
},
6784
"TEST_REQUIRES" => {
85+
"Crypt::OpenSSL::Guess" => 0,
6886
"Crypt::OpenSSL::PKCS10" => "0.19",
6987
"Crypt::OpenSSL::RSA" => 0,
7088
"File::Slurper" => "0.012",
71-
"File::Which" => 0
89+
"File::Temp" => 0,
90+
"File::Which" => 0,
91+
"Test::More" => "0.88"
7292
},
73-
"VERSION" => "0.12",
93+
"VERSION" => "0.13",
7494
"test" => {
7595
"TESTS" => "t/*.t"
7696
}
@@ -82,10 +102,16 @@ my %WriteMakefileArgs = (
82102
);
83103

84104
my %FallbackPrereqs = (
105+
"Crypt::OpenSSL::ConfiguredAPI" => 0,
106+
"Crypt::OpenSSL::Guess" => 0,
85107
"Crypt::OpenSSL::PKCS10" => "0.19",
86108
"Crypt::OpenSSL::RSA" => 0,
109+
"Exporter" => 0,
87110
"File::Slurper" => "0.012",
88-
"File::Which" => 0
111+
"File::Temp" => 0,
112+
"File::Which" => 0,
113+
"Test::More" => "0.88",
114+
"XSLoader" => 0
89115
);
90116

91117
unless ( eval { ExtUtils::MakeMaker->VERSION('6.63_03') } ) {

‎cpanfile

+11
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,27 @@
11
# This file is generated by Dist::Zilla::Plugin::CPANFile v6.030
22
# Do not edit this file directly. To change prereqs, edit the `dist.ini` file.
33

4+
requires "Exporter" => "0";
5+
requires "XSLoader" => "0";
46
requires "perl" => "5.014";
57

8+
on 'build' => sub {
9+
requires "Crypt::OpenSSL::ConfiguredAPI" => "0";
10+
requires "Crypt::OpenSSL::Guess" => "0";
11+
};
12+
613
on 'test' => sub {
14+
requires "Crypt::OpenSSL::Guess" => "0";
715
requires "Crypt::OpenSSL::PKCS10" => "0.19";
816
requires "Crypt::OpenSSL::RSA" => "0";
917
requires "File::Slurper" => "0.012";
18+
requires "File::Temp" => "0";
1019
requires "File::Which" => "0";
20+
requires "Test::More" => "0.88";
1121
};
1222

1323
on 'configure' => sub {
24+
requires "Crypt::OpenSSL::ConfiguredAPI" => "0";
1425
requires "Crypt::OpenSSL::Guess" => "0";
1526
requires "ExtUtils::MakeMaker" => "0";
1627
};

‎dist.ini

+13
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,21 @@ maintainer = Timothy Legge <timlegge@cpan.org>
1414
-remove = MakeMaker
1515
-remove = Readme
1616

17+
[AutoPrereqs]
18+
skip = ^vars$
19+
skip = utf8
20+
skip = warnings
21+
skip = strict
22+
skip = overload
23+
skip = base
24+
25+
[Prereqs / BuildRequires]
26+
Crypt::OpenSSL::Guess = 0
27+
Crypt::OpenSSL::ConfiguredAPI = 0
28+
1729
[Prereqs / ConfigureRequires]
1830
Crypt::OpenSSL::Guess = 0
31+
Crypt::OpenSSL::ConfiguredAPI = 0
1932

2033
[Prereqs / RuntimeRequires]
2134
perl = 5.014

‎lib/Crypt/OpenSSL/SignCSR.pm

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use warnings;
77

88
require Exporter;
99

10-
our $VERSION = "0.12";
10+
our $VERSION = "0.13";
1111

1212
our @ISA = qw(Exporter);
1313

‎maint/Makefile_header.PL

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
use Config;
22
use File::Spec;
33
use Crypt::OpenSSL::Guess;
4+
use Crypt::OpenSSL::ConfiguredAPI;
5+
46
my %args;
57

68
my ($major, $minor, $patch) = openssl_version();
79
print "Installed OpenSSL: $major.$minor.$patch\n";
810

11+
my $version = ($major * 10000) + ($minor * 100);
12+
my $api = Crypt::OpenSSL::ConfiguredAPI::get_configured_api();
13+
print "API version read $api\n";
14+
15+
my $compat = $api ne 0 ? $api : $version;
16+
print "OPENSSL_COMPAT_API set to: $compat\n";
17+
918
$args{INC} = openssl_inc_paths();
1019
$args{LIBS} = [openssl_lib_paths() . ' -lssl -lcrypto'];
1120

12-
my $cc_option_flags = $major ge 3 ? ' -DOPENSSL_API_COMPAT=30000' : ' -DOPENSSL_API_COMPAT=10100';
21+
my $cc_option_flags = " -DOPENSSL_API_COMPAT=$compat";
1322

1423
if ($Config::Config{cc} =~ /gcc/i) {
1524
$cc_option_flags .= $ENV{AUTHOR_TESTING} ? ' -Wall -Werror' : ' -Wall';

0 commit comments

Comments
 (0)
Please sign in to comment.