From b5293d4c8dde9f71df27723071869ac8b62a0649 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Mon, 2 May 2016 16:50:51 +0200 Subject: [PATCH] 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 --- Configure | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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";