summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/native.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes-recipe/native.bbclass')
-rw-r--r--meta/classes-recipe/native.bbclass45
1 files changed, 27 insertions, 18 deletions
diff --git a/meta/classes-recipe/native.bbclass b/meta/classes-recipe/native.bbclass
index 84a3ec65da..625975a694 100644
--- a/meta/classes-recipe/native.bbclass
+++ b/meta/classes-recipe/native.bbclass
@@ -40,11 +40,6 @@ HOST_CC_ARCH = "${BUILD_CC_ARCH}"
40HOST_LD_ARCH = "${BUILD_LD_ARCH}" 40HOST_LD_ARCH = "${BUILD_LD_ARCH}"
41HOST_AS_ARCH = "${BUILD_AS_ARCH}" 41HOST_AS_ARCH = "${BUILD_AS_ARCH}"
42 42
43CPPFLAGS = "${BUILD_CPPFLAGS}"
44CFLAGS = "${BUILD_CFLAGS}"
45CXXFLAGS = "${BUILD_CXXFLAGS}"
46LDFLAGS = "${BUILD_LDFLAGS}"
47
48STAGING_BINDIR = "${STAGING_BINDIR_NATIVE}" 43STAGING_BINDIR = "${STAGING_BINDIR_NATIVE}"
49STAGING_BINDIR_CROSS = "${STAGING_BINDIR_NATIVE}" 44STAGING_BINDIR_CROSS = "${STAGING_BINDIR_NATIVE}"
50 45
@@ -58,17 +53,20 @@ PTEST_ENABLED = "0"
58export CONFIG_SITE = "${COREBASE}/meta/site/native" 53export CONFIG_SITE = "${COREBASE}/meta/site/native"
59 54
60# set the compiler as well. It could have been set to something else 55# set the compiler as well. It could have been set to something else
61export CC = "${BUILD_CC}" 56CC = "${BUILD_CC}"
62export CXX = "${BUILD_CXX}" 57CXX = "${BUILD_CXX}"
63export FC = "${BUILD_FC}" 58FC = "${BUILD_FC}"
64export CPP = "${BUILD_CPP}" 59CPP = "${BUILD_CPP}"
65export LD = "${BUILD_LD}" 60LD = "${BUILD_LD}"
66export CCLD = "${BUILD_CCLD}" 61CCLD = "${BUILD_CCLD}"
67export AR = "${BUILD_AR}" 62AR = "${BUILD_AR}"
68export AS = "${BUILD_AS}" 63AS = "${BUILD_AS}"
69export RANLIB = "${BUILD_RANLIB}" 64RANLIB = "${BUILD_RANLIB}"
70export STRIP = "${BUILD_STRIP}" 65STRIP = "${BUILD_STRIP}"
71export NM = "${BUILD_NM}" 66NM = "${BUILD_NM}"
67OBJCOPY = "${BUILD_OBJCOPY}"
68OBJDUMP = "${BUILD_OBJDUMP}"
69READELF = "${BUILD_READELF}"
72 70
73# Path prefixes 71# Path prefixes
74base_prefix = "${STAGING_DIR_NATIVE}" 72base_prefix = "${STAGING_DIR_NATIVE}"
@@ -124,6 +122,7 @@ SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
124INHIBIT_SYSROOT_STRIP ?= "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}" 122INHIBIT_SYSROOT_STRIP ?= "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}"
125 123
126python native_virtclass_handler () { 124python native_virtclass_handler () {
125 import re
127 pn = e.data.getVar("PN") 126 pn = e.data.getVar("PN")
128 if not pn.endswith("-native"): 127 if not pn.endswith("-native"):
129 return 128 return
@@ -163,10 +162,20 @@ python native_virtclass_handler () {
163 newdeps.append(dep.replace(pn, bpn) + "-native") 162 newdeps.append(dep.replace(pn, bpn) + "-native")
164 else: 163 else:
165 newdeps.append(dep) 164 newdeps.append(dep)
166 d.setVar(varname, " ".join(newdeps)) 165 output_varname = varname
166 # Handle ${PN}-xxx -> ${BPN}-xxx-native
167 if suffix != "${PN}" and "${PN}" in suffix:
168 output_varname = varname.replace("${PN}", "${BPN}") + "-native"
169 d.renameVar(varname, output_varname)
170 d.setVar(output_varname, " ".join(newdeps))
167 171
168 map_dependencies("DEPENDS", e.data, selfref=False) 172 map_dependencies("DEPENDS", e.data, selfref=False)
169 for pkg in e.data.getVar("PACKAGES", False).split(): 173 # We need to handle things like ${@bb.utils.contains('PTEST_ENABLED', '1', '${PN}-ptest', '', d)}
174 # and not pass ${PN}-test since in the native case it would be ignored. This does mean we ignore
175 # anonymous python derived PACKAGES entries.
176 for pkg in re.split(r"\${@(?:{.*?}|.)+?}|\s", d.getVar("PACKAGES", False)):
177 if not pkg:
178 continue
170 map_dependencies("RDEPENDS", e.data, pkg) 179 map_dependencies("RDEPENDS", e.data, pkg)
171 map_dependencies("RRECOMMENDS", e.data, pkg) 180 map_dependencies("RRECOMMENDS", e.data, pkg)
172 map_dependencies("RSUGGESTS", e.data, pkg) 181 map_dependencies("RSUGGESTS", e.data, pkg)