# # cpan-base providers various perl related information needed for building # cpan modules # FILES_${PN} += "${libdir}/perl ${datadir}/perl" DEPENDS += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}" RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}" PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}" # Determine the staged version of perl from the perl configuration file # Assign vardepvalue, because otherwise signature is changed before and after # perl is built (from None to real version in config.sh). get_perl_version[vardepvalue] = "${PERL_OWN_DIR}" def get_perl_version(d): import re cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh') 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 # Determine where the library directories are def perl_get_libdirs(d): libdir = d.getVar('libdir', True) if is_target(d) == "no": libdir += '/perl-native' libdir += '/perl' return libdir def is_target(d): if not bb.data.inherits_class('native', d): return "yes" return "no" PERLLIBDIRS := "${@perl_get_libdirs(d)}" PERLVERSION := "${@get_perl_version(d)}" PERLVERSION[vardepvalue] = "" FILES_${PN}-dbg += "${PERLLIBDIRS}/auto/*/.debug \ ${PERLLIBDIRS}/auto/*/*/.debug \ ${PERLLIBDIRS}/auto/*/*/*/.debug \ ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/.debug \ ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/.debug \ ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/*/.debug \ "