diff options
-rw-r--r-- | meta/classes/cpan-base.bbclass | 10 | ||||
-rw-r--r-- | meta/classes/cpan.bbclass | 12 |
2 files changed, 13 insertions, 9 deletions
diff --git a/meta/classes/cpan-base.bbclass b/meta/classes/cpan-base.bbclass index 6cd2aa340f..b5dbdaea81 100644 --- a/meta/classes/cpan-base.bbclass +++ b/meta/classes/cpan-base.bbclass | |||
@@ -7,10 +7,12 @@ FILES_${PN} += "${libdir}/perl ${datadir}/perl" | |||
7 | DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}" | 7 | DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}" |
8 | RDEPENDS += "${@["perl", ""][(bb.data.inherits_class('native', d))]}" | 8 | RDEPENDS += "${@["perl", ""][(bb.data.inherits_class('native', d))]}" |
9 | 9 | ||
10 | PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}" | ||
11 | |||
10 | # Determine the staged version of perl from the perl configuration file | 12 | # Determine the staged version of perl from the perl configuration file |
11 | def get_perl_version(d): | 13 | def get_perl_version(d): |
12 | import re | 14 | import re |
13 | cfg = bb.data.expand('${STAGING_LIBDIR}/perl/config.sh', d) | 15 | cfg = bb.data.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh', d) |
14 | try: | 16 | try: |
15 | f = open(cfg, 'r') | 17 | f = open(cfg, 'r') |
16 | except IOError: | 18 | except IOError: |
@@ -27,8 +29,10 @@ def get_perl_version(d): | |||
27 | # Determine where the library directories are | 29 | # Determine where the library directories are |
28 | def perl_get_libdirs(d): | 30 | def perl_get_libdirs(d): |
29 | libdir = bb.data.getVar('libdir', d, 1) | 31 | libdir = bb.data.getVar('libdir', d, 1) |
30 | libdirs = libdir + '/perl' | 32 | if is_target(d) == "no": |
31 | return libdirs | 33 | libdir += '/perl-native' |
34 | libdir += '/perl' | ||
35 | return libdir | ||
32 | 36 | ||
33 | def is_target(d): | 37 | def is_target(d): |
34 | if not bb.data.inherits_class('native', d): | 38 | if not bb.data.inherits_class('native', d): |
diff --git a/meta/classes/cpan.bbclass b/meta/classes/cpan.bbclass index 9b8431bed0..cbf428d3a2 100644 --- a/meta/classes/cpan.bbclass +++ b/meta/classes/cpan.bbclass | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # This is for perl modules that use the old Makefile.PL build system | 2 | # This is for perl modules that use the old Makefile.PL build system |
3 | # | 3 | # |
4 | inherit cpan-base | 4 | inherit cpan-base perlnative |
5 | 5 | ||
6 | EXTRA_CPANFLAGS ?= "" | 6 | EXTRA_CPANFLAGS ?= "" |
7 | EXTRA_PERLFLAGS ?= "" | 7 | EXTRA_PERLFLAGS ?= "" |
@@ -10,16 +10,16 @@ EXTRA_PERLFLAGS ?= "" | |||
10 | export PERLCONFIGTARGET = "${@is_target(d)}" | 10 | export PERLCONFIGTARGET = "${@is_target(d)}" |
11 | 11 | ||
12 | # Env var which tells perl where the perl include files are | 12 | # Env var which tells perl where the perl include files are |
13 | export PERL_INC = "${STAGING_LIBDIR}/perl/${@get_perl_version(d)}/CORE" | 13 | export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE" |
14 | export PERL_LIB = "${STAGING_LIBDIR}/perl/${@get_perl_version(d)}" | 14 | export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" |
15 | export PERL_ARCHLIB = "${STAGING_LIBDIR}/perl/${@get_perl_version(d)}" | 15 | export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}" |
16 | export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl/${@get_perl_version(d)}/" | 16 | export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${@get_perl_version(d)}/" |
17 | 17 | ||
18 | cpan_do_configure () { | 18 | cpan_do_configure () { |
19 | export PERL5LIB="${PERL_ARCHLIB}" | 19 | export PERL5LIB="${PERL_ARCHLIB}" |
20 | yes '' | perl ${EXTRA_PERLFLAGS} Makefile.PL ${EXTRA_CPANFLAGS} | 20 | yes '' | perl ${EXTRA_PERLFLAGS} Makefile.PL ${EXTRA_CPANFLAGS} |
21 | if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then | 21 | if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then |
22 | . ${STAGING_LIBDIR}/perl/config.sh | 22 | . ${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh |
23 | # Use find since there can be a Makefile generated for each Makefile.PL | 23 | # Use find since there can be a Makefile generated for each Makefile.PL |
24 | for f in `find -name Makefile.PL`; do | 24 | for f in `find -name Makefile.PL`; do |
25 | f2=`echo $f | sed -e 's/.PL//'` | 25 | f2=`echo $f | sed -e 's/.PL//'` |