mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
520f434b42
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>
28 lines
1.3 KiB
Plaintext
28 lines
1.3 KiB
Plaintext
{- use File::Spec::Functions qw/catdir rel2abs/; -}
|
|
LIBS=libcrypto libssl
|
|
ORDINALS[libcrypto]=crypto
|
|
ORDINALS[libssl]=ssl
|
|
INCLUDE[libcrypto]={- rel2abs(catdir($builddir,"include")) -} . crypto/include include
|
|
INCLUDE[libssl]={- rel2abs(catdir($builddir,"include")) -} . include
|
|
DEPEND[libssl]=libcrypto
|
|
|
|
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/ -}]
|
|
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" : "" -}
|
|
ENDIF
|
|
|
|
# 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
|