2016-02-10 09:18:38 +08:00
|
|
|
{- use File::Spec::Functions qw/catdir rel2abs/; -}
|
2016-01-30 06:33:10 +08:00
|
|
|
LIBS=libcrypto libssl
|
|
|
|
ORDINALS[libcrypto]=crypto
|
|
|
|
ORDINALS[libssl]=ssl
|
2016-02-10 09:18:38 +08:00
|
|
|
INCLUDE[libcrypto]={- rel2abs(catdir($builddir,"include")) -} . crypto/include include
|
|
|
|
INCLUDE[libssl]={- rel2abs(catdir($builddir,"include")) -} . include
|
2016-01-30 06:33:10 +08:00
|
|
|
DEPEND[libssl]=libcrypto
|
2016-01-30 12:45:29 +08:00
|
|
|
|
|
|
|
IF[{- $config{target} =~ /^Cygwin/ -}]
|
|
|
|
SHARED_NAME[libcrypto]=cygcrypto-{- $config{shlib_major}.".".$config{shlib_minor} -}
|
|
|
|
SHARED_NAME[libssl]=cygssl-{- $config{shlib_major}.".".$config{shlib_minor} -}
|
|
|
|
ELSIF[{- $config{target} =~ /^mingw/ -}]
|
Big rename fest of MingW shared libraries
So far, MingW shared libraries were named like this
libeay32.dll + libeay32.dll.a
ssleay32.dll + ssleay32.dll.a
That naming scheme is antiquated, a reminicense of SSLeay. We're
therefore changing the scheme to something that's more like the rest
of OpenSSL.
There are two factors to remember:
- Windows libraries have no recorded SOvers, which means that the
shared library version must be encoded in the name. According to
some, it's unwise to encode extra periods in a Windows file name,
so we convert version number periods to underscores.
- MingW has multilib ability. However, DLLs need to reside with the
binaries that use them, so to allow both 32-bit and 64-bit DLLs to
reside in the same place, we add '-x64' in the name of the 64-bit
ones.
The resulting name scheme (for SOver 1.1) is this:
on x86:
libcrypto-1_1.dll + libcrypto.dll.a
libssl-1_1.dll + libssl.dll.a
on x86_64:
libcrypto-1_1-x64.dll + libcrypto.dll.a
libssl-1_1-x64.dll + libssl.dll.a
An observation is that the import lib is the same for both
architectures. Not to worry, though, as they will be installed in
PREFIX/lib/ for x86 and PREFIX/lib64/ for x86_64.
As a side effect, MingW got its own targets in Makefile.shared.
link_dso.mingw-shared and link_app.mingw-shared are aliases for the
corresponding cygwin-shared targets. link_shlib.mingw-shared is,
however, a target separated from the cygwin one.
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-17 03:37:28 +08:00
|
|
|
SHARED_NAME[libcrypto]=libcrypto-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
|
|
|
|
SHARED_NAME[libssl]=libssl-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
|
2016-03-06 03:02:05 +08:00
|
|
|
ELSIF[{- $config{target} =~ /^VC-/ -}]
|
|
|
|
SHARED_NAME[libcrypto]=libcrypto-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $config{target} =~ /^VC-WIN64/ ? "-x64" : "" -}
|
|
|
|
SHARED_NAME[libssl]=libssl-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $config{target} =~ /^VC-WIN64/ ? "-x64" : "" -}
|
2016-01-30 12:45:29 +08:00
|
|
|
ENDIF
|
2016-01-30 14:14:58 +08:00
|
|
|
|
|
|
|
# VMS has a cultural standard where all libraries are prefixed.
|
|
|
|
# For OpenSSL, the choice is 'ossl$' (this prefix was claimed in a
|
|
|
|
# conversation with VSI, Tuesday January 26 2016)
|
|
|
|
# Also, it seems it's usual to have a suffix to the shared library name
|
|
|
|
# for the different pointer sizes that were built for.
|
|
|
|
IF[{- $config{target} =~ /^vms/ -}]
|
|
|
|
RENAME[libcrypto]=ossl$libcrypto
|
|
|
|
RENAME[libssl]=ossl$libssl
|
|
|
|
SHARED_NAME[libcrypto]=ossl$libcrypto_shr{- $target{pointer_size} -}
|
|
|
|
SHARED_NAME[libssl]=ossl$libssl_shr{- $target{pointer_size} -}
|
|
|
|
ENDIF
|