2016-02-10 01:18:38 +00:00
|
|
|
{- use File::Spec::Functions qw/catdir rel2abs/; -}
|
2016-01-29 22:33:10 +00:00
|
|
|
LIBS=libcrypto libssl
|
|
|
|
ORDINALS[libcrypto]=crypto
|
|
|
|
ORDINALS[libssl]=ssl
|
2016-05-24 15:41:56 +00:00
|
|
|
INCLUDE[libcrypto]="{- rel2abs(catdir($builddir,"include")) -}" . crypto/include include
|
|
|
|
INCLUDE[libssl]="{- rel2abs(catdir($builddir,"include")) -}" . include
|
2016-01-29 22:33:10 +00:00
|
|
|
DEPEND[libssl]=libcrypto
|
2016-01-30 04:45:29 +00:00
|
|
|
|
2016-06-13 20:01:08 +00:00
|
|
|
# Empty DEPEND "indices" means the dependencies are expected to be built
|
|
|
|
# unconditionally before anything else.
|
|
|
|
DEPEND[]=include/openssl/opensslconf.h crypto/include/internal/bn_conf.h \
|
|
|
|
crypto/include/internal/dso_conf.h
|
|
|
|
DEPEND[include/openssl/opensslconf.h]=configdata.pm
|
|
|
|
GENERATE[include/openssl/opensslconf.h]=include/openssl/opensslconf.h.in
|
|
|
|
DEPEND[crypto/include/internal/bn_conf.h]=configdata.pm
|
|
|
|
GENERATE[crypto/include/internal/bn_conf.h]=crypto/include/internal/bn_conf.h.in
|
|
|
|
DEPEND[crypto/include/internal/dso_conf.h]=configdata.pm
|
|
|
|
GENERATE[crypto/include/internal/dso_conf.h]=crypto/include/internal/dso_conf.h.in
|
|
|
|
|
|
|
|
|
2016-01-30 04:45:29 +00: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-16 19:37:28 +00: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-05 19:02:05 +00:00
|
|
|
ELSIF[{- $config{target} =~ /^VC-/ -}]
|
2016-03-23 19:33:29 +00:00
|
|
|
SHARED_NAME[libcrypto]=libcrypto-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $target{multilib} -}
|
|
|
|
SHARED_NAME[libssl]=libssl-{- $config{shlib_major}."_".$config{shlib_minor} -}{- $target{multilib} -}
|
2016-01-30 04:45:29 +00:00
|
|
|
ENDIF
|
2016-01-30 06:14:58 +00: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
|