blob: 269ac9eb31638f3b96bfe28be4bd5e10be00e19b [file] [log] [blame]
Patrick Williams92b42cb2022-09-03 06:53:57 -05001#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6
7PERL_OWN_DIR = ""
8
9# Determine the staged version of perl from the perl configuration file
10# Assign vardepvalue, because otherwise signature is changed before and after
11# perl is built (from None to real version in config.sh).
12get_perl_version[vardepvalue] = "${PERL_OWN_DIR}"
13def get_perl_version(d):
14 import re
15 cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh')
16 try:
17 f = open(cfg, 'r')
18 except IOError:
19 return None
20 l = f.readlines();
21 f.close();
22 r = re.compile(r"^version='(\d*\.\d*\.\d*)'")
23 for s in l:
24 m = r.match(s)
25 if m:
26 return m.group(1)
27 return None
28
29PERLVERSION := "${@get_perl_version(d)}"
30PERLVERSION[vardepvalue] = ""
31
32
33# Determine the staged arch of perl from the perl configuration file
34# Assign vardepvalue, because otherwise signature is changed before and after
35# perl is built (from None to real version in config.sh).
36def get_perl_arch(d):
37 import re
38 cfg = d.expand('${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/config.sh')
39 try:
40 f = open(cfg, 'r')
41 except IOError:
42 return None
43 l = f.readlines();
44 f.close();
45 r = re.compile("^archname='([^']*)'")
46 for s in l:
47 m = r.match(s)
48 if m:
49 return m.group(1)
50 return None
51
52PERLARCH := "${@get_perl_arch(d)}"
53PERLARCH[vardepvalue] = ""
54
55# Determine the staged arch of perl-native from the perl configuration file
56# Assign vardepvalue, because otherwise signature is changed before and after
57# perl is built (from None to real version in config.sh).
58def get_perl_hostarch(d):
59 import re
60 cfg = d.expand('${STAGING_LIBDIR_NATIVE}/perl5/config.sh')
61 try:
62 f = open(cfg, 'r')
63 except IOError:
64 return None
65 l = f.readlines();
66 f.close();
67 r = re.compile("^archname='([^']*)'")
68 for s in l:
69 m = r.match(s)
70 if m:
71 return m.group(1)
72 return None