mbedtls/tmp/makelist.pl

66 lines
1.9 KiB
Perl
Raw Normal View History

2015-04-02 16:59:30 +00:00
#!/usr/bin/perl
use warnings;
use strict;
use utf8;
use open qw(:std utf8);
# build substitution table from a list of names on stdin or input files
my %special_cases = (
'supported_ciphers' => 'mbedtls_cipher_supported',
'f' => 'mbedtls_entropy_f',
'source' => 'mbedtls_entropy_source',
'COLLECT' => 'MBEDTLS_HAVEGE_COLLECT',
'LN' => 'MBEDTLS_MPI_LN',
'key' => 'mbedtls_ssl_key',
'safer' => 'mbedtls_ssl_safer',
'alarmed' => 'mbedtls_timing_alarmed',
'get' => 'mbedtls_timing_get',
'hardclock' => 'mbedtls_timing_hardclock',
'hr' => 'mbedtls_timing_hr',
'm' => 'mbedtls_timing_m',
'set' => 'mbedtls_timing_set',
'BADCERT' => 'MBEDTLS_X509_BADCERT',
'BADCRL' => 'MBEDTLS_X509_BADCRL',
'EXT' => 'MBEDTLS_X509_EXT',
'KU' => 'MBEDTLS_X509_KU',
'NS' => 'MBEDTLS_X509_NS',
't' => 'mbedtls_mpi',
);
my %subst;
while( my $name = <> ) {
my $new;
chomp $name;
while( my ($prefix, $newpref) = each %special_cases ) {
if( $name =~ /^$prefix($|_)/ ) {
($new = $name) =~ s/^$prefix/$newpref/;
last;
}
}
unless( $new ) {
if( $name =~ /^POLARSSL_/ ) {
($new = $name) =~ s/POLARSSL/MBEDTLS/;
} elsif( $name =~ /^polarssl_/ ) {
($new = $name) =~ s/polarssl/mbedtls/;
} elsif( $name =~ /^_[a-z]/ ) {
$new = "mbedtls$name";
} elsif( $name =~ /^[A-Z]/ ) {
$new = "MBEDTLS_$name";
} elsif( $name =~ /^[a-z]/ ) {
$new = "mbedtls_$name";
} else {
die "I don't know how to rename '$name'";
}
}
$subst{$name} = $new;
}
printf "%s %s\n", $_, $subst{$_} for sort keys %subst;