123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- # tag:perl-specific
- when ($USE_LOCAL_TOOLS == "yes") {
- PERL=$LOCAL_PERL
- PERL_VERSION=$LOCAL_PERL_VERSION
- PERL_PRIVLIB=$LOCAL_PERL_PRIVLIB
- PERL_ARCHLIB=$LOCAL_PERL_ARCHLIB
- when ($LOCAL_PERL_LIBS) {
- PERL_LIBS=$LOCAL_PERL_LIBS
- }
- }
- otherwise {
- PERL=NO-PERL-SELECTED
- PERL_VERSION=NO-PERL-SELECTED-VERSION
- PERL_PRIVLIB=NO-PERL-SELECTED-PRIVLIB
- PERL_ARCHLIB=NO-PERL-SELECTED-ARCHLIB
- }
- # tag:perl-specific
- PERL_LD_LIBRARY_PATH=
- PERL_INCLUDE=
- USE_PERL_SYSTEM=yes
- when ($USE_PERL_SYSTEM == "yes") {
- select ($PERL_SDK) {
- "ubuntu-12" ? {
- PERL_VERSION=5.14
- PERL_ROOT=${SYSTEM_PERL_514_RESOURCE_GLOBAL}/perl${PERL_VERSION}
- PERL_LIB_ARCH=
- }
- "ubuntu-14" ? {
- PERL_VERSION=5.18
- PERL_ROOT=${SYSTEM_PERL_518_RESOURCE_GLOBAL}/perl${PERL_VERSION}
- PERL_LIB_ARCH=
- }
- "ubuntu-16" ? {
- PERL_VERSION=5.22
- PERL_ROOT=${SYSTEM_PERL_522_RESOURCE_GLOBAL}/perl${PERL_VERSION}
- PERL_LIB_ARCH=/x86_64-linux-gnu
- }
- "ubuntu-18" ? {
- PERL_VERSION=5.26
- PERL_ROOT=${SYSTEM_PERL_526_RESOURCE_GLOBAL}/perl${PERL_VERSION}
- PERL_LIB_ARCH=/x86_64-linux-gnu
- }
- "ubuntu-20" ? {
- PERL_VERSION=5.30
- PERL_ROOT=${SYSTEM_PERL_530_RESOURCE_GLOBAL}/usr
- PERL_LIB_ARCH=/x86_64-linux-gnu
- }
- }
- PERL=${PERL_ROOT}/bin/perl
- PERL_ARCHLIB=${PERL_ROOT}/lib$PERL_LIB_ARCH/perl/${PERL_VERSION}
- PERL_PRIVLIB=${PERL_ROOT}/share/perl/${PERL_VERSION}
- PERL_LIBS=${PERL_ROOT}/lib${PERL_LIB_ARCH}
- PERL_LD_LIBRARY_PATH=${env:"LD_LIBRARY_PATH=${PERL_ROOT}/lib"}
- # Perl searches it's modules in INC@ paths. They can not be sysrooted or disabled (at least I haven't found a way),
- # so default Perl module directories should be prepended to perl command lines when using non-local perl.
- PERL_INCLUDE=-I${PERL_ARCHLIB} -I${PERL_PRIVLIB}
- }
- # tag:perl-specific
- PERL_DEFAULT_PEERDIR=yes
- when ($PERL_DEFAULT_PEERDIR == "yes") {
- when (($PERLXS == "yes") || ($PERLXSCPP == "yes") || ($USE_PERL == "yes")) {
- PEERDIR+=build/platform/perl
- }
- }
- # tag:perl-specific
- PERLSUFFIX=-csuffix .cpp
- PERLOUTPUT=${stdout;output:SRC.cpp}
- when ($PERLC == "yes") {
- PERLSUFFIX=-csuffix .c
- PERLOUTPUT=${stdout;output:SRC.c}
- }
- XSUBPPFLAGS=
- _XSTYPEMAPS=
- macro XSTYPEMAPS(Names...) {
- SET_APPEND(_XSTYPEMAPS $Names)
- }
- # tag:perl-specific
- ### @usage: USE_PERL_LIB()
- ### Add dependency on Perl to your LIBRARY
- macro USE_PERL_LIB() {
- PEERDIR(build/platform/perl)
- }
- # tag:perl-specific
- ### @usage: USE_PERL_514_LIB()
- ### Add dependency on Perl 5.14 to your LIBRARY
- macro USE_PERL_514_LIB() {
- SET(PERL_SDK ubuntu-12)
- SET(PERL_DEFAULT_PEERDIR no)
- PEERDIR(build/platform/perl/5.14)
- }
- # tag:perl-specific
- ### @usage: ADD_PERL_MODULE(Dir ModuleName)
- ### Add dependency on specified Perl module to the library
- macro ADD_PERL_MODULE(Dir, Module) {
- PEERDIR($Dir)
- SET_APPEND(modules $Module)
- }
|