Make it possible to get ENGINESDIR info from OpenSSL_versions

Have apps/openssl display the result along with OPENSSLDIR

As part of this, add ENGINESDIR in util/mk1mf.pl

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Richard Levitte 2016-02-10 18:51:15 +01:00
parent 9cc55ddda5
commit e09621ff57
6 changed files with 29 additions and 0 deletions

View File

@ -141,6 +141,7 @@ OPTIONS version_options[] = {
{"a", OPT_A, '-', "Show all data"},
{"b", OPT_B, '-', "Show build date"},
{"d", OPT_D, '-', "Show configuration directory"},
{"e", OPT_D, '-', "Show engines directory"},
{"f", OPT_F, '-', "Show compiler flags used"},
{"o", OPT_O, '-', "Show some internal datatype options"},
{"p", OPT_P, '-', "Show target build platform"},
@ -152,6 +153,7 @@ int version_main(int argc, char **argv)
{
int ret = 1, dirty = 0;
int cflags = 0, version = 0, date = 0, options = 0, platform = 0, dir = 0;
int engdir = 0;
char *prog;
OPTION_CHOICE o;
@ -172,6 +174,9 @@ int version_main(int argc, char **argv)
case OPT_D:
dirty = dir = 1;
break;
case OPT_E:
dirty = engdir = 1;
break;
case OPT_F:
dirty = cflags = 1;
break;
@ -228,6 +233,8 @@ int version_main(int argc, char **argv)
printf("%s\n", OpenSSL_version(OPENSSL_CFLAGS));
if (dir)
printf("%s\n", OpenSSL_version(OPENSSL_DIR));
if (engdir)
printf("%s\n", OpenSSL_version(OPENSSL_ENGINES_DIR));
ret = 0;
end:
return (ret);

View File

@ -100,6 +100,13 @@ const char *OpenSSL_version(int t)
return "OPENSSLDIR: \"" OPENSSLDIR "\"";
#else
return "OPENSSLDIR: N/A";
#endif
}
if (t == OPENSSL_ENGINES_DIR) {
#ifdef ENGINESDIR
return "ENGINESDIR: \"" ENGINESDIR "\"";
#else
return "ENGINESDIR: N/A";
#endif
}
return ("not available");

View File

@ -15,6 +15,7 @@ B<openssl version>
[B<-f>]
[B<-p>]
[B<-d>]
[B<-e>]
=head1 DESCRIPTION
@ -56,6 +57,10 @@ platform setting.
OPENSSLDIR setting.
=item B<-e>
ENGINESDIR setting.
=back
=head1 NOTES

View File

@ -77,6 +77,11 @@ if available or "platform: information not available" otherwise.
The "OPENSSLDIR" setting of the library build in the form "OPENSSLDIR: "...""
if available or "OPENSSLDIR: N/A" otherwise.
=item OPENSSL_ENGINES_DIR
The "ENGINESDIR" setting of the library build in the form "ENGINESDIR: "...""
if available or "ENGINESDIR: N/A" otherwise.
=back
For an unknown B<t>, the text "not available" is returned.

View File

@ -362,6 +362,7 @@ const char *OpenSSL_version(int type);
# define OPENSSL_BUILT_ON 2
# define OPENSSL_PLATFORM 3
# define OPENSSL_DIR 4
# define OPENSSL_ENGINES_DIR 5
int OPENSSL_issetugid(void);

View File

@ -11,6 +11,7 @@ use Cwd;
$INSTALLTOP="/usr/local";
$OPENSSLDIR="/usr/local/ssl";
$ENGINESDIR="/usr/local/lib/engines";
$OPTIONS="";
$ssl_version="";
$banner="\t\@echo Building OpenSSL";
@ -47,6 +48,7 @@ my %mf_import = (
OPTIONS => \$OPTIONS,
INSTALLTOP => \$INSTALLTOP,
OPENSSLDIR => \$OPENSSLDIR,
ENGINESDIR => \$ENGINESDIR,
PLATFORM => \$mf_platform,
CC => \$mf_cc,
CFLAG => \$mf_cflag,
@ -636,6 +638,7 @@ $defs .= $preamble if defined $preamble;
$defs.= <<"EOF";
INSTALLTOP=$INSTALLTOP
OPENSSLDIR=$OPENSSLDIR
ENGINESDIR=$ENGINESDIR
# Set your compiler options
PLATFORM=$platform
@ -770,6 +773,7 @@ install: all
\$(MKDIR) \"\$(INSTALLTOP)${o}include\"
\$(MKDIR) \"\$(INSTALLTOP)${o}include${o}openssl\"
\$(MKDIR) \"\$(INSTALLTOP)${o}lib\"
\$(MKDIR) \"\$(INSTALLTOP)${o}lib${o}engines\"
$extra_install
clean: