| 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 |