diff options
| author | Rod Whitby <rod@whitby.id.au> | 2007-05-05 00:35:09 +0000 |
|---|---|---|
| committer | Rod Whitby <rod@whitby.id.au> | 2007-05-05 00:35:09 +0000 |
| commit | edb488ab04dd2d3fad6cd65ab682ad9c6741e9de (patch) | |
| tree | 855ee653989328a14b8169e9246121b1b6e050e2 /classes/cpan-base.bbclass | |
| parent | e541e99e84defcec930be3621b112384fb9698d2 (diff) | |
| parent | 5b5b45a39e698b3c5e0f5647413a2cb051a991bc (diff) | |
merge of '1e54d761b418c28fcee92e7b7c45f55fe41676a3'
and 'f9d679b49c9ccfedc3565929011b677de9852036'
Diffstat (limited to 'classes/cpan-base.bbclass')
| -rw-r--r-- | classes/cpan-base.bbclass | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/classes/cpan-base.bbclass b/classes/cpan-base.bbclass new file mode 100644 index 0000000000..a5fdb33895 --- /dev/null +++ b/classes/cpan-base.bbclass @@ -0,0 +1,55 @@ +# +# cpan-base providers various perl related information needed for building +# cpan modules +# +FILES_${PN} += "${libdir}/perl5 ${datadir}/perl5" + +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" + +# 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)}" + +FILES_${PN}-dbg += "${PERLLIBDIRS}/auto/*/.debug \ + ${PERLLIBDIRS}/auto/*/*/.debug \ + ${PERLLIBDIRS}/auto/*/*/*/.debug" |
