From: Richard Levitte Date: Mon, 2 May 2016 14:50:51 +0000 (+0200) Subject: Add the possibility to have an extra local OpenSSL configs directory X-Git-Tag: OpenSSL_1_1_0-pre6~967 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b5293d4c8dde9f71df27723071869ac8b62a0649;p=oweals%2Fopenssl.git 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 --- diff --git a/Configure b/Configure index 90103bbed0..3d36783941 100755 --- a/Configure +++ b/Configure @@ -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";