Latest update.
This commit is contained in:
@@ -345,9 +345,9 @@ my @disablables = (
|
||||
"cast",
|
||||
"chacha",
|
||||
"cmac",
|
||||
"cmp",
|
||||
"cms",
|
||||
"comp",
|
||||
"crmf",
|
||||
"crypto-mdebug",
|
||||
"crypto-mdebug-backtrace",
|
||||
"ct",
|
||||
@@ -433,6 +433,14 @@ foreach my $proto ((@tls, @dtls))
|
||||
push(@disablables, "$proto-method") unless $proto eq "tls1_3";
|
||||
}
|
||||
|
||||
# Internal disablables, for aliasing purposes. They serve no special
|
||||
# purpose here, but allow scripts to get to know them through configdata.pm,
|
||||
# where these are merged with @disablables.
|
||||
# The actual aliasing mechanism is done via %disable_cascades
|
||||
my @disablables_int = qw(
|
||||
crmf
|
||||
);
|
||||
|
||||
my %deprecated_disablables = (
|
||||
"ssl2" => undef,
|
||||
"buf-freelists" => undef,
|
||||
@@ -534,6 +542,8 @@ my @disable_cascades = (
|
||||
|
||||
sub { $disabled{cmac}; } => [ "siv" ],
|
||||
"legacy" => [ "md2" ],
|
||||
|
||||
"cmp" => [ "crmf" ],
|
||||
);
|
||||
|
||||
# Avoid protocol support holes. Also disable all versions below N, if version
|
||||
@@ -594,7 +604,7 @@ my %user = (
|
||||
PERL => env('PERL') || ($^O ne "VMS" ? $^X : "perl"),
|
||||
RANLIB => env('RANLIB'),
|
||||
RC => env('RC') || env('WINDRES'),
|
||||
RCFLAGS => [],
|
||||
RCFLAGS => [ env('RCFLAGS') || () ],
|
||||
RM => undef,
|
||||
);
|
||||
# Info about what "make variables" may be prefixed with the cross compiler
|
||||
@@ -611,6 +621,7 @@ my %useradd = (
|
||||
CXXFLAGS => [],
|
||||
LDFLAGS => [],
|
||||
LDLIBS => [],
|
||||
RCFLAGS => [],
|
||||
);
|
||||
|
||||
my %user_synonyms = (
|
||||
@@ -1110,44 +1121,6 @@ foreach (keys %target_attr_translate) {
|
||||
|
||||
%target = ( %{$table{DEFAULTS}}, %target );
|
||||
|
||||
# Make the flags to build DSOs the same as for shared libraries unless they
|
||||
# are already defined
|
||||
$target{module_cflags} = $target{shared_cflag} unless defined $target{module_cflags};
|
||||
$target{module_cxxflags} = $target{shared_cxxflag} unless defined $target{module_cxxflags};
|
||||
$target{module_ldflags} = $target{shared_ldflag} unless defined $target{module_ldflags};
|
||||
{
|
||||
my $shared_info_pl =
|
||||
catfile(dirname($0), "Configurations", "shared-info.pl");
|
||||
my %shared_info = read_eval_file($shared_info_pl);
|
||||
push @{$target{_conf_fname_int}}, $shared_info_pl;
|
||||
my $si = $target{shared_target};
|
||||
while (ref $si ne "HASH") {
|
||||
last if ! defined $si;
|
||||
if (ref $si eq "CODE") {
|
||||
$si = $si->();
|
||||
} else {
|
||||
$si = $shared_info{$si};
|
||||
}
|
||||
}
|
||||
|
||||
# Some of the 'shared_target' values don't have any entried in
|
||||
# %shared_info. That's perfectly fine, AS LONG AS the build file
|
||||
# template knows how to handle this. That is currently the case for
|
||||
# Windows and VMS.
|
||||
if (defined $si) {
|
||||
# Just as above, copy certain shared_* attributes to the corresponding
|
||||
# module_ attribute unless the latter is already defined
|
||||
$si->{module_cflags} = $si->{shared_cflag} unless defined $si->{module_cflags};
|
||||
$si->{module_cxxflags} = $si->{shared_cxxflag} unless defined $si->{module_cxxflags};
|
||||
$si->{module_ldflags} = $si->{shared_ldflag} unless defined $si->{module_ldflags};
|
||||
foreach (sort keys %$si) {
|
||||
$target{$_} = defined $target{$_}
|
||||
? add($si->{$_})->($target{$_})
|
||||
: $si->{$_};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
my %conf_files = map { $_ => 1 } (@{$target{_conf_fname_int}});
|
||||
$config{conf_files} = [ sort keys %conf_files ];
|
||||
|
||||
@@ -1687,7 +1660,48 @@ unless ($disabled{ktls}) {
|
||||
|
||||
push @{$config{openssl_other_defines}}, "OPENSSL_NO_KTLS" if ($disabled{ktls});
|
||||
|
||||
# ALL MODIFICATIONS TO %config and %target MUST BE DONE FROM HERE ON
|
||||
# Get the extra flags used when building shared libraries and modules. We
|
||||
# do this late because some of them depend on %disabled.
|
||||
|
||||
# Make the flags to build DSOs the same as for shared libraries unless they
|
||||
# are already defined
|
||||
$target{module_cflags} = $target{shared_cflag} unless defined $target{module_cflags};
|
||||
$target{module_cxxflags} = $target{shared_cxxflag} unless defined $target{module_cxxflags};
|
||||
$target{module_ldflags} = $target{shared_ldflag} unless defined $target{module_ldflags};
|
||||
{
|
||||
my $shared_info_pl =
|
||||
catfile(dirname($0), "Configurations", "shared-info.pl");
|
||||
my %shared_info = read_eval_file($shared_info_pl);
|
||||
push @{$target{_conf_fname_int}}, $shared_info_pl;
|
||||
my $si = $target{shared_target};
|
||||
while (ref $si ne "HASH") {
|
||||
last if ! defined $si;
|
||||
if (ref $si eq "CODE") {
|
||||
$si = $si->();
|
||||
} else {
|
||||
$si = $shared_info{$si};
|
||||
}
|
||||
}
|
||||
|
||||
# Some of the 'shared_target' values don't have any entries in
|
||||
# %shared_info. That's perfectly fine, AS LONG AS the build file
|
||||
# template knows how to handle this. That is currently the case for
|
||||
# Windows and VMS.
|
||||
if (defined $si) {
|
||||
# Just as above, copy certain shared_* attributes to the corresponding
|
||||
# module_ attribute unless the latter is already defined
|
||||
$si->{module_cflags} = $si->{shared_cflag} unless defined $si->{module_cflags};
|
||||
$si->{module_cxxflags} = $si->{shared_cxxflag} unless defined $si->{module_cxxflags};
|
||||
$si->{module_ldflags} = $si->{shared_ldflag} unless defined $si->{module_ldflags};
|
||||
foreach (sort keys %$si) {
|
||||
$target{$_} = defined $target{$_}
|
||||
? add($si->{$_})->($target{$_})
|
||||
: $si->{$_};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ALL MODIFICATIONS TO %disabled, %config and %target MUST BE DONE FROM HERE ON
|
||||
|
||||
# If we use the unified build, collect information from build.info files
|
||||
my %unified_info = ();
|
||||
@@ -2411,7 +2425,7 @@ use warnings;
|
||||
use Exporter;
|
||||
#use vars qw(\@ISA \@EXPORT);
|
||||
our \@ISA = qw(Exporter);
|
||||
our \@EXPORT = qw(\%config \%target \%disabled \%withargs \%unified_info \@disablables);
|
||||
our \@EXPORT = qw(\%config \%target \%disabled \%withargs \%unified_info \@disablables \@disablables_int);
|
||||
|
||||
EOF
|
||||
print OUT "our %config = (\n";
|
||||
@@ -2472,6 +2486,15 @@ foreach (@disablables) {
|
||||
print OUT <<"EOF";
|
||||
);
|
||||
|
||||
EOF
|
||||
print OUT "# The following come from Configure's @disablables_int\n";
|
||||
print OUT "our \@disablables_int = (\n";
|
||||
foreach (@disablables_int) {
|
||||
print OUT " ", quotify("perl", $_), ",\n";
|
||||
}
|
||||
print OUT <<"EOF";
|
||||
);
|
||||
|
||||
EOF
|
||||
print OUT "our \%disabled = (\n";
|
||||
foreach (sort keys %disabled) {
|
||||
|
||||
Reference in New Issue
Block a user