build.info 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. ELSE
  34. GENERATE[libcrypto.map]=util/mkdef.pl crypto linux
  35. DEPEND[libcrypto.map]=util/libcrypto.num
  36. GENERATE[libssl.map]=util/mkdef.pl ssl linux
  37. DEPEND[libssl.map]=util/libssl.num
  38. SHARED_SOURCE[libcrypto]=libcrypto.map
  39. SHARED_SOURCE[libssl]=libssl.map
  40. ENDIF
  41. ENDIF
  42. # VMS and VC don't have parametrised .def / .symvec generation, so they get
  43. # special treatment, since we know they do use these files
  44. IF[{- $config{target} =~ /^VC-/ -}]
  45. GENERATE[libcrypto.def]=util/mkdef.pl crypto 32
  46. DEPEND[libcrypto.def]=util/libcrypto.num
  47. GENERATE[libssl.def]=util/mkdef.pl ssl 32
  48. DEPEND[libssl.def]=util/libssl.num
  49. SHARED_SOURCE[libcrypto]=libcrypto.def
  50. SHARED_SOURCE[libssl]=libssl.def
  51. ELSIF[{- $config{target} =~ /^vms/ -}]
  52. GENERATE[libcrypto.opt]=util/mkdef.pl crypto "VMS"
  53. DEPEND[libcrypto.opt]=util/libcrypto.num
  54. GENERATE[libssl.opt]=util/mkdef.pl ssl "VMS"
  55. DEPEND[libssl.opt]=util/libssl.num
  56. SHARED_SOURCE[libcrypto]=libcrypto.opt
  57. SHARED_SOURCE[libssl]=libssl.opt
  58. ENDIF
  59. IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
  60. GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto
  61. GENERATE[libssl.rc]=util/mkrc.pl libssl
  62. SHARED_SOURCE[libcrypto]=libcrypto.rc
  63. SHARED_SOURCE[libssl]=libssl.rc
  64. ENDIF
  65. IF[{- $config{target} =~ /^Cygwin/ -}]
  66. SHARED_NAME[libcrypto]=cygcrypto-{- $sover_filename -}
  67. SHARED_NAME[libssl]=cygssl-{- $sover_filename -}
  68. ELSIF[{- $config{target} =~ /^mingw/ -}]
  69. SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
  70. SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
  71. ELSIF[{- $config{target} =~ /^VC-/ -}]
  72. SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $target{multilib} -}
  73. SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $target{multilib} -}
  74. ENDIF
  75. # VMS has a cultural standard where all libraries are prefixed.
  76. # For OpenSSL, the choice is 'ossl$' (this prefix was claimed in a
  77. # conversation with VSI, Tuesday January 26 2016)
  78. # Also, it seems it's usual to have the pointer size the libraries
  79. # were built for as part of the name.
  80. IF[{- $config{target} =~ /^vms/ -}]
  81. RENAME[libcrypto]=ossl$libcrypto{- $target{pointer_size} -}
  82. RENAME[libssl]=ossl$libssl{- $target{pointer_size} -}
  83. SHARED_NAME[libcrypto]=ossl$libcrypto{- $sover_filename -}_shr{- $target{pointer_size} -}
  84. SHARED_NAME[libssl]=ossl$libssl{- $sover_filename -}_shr{- $target{pointer_size} -}
  85. ENDIF