From 4ddd7f2c171d3c97f76b92db5a4117f210e22f57 Mon Sep 17 00:00:00 2001
From: John Eichenberger <john.eichenberger@intermec.com>
Date: Mon, 27 Jan 2014 16:30:27 -0800
Subject: [PATCH] Define a method to rename dynamic libraries

When CRYPTO_PREFIX is defined as an environment variable
that prefix will be used to rename dynamic libraries.

Change-Id: Ie999f570608e736cc36c5caab90be6fddf8e2f4f
---
 Configure        | 7 +++++--
 ms/do_ms.bat     | 4 ++--
 util/mkdef.pl    | 1 +
 util/pl/VC-32.pl | 2 ++
 4 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/Configure b/Configure
index 2091b84..abcbb41 100755
--- a/Configure
+++ b/Configure
@@ -786,6 +786,9 @@ my $symlink;
 my $make_depend=0;
 my %withargs=();
 
+my $crypto_prefix;
+$crypto_prefix = $ENV{'CRYPTO_PREFIX'}	if (defined($ENV{'CRYPTO_PREFIX'}));
+
 my @argvcopy=@ARGV;
 my $argvstring="";
 my $argv_unprocessed=1;
@@ -2103,10 +2106,10 @@ BEGIN
 	    VALUE "FileVersion", "$version\\0"
 #if defined(CRYPTO)
 	    VALUE "InternalName", "libeay32\\0"
-	    VALUE "OriginalFilename", "libeay32.dll\\0"
+	    VALUE "OriginalFilename", "$crypto_prefix" "libeay32.dll\\0"
 #elif defined(SSL)
 	    VALUE "InternalName", "ssleay32\\0"
-	    VALUE "OriginalFilename", "ssleay32.dll\\0"
+	    VALUE "OriginalFilename", "$crypto_prefix" "ssleay32.dll\\0"
 #elif defined(FIPS)
 	    VALUE "InternalName", "libosslfips\\0"
 	    VALUE "OriginalFilename", "libosslfips.dll\\0"
diff --git a/ms/do_ms.bat b/ms/do_ms.bat
index 55014d3..27a935d 100755
--- a/ms/do_ms.bat
+++ b/ms/do_ms.bat
@@ -7,5 +7,5 @@ perl util\mk1mf.pl no-asm VC-CE >ms\ce.mak
 perl util\mk1mf.pl dll no-asm VC-CE >ms\cedll.mak
 :skipce
 
-perl util\mkdef.pl 32 libeay > ms\libeay32.def
-perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
+perl util\mkdef.pl 32 libeay > ms\%CRYPTO_PREFIX%libeay32.def
+perl util\mkdef.pl 32 ssleay > ms\%CRYPTO_PREFIX%ssleay32.def
diff --git a/util/mkdef.pl b/util/mkdef.pl
index 8d74eaa..f1b11fa 100755
--- a/util/mkdef.pl
+++ b/util/mkdef.pl
@@ -255,6 +255,7 @@ if (!$libname) {
 if ($W32 + $W16 + $VMS + $OS2 == 0) {
 	$W32 = 1;
 }
+$libname = $ENV{'CRYPTO_PREFIX'} . $libname		if (defined($ENV{'CRYPTO_PREFIX'}));
 
 # Add extra knowledge
 if ($W16) {
diff --git a/util/pl/VC-32.pl b/util/pl/VC-32.pl
index f9749e4..d2bf066 100644
--- a/util/pl/VC-32.pl
+++ b/util/pl/VC-32.pl
@@ -14,6 +14,8 @@ if ($fips && !$shlib)
 else
 	{
 	$crypto="libeay32";
+	$ssl = $ENV{'CRYPTO_PREFIX'} . $ssl			if (defined($ENV{'CRYPTO_PREFIX'}));
+	$crypto = $ENV{'CRYPTO_PREFIX'} . $crypto	if (defined($ENV{'CRYPTO_PREFIX'}));
 	}
 
 if ($fipscanisterbuild)
-- 
1.8.1.msysgit.1

