Add the possibility to have an extra local OpenSSL configs directory

The environment variable OPENSSL_LOCAL_CONFIG_DIR is used to indicate
that there's a local directory with extra configuration files.

Reviewed-by: Stephen Henson <steve@openssl.org>
This commit is contained in:
Richard Levitte 2016-05-02 16:50:51 +02:00
parent 85e2fe8113
commit b5293d4c8d
1 changed files with 16 additions and 0 deletions

View File

@ -178,6 +178,8 @@ my $srcdir = catdir(absolutedir(dirname($0))); # catdir ensures local syntax
my $blddir = catdir(absolutedir(".")); # catdir ensures local syntax
my $dofile = abs2rel(catfile($srcdir, "util/dofile.pl"));
my $local_config_envname = 'OPENSSL_LOCAL_CONFIG_DIR';
$config{sourcedir} = abs2rel($srcdir);
$config{builddir} = abs2rel($blddir);
@ -212,6 +214,20 @@ foreach (sort glob($pattern) ) {
&read_config($_);
}
if (defined $ENV{$local_config_envname}) {
if ($^O eq 'VMS') {
# VMS environment variables are logical names,
# which can be used as is
$pattern = $local_config_envname . ':' . '*.conf';
} else {
$pattern = catfile($ENV{$local_config_envname}, '*.conf');
}
foreach (sort glob($pattern) ) {
&read_config($_);
}
}
print "Configuring OpenSSL version $config{version} (0x$config{version_num})\n";