From: Richard Levitte Date: Thu, 15 Jun 2017 17:31:01 +0000 (+0200) Subject: Build apps/progs.h dynamically X-Git-Tag: OpenSSL_1_1_1-pre1~1310 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=6a74806ed741db24df3a7155e4bc11fb4ba9bc2a;ds=sidebyside 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 (Merged from https://github.com/openssl/openssl/pull/3688) --- diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index e0ded0b667..f9fc6d928d 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -146,6 +146,9 @@ BIN_SCRIPTS=[.tools]c_rehash.pl MISC_SCRIPTS=[.apps]CA.pl, [.apps]tsget.pl {- output_on() if $disabled{apps}; "" -} +APPS_OPENSSL={- use File::Spec::Functions; + catfile("apps","openssl") -} + # DESTDIR is for package builders so that they can configure for, say, # SYS$COMMON:[OPENSSL] and yet have everything installed in STAGING:[USER]. # In that case, configure with --prefix=SYS$COMMON:[OPENSSL] and then run diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index a59040c639..3faeec8347 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -119,6 +119,9 @@ BIN_SCRIPTS=$(BLDDIR)/tools/c_rehash MISC_SCRIPTS=$(BLDDIR)/apps/CA.pl $(BLDDIR)/apps/tsget {- output_on() if $disabled{apps}; "" -} +APPS_OPENSSL={- use File::Spec::Functions; + catfile("apps","openssl") -} + # DESTDIR is for package builders so that they can configure for, say, # /usr/ and yet have everything installed to /tmp/somedir/usr/. # Normally it is left empty. @@ -612,19 +615,9 @@ doc-nits: lint: lint -DLINT $(INCLUDES) $(SRCS) -{- # 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 $apps_openssl = catfile("apps","openssl"); - our @openssl_source = map { @{$unified_info{sources}->{$_}} } - @{$unified_info{sources}->{$apps_openssl}}; - ""; -} generate_apps: ( cd $(SRCDIR); $(PERL) VMS/VMSify-conf.pl \ < apps/openssl.cnf > apps/openssl-vms.cnf ) - ( b=`pwd`; cd $(SRCDIR); $(PERL) -I$$b apps/progs.pl \ - {- join(" ", @openssl_source) -} \ - > apps/progs.h ) generate_crypto_bn: ( cd $(SRCDIR); $(PERL) crypto/bn/bn_prime.pl > crypto/bn/bn_prime.h ) diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index dcee51954e..f3c0529b9a 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -106,6 +106,9 @@ BIN_SCRIPTS=$(BLDDIR)\tools\c_rehash.pl MISC_SCRIPTS=$(BLDDIR)\apps\CA.pl $(BLDDIR)\apps\tsget.pl {- output_on() if $disabled{apps}; "" -} +APPS_OPENSSL={- use File::Spec::Functions; + catfile("apps","openssl") -} + # Do not edit these manually. Use Configure with --prefix or --openssldir # to change this! Short explanation in the top comment in Configure INSTALLTOP_dev={- # $prefix is used in the OPENSSLDIR perl snippet diff --git a/apps/build.info b/apps/build.info index ae64861940..e2ddd2b56d 100644 --- a/apps/build.info +++ b/apps/build.info @@ -1,21 +1,27 @@ {- our $tsget_name = $config{target} =~ /^(VC|vms)-/ ? "tsget.pl" : "tsget"; + our @apps_openssl_src = + ( qw(openssl.c + asn1pars.c ca.c ciphers.c cms.c crl.c crl2p7.c dgst.c dhparam.c + dsa.c dsaparam.c ec.c ecparam.c enc.c engine.c errstr.c gendsa.c + genpkey.c genrsa.c nseq.c ocsp.c passwd.c pkcs12.c pkcs7.c pkcs8.c + pkey.c pkeyparam.c pkeyutl.c prime.c rand.c req.c rsa.c rsautl.c + s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c + srp.c ts.c verify.c version.c x509.c rehash.c + apps.c opt.c s_cb.c s_socket.c + app_rand.c), + split(/\s+/, $target{apps_aux_src}) ); "" -} IF[{- !$disabled{apps} -}] PROGRAMS=openssl - SOURCE[openssl]=\ - openssl.c \ - asn1pars.c ca.c ciphers.c cms.c crl.c crl2p7.c dgst.c dhparam.c \ - dsa.c dsaparam.c ec.c ecparam.c enc.c engine.c errstr.c gendsa.c \ - genpkey.c genrsa.c nseq.c ocsp.c passwd.c pkcs12.c pkcs7.c pkcs8.c \ - pkey.c pkeyparam.c pkeyutl.c prime.c rand.c req.c rsa.c rsautl.c \ - s_client.c s_server.c s_time.c sess_id.c smime.c speed.c spkac.c \ - srp.c ts.c verify.c version.c x509.c rehash.c \ - apps.c opt.c s_cb.c s_socket.c \ - app_rand.c \ - {- $target{apps_aux_src} -} + SOURCE[openssl]={- join(" ", @apps_openssl_src) -} INCLUDE[openssl]=.. ../include DEPEND[openssl]=../libssl + {- join("\n ", map { (my $x = $_) =~ s|\.c$|.o|; "DEPEND[$x]=progs.h" } + @apps_openssl_src) -} + GENERATE[progs.h]=progs.pl $(APPS_OPENSSL) + DEPEND[progs.h]=../configdata.pm + SCRIPTS=CA.pl {- $tsget_name -} SOURCE[CA.pl]=CA.pl.in SOURCE[{- $tsget_name -}]=tsget.in diff --git a/apps/progs.h b/apps/progs.h deleted file mode 100644 index 31f383e81b..0000000000 --- a/apps/progs.h +++ /dev/null @@ -1,418 +0,0 @@ -/* - * WARNING: do not edit! - * Generated by apps/progs.pl - * - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -typedef enum FUNC_TYPE { - FT_none, FT_general, FT_md, FT_cipher, FT_pkey, - FT_md_alg, FT_cipher_alg -} FUNC_TYPE; - -typedef struct function_st { - FUNC_TYPE type; - const char *name; - int (*func)(int argc, char *argv[]); - const OPTIONS *help; -} FUNCTION; - -DEFINE_LHASH_OF(FUNCTION); - -extern int asn1parse_main(int argc, char *argv[]); -extern int ca_main(int argc, char *argv[]); -extern int ciphers_main(int argc, char *argv[]); -extern int cms_main(int argc, char *argv[]); -extern int crl_main(int argc, char *argv[]); -extern int crl2pkcs7_main(int argc, char *argv[]); -extern int dgst_main(int argc, char *argv[]); -extern int dhparam_main(int argc, char *argv[]); -extern int dsa_main(int argc, char *argv[]); -extern int dsaparam_main(int argc, char *argv[]); -extern int ec_main(int argc, char *argv[]); -extern int ecparam_main(int argc, char *argv[]); -extern int enc_main(int argc, char *argv[]); -extern int engine_main(int argc, char *argv[]); -extern int errstr_main(int argc, char *argv[]); -extern int exit_main(int argc, char *argv[]); -extern int gendsa_main(int argc, char *argv[]); -extern int genpkey_main(int argc, char *argv[]); -extern int genrsa_main(int argc, char *argv[]); -extern int help_main(int argc, char *argv[]); -extern int list_main(int argc, char *argv[]); -extern int nseq_main(int argc, char *argv[]); -extern int ocsp_main(int argc, char *argv[]); -extern int passwd_main(int argc, char *argv[]); -extern int pkcs12_main(int argc, char *argv[]); -extern int pkcs7_main(int argc, char *argv[]); -extern int pkcs8_main(int argc, char *argv[]); -extern int pkey_main(int argc, char *argv[]); -extern int pkeyparam_main(int argc, char *argv[]); -extern int pkeyutl_main(int argc, char *argv[]); -extern int prime_main(int argc, char *argv[]); -extern int rand_main(int argc, char *argv[]); -extern int rehash_main(int argc, char *argv[]); -extern int req_main(int argc, char *argv[]); -extern int rsa_main(int argc, char *argv[]); -extern int rsautl_main(int argc, char *argv[]); -extern int s_client_main(int argc, char *argv[]); -extern int s_server_main(int argc, char *argv[]); -extern int s_time_main(int argc, char *argv[]); -extern int sess_id_main(int argc, char *argv[]); -extern int smime_main(int argc, char *argv[]); -extern int speed_main(int argc, char *argv[]); -extern int spkac_main(int argc, char *argv[]); -extern int srp_main(int argc, char *argv[]); -extern int ts_main(int argc, char *argv[]); -extern int verify_main(int argc, char *argv[]); -extern int version_main(int argc, char *argv[]); -extern int x509_main(int argc, char *argv[]); - -extern const OPTIONS asn1parse_options[]; -extern const OPTIONS ca_options[]; -extern const OPTIONS ciphers_options[]; -extern const OPTIONS cms_options[]; -extern const OPTIONS crl_options[]; -extern const OPTIONS crl2pkcs7_options[]; -extern const OPTIONS dgst_options[]; -extern const OPTIONS dhparam_options[]; -extern const OPTIONS dsa_options[]; -extern const OPTIONS dsaparam_options[]; -extern const OPTIONS ec_options[]; -extern const OPTIONS ecparam_options[]; -extern const OPTIONS enc_options[]; -extern const OPTIONS engine_options[]; -extern const OPTIONS errstr_options[]; -extern const OPTIONS exit_options[]; -extern const OPTIONS gendsa_options[]; -extern const OPTIONS genpkey_options[]; -extern const OPTIONS genrsa_options[]; -extern const OPTIONS help_options[]; -extern const OPTIONS list_options[]; -extern const OPTIONS nseq_options[]; -extern const OPTIONS ocsp_options[]; -extern const OPTIONS passwd_options[]; -extern const OPTIONS pkcs12_options[]; -extern const OPTIONS pkcs7_options[]; -extern const OPTIONS pkcs8_options[]; -extern const OPTIONS pkey_options[]; -extern const OPTIONS pkeyparam_options[]; -extern const OPTIONS pkeyutl_options[]; -extern const OPTIONS prime_options[]; -extern const OPTIONS rand_options[]; -extern const OPTIONS rehash_options[]; -extern const OPTIONS req_options[]; -extern const OPTIONS rsa_options[]; -extern const OPTIONS rsautl_options[]; -extern const OPTIONS s_client_options[]; -extern const OPTIONS s_server_options[]; -extern const OPTIONS s_time_options[]; -extern const OPTIONS sess_id_options[]; -extern const OPTIONS smime_options[]; -extern const OPTIONS speed_options[]; -extern const OPTIONS spkac_options[]; -extern const OPTIONS srp_options[]; -extern const OPTIONS ts_options[]; -extern const OPTIONS verify_options[]; -extern const OPTIONS version_options[]; -extern const OPTIONS x509_options[]; - -#ifdef INCLUDE_FUNCTION_TABLE -static FUNCTION functions[] = { - {FT_general, "asn1parse", asn1parse_main, asn1parse_options}, - {FT_general, "ca", ca_main, ca_options}, -#ifndef OPENSSL_NO_SOCK - {FT_general, "ciphers", ciphers_main, ciphers_options}, -#endif -#ifndef OPENSSL_NO_CMS - {FT_general, "cms", cms_main, cms_options}, -#endif - {FT_general, "crl", crl_main, crl_options}, - {FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options}, - {FT_general, "dgst", dgst_main, dgst_options}, -#ifndef OPENSSL_NO_DH - {FT_general, "dhparam", dhparam_main, dhparam_options}, -#endif -#ifndef OPENSSL_NO_DSA - {FT_general, "dsa", dsa_main, dsa_options}, -#endif -#ifndef OPENSSL_NO_DSA - {FT_general, "dsaparam", dsaparam_main, dsaparam_options}, -#endif -#ifndef OPENSSL_NO_EC - {FT_general, "ec", ec_main, ec_options}, -#endif -#ifndef OPENSSL_NO_EC - {FT_general, "ecparam", ecparam_main, ecparam_options}, -#endif - {FT_general, "enc", enc_main, enc_options}, -#ifndef OPENSSL_NO_ENGINE - {FT_general, "engine", engine_main, engine_options}, -#endif - {FT_general, "errstr", errstr_main, errstr_options}, - {FT_general, "exit", exit_main, exit_options}, -#ifndef OPENSSL_NO_DSA - {FT_general, "gendsa", gendsa_main, gendsa_options}, -#endif - {FT_general, "genpkey", genpkey_main, genpkey_options}, -#ifndef OPENSSL_NO_RSA - {FT_general, "genrsa", genrsa_main, genrsa_options}, -#endif - {FT_general, "help", help_main, help_options}, - {FT_general, "list", list_main, list_options}, - {FT_general, "nseq", nseq_main, nseq_options}, -#ifndef OPENSSL_NO_OCSP - {FT_general, "ocsp", ocsp_main, ocsp_options}, -#endif - {FT_general, "passwd", passwd_main, passwd_options}, -#ifndef OPENSSL_NO_DES - {FT_general, "pkcs12", pkcs12_main, pkcs12_options}, -#endif - {FT_general, "pkcs7", pkcs7_main, pkcs7_options}, - {FT_general, "pkcs8", pkcs8_main, pkcs8_options}, - {FT_general, "pkey", pkey_main, pkey_options}, - {FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options}, - {FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options}, - {FT_general, "prime", prime_main, prime_options}, - {FT_general, "rand", rand_main, rand_options}, - {FT_general, "rehash", rehash_main, rehash_options}, - {FT_general, "req", req_main, req_options}, - {FT_general, "rsa", rsa_main, rsa_options}, -#ifndef OPENSSL_NO_RSA - {FT_general, "rsautl", rsautl_main, rsautl_options}, -#endif -#ifndef OPENSSL_NO_SOCK - {FT_general, "s_client", s_client_main, s_client_options}, -#endif -#ifndef OPENSSL_NO_SOCK - {FT_general, "s_server", s_server_main, s_server_options}, -#endif -#ifndef OPENSSL_NO_SOCK - {FT_general, "s_time", s_time_main, s_time_options}, -#endif - {FT_general, "sess_id", sess_id_main, sess_id_options}, - {FT_general, "smime", smime_main, smime_options}, - {FT_general, "speed", speed_main, speed_options}, - {FT_general, "spkac", spkac_main, spkac_options}, -#ifndef OPENSSL_NO_SRP - {FT_general, "srp", srp_main, srp_options}, -#endif -#ifndef OPENSSL_NO_TS - {FT_general, "ts", ts_main, ts_options}, -#endif - {FT_general, "verify", verify_main, verify_options}, - {FT_general, "version", version_main, version_options}, - {FT_general, "x509", x509_main, x509_options}, -#ifndef OPENSSL_NO_MD2 - {FT_md, "md2", dgst_main}, -#endif -#ifndef OPENSSL_NO_MD4 - {FT_md, "md4", dgst_main}, -#endif - {FT_md, "md5", dgst_main}, -#ifndef OPENSSL_NO_GOST - {FT_md, "gost", dgst_main}, -#endif - {FT_md, "sha1", dgst_main}, - {FT_md, "sha224", dgst_main}, - {FT_md, "sha256", dgst_main}, - {FT_md, "sha384", dgst_main}, - {FT_md, "sha512", dgst_main}, -#ifndef OPENSSL_NO_MDC2 - {FT_md, "mdc2", dgst_main}, -#endif -#ifndef OPENSSL_NO_RMD160 - {FT_md, "rmd160", dgst_main}, -#endif -#ifndef OPENSSL_NO_BLAKE2 - {FT_md, "blake2b512", dgst_main}, -#endif -#ifndef OPENSSL_NO_BLAKE2 - {FT_md, "blake2s256", dgst_main}, -#endif - {FT_cipher, "aes-128-cbc", enc_main, enc_options}, - {FT_cipher, "aes-128-ecb", enc_main, enc_options}, - {FT_cipher, "aes-192-cbc", enc_main, enc_options}, - {FT_cipher, "aes-192-ecb", enc_main, enc_options}, - {FT_cipher, "aes-256-cbc", enc_main, enc_options}, - {FT_cipher, "aes-256-ecb", enc_main, enc_options}, -#ifndef OPENSSL_NO_CAMELLIA - {FT_cipher, "camellia-128-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAMELLIA - {FT_cipher, "camellia-128-ecb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAMELLIA - {FT_cipher, "camellia-192-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAMELLIA - {FT_cipher, "camellia-192-ecb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAMELLIA - {FT_cipher, "camellia-256-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAMELLIA - {FT_cipher, "camellia-256-ecb", enc_main, enc_options}, -#endif - {FT_cipher, "base64", enc_main, enc_options}, -#ifdef ZLIB - {FT_cipher, "zlib", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des3", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "desx", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_IDEA - {FT_cipher, "idea", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_SEED - {FT_cipher, "seed", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC4 - {FT_cipher, "rc4", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC4 - {FT_cipher, "rc4-40", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC2 - {FT_cipher, "rc2", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_BF - {FT_cipher, "bf", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAST - {FT_cipher, "cast", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC5 - {FT_cipher, "rc5", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ecb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ede", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ede3", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ede-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ede3-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-cfb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ede-cfb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ede3-cfb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ofb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ede-ofb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_DES - {FT_cipher, "des-ede3-ofb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_IDEA - {FT_cipher, "idea-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_IDEA - {FT_cipher, "idea-ecb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_IDEA - {FT_cipher, "idea-cfb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_IDEA - {FT_cipher, "idea-ofb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_SEED - {FT_cipher, "seed-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_SEED - {FT_cipher, "seed-ecb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_SEED - {FT_cipher, "seed-cfb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_SEED - {FT_cipher, "seed-ofb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC2 - {FT_cipher, "rc2-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC2 - {FT_cipher, "rc2-ecb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC2 - {FT_cipher, "rc2-cfb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC2 - {FT_cipher, "rc2-ofb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC2 - {FT_cipher, "rc2-64-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC2 - {FT_cipher, "rc2-40-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_BF - {FT_cipher, "bf-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_BF - {FT_cipher, "bf-ecb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_BF - {FT_cipher, "bf-cfb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_BF - {FT_cipher, "bf-ofb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAST - {FT_cipher, "cast5-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAST - {FT_cipher, "cast5-ecb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAST - {FT_cipher, "cast5-cfb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAST - {FT_cipher, "cast5-ofb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_CAST - {FT_cipher, "cast-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC5 - {FT_cipher, "rc5-cbc", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC5 - {FT_cipher, "rc5-ecb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC5 - {FT_cipher, "rc5-cfb", enc_main, enc_options}, -#endif -#ifndef OPENSSL_NO_RC5 - {FT_cipher, "rc5-ofb", enc_main, enc_options}, -#endif - { 0, NULL, NULL} -}; -#endif 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/, ) { my @foo = /$cmdre/; diff --git a/test/build.info b/test/build.info index 5bb570ed5b..fc09fcbd67 100644 --- a/test/build.info +++ b/test/build.info @@ -331,7 +331,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=MAIN ENDIF SOURCE[uitest]=uitest.c ../apps/apps.c ../apps/opt.c - INCLUDE[uitest]=.. ../include + INCLUDE[uitest]=.. ../include ../apps DEPEND[uitest]=../libcrypto ../libssl libtestutil.a SOURCE[cipherbytes_test]=cipherbytes_test.c diff --git a/test/uitest.c b/test/uitest.c index 855dc45442..68b4b8cbd9 100644 --- a/test/uitest.c +++ b/test/uitest.c @@ -11,7 +11,7 @@ #include #include #include -#include "../apps/apps.h" +#include "apps.h" #include "testutil.h" /* apps/apps.c depend on these */