summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-09-27 15:29:29 +0200
committerRichard Levitte <levitte@openssl.org>2018-12-06 12:24:47 +0100
commit2284f64c871c2f7611678dba6eadd1989cee9981 (patch)
treebade7fe2fc3a6ddaef5bd47f33a72ecf1877ad62
parent0fb2815b873304d145ed00283454fc9f3bd35e6b (diff)
util/mkdef.pl: prepare for DEPRECATEDIN_X
This is in preparation for new versioning scheme, where the recommendation is to start deprecations at major version boundary. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7724)
-rwxr-xr-xutil/mkdef.pl4
-rw-r--r--util/perl/OpenSSL/ParseC.pm9
2 files changed, 8 insertions, 5 deletions
diff --git a/util/mkdef.pl b/util/mkdef.pl
index b40fd2654f..9cb1147d28 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -193,8 +193,8 @@ sub feature_filter {
if ($apiv) {
foreach (@features) {
- next unless /^DEPRECATEDIN_(\d+)_(\d+)_(\d+)$/;
- my $symdep = sprintf "%x%02x%02x", $1, $2, $3;
+ next unless /^DEPRECATEDIN_(\d+)(?:_(\d+)_(\d+))?$/;
+ my $symdep = sprintf "%x%02x%02x", $1, ($2 // 0), ($3 // 0);
$verdict = 0 if $apiv ge $symdep;
}
}
diff --git a/util/perl/OpenSSL/ParseC.pm b/util/perl/OpenSSL/ParseC.pm
index ba2427ccfa..81472ef5eb 100644
--- a/util/perl/OpenSSL/ParseC.pm
+++ b/util/perl/OpenSSL/ParseC.pm
@@ -72,11 +72,14 @@ my @opensslcpphandlers = (
if ($op ne '<' && $op ne '>=') {
die "Error: unacceptable operator $op: $_[0]\n";
}
- my ($one, $major, $minor) =
+ my ($major, $minor, $edit) =
( ($v >> 28) & 0xf,
($v >> 20) & 0xff,
($v >> 12) & 0xff );
- my $t = "DEPRECATEDIN_${one}_${major}_${minor}";
+ my $t = "DEPRECATEDIN_" .
+ ($major <= 1
+ ? "${major}_${minor}_${edit}"
+ : "${major}");
my $cond = $op eq '<' ? 'ifndef' : 'ifdef';
return (<<"EOF");
#$cond $t
@@ -284,7 +287,7 @@ EOF
# We trick the parser by pretending that the declaration is wrapped in a
# check if the DEPRECATEDIN macro is defined or not. Callers of parse()
# will have to decide what to do with it.
- { regexp => qr/(DEPRECATEDIN_\d+_\d+_\d+)<<<\((.*)\)>>>/,
+ { regexp => qr/(DEPRECATEDIN_\d+(?:_\d+_\d+)?)<<<\((.*)\)>>>/,
massager => sub { return (<<"EOF");
#ifndef $1
$2;