1{- 2 our $sover = $config{shlib_version_number}; 3 our $sover_filename = $sover; 4 $sover_filename =~ s|\.|_|g 5 if $config{target} =~ /^mingw/ || $config{target} =~ /^VC-/; 6 $sover_filename = 7 sprintf "%02d%02d", split m|\.|, $config{shlib_version_number} 8 if $config{target} =~ /^vms/; 9 ""; 10-} 11LIBS=libcrypto libssl 12INCLUDE[libcrypto]=. include 13INCLUDE[libssl]=. include 14DEPEND[libssl]=libcrypto 15 16# Empty DEPEND "indices" means the dependencies are expected to be built 17# unconditionally before anything else. 18DEPEND[]=include/openssl/opensslconf.h include/crypto/bn_conf.h \ 19 include/crypto/dso_conf.h 20DEPEND[include/openssl/opensslconf.h]=configdata.pm 21GENERATE[include/openssl/opensslconf.h]=include/openssl/opensslconf.h.in 22DEPEND[include/crypto/bn_conf.h]=configdata.pm 23GENERATE[include/crypto/bn_conf.h]=include/crypto/bn_conf.h.in 24DEPEND[include/crypto/dso_conf.h]=configdata.pm 25GENERATE[include/crypto/dso_conf.h]=include/crypto/dso_conf.h.in 26 27IF[{- defined $target{shared_defflag} -}] 28 IF[{- $config{target} =~ /^mingw/ -}] 29 GENERATE[libcrypto.def]=util/mkdef.pl crypto 32 30 DEPEND[libcrypto.def]=util/libcrypto.num 31 GENERATE[libssl.def]=util/mkdef.pl ssl 32 32 DEPEND[libssl.def]=util/libssl.num 33 34 SHARED_SOURCE[libcrypto]=libcrypto.def 35 SHARED_SOURCE[libssl]=libssl.def 36 ELSIF[{- $config{target} =~ /^aix/ -}] 37 GENERATE[libcrypto.map]=util/mkdef.pl crypto aix 38 DEPEND[libcrypto.map]=util/libcrypto.num 39 GENERATE[libssl.map]=util/mkdef.pl ssl aix 40 DEPEND[libssl.map]=util/libssl.num 41 42 SHARED_SOURCE[libcrypto]=libcrypto.map 43 SHARED_SOURCE[libssl]=libssl.map 44 ELSE 45 GENERATE[libcrypto.map]=util/mkdef.pl crypto linux 46 DEPEND[libcrypto.map]=util/libcrypto.num 47 GENERATE[libssl.map]=util/mkdef.pl ssl linux 48 DEPEND[libssl.map]=util/libssl.num 49 50 SHARED_SOURCE[libcrypto]=libcrypto.map 51 SHARED_SOURCE[libssl]=libssl.map 52 ENDIF 53ENDIF 54# VMS and VC don't have parametrised .def / .symvec generation, so they get 55# special treatment, since we know they do use these files 56IF[{- $config{target} =~ /^VC-/ -}] 57 GENERATE[libcrypto.def]=util/mkdef.pl crypto 32 58 DEPEND[libcrypto.def]=util/libcrypto.num 59 GENERATE[libssl.def]=util/mkdef.pl ssl 32 60 DEPEND[libssl.def]=util/libssl.num 61 62 SHARED_SOURCE[libcrypto]=libcrypto.def 63 SHARED_SOURCE[libssl]=libssl.def 64ELSIF[{- $config{target} =~ /^vms/ -}] 65 GENERATE[libcrypto.opt]=util/mkdef.pl crypto "VMS" 66 DEPEND[libcrypto.opt]=util/libcrypto.num 67 GENERATE[libssl.opt]=util/mkdef.pl ssl "VMS" 68 DEPEND[libssl.opt]=util/libssl.num 69 70 SHARED_SOURCE[libcrypto]=libcrypto.opt 71 SHARED_SOURCE[libssl]=libssl.opt 72ENDIF 73 74IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}] 75 GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto 76 GENERATE[libssl.rc]=util/mkrc.pl libssl 77 78 SHARED_SOURCE[libcrypto]=libcrypto.rc 79 SHARED_SOURCE[libssl]=libssl.rc 80ENDIF 81 82IF[{- $config{target} =~ /^Cygwin/ -}] 83 SHARED_NAME[libcrypto]=cygcrypto-{- $sover_filename -} 84 SHARED_NAME[libssl]=cygssl-{- $sover_filename -} 85ELSIF[{- $config{target} =~ /^mingw/ -}] 86 SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -} 87 SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -} 88ELSIF[{- $config{target} =~ /^VC-/ -}] 89 SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $target{multilib} -} 90 SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $target{multilib} -} 91ENDIF 92 93# VMS has a cultural standard where all libraries are prefixed. 94# For OpenSSL, the choice is 'ossl$' (this prefix was claimed in a 95# conversation with VSI, Tuesday January 26 2016) 96# Also, it seems it's usual to have the pointer size the libraries 97# were built for as part of the name. 98IF[{- $config{target} =~ /^vms/ -}] 99 RENAME[libcrypto]=ossl$libcrypto{- $target{pointer_size} -} 100 RENAME[libssl]=ossl$libssl{- $target{pointer_size} -} 101 SHARED_NAME[libcrypto]=ossl$libcrypto{- $sover_filename -}_shr{- $target{pointer_size} -} 102 SHARED_NAME[libssl]=ossl$libssl{- $sover_filename -}_shr{- $target{pointer_size} -} 103ENDIF 104