| Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | # | 
|  | 2 | # cpan-base providers various perl related information needed for building | 
|  | 3 | # cpan modules | 
|  | 4 | # | 
|  | 5 | FILES_${PN} += "${libdir}/perl ${datadir}/perl" | 
|  | 6 |  | 
|  | 7 | DEPENDS  += "${@["perl", "perl-native"][(bb.data.inherits_class('native', d))]}" | 
|  | 8 | RDEPENDS_${PN} += "${@["perl", ""][(bb.data.inherits_class('native', d))]}" | 
|  | 9 |  | 
|  | 10 | PERL_OWN_DIR = "${@["", "/perl-native"][(bb.data.inherits_class('native', d))]}" | 
|  | 11 |  | 
|  | 12 | # Determine the staged version of perl from the perl configuration file | 
|  | 13 | # Assign vardepvalue, because otherwise signature is changed before and after | 
|  | 14 | # perl is built (from None to real version in config.sh). | 
|  | 15 | get_perl_version[vardepvalue] = "${PERL_OWN_DIR}" | 
|  | 16 | def get_perl_version(d): | 
|  | 17 | import re | 
|  | 18 | cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/config.sh') | 
|  | 19 | try: | 
|  | 20 | f = open(cfg, 'r') | 
|  | 21 | except IOError: | 
|  | 22 | return None | 
|  | 23 | l = f.readlines(); | 
|  | 24 | f.close(); | 
|  | 25 | r = re.compile("^version='(\d*\.\d*\.\d*)'") | 
|  | 26 | for s in l: | 
|  | 27 | m = r.match(s) | 
|  | 28 | if m: | 
|  | 29 | return m.group(1) | 
|  | 30 | return None | 
|  | 31 |  | 
|  | 32 | # Determine where the library directories are | 
|  | 33 | def perl_get_libdirs(d): | 
|  | 34 | libdir = d.getVar('libdir', True) | 
|  | 35 | if is_target(d) == "no": | 
|  | 36 | libdir += '/perl-native' | 
|  | 37 | libdir += '/perl' | 
|  | 38 | return libdir | 
|  | 39 |  | 
|  | 40 | def is_target(d): | 
|  | 41 | if not bb.data.inherits_class('native', d): | 
|  | 42 | return "yes" | 
|  | 43 | return "no" | 
|  | 44 |  | 
|  | 45 | PERLLIBDIRS := "${@perl_get_libdirs(d)}" | 
|  | 46 | PERLVERSION := "${@get_perl_version(d)}" | 
|  | 47 | PERLVERSION[vardepvalue] = "" | 
|  | 48 |  | 
|  | 49 | FILES_${PN}-dbg += "${PERLLIBDIRS}/auto/*/.debug \ | 
|  | 50 | ${PERLLIBDIRS}/auto/*/*/.debug \ | 
|  | 51 | ${PERLLIBDIRS}/auto/*/*/*/.debug \ | 
| Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 52 | ${PERLLIBDIRS}/auto/*/*/*/*/.debug \ | 
|  | 53 | ${PERLLIBDIRS}/auto/*/*/*/*/*/.debug \ | 
| Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 54 | ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/.debug \ | 
|  | 55 | ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/.debug \ | 
|  | 56 | ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/*/.debug \ | 
| Patrick Williams | f1e5d69 | 2016-03-30 15:21:19 -0500 | [diff] [blame] | 57 | ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/*/*/.debug \ | 
|  | 58 | ${PERLLIBDIRS}/vendor_perl/${PERLVERSION}/auto/*/*/*/*/*/.debug \ | 
| Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 59 | " |