lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame^] | 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 | -} |
| 11 | LIBS=libcrypto libssl |
| 12 | INCLUDE[libcrypto]=. include |
| 13 | INCLUDE[libssl]=. include |
| 14 | DEPEND[libssl]=libcrypto |
| 15 | |
| 16 | # Empty DEPEND "indices" means the dependencies are expected to be built |
| 17 | # unconditionally before anything else. |
| 18 | DEPEND[]=include/openssl/opensslconf.h include/crypto/bn_conf.h \ |
| 19 | include/crypto/dso_conf.h |
| 20 | DEPEND[include/openssl/opensslconf.h]=configdata.pm |
| 21 | GENERATE[include/openssl/opensslconf.h]=include/openssl/opensslconf.h.in |
| 22 | DEPEND[include/crypto/bn_conf.h]=configdata.pm |
| 23 | GENERATE[include/crypto/bn_conf.h]=include/crypto/bn_conf.h.in |
| 24 | DEPEND[include/crypto/dso_conf.h]=configdata.pm |
| 25 | GENERATE[include/crypto/dso_conf.h]=include/crypto/dso_conf.h.in |
| 26 | |
| 27 | IF[{- 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 |
| 53 | ENDIF |
| 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 |
| 56 | IF[{- $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 |
| 64 | ELSIF[{- $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 |
| 72 | ENDIF |
| 73 | |
| 74 | IF[{- $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 |
| 80 | ENDIF |
| 81 | |
| 82 | IF[{- $config{target} =~ /^Cygwin/ -}] |
| 83 | SHARED_NAME[libcrypto]=cygcrypto-{- $sover_filename -} |
| 84 | SHARED_NAME[libssl]=cygssl-{- $sover_filename -} |
| 85 | ELSIF[{- $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" : "" -} |
| 88 | ELSIF[{- $config{target} =~ /^VC-/ -}] |
| 89 | SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $target{multilib} -} |
| 90 | SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $target{multilib} -} |
| 91 | ENDIF |
| 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. |
| 98 | IF[{- $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} -} |
| 103 | ENDIF |