From 55764a7c52979405d4d7c07fd92c3c5f64744494 Mon Sep 17 00:00:00 2001 From: Jamie Lenehan Date: Fri, 4 May 2007 01:24:59 +0000 Subject: perl: Extract common functionality from cpan and cpan_build classes into a cpan-base class and update cpan_build to work with the new perl layout that was added with perl 5.8.8. --- classes/cpan.bbclass | 49 ++----------------------------------------------- 1 file changed, 2 insertions(+), 47 deletions(-) (limited to 'classes/cpan.bbclass') diff --git a/classes/cpan.bbclass b/classes/cpan.bbclass index be08c84379..3b1a2b72ca 100644 --- a/classes/cpan.bbclass +++ b/classes/cpan.bbclass @@ -1,54 +1,9 @@ # # This is for perl modules that use the old Makefile.PL build system # -FILES_${PN} += '${libdir}/perl5 ${datadir}/perl5' -EXTRA_CPANFLAGS ?= "" - -DEPENDS += "perl perl-native" -RDEPENDS += "perl" - -# Determine the staged version of perl from the perl configuration file -def get_perl_version(d): - import os, bb, re - cfg = bb.data.expand('${STAGING_DIR}/${HOST_SYS}/perl/config.sh', d) - try: - f = open(cfg, 'r') - except IOError: - return None - l = f.readlines(); - f.close(); - r = re.compile("version='(\d\.\d\.\d)'") - for s in l: - m = r.match(s) - if m: - return m.group(1) - return None - -# Only 5.8.7 and 5.8.4 existed at the time we moved to the new layout -def is_new_perl(d): - ver = get_perl_version(d) - if ver == "5.8.4" or ver == "5.8.7": - return "no" - return "yes" +inherit cpan-base -# Determine where the library directories are -def perl_get_libdirs(d): - import bb - libdir = bb.data.getVar('libdir', d, 1) - if is_new_perl(d) == "yes": - libdirs = libdir + '/perl5' - else: - libdirs = libdir + '/*/*/perl5' - return libdirs - -def is_target(d): - import bb - if not bb.data.inherits_class('native', d): - return "yes" - return "no" - -IS_NEW_PERL = "${@is_new_perl(d)}" -PERLLIBDIRS = "${@perl_get_libdirs(d)}" +EXTRA_CPANFLAGS ?= "" # Env var which tells perl if it should use host (no) or target (yes) settings export PERLCONFIGTARGET = "${@is_target(d)}" -- cgit v1.2.3