diff options
author | Richard Levitte <levitte@openssl.org> | 2017-06-15 19:31:01 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2017-06-15 19:49:21 +0200 |
commit | 6a74806ed741db24df3a7155e4bc11fb4ba9bc2a (patch) | |
tree | d0798dbcefadf6671b847ea9d73df7aee47c9dea /apps/progs.pl | |
parent | c537e74ba32e28d747d8e747abfa6cfff75c44c1 (diff) | |
download | openssl-new-6a74806ed741db24df3a7155e4bc11fb4ba9bc2a.tar.gz |
Build apps/progs.h dynamically
Because apps/progs.h isn't configuration agnostic, it's not at all
suited for 'make update' or being versioned, so change it to be
dynamically generated.
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3688)
Diffstat (limited to 'apps/progs.pl')
-rw-r--r-- | apps/progs.pl | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/apps/progs.pl b/apps/progs.pl index 94a4962415..973b62b880 100644 --- a/apps/progs.pl +++ b/apps/progs.pl @@ -11,12 +11,21 @@ use strict; use warnings; -use configdata qw/@disablables/; +use lib '.'; +use configdata qw/@disablables %unified_info/; my %commands = (); my $cmdre = qr/^\s*int\s+([a-z_][a-z0-9_]*)_main\(\s*int\s+argc\s*,/; -foreach my $filename (@ARGV) { +my $apps_openssl = shift @ARGV; +# because the program apps/openssl has object files as sources, and +# they then have the corresponding C files as source, we need to chain +# the lookups in %unified_info +my @openssl_source = + map { @{$unified_info{sources}->{$_}} } + @{$unified_info{sources}->{$apps_openssl}}; + +foreach my $filename (@openssl_source) { open F, $filename or die "Coudn't open $_: $!\n"; foreach (grep /$cmdre/, <F>) { my @foo = /$cmdre/; |