{- our $sover = $config{shlib_version_number}; our $sover_filename = $sover; $sover_filename =~ s|\.|_|g if $config{target} =~ /^mingw/ || $config{target} =~ /^VC-/; $sover_filename = sprintf "%02d%02d", split m|\.|, $config{shlib_version_number} if $config{target} =~ /^vms/; ""; -} LIBS=libcrypto libssl INCLUDE[libcrypto]=. crypto/include include INCLUDE[libssl]=. include DEPEND[libssl]=libcrypto # 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 IF[{- defined $target{shared_defflag} -}] IF[{- $config{target} =~ /^mingw/ -}] GENERATE[libcrypto.def]=util/mkdef.pl crypto 32 DEPEND[libcrypto.def]=util/libcrypto.num GENERATE[libssl.def]=util/mkdef.pl ssl 32 DEPEND[libssl.def]=util/libssl.num SHARED_SOURCE[libcrypto]=libcrypto.def SHARED_SOURCE[libssl]=libssl.def ELSE GENERATE[libcrypto.map]=util/mkdef.pl crypto linux DEPEND[libcrypto.map]=util/libcrypto.num GENERATE[libssl.map]=util/mkdef.pl ssl linux DEPEND[libssl.map]=util/libssl.num SHARED_SOURCE[libcrypto]=libcrypto.map SHARED_SOURCE[libssl]=libssl.map ENDIF ENDIF # VMS and VC don't have parametrised .def / .symvec generation, so they get # special treatment, since we know they do use these files IF[{- $config{target} =~ /^VC-/ -}] GENERATE[libcrypto.def]=util/mkdef.pl crypto 32 DEPEND[libcrypto.def]=util/libcrypto.num GENERATE[libssl.def]=util/mkdef.pl ssl 32 DEPEND[libssl.def]=util/libssl.num SHARED_SOURCE[libcrypto]=libcrypto.def SHARED_SOURCE[libssl]=libssl.def ELSIF[{- $config{target} =~ /^vms/ -}] GENERATE[libcrypto.opt]=util/mkdef.pl crypto "VMS" DEPEND[libcrypto.opt]=util/libcrypto.num GENERATE[libssl.opt]=util/mkdef.pl ssl "VMS" DEPEND[libssl.opt]=util/libssl.num SHARED_SOURCE[libcrypto]=libcrypto.opt SHARED_SOURCE[libssl]=libssl.opt ENDIF IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}] GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto GENERATE[libssl.rc]=util/mkrc.pl libssl SHARED_SOURCE[libcrypto]=libcrypto.rc SHARED_SOURCE[libssl]=libssl.rc ENDIF IF[{- $config{target} =~ /^Cygwin/ -}] SHARED_NAME[libcrypto]=cygcrypto-{- $sover_filename -} SHARED_NAME[libssl]=cygssl-{- $sover_filename -} ELSIF[{- $config{target} =~ /^mingw/ -}] SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -} SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -} ELSIF[{- $config{target} =~ /^VC-/ -}] SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $target{multilib} -} SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $target{multilib} -} 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 the pointer size the libraries # were built for as part of the name. IF[{- $config{target} =~ /^vms/ -}] RENAME[libcrypto]=ossl$libcrypto{- $target{pointer_size} -} RENAME[libssl]=ossl$libssl{- $target{pointer_size} -} SHARED_NAME[libcrypto]=ossl$libcrypto{- $sover_filename -}_shr{- $target{pointer_size} -} SHARED_NAME[libssl]=ossl$libssl{- $sover_filename -}_shr{- $target{pointer_size} -} ENDIF