build.info 4.1 KB

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