perl.conf 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # tag:perl-specific
  2. when ($USE_LOCAL_TOOLS == "yes") {
  3. PERL=$LOCAL_PERL
  4. PERL_VERSION=$LOCAL_PERL_VERSION
  5. PERL_PRIVLIB=$LOCAL_PERL_PRIVLIB
  6. PERL_ARCHLIB=$LOCAL_PERL_ARCHLIB
  7. when ($LOCAL_PERL_LIBS) {
  8. PERL_LIBS=$LOCAL_PERL_LIBS
  9. }
  10. }
  11. otherwise {
  12. PERL=NO-PERL-SELECTED
  13. PERL_VERSION=NO-PERL-SELECTED-VERSION
  14. PERL_PRIVLIB=NO-PERL-SELECTED-PRIVLIB
  15. PERL_ARCHLIB=NO-PERL-SELECTED-ARCHLIB
  16. }
  17. # tag:perl-specific
  18. PERL_LD_LIBRARY_PATH=
  19. PERL_INCLUDE=
  20. USE_PERL_SYSTEM=yes
  21. when ($USE_PERL_SYSTEM == "yes") {
  22. select ($PERL_SDK) {
  23. "ubuntu-12" ? {
  24. PERL_VERSION=5.14
  25. PERL_ROOT=${SYSTEM_PERL_514_RESOURCE_GLOBAL}/perl${PERL_VERSION}
  26. PERL_LIB_ARCH=
  27. }
  28. "ubuntu-14" ? {
  29. PERL_VERSION=5.18
  30. PERL_ROOT=${SYSTEM_PERL_518_RESOURCE_GLOBAL}/perl${PERL_VERSION}
  31. PERL_LIB_ARCH=
  32. }
  33. "ubuntu-16" ? {
  34. PERL_VERSION=5.22
  35. PERL_ROOT=${SYSTEM_PERL_522_RESOURCE_GLOBAL}/perl${PERL_VERSION}
  36. PERL_LIB_ARCH=/x86_64-linux-gnu
  37. }
  38. "ubuntu-18" ? {
  39. PERL_VERSION=5.26
  40. PERL_ROOT=${SYSTEM_PERL_526_RESOURCE_GLOBAL}/perl${PERL_VERSION}
  41. PERL_LIB_ARCH=/x86_64-linux-gnu
  42. }
  43. "ubuntu-20" ? {
  44. PERL_VERSION=5.30
  45. PERL_ROOT=${SYSTEM_PERL_530_RESOURCE_GLOBAL}/usr
  46. PERL_LIB_ARCH=/x86_64-linux-gnu
  47. }
  48. }
  49. PERL=${PERL_ROOT}/bin/perl
  50. PERL_ARCHLIB=${PERL_ROOT}/lib$PERL_LIB_ARCH/perl/${PERL_VERSION}
  51. PERL_PRIVLIB=${PERL_ROOT}/share/perl/${PERL_VERSION}
  52. PERL_LIBS=${PERL_ROOT}/lib${PERL_LIB_ARCH}
  53. PERL_LD_LIBRARY_PATH=${env:"LD_LIBRARY_PATH=${PERL_ROOT}/lib"}
  54. # Perl searches it's modules in INC@ paths. They can not be sysrooted or disabled (at least I haven't found a way),
  55. # so default Perl module directories should be prepended to perl command lines when using non-local perl.
  56. PERL_INCLUDE=-I${PERL_ARCHLIB} -I${PERL_PRIVLIB}
  57. }
  58. # tag:perl-specific
  59. PERL_DEFAULT_PEERDIR=yes
  60. when ($PERL_DEFAULT_PEERDIR == "yes") {
  61. when (($PERLXS == "yes") || ($PERLXSCPP == "yes") || ($USE_PERL == "yes")) {
  62. PEERDIR+=build/platform/perl
  63. }
  64. }
  65. # tag:perl-specific
  66. PERLSUFFIX=-csuffix .cpp
  67. PERLOUTPUT=${stdout;output:SRC.cpp}
  68. when ($PERLC == "yes") {
  69. PERLSUFFIX=-csuffix .c
  70. PERLOUTPUT=${stdout;output:SRC.c}
  71. }
  72. XSUBPPFLAGS=
  73. _XSTYPEMAPS=
  74. macro XSTYPEMAPS(Names...) {
  75. SET_APPEND(_XSTYPEMAPS $Names)
  76. }
  77. # tag:perl-specific
  78. ### @usage: USE_PERL_LIB()
  79. ### Add dependency on Perl to your LIBRARY
  80. macro USE_PERL_LIB() {
  81. PEERDIR(build/platform/perl)
  82. }
  83. # tag:perl-specific
  84. ### @usage: USE_PERL_514_LIB()
  85. ### Add dependency on Perl 5.14 to your LIBRARY
  86. macro USE_PERL_514_LIB() {
  87. SET(PERL_SDK ubuntu-12)
  88. SET(PERL_DEFAULT_PEERDIR no)
  89. PEERDIR(build/platform/perl/5.14)
  90. }
  91. # tag:perl-specific
  92. ### @usage: ADD_PERL_MODULE(Dir ModuleName)
  93. ### Add dependency on specified Perl module to the library
  94. macro ADD_PERL_MODULE(Dir, Module) {
  95. PEERDIR($Dir)
  96. SET_APPEND(modules $Module)
  97. }