build.info 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # Note that some of these directories are filtered in Configure. Look for
  2. # %skipdir there for further explanations.
  3. SUBDIRS=crypto ssl apps test util tools fuzz engines
  4. {-
  5. use File::Spec::Functions;
  6. our $sover = $config{shlib_version_number};
  7. our $sover_filename = $sover;
  8. $sover_filename =~ s|\.|_|g
  9. if $config{target} =~ /^mingw/ || $config{target} =~ /^VC-/;
  10. $sover_filename =
  11. sprintf "%02d%02d", split m|\.|, $config{shlib_version_number}
  12. if $config{target} =~ /^vms/;
  13. "";
  14. -}
  15. LIBS=libcrypto libssl
  16. INCLUDE[libcrypto]=. crypto/include include
  17. INCLUDE[libssl]=. include
  18. DEPEND[libssl]=libcrypto
  19. # Empty DEPEND "indices" means the dependencies are expected to be built
  20. # unconditionally before anything else.
  21. DEPEND[]=include/openssl/opensslconf.h crypto/include/internal/bn_conf.h \
  22. crypto/include/internal/dso_conf.h doc/man7/openssl_user_macros.pod
  23. DEPEND[include/openssl/opensslconf.h]=configdata.pm
  24. GENERATE[include/openssl/opensslconf.h]=include/openssl/opensslconf.h.in
  25. DEPEND[crypto/include/internal/bn_conf.h]=configdata.pm
  26. GENERATE[crypto/include/internal/bn_conf.h]=crypto/include/internal/bn_conf.h.in
  27. DEPEND[crypto/include/internal/dso_conf.h]=configdata.pm
  28. GENERATE[crypto/include/internal/dso_conf.h]=crypto/include/internal/dso_conf.h.in
  29. DEPEND[doc/man7/openssl_user_macros.pod]=configdata.pm
  30. GENERATE[doc/man7/openssl_user_macros.pod]=doc/man7/openssl_user_macros.pod.in
  31. IF[{- defined $target{shared_defflag} -}]
  32. SHARED_SOURCE[libcrypto]=libcrypto.ld
  33. SHARED_SOURCE[libssl]=libssl.ld
  34. GENERATE[libcrypto.ld]=util/libcrypto.num libcrypto
  35. GENERATE[libssl.ld]=util/libssl.num libssl
  36. ENDIF
  37. IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-)/ -}]
  38. GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto
  39. GENERATE[libssl.rc]=util/mkrc.pl libssl
  40. SHARED_SOURCE[libcrypto]=libcrypto.rc
  41. SHARED_SOURCE[libssl]=libssl.rc
  42. ENDIF
  43. IF[{- $config{target} =~ /^Cygwin/ -}]
  44. SHARED_NAME[libcrypto]=cygcrypto-{- $sover_filename -}
  45. SHARED_NAME[libssl]=cygssl-{- $sover_filename -}
  46. ELSIF[{- $config{target} =~ /^mingw/ -}]
  47. SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
  48. SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $config{target} eq "mingw64" ? "-x64" : "" -}
  49. ELSIF[{- $config{target} =~ /^VC-/ -}]
  50. SHARED_NAME[libcrypto]=libcrypto-{- $sover_filename -}{- $target{multilib} -}
  51. SHARED_NAME[libssl]=libssl-{- $sover_filename -}{- $target{multilib} -}
  52. ENDIF
  53. # VMS has a cultural standard where all libraries are prefixed.
  54. # For OpenSSL, the choice is 'ossl$' (this prefix was claimed in a
  55. # conversation with VSI, Tuesday January 26 2016)
  56. # Also, it seems it's usual to have the pointer size the libraries
  57. # were built for as part of the name.
  58. IF[{- $config{target} =~ /^vms/ -}]
  59. RENAME[libcrypto]=ossl$libcrypto{- $target{pointer_size} -}
  60. RENAME[libssl]=ossl$libssl{- $target{pointer_size} -}
  61. SHARED_NAME[libcrypto]=ossl$libcrypto{- $sover_filename -}_shr{- $target{pointer_size} -}
  62. SHARED_NAME[libssl]=ossl$libssl{- $sover_filename -}_shr{- $target{pointer_size} -}
  63. ENDIF