diff options
Diffstat (limited to 'meta/classes/native.bbclass')
-rw-r--r-- | meta/classes/native.bbclass | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass deleted file mode 100644 index a0838e41b9..0000000000 --- a/meta/classes/native.bbclass +++ /dev/null | |||
@@ -1,193 +0,0 @@ | |||
1 | # We want native packages to be relocatable | ||
2 | inherit relocatable | ||
3 | |||
4 | # Native packages are built indirectly via dependency, | ||
5 | # no need for them to be a direct target of 'world' | ||
6 | EXCLUDE_FROM_WORLD = "1" | ||
7 | |||
8 | PACKAGE_ARCH = "${BUILD_ARCH}" | ||
9 | |||
10 | # used by cmake class | ||
11 | OECMAKE_RPATH = "${libdir}" | ||
12 | OECMAKE_RPATH_class-native = "${libdir}" | ||
13 | |||
14 | TARGET_ARCH = "${BUILD_ARCH}" | ||
15 | TARGET_OS = "${BUILD_OS}" | ||
16 | TARGET_VENDOR = "${BUILD_VENDOR}" | ||
17 | TARGET_PREFIX = "${BUILD_PREFIX}" | ||
18 | TARGET_CC_ARCH = "${BUILD_CC_ARCH}" | ||
19 | TARGET_LD_ARCH = "${BUILD_LD_ARCH}" | ||
20 | TARGET_AS_ARCH = "${BUILD_AS_ARCH}" | ||
21 | TARGET_CPPFLAGS = "${BUILD_CPPFLAGS}" | ||
22 | TARGET_CFLAGS = "${BUILD_CFLAGS}" | ||
23 | TARGET_CXXFLAGS = "${BUILD_CXXFLAGS}" | ||
24 | TARGET_LDFLAGS = "${BUILD_LDFLAGS}" | ||
25 | TARGET_FPU = "" | ||
26 | |||
27 | HOST_ARCH = "${BUILD_ARCH}" | ||
28 | HOST_OS = "${BUILD_OS}" | ||
29 | HOST_VENDOR = "${BUILD_VENDOR}" | ||
30 | HOST_PREFIX = "${BUILD_PREFIX}" | ||
31 | HOST_CC_ARCH = "${BUILD_CC_ARCH}" | ||
32 | HOST_LD_ARCH = "${BUILD_LD_ARCH}" | ||
33 | HOST_AS_ARCH = "${BUILD_AS_ARCH}" | ||
34 | |||
35 | CPPFLAGS = "${BUILD_CPPFLAGS}" | ||
36 | CFLAGS = "${BUILD_CFLAGS}" | ||
37 | CXXFLAGS = "${BUILD_CXXFLAGS}" | ||
38 | LDFLAGS = "${BUILD_LDFLAGS}" | ||
39 | |||
40 | STAGING_BINDIR = "${STAGING_BINDIR_NATIVE}" | ||
41 | STAGING_BINDIR_CROSS = "${STAGING_BINDIR_NATIVE}" | ||
42 | |||
43 | # native pkg doesn't need the TOOLCHAIN_OPTIONS. | ||
44 | TOOLCHAIN_OPTIONS = "" | ||
45 | |||
46 | # Don't build ptest natively | ||
47 | PTEST_ENABLED = "0" | ||
48 | |||
49 | # Don't use site files for native builds | ||
50 | export CONFIG_SITE = "${COREBASE}/meta/site/native" | ||
51 | |||
52 | # set the compiler as well. It could have been set to something else | ||
53 | export CC = "${BUILD_CC}" | ||
54 | export CXX = "${BUILD_CXX}" | ||
55 | export FC = "${BUILD_FC}" | ||
56 | export CPP = "${BUILD_CPP}" | ||
57 | export LD = "${BUILD_LD}" | ||
58 | export CCLD = "${BUILD_CCLD}" | ||
59 | export AR = "${BUILD_AR}" | ||
60 | export AS = "${BUILD_AS}" | ||
61 | export RANLIB = "${BUILD_RANLIB}" | ||
62 | export STRIP = "${BUILD_STRIP}" | ||
63 | export NM = "${BUILD_NM}" | ||
64 | |||
65 | # Path prefixes | ||
66 | base_prefix = "${STAGING_DIR_NATIVE}" | ||
67 | prefix = "${STAGING_DIR_NATIVE}${prefix_native}" | ||
68 | exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}" | ||
69 | |||
70 | bindir = "${STAGING_BINDIR_NATIVE}" | ||
71 | sbindir = "${STAGING_SBINDIR_NATIVE}" | ||
72 | base_libdir = "${STAGING_LIBDIR_NATIVE}" | ||
73 | libdir = "${STAGING_LIBDIR_NATIVE}" | ||
74 | includedir = "${STAGING_INCDIR_NATIVE}" | ||
75 | sysconfdir = "${STAGING_ETCDIR_NATIVE}" | ||
76 | datadir = "${STAGING_DATADIR_NATIVE}" | ||
77 | |||
78 | baselib = "lib" | ||
79 | |||
80 | export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir} /lib /lib64 /usr/lib /usr/lib64" | ||
81 | |||
82 | NATIVE_PACKAGE_PATH_SUFFIX ?= "" | ||
83 | bindir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" | ||
84 | sbindir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" | ||
85 | base_libdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" | ||
86 | libdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" | ||
87 | libexecdir .= "${NATIVE_PACKAGE_PATH_SUFFIX}" | ||
88 | |||
89 | do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_NATIVE}/" | ||
90 | do_populate_sysroot[sstate-outputdirs] = "${COMPONENTS_DIR}/${PACKAGE_ARCH}/${PN}" | ||
91 | |||
92 | # Since we actually install these into situ there is no staging prefix | ||
93 | STAGING_DIR_HOST = "" | ||
94 | STAGING_DIR_TARGET = "" | ||
95 | PKG_CONFIG_DIR = "${libdir}/pkgconfig" | ||
96 | |||
97 | EXTRA_NATIVE_PKGCONFIG_PATH ?= "" | ||
98 | PKG_CONFIG_PATH .= "${EXTRA_NATIVE_PKGCONFIG_PATH}" | ||
99 | PKG_CONFIG_SYSROOT_DIR = "" | ||
100 | PKG_CONFIG_SYSTEM_LIBRARY_PATH[unexport] = "1" | ||
101 | PKG_CONFIG_SYSTEM_INCLUDE_PATH[unexport] = "1" | ||
102 | |||
103 | # we dont want libc-*libc to kick in for native recipes | ||
104 | LIBCOVERRIDE = "" | ||
105 | CLASSOVERRIDE = "class-native" | ||
106 | MACHINEOVERRIDES = "" | ||
107 | MACHINE_FEATURES = "" | ||
108 | |||
109 | PATH_prepend = "${COREBASE}/scripts/native-intercept:" | ||
110 | |||
111 | # This class encodes staging paths into its scripts data so can only be | ||
112 | # reused if we manipulate the paths. | ||
113 | SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}" | ||
114 | |||
115 | # No strip sysroot when DEBUG_BUILD is enabled | ||
116 | INHIBIT_SYSROOT_STRIP ?= "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}" | ||
117 | |||
118 | python native_virtclass_handler () { | ||
119 | pn = e.data.getVar("PN") | ||
120 | if not pn.endswith("-native"): | ||
121 | return | ||
122 | |||
123 | # Set features here to prevent appends and distro features backfill | ||
124 | # from modifying native distro features | ||
125 | features = set(d.getVar("DISTRO_FEATURES_NATIVE").split()) | ||
126 | filtered = set(bb.utils.filter("DISTRO_FEATURES", d.getVar("DISTRO_FEATURES_FILTER_NATIVE"), d).split()) | ||
127 | d.setVar("DISTRO_FEATURES", " ".join(sorted(features | filtered))) | ||
128 | |||
129 | classextend = e.data.getVar('BBCLASSEXTEND') or "" | ||
130 | if "native" not in classextend: | ||
131 | return | ||
132 | |||
133 | def map_dependencies(varname, d, suffix = "", selfref=True): | ||
134 | if suffix: | ||
135 | varname = varname + "_" + suffix | ||
136 | deps = d.getVar(varname) | ||
137 | if not deps: | ||
138 | return | ||
139 | deps = bb.utils.explode_deps(deps) | ||
140 | newdeps = [] | ||
141 | for dep in deps: | ||
142 | if dep == pn: | ||
143 | if not selfref: | ||
144 | continue | ||
145 | newdeps.append(dep) | ||
146 | elif "-cross-" in dep: | ||
147 | newdeps.append(dep.replace("-cross", "-native")) | ||
148 | elif not dep.endswith("-native"): | ||
149 | newdeps.append(dep.replace("-native", "") + "-native") | ||
150 | else: | ||
151 | newdeps.append(dep) | ||
152 | d.setVar(varname, " ".join(newdeps), parsing=True) | ||
153 | |||
154 | map_dependencies("DEPENDS", e.data, selfref=False) | ||
155 | for pkg in e.data.getVar("PACKAGES", False).split(): | ||
156 | map_dependencies("RDEPENDS", e.data, pkg) | ||
157 | map_dependencies("RRECOMMENDS", e.data, pkg) | ||
158 | map_dependencies("RSUGGESTS", e.data, pkg) | ||
159 | map_dependencies("RPROVIDES", e.data, pkg) | ||
160 | map_dependencies("RREPLACES", e.data, pkg) | ||
161 | map_dependencies("PACKAGES", e.data) | ||
162 | |||
163 | provides = e.data.getVar("PROVIDES") | ||
164 | nprovides = [] | ||
165 | for prov in provides.split(): | ||
166 | if prov.find(pn) != -1: | ||
167 | nprovides.append(prov) | ||
168 | elif not prov.endswith("-native"): | ||
169 | nprovides.append(prov.replace(prov, prov + "-native")) | ||
170 | else: | ||
171 | nprovides.append(prov) | ||
172 | e.data.setVar("PROVIDES", ' '.join(nprovides)) | ||
173 | |||
174 | |||
175 | } | ||
176 | |||
177 | addhandler native_virtclass_handler | ||
178 | native_virtclass_handler[eventmask] = "bb.event.RecipePreFinalise" | ||
179 | |||
180 | python do_addto_recipe_sysroot () { | ||
181 | bb.build.exec_func("extend_recipe_sysroot", d) | ||
182 | } | ||
183 | addtask addto_recipe_sysroot after do_populate_sysroot | ||
184 | do_addto_recipe_sysroot[deptask] = "do_populate_sysroot" | ||
185 | |||
186 | inherit nopackages | ||
187 | |||
188 | do_packagedata[stamp-extra-info] = "" | ||
189 | |||
190 | USE_NLS = "no" | ||
191 | |||
192 | RECIPERDEPTASK = "do_populate_sysroot" | ||
193 | do_populate_sysroot[rdeptask] = "${RECIPERDEPTASK}" | ||