diff options
Diffstat (limited to 'meta/conf/bitbake.conf')
-rw-r--r-- | meta/conf/bitbake.conf | 787 |
1 files changed, 787 insertions, 0 deletions
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf new file mode 100644 index 0000000000..5e8322808a --- /dev/null +++ b/meta/conf/bitbake.conf | |||
@@ -0,0 +1,787 @@ | |||
1 | ################################################################## | ||
2 | # Standard target filesystem paths. | ||
3 | ################################################################## | ||
4 | # | ||
5 | # If changing these values, beware that native/cross/nativesdk bbclass | ||
6 | # files may also need changes to keep in sync. | ||
7 | # | ||
8 | |||
9 | # Used by multilib code to change the library paths | ||
10 | baselib = "${BASELIB}" | ||
11 | baselib[vardepvalue] = "${baselib}" | ||
12 | BASELIB = "lib" | ||
13 | BASELIB_powerpc64 = "lib64" | ||
14 | |||
15 | # Path prefixes | ||
16 | export base_prefix = "" | ||
17 | export prefix = "/usr" | ||
18 | export exec_prefix = "/usr" | ||
19 | |||
20 | # Base paths | ||
21 | export base_bindir = "${base_prefix}/bin" | ||
22 | export base_sbindir = "${base_prefix}/sbin" | ||
23 | export base_libdir = "${base_prefix}/${baselib}" | ||
24 | export nonarch_base_libdir = "${base_prefix}/lib" | ||
25 | |||
26 | # Architecture independent paths | ||
27 | export sysconfdir = "${base_prefix}/etc" | ||
28 | export servicedir = "${base_prefix}/srv" | ||
29 | export sharedstatedir = "${base_prefix}/com" | ||
30 | export localstatedir = "${base_prefix}/var" | ||
31 | export datadir = "${prefix}/share" | ||
32 | export infodir = "${datadir}/info" | ||
33 | export mandir = "${datadir}/man" | ||
34 | export docdir = "${datadir}/doc" | ||
35 | export systemd_unitdir = "/lib/systemd" | ||
36 | |||
37 | # Architecture dependent paths | ||
38 | export bindir = "${exec_prefix}/bin" | ||
39 | export sbindir = "${exec_prefix}/sbin" | ||
40 | export libdir = "${exec_prefix}/${baselib}" | ||
41 | export libexecdir = "${libdir}/${BPN}" | ||
42 | export includedir = "${exec_prefix}/include" | ||
43 | export oldincludedir = "${exec_prefix}/include" | ||
44 | localedir = "${libdir}/locale" | ||
45 | |||
46 | # Linkage between native/cross/nativesdk layouts | ||
47 | base_bindir_native = "/bin" | ||
48 | base_sbindir_native = "/sbin" | ||
49 | sysconfdir_native = "/etc" | ||
50 | prefix_native = "/usr" | ||
51 | bindir_native = "${prefix_native}/bin" | ||
52 | sbindir_native = "${prefix_native}/sbin" | ||
53 | includedir_native = "${prefix_native}/include" | ||
54 | libdir_native = "${prefix_native}/lib" | ||
55 | libexecdir_native = "${libdir_native}/${BPN}" | ||
56 | base_libdir_native = "/lib" | ||
57 | datadir_native = "${prefix_native}/share" | ||
58 | bindir_cross = "/bin" | ||
59 | bindir_crossscripts = "${bindir}/crossscripts" | ||
60 | prefix_nativesdk = "/usr" | ||
61 | bindir_nativesdk = "${prefix_nativesdk}/bin" | ||
62 | includedir_nativesdk = "${prefix_nativesdk}/include" | ||
63 | libdir_nativesdk = "${prefix_nativesdk}/lib" | ||
64 | base_libdir_nativesdk = "/lib" | ||
65 | localstatedir_nativesdk = "/var" | ||
66 | |||
67 | # | ||
68 | # Cross recipes need to know about the target layout | ||
69 | # := is used carefully here | ||
70 | # | ||
71 | target_datadir := "${datadir}" | ||
72 | # Used to find env/perl/python | ||
73 | USRBINPATH = "${bindir}" | ||
74 | USRBINPATH_class-native = "/usr/bin" | ||
75 | USRBINPATH_class-nativesdk = "/usr/bin" | ||
76 | |||
77 | # Root home directory | ||
78 | ROOT_HOME ??= "/home/root" | ||
79 | |||
80 | ################################################################## | ||
81 | # Architecture-dependent build variables. | ||
82 | ################################################################## | ||
83 | |||
84 | BUILD_ARCH = "${@os.uname()[4]}" | ||
85 | BUILD_OS = "${@os.uname()[0].lower()}" | ||
86 | BUILD_VENDOR = "" | ||
87 | BUILD_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}" | ||
88 | BUILD_PREFIX = "" | ||
89 | BUILD_CC_ARCH = "" | ||
90 | BUILD_LD_ARCH = "" | ||
91 | BUILD_AS_ARCH = "" | ||
92 | BUILD_EXEEXT = "" | ||
93 | |||
94 | HOST_ARCH = "${TARGET_ARCH}" | ||
95 | HOST_OS = "${TARGET_OS}" | ||
96 | HOST_VENDOR = "${TARGET_VENDOR}" | ||
97 | HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}" | ||
98 | HOST_PREFIX = "${TARGET_PREFIX}" | ||
99 | HOST_CC_ARCH = "${TARGET_CC_ARCH}" | ||
100 | HOST_LD_ARCH = "${TARGET_LD_ARCH}" | ||
101 | HOST_AS_ARCH = "${TARGET_AS_ARCH}" | ||
102 | HOST_EXEEXT = "" | ||
103 | |||
104 | TUNE_ARCH ??= "INVALID" | ||
105 | TUNE_CCARGS ??= "" | ||
106 | TUNE_CCARGS[vardepvalue] = "${TUNE_CCARGS}" | ||
107 | TUNE_LDARGS ??= "" | ||
108 | TUNE_ASARGS ??= "" | ||
109 | TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}" | ||
110 | LIBCEXTENSION ??= "" | ||
111 | ABIEXTENSION ??= "" | ||
112 | USE_NLS ??= "yes" | ||
113 | SDKUSE_NLS ??= "yes" | ||
114 | |||
115 | TARGET_ARCH = "${TUNE_ARCH}" | ||
116 | TARGET_OS = "linux${LIBCEXTENSION}${ABIEXTENSION}" | ||
117 | TARGET_VENDOR = "-oe" | ||
118 | TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}${@['-' + d.getVar('TARGET_OS', True), ''][d.getVar('TARGET_OS', True) == ('' or 'custom')]}" | ||
119 | TARGET_PREFIX = "${TARGET_SYS}-" | ||
120 | TARGET_CC_ARCH = "${TUNE_CCARGS}" | ||
121 | TARGET_LD_ARCH = "${TUNE_LDARGS}" | ||
122 | TARGET_AS_ARCH = "${TUNE_ASARGS}" | ||
123 | |||
124 | SDK_ARCH = "${BUILD_ARCH}" | ||
125 | SDK_OS = "${BUILD_OS}" | ||
126 | SDK_VENDOR = "-oesdk" | ||
127 | SDK_SYS = "${SDK_ARCH}${SDK_VENDOR}${@['-' + d.getVar('SDK_OS', True), ''][d.getVar('SDK_OS', True) == ('' or 'custom')]}" | ||
128 | SDK_PREFIX = "${SDK_SYS}-" | ||
129 | SDK_CC_ARCH = "${BUILD_CC_ARCH}" | ||
130 | SDKPKGSUFFIX = "nativesdk" | ||
131 | SDK_PACKAGE_ARCHS = "all any noarch ${SDK_ARCH}-${SDKPKGSUFFIX}" | ||
132 | SDK_LD_ARCH = "${BUILD_LD_ARCH}" | ||
133 | SDK_AS_ARCH = "${BUILD_AS_ARCH}" | ||
134 | |||
135 | TUNE_PKGARCH ??= "" | ||
136 | PACKAGE_ARCH ??= "${TUNE_PKGARCH}" | ||
137 | MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH', True), d.getVar('MACHINE', True)][bool(d.getVar('MACHINE', True))].replace('-', '_')}" | ||
138 | PACKAGE_EXTRA_ARCHS ??= "${PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE}}" | ||
139 | PACKAGE_ARCHS = "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}" | ||
140 | # MACHINE_ARCH shouldn't be included here as a variable dependency | ||
141 | # since machine specific packages are handled using multimachine | ||
142 | PACKAGE_ARCHS[vardepsexclude] = "MACHINE_ARCH" | ||
143 | |||
144 | MULTIMACH_TARGET_SYS = "${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}" | ||
145 | MULTIMACH_HOST_SYS = "${PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}" | ||
146 | |||
147 | ################################################################## | ||
148 | # Date/time variables. | ||
149 | ################################################################## | ||
150 | |||
151 | DATE := "${@time.strftime('%Y%m%d',time.gmtime())}" | ||
152 | TIME := "${@time.strftime('%H%M%S',time.gmtime())}" | ||
153 | DATETIME = "${DATE}${TIME}" | ||
154 | |||
155 | ################################################################## | ||
156 | # Openembedded Software Prerequisites. | ||
157 | ################################################################## | ||
158 | |||
159 | # python-native should be here but python relies on building | ||
160 | # its own in staging | ||
161 | ASSUME_PROVIDED = "\ | ||
162 | bzip2-native \ | ||
163 | chrpath-native \ | ||
164 | git-native \ | ||
165 | grep-native \ | ||
166 | diffstat-native \ | ||
167 | patch-native \ | ||
168 | perl-native-runtime \ | ||
169 | python-native-runtime \ | ||
170 | tar-native \ | ||
171 | virtual/libintl-native \ | ||
172 | texinfo-native \ | ||
173 | bash-native \ | ||
174 | " | ||
175 | # gzip-native should be listed above? | ||
176 | |||
177 | ################################################################## | ||
178 | # Package default variables. | ||
179 | ################################################################## | ||
180 | |||
181 | PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[0] or 'defaultpkgname'}" | ||
182 | PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[1] or '1.0'}" | ||
183 | PR = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[2] or 'r0'}" | ||
184 | PRINC ?= "0" | ||
185 | PF = "${PN}-${EXTENDPE}${PV}-${PR}" | ||
186 | EXTENDPE = "${@['','${PE\x7d_'][int(d.getVar('PE',1) or 0) > 0]}" | ||
187 | P = "${PN}-${PV}" | ||
188 | |||
189 | EXTENDPRAUTO = "${@['.${PRAUTO\x7d',''][d.getVar('PRAUTO',1) is None]}" | ||
190 | PRAUTOINX = "${PF}" | ||
191 | |||
192 | PKGV ?= "${PV}" | ||
193 | PKGR ?= "${PR}${EXTENDPRAUTO}" | ||
194 | PKGE ?= "${@['','${PE\x7d'][int(d.getVar('PE',1) or 0) > 0]}" | ||
195 | EXTENDPKGEVER = "${@['','${PKGE\x7d:'][d.getVar('PKGE',1).strip() != '']}" | ||
196 | EXTENDPKGV ?= "${EXTENDPKGEVER}${PKGV}-${PKGR}" | ||
197 | |||
198 | # Base package name | ||
199 | # Automatically derives "foo" from "foo-native", "foo-cross" or "foo-initial" | ||
200 | # otherwise it is the same as PN and P | ||
201 | SPECIAL_PKGSUFFIX = "-native -cross -initial -intermediate -crosssdk -cross-canadian" | ||
202 | BPN = "${@base_prune_suffix(d.getVar('PN', True), d.getVar('SPECIAL_PKGSUFFIX', True).split(), d)}" | ||
203 | BP = "${BPN}-${PV}" | ||
204 | |||
205 | # Package info. | ||
206 | |||
207 | SECTION = "base" | ||
208 | PRIORITY = "optional" | ||
209 | SUMMARY ?= "${PN} version ${PV}-${PR}" | ||
210 | DESCRIPTION ?= "${SUMMARY}." | ||
211 | |||
212 | # The following two are commented out because they result in a recursive | ||
213 | # definition of the variable in some corner cases. These are left in | ||
214 | # to illustrate the intended behavior. | ||
215 | #SUMMARY_${PN} ?= "${SUMMARY}" | ||
216 | #DESCRIPTION_${PN} ?= "${DESCRIPTION}" | ||
217 | |||
218 | SUMMARY_${PN}-dbg ?= "${SUMMARY} - Debugging files" | ||
219 | DESCRIPTION_${PN}-dbg ?= "${DESCRIPTION} \ | ||
220 | This package contains ELF symbols and related sources for debugging purposes." | ||
221 | |||
222 | SUMMARY_${PN}-dev ?= "${SUMMARY} - Development files" | ||
223 | DESCRIPTION_${PN}-dev ?= "${DESCRIPTION} \ | ||
224 | This package contains symbolic links, header files, and \ | ||
225 | related items necessary for software development." | ||
226 | |||
227 | SUMMARY_${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)" | ||
228 | DESCRIPTION_${PN}-staticdev?= "${DESCRIPTION} \ | ||
229 | This package contains static libraries for software development." | ||
230 | |||
231 | SUMMARY_${PN}-doc ?= "${SUMMARY} - Documentation files" | ||
232 | DESCRIPTION_${PN}-doc ?= "${DESCRIPTION} \ | ||
233 | This package contains documentation." | ||
234 | |||
235 | LICENSE = "INVALID" | ||
236 | MAINTAINER = "OE-Core Developers <openembedded-core@lists.openembedded.org>" | ||
237 | HOMEPAGE = "" | ||
238 | |||
239 | # Package dependencies and provides. | ||
240 | |||
241 | # Ensure that -dev packages recommend the corresponding -dev packages of their | ||
242 | # deps, and the same for -dbg. | ||
243 | DEPCHAIN_PRE = "" | ||
244 | DEPCHAIN_POST = "-dev -dbg" | ||
245 | |||
246 | DEPENDS = "" | ||
247 | RDEPENDS = "" | ||
248 | PROVIDES = "" | ||
249 | PROVIDES_prepend = "${PN} " | ||
250 | RPROVIDES = "" | ||
251 | |||
252 | MULTI_PROVIDER_WHITELIST = "virtual/libintl virtual/libintl-native virtual/nativesdk-libintl virtual/xserver virtual/update-alternatives-native virtual/update-alternatives" | ||
253 | |||
254 | SOLIBS = ".so.*" | ||
255 | SOLIBS_darwin = ".dylib" | ||
256 | |||
257 | SOLIBSDEV = ".so" | ||
258 | # Due to the ordering of PACKAGES and the naming of the dev symlinks on darwin, | ||
259 | # we can't make the symlinks end up in the -dev packages easily at this point. This hack | ||
260 | # at least means builds aren't completely broken and symlinks don't take up much space. | ||
261 | SOLIBSDEV_darwin = ".dylibbroken" | ||
262 | |||
263 | PACKAGE_BEFORE_PN ?= "" | ||
264 | PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}" | ||
265 | PACKAGES_DYNAMIC = "^${PN}-locale-.*" | ||
266 | FILES = "" | ||
267 | |||
268 | FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \ | ||
269 | ${sysconfdir} ${sharedstatedir} ${localstatedir} \ | ||
270 | ${base_bindir}/* ${base_sbindir}/* \ | ||
271 | ${base_libdir}/*${SOLIBS} \ | ||
272 | ${base_prefix}/lib/udev/rules.d ${prefix}/lib/udev/rules.d \ | ||
273 | ${datadir}/${BPN} ${libdir}/${BPN}/* \ | ||
274 | ${datadir}/pixmaps ${datadir}/applications \ | ||
275 | ${datadir}/idl ${datadir}/omf ${datadir}/sounds \ | ||
276 | ${libdir}/bonobo/servers" | ||
277 | |||
278 | FILES_${PN}-bin = "${bindir}/* ${sbindir}/*" | ||
279 | |||
280 | FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \ | ||
281 | ${datadir}/gnome/help" | ||
282 | SECTION_${PN}-doc = "doc" | ||
283 | |||
284 | FILES_SOLIBSDEV ?= "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}" | ||
285 | FILES_${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \ | ||
286 | ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \ | ||
287 | ${datadir}/aclocal ${base_libdir}/*.o \ | ||
288 | ${libdir}/${BPN}/*.la ${base_libdir}/*.la" | ||
289 | SECTION_${PN}-dev = "devel" | ||
290 | ALLOW_EMPTY_${PN}-dev = "1" | ||
291 | RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})" | ||
292 | |||
293 | FILES_${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a" | ||
294 | SECTION_${PN}-staticdev = "devel" | ||
295 | RDEPENDS_${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})" | ||
296 | |||
297 | DOTDEBUG-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \ | ||
298 | ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${BPN}/.debug \ | ||
299 | ${libdir}/matchbox-panel/.debug ${libexecdir}/${BPN}/.debug /usr/src/debug" | ||
300 | |||
301 | DEBUGFILEDIRECTORY-dbg = "/usr/lib/debug /usr/src/debug" | ||
302 | |||
303 | FILES_${PN}-dbg = "${@d.getVar(['DOTDEBUG-dbg', 'DEBUGFILEDIRECTORY-dbg'][d.getVar('PACKAGE_DEBUG_SPLIT_STYLE', True) == 'debug-file-directory'], True)}" | ||
304 | |||
305 | SECTION_${PN}-dbg = "devel" | ||
306 | ALLOW_EMPTY_${PN}-dbg = "1" | ||
307 | |||
308 | FILES_${PN}-locale = "${datadir}/locale" | ||
309 | |||
310 | # File manifest | ||
311 | |||
312 | FILE_DIRNAME = "${@os.path.dirname(d.getVar('FILE'))}" | ||
313 | # FILESPATH is set in base.bbclass | ||
314 | #FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/${BP}:${FILE_DIRNAME}/${BPN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}" | ||
315 | # This default was only used for checking | ||
316 | FILESEXTRAPATHS ?= "__default:" | ||
317 | |||
318 | ################################################################## | ||
319 | # General work and output directories for the build system. | ||
320 | ################################################################## | ||
321 | |||
322 | TMPDIR ?= "${TOPDIR}/tmp" | ||
323 | CACHE = "${TMPDIR}/cache${@['', '/' + str(d.getVar('MACHINE', True))][bool(d.getVar('MACHINE', True))]}${@['', '/' + str(d.getVar('SDKMACHINE', True))][bool(d.getVar('SDKMACHINE', True))]}" | ||
324 | # The persistent cache should be shared by all builds | ||
325 | PERSISTENT_DIR = "${TOPDIR}/cache" | ||
326 | LOG_DIR = "${TMPDIR}/log" | ||
327 | CO_DIR = "${DL_DIR}" | ||
328 | CVSDIR = "${CO_DIR}/cvs" | ||
329 | SVNDIR = "${CO_DIR}/svn" | ||
330 | GITDIR = "${CO_DIR}/git2" | ||
331 | BZRDIR = "${CO_DIR}/bzr" | ||
332 | HGDIR = "${CO_DIR}/hg" | ||
333 | |||
334 | STAMPS_DIR ?= "${TMPDIR}/stamps" | ||
335 | STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}" | ||
336 | STAMPCLEAN = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/*-*" | ||
337 | BASE_WORKDIR ?= "${TMPDIR}/work" | ||
338 | WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}" | ||
339 | T = "${WORKDIR}/temp" | ||
340 | D = "${WORKDIR}/image" | ||
341 | S = "${WORKDIR}/${BP}" | ||
342 | B = "${S}" | ||
343 | |||
344 | STAGING_DIR = "${TMPDIR}/sysroots" | ||
345 | |||
346 | STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}" | ||
347 | STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${bindir_native}" | ||
348 | STAGING_BINDIR_CROSS = "${STAGING_BINDIR}/crossscripts" | ||
349 | STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}" | ||
350 | STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${libdir_native}" | ||
351 | STAGING_LIBEXECDIR_NATIVE = "${STAGING_DIR_NATIVE}${libexecdir_native}" | ||
352 | STAGING_BASE_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${base_libdir_native}" | ||
353 | STAGING_SBINDIR_NATIVE = "${STAGING_DIR_NATIVE}${sbindir_native}" | ||
354 | STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${includedir_native}" | ||
355 | STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${sysconfdir_native}" | ||
356 | STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${datadir_native}" | ||
357 | |||
358 | STAGING_DIR_HOST = "${STAGING_DIR}/${MACHINE}" | ||
359 | STAGING_BINDIR = "${STAGING_DIR_HOST}${bindir}" | ||
360 | STAGING_LIBDIR = "${STAGING_DIR_HOST}${libdir}" | ||
361 | STAGING_LIBEXECDIR = "${STAGING_DIR_HOST}${libexecdir}" | ||
362 | STAGING_BASELIBDIR = "${STAGING_DIR_HOST}${base_libdir}" | ||
363 | STAGING_INCDIR = "${STAGING_DIR_HOST}${includedir}" | ||
364 | STAGING_DATADIR = "${STAGING_DIR_HOST}${datadir}" | ||
365 | STAGING_EXECPREFIXDIR = "${STAGING_DIR_HOST}${exec_prefix}" | ||
366 | STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader" | ||
367 | STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware" | ||
368 | |||
369 | STAGING_DIR_TARGET = "${STAGING_DIR}/${MACHINE}" | ||
370 | STAGING_DIR_TCBOOTSTRAP = "${STAGING_DIR_TARGET}-tcbootstrap" | ||
371 | |||
372 | # Setting DEPLOY_DIR outside of TMPDIR is helpful, when you are using | ||
373 | # packaged staging and/or multimachine. | ||
374 | DEPLOY_DIR ?= "${TMPDIR}/deploy" | ||
375 | DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar" | ||
376 | DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk" | ||
377 | DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm" | ||
378 | DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb" | ||
379 | DEPLOY_DIR_IMAGE ?= "${DEPLOY_DIR}/images/${MACHINE}" | ||
380 | DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools" | ||
381 | |||
382 | PKGDATA_DIR = "${STAGING_DIR_HOST}/pkgdata" | ||
383 | |||
384 | ################################################################## | ||
385 | # SDK variables. | ||
386 | ################################################################## | ||
387 | |||
388 | SDK_NAME_PREFIX ?= "oecore" | ||
389 | SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}" | ||
390 | SDKPATH = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}" | ||
391 | SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}" | ||
392 | |||
393 | ################################################################## | ||
394 | # Kernel info. | ||
395 | ################################################################## | ||
396 | |||
397 | OLDEST_KERNEL = "2.6.32" | ||
398 | STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/usr/src/kernel" | ||
399 | |||
400 | ################################################################## | ||
401 | # Specific image creation and rootfs population info. | ||
402 | ################################################################## | ||
403 | |||
404 | IMAGE_ROOTFS = "${WORKDIR}/rootfs" | ||
405 | IMAGE_BASENAME = "${PN}" | ||
406 | IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}" | ||
407 | IMAGE_NAME[vardepsexclude] += "DATETIME" | ||
408 | IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}" | ||
409 | |||
410 | # This option allows for a percentage overage of the actual image size rather than a | ||
411 | # fixed extra space, this is space needed for initial startup and basic operations. | ||
412 | IMAGE_OVERHEAD_FACTOR ?= "1.3" | ||
413 | # This option allows for adding additional space in K above and beyond what the | ||
414 | # IMAGE_OVERHEAD_FACTOR might add. This space is for additional packages, user data, ... | ||
415 | # To set a fixed size then overriding IMAGE_ROOTFS_SIZE with the max size one wants | ||
416 | # should do the trick | ||
417 | IMAGE_ROOTFS_EXTRA_SPACE ?= "0" | ||
418 | |||
419 | EXTRA_IMAGEDEPENDS = "" | ||
420 | |||
421 | ################################################################## | ||
422 | # Toolchain info. | ||
423 | ################################################################## | ||
424 | |||
425 | PATH_prepend = "${COREBASE}/scripts:${STAGING_BINDIR_TOOLCHAIN}:${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}${base_bindir_native}:" | ||
426 | export PATH | ||
427 | |||
428 | ################################################################## | ||
429 | # Build utility info. | ||
430 | ################################################################## | ||
431 | |||
432 | CCACHE ??= "" | ||
433 | # Disable ccache explicitly if CCACHE is null since gcc may be a symlink | ||
434 | # of ccache some distributions (e.g., Fedora 17). | ||
435 | export CCACHE_DISABLE ??= "${@[0,1][d.getVar('CCACHE', True) == '']}" | ||
436 | # Assign CCACHE_DIR a default value to fix a bug of ccache 3.1.7, | ||
437 | # since it would always create CCACHE_DIR/.ccache even if | ||
438 | # CCACHE_DISABLE = 1. | ||
439 | export CCACHE_DIR ??= "${@os.getenv('HOME')}" | ||
440 | |||
441 | TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}" | ||
442 | |||
443 | export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | ||
444 | export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | ||
445 | export FC = "${CCACHE}${HOST_PREFIX}gfortran ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | ||
446 | export CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}" | ||
447 | export LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}" | ||
448 | export CCLD = "${CC}" | ||
449 | export AR = "${HOST_PREFIX}ar" | ||
450 | export AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}" | ||
451 | export RANLIB = "${HOST_PREFIX}ranlib" | ||
452 | export STRIP = "${HOST_PREFIX}strip" | ||
453 | export OBJCOPY = "${HOST_PREFIX}objcopy" | ||
454 | export OBJDUMP = "${HOST_PREFIX}objdump" | ||
455 | export STRINGS = "${HOST_PREFIX}strings" | ||
456 | export NM = "${HOST_PREFIX}nm" | ||
457 | PYTHON = "${@sys.executable}" | ||
458 | |||
459 | export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}" | ||
460 | export BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}" | ||
461 | export BUILD_FC = "${CCACHE}${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}" | ||
462 | export BUILD_CPP = "${BUILD_PREFIX}cpp ${BUILD_CC_ARCH}" | ||
463 | export BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}" | ||
464 | export BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}" | ||
465 | export BUILD_AR = "${BUILD_PREFIX}ar" | ||
466 | export BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}" | ||
467 | export BUILD_RANLIB = "${BUILD_PREFIX}ranlib" | ||
468 | export BUILD_STRIP = "${BUILD_PREFIX}strip" | ||
469 | export BUILD_NM = "${BUILD_PREFIX}nm" | ||
470 | |||
471 | export MAKE = "make" | ||
472 | EXTRA_OEMAKE = "-e MAKEFLAGS=" | ||
473 | EXTRA_OECONF = "" | ||
474 | export LC_ALL = "C" | ||
475 | |||
476 | ################################################################## | ||
477 | # Patch handling. | ||
478 | ################################################################## | ||
479 | PATCHTOOL = 'quilt' | ||
480 | PATCHRESOLVE = 'user' | ||
481 | |||
482 | ################################################################## | ||
483 | # Build flags and options. | ||
484 | ################################################################## | ||
485 | |||
486 | export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}" | ||
487 | BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}" | ||
488 | export CPPFLAGS = "${TARGET_CPPFLAGS}" | ||
489 | export TARGET_CPPFLAGS = "" | ||
490 | #export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${includedir}" | ||
491 | |||
492 | export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}" | ||
493 | BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}" | ||
494 | export CFLAGS = "${TARGET_CFLAGS}" | ||
495 | export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}" | ||
496 | |||
497 | export BUILD_CXXFLAGS = "${BUILD_CFLAGS}" | ||
498 | export CXXFLAGS = "${TARGET_CXXFLAGS}" | ||
499 | export TARGET_CXXFLAGS = "${TARGET_CFLAGS}" | ||
500 | |||
501 | export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \ | ||
502 | -L${STAGING_BASE_LIBDIR_NATIVE} \ | ||
503 | -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \ | ||
504 | -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} \ | ||
505 | -Wl,-rpath,${STAGING_LIBDIR_NATIVE} \ | ||
506 | -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE} \ | ||
507 | -Wl,-O1" | ||
508 | |||
509 | BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \ | ||
510 | -Wl,-rpath-link,${STAGING_LIBDIR} \ | ||
511 | -Wl,-rpath,${libdir} -Wl,-O1 \ | ||
512 | -L${STAGING_DIR_HOST}${base_libdir} \ | ||
513 | -Wl,-rpath-link,${STAGING_DIR_HOST}${base_libdir} \ | ||
514 | -Wl,-rpath,${base_libdir} -Wl,-O1" | ||
515 | |||
516 | LINKER_HASH_STYLE ??= "gnu" | ||
517 | # mips does not support GNU hash style therefore we override | ||
518 | LINKER_HASH_STYLE_mips = "sysv" | ||
519 | LINKER_HASH_STYLE_mipsel = "sysv" | ||
520 | LINKER_HASH_STYLE_mips64 = "sysv" | ||
521 | LINKER_HASH_STYLE_mips64el = "sysv" | ||
522 | LINKER_HASH_STYLE_mips64n32 = "sysv" | ||
523 | LINKER_HASH_STYLE_mips64eln32 = "sysv" | ||
524 | TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_STYLE', True) != 'gnu']}" | ||
525 | |||
526 | export LDFLAGS = "${TARGET_LDFLAGS}" | ||
527 | export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}" | ||
528 | #export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \ | ||
529 | # -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir} \ | ||
530 | # -Wl,-O1" | ||
531 | |||
532 | # Which flags to leave by strip-flags() in bin/build/oebuild.sh ? | ||
533 | ALLOWED_FLAGS = "-O -mcpu -march -pipe" | ||
534 | |||
535 | # Pass parallel make options to the compile task | ||
536 | EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} " | ||
537 | PARALLEL_MAKEINST ??= "${PARALLEL_MAKE}" | ||
538 | # Pass parallel make options to the install task | ||
539 | EXTRA_OEMAKE_prepend_task-install = "${PARALLEL_MAKEINST} " | ||
540 | |||
541 | ################################################################## | ||
542 | # Optimization flags. | ||
543 | ################################################################## | ||
544 | DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types" | ||
545 | # Disabled until the option works properly -feliminate-dwarf2-dups | ||
546 | FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}" | ||
547 | DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe" | ||
548 | SELECTED_OPTIMIZATION = "${@d.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][d.getVar('DEBUG_BUILD', True) == '1'], True)}" | ||
549 | SELECTED_OPTIMIZATION[vardeps] += "FULL_OPTIMIZATION DEBUG_OPTIMIZATION" | ||
550 | BUILD_OPTIMIZATION = "-O2 -pipe" | ||
551 | |||
552 | ################################################################## | ||
553 | # Download locations and utilities. | ||
554 | ################################################################## | ||
555 | |||
556 | APACHE_MIRROR = "http://www.apache.org/dist" | ||
557 | DEBIAN_MIRROR = "ftp://ftp.debian.org/debian/pool" | ||
558 | GENTOO_MIRROR = "http://distfiles.gentoo.org/distfiles" | ||
559 | GNOME_GIT = "git://git.gnome.org" | ||
560 | GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources" | ||
561 | GNU_MIRROR = "ftp://ftp.gnu.org/gnu" | ||
562 | GPE_MIRROR = "http://gpe.linuxtogo.org/download/source" | ||
563 | KERNELORG_MIRROR = "http://kernel.org/pub" | ||
564 | SOURCEFORGE_MIRROR = "http://downloads.sourceforge.net" | ||
565 | XLIBS_MIRROR = "http://xlibs.freedesktop.org/release" | ||
566 | XORG_MIRROR = "http://xorg.freedesktop.org/releases" | ||
567 | SAVANNAH_GNU_MIRROR = "http://download.savannah.gnu.org/releases" | ||
568 | SAVANNAH_NONGNU_MIRROR = "http://download.savannah.nongnu.org/releases" | ||
569 | CPAN_MIRROR = "http://search.cpan.org/CPAN" | ||
570 | |||
571 | # You can use the mirror of your country to get faster downloads by putting | ||
572 | # export DEBIAN_MIRROR = "ftp://ftp.de.debian.org/debian/pool" | ||
573 | # into your local.conf | ||
574 | |||
575 | FETCHCMD_svn = "/usr/bin/env svn --non-interactive --trust-server-cert" | ||
576 | FETCHCMD_cvs = "/usr/bin/env cvs" | ||
577 | FETCHCMD_wget = "/usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate" | ||
578 | FETCHCMD_bzr = "/usr/bin/env bzr" | ||
579 | FETCHCMD_hg = "/usr/bin/env hg" | ||
580 | |||
581 | SRCDATE = "${DATE}" | ||
582 | SRCREV ??= "INVALID" | ||
583 | AUTOREV = "${@bb.fetch2.get_autorev(d)}" | ||
584 | SRCPV = "${@bb.fetch2.get_srcrev(d)}" | ||
585 | SRCPV[vardepvalue] = "${SRCPV}" | ||
586 | |||
587 | SRC_URI = "" | ||
588 | |||
589 | # Use pseudo as the fakeroot implementation | ||
590 | PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/" | ||
591 | PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}:${STAGING_DIR_NATIVE}" | ||
592 | export PSEUDO_DISABLED = "1" | ||
593 | #export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}" | ||
594 | #export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}" | ||
595 | #export PSEUDO_LIBDIR = "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib | ||
596 | FAKEROOTBASEENV = "PSEUDO_BINDIR=${STAGING_BINDIR_NATIVE} PSEUDO_LIBDIR=${STAGING_BINDIR_NATIVE}/../lib/pseudo/lib PSEUDO_PREFIX=${STAGING_BINDIR_NATIVE}/../../ PSEUDO_DISABLED=1" | ||
597 | FAKEROOTCMD = "${STAGING_BINDIR_NATIVE}/pseudo" | ||
598 | FAKEROOTENV = "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native} PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR} PSEUDO_PASSWD=${PSEUDO_PASSWD} PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0" | ||
599 | FAKEROOTNOENV = "PSEUDO_UNLOAD=1" | ||
600 | FAKEROOTDIRS = "${PSEUDO_LOCALSTATEDIR}" | ||
601 | PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native" | ||
602 | |||
603 | ################################################################## | ||
604 | # Miscellaneous utilities. | ||
605 | ################################################################## | ||
606 | |||
607 | # GNU patch tries to be intellgent about checking out read-only files from | ||
608 | # a RCS, which freaks out those special folks with active Perforce clients | ||
609 | # the following makes patch ignore RCS: | ||
610 | |||
611 | export PATCH_GET="0" | ||
612 | |||
613 | ################################################################## | ||
614 | # Not sure about the rest of this yet. | ||
615 | ################################################################## | ||
616 | |||
617 | # Pre-build configuration output | ||
618 | BUILDCFG_HEADER = "Build Configuration:" | ||
619 | BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU" | ||
620 | BUILDCFG_VARS[type] = "list" | ||
621 | BUILDCFG_NEEDEDVARS = "TARGET_ARCH TARGET_OS" | ||
622 | BUILDCFG_NEEDEDVARS[type] = "list" | ||
623 | |||
624 | # Other | ||
625 | |||
626 | export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${libdir}/pkgconfig" | ||
627 | export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig" | ||
628 | export PKG_CONFIG_LIBDIR = "${PKG_CONFIG_DIR}" | ||
629 | export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}" | ||
630 | export PKG_CONFIG_DISABLE_UNINSTALLED = "yes" | ||
631 | |||
632 | ### | ||
633 | ### Config file processing | ||
634 | ### | ||
635 | |||
636 | # An empty distro leads to :: entries in OVERRIDES and FILEOVERRIDES which | ||
637 | # is a bad idea. Setting a dummy value is better than a ton of anonymous python. | ||
638 | DISTRO ??= "nodistro" | ||
639 | |||
640 | # Overrides are processed left to right, so the ones that are named later take precedence. | ||
641 | # You generally want them to go from least to most specific. | ||
642 | # | ||
643 | # This means that an envionment variable named '<foo>_arm' overrides an | ||
644 | # environment variable '<foo>' (when ${TARGET_ARCH} is arm). | ||
645 | # An environment variable '<foo>_qemuarm' overrides '<foo>' and overrides | ||
646 | # '<foo>_arm' when ${MACHINE} is 'qemuarm'. | ||
647 | # If you use combination ie '<foo>_qemuarm_arm', then '<foo>_qemuarm_arm' will override | ||
648 | # '<foo>_qemuarm' and then '<foo>' will be overriden with that value from '<foo>_qemuarm'. | ||
649 | # And finally '<foo>_forcevariable' overrides any standard variable, with the highest priority. | ||
650 | # | ||
651 | # This works for functions as well, they are really just environment variables. | ||
652 | # Default OVERRIDES to make compilation fail fast in case of build system misconfiguration. | ||
653 | OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable" | ||
654 | OVERRIDES[vardepsexclude] = "MACHINEOVERRIDES" | ||
655 | CLASSOVERRIDE ?= "class-target" | ||
656 | DISTROOVERRIDES ?= "${@d.getVar('DISTRO', True) or ''}" | ||
657 | MACHINEOVERRIDES ?= "${MACHINE}" | ||
658 | MACHINEOVERRIDES[vardepsexclude] = "MACHINE" | ||
659 | |||
660 | FILESOVERRIDES = "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}" | ||
661 | |||
662 | ################################################################## | ||
663 | # Include the rest of the config files. | ||
664 | ################################################################## | ||
665 | |||
666 | require conf/abi_version.conf | ||
667 | include conf/site.conf | ||
668 | include conf/auto.conf | ||
669 | include conf/local.conf | ||
670 | include conf/build/${BUILD_SYS}.conf | ||
671 | include conf/target/${TARGET_SYS}.conf | ||
672 | include conf/machine/${MACHINE}.conf | ||
673 | include conf/machine-sdk/${SDKMACHINE}.conf | ||
674 | include conf/distro/${DISTRO}.conf | ||
675 | include conf/distro/defaultsetup.conf | ||
676 | include conf/documentation.conf | ||
677 | include conf/licenses.conf | ||
678 | require conf/sanity.conf | ||
679 | |||
680 | ################################################################## | ||
681 | # Weak variables (usually to retain backwards compatibility) | ||
682 | ################################################################## | ||
683 | |||
684 | DL_DIR ?= "${TOPDIR}/downloads" | ||
685 | SSTATE_DIR ?= "${TOPDIR}/sstate-cache" | ||
686 | IMAGE_FSTYPES ?= "tar.gz" | ||
687 | INITRAMFS_FSTYPES ?= "cpio.gz" | ||
688 | DEFAULT_TASK_PROVIDER ?= "packagegroup-base" | ||
689 | MACHINE_TASK_PROVIDER ?= "${DEFAULT_TASK_PROVIDER}" | ||
690 | |||
691 | # The size in Kbytes for the generated image if it is larger than | ||
692 | # the required size (du -ks IMAGE_ROOTFS * IMAGE_OVERHEAD_FACTOR), | ||
693 | # and no effect if less than it. | ||
694 | IMAGE_ROOTFS_SIZE ??= "65536" | ||
695 | |||
696 | # Forcefully set CACHE now so future changes to things like | ||
697 | # MACHINE don't change the path to the cache | ||
698 | CACHE := "${CACHE}" | ||
699 | |||
700 | # Default to setting automatically based on cpu count | ||
701 | BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}" | ||
702 | |||
703 | # Default to setting automatically based on cpu count | ||
704 | PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}" | ||
705 | |||
706 | ################################################################## | ||
707 | # Magic Cookie for SANITY CHECK | ||
708 | ################################################################## | ||
709 | OES_BITBAKE_CONF = "1" | ||
710 | |||
711 | ################################################################## | ||
712 | # Machine properties and packagegroup-base stuff | ||
713 | ################################################################## | ||
714 | |||
715 | MACHINE_FEATURES ?= "" | ||
716 | DISTRO_FEATURES ?= "" | ||
717 | |||
718 | DISTRO_EXTRA_RDEPENDS ?= "" | ||
719 | DISTRO_EXTRA_RRECOMMENDS ?= "" | ||
720 | MACHINE_EXTRA_RDEPENDS ?= "" | ||
721 | MACHINE_EXTRA_RRECOMMENDS ?= "" | ||
722 | MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" | ||
723 | MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" | ||
724 | |||
725 | EXTRA_IMAGE_FEATURES ??= "" | ||
726 | IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}" | ||
727 | |||
728 | DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit" | ||
729 | MACHINE_FEATURES_BACKFILL = "rtc" | ||
730 | |||
731 | COMBINED_FEATURES = "\ | ||
732 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "alsa", d)} \ | ||
733 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "bluetooth", d)} \ | ||
734 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "ext2", d)} \ | ||
735 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "vfat", d)} \ | ||
736 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "irda", d)} \ | ||
737 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pcmcia", d)} \ | ||
738 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pci", d)} \ | ||
739 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbgadget", d)} \ | ||
740 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbhost", d)} \ | ||
741 | ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "wifi", d)}" | ||
742 | COMBINED_FEATURES[vardeps] += "DISTRO_FEATURES MACHINE_FEATURES" | ||
743 | |||
744 | SERIAL_CONSOLE ??= "" | ||
745 | SERIAL_CONSOLES ??= "${@d.getVar('SERIAL_CONSOLE', True).replace(' ', ';')}" | ||
746 | |||
747 | NO_RECOMMENDATIONS ?= "" | ||
748 | BAD_RECOMMENDATIONS ?= "" | ||
749 | |||
750 | # Make sure MACHINE isn't exported | ||
751 | # (breaks binutils at least) | ||
752 | MACHINE[unexport] = "1" | ||
753 | |||
754 | # Make sure TARGET_ARCH isn't exported | ||
755 | # (breaks Makefiles using implicit rules, e.g. quilt, as GNU make has this | ||
756 | # in them, undocumented) | ||
757 | TARGET_ARCH[unexport] = "1" | ||
758 | |||
759 | # Make sure DISTRO isn't exported | ||
760 | # (breaks sysvinit at least) | ||
761 | DISTRO[unexport] = "1" | ||
762 | |||
763 | # Used by canadian-cross to handle string conversions on TARGET_ARCH where needed | ||
764 | TRANSLATED_TARGET_ARCH ??= "${@d.getVar('TARGET_ARCH', True).replace("_", "-")}" | ||
765 | |||
766 | # Complete output from bitbake | ||
767 | BB_CONSOLELOG ?= "${LOG_DIR}/cooker/${MACHINE}/${DATETIME}.log" | ||
768 | |||
769 | # Setup our default hash policy | ||
770 | BB_SIGNATURE_HANDLER ?= "OEBasicHash" | ||
771 | BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \ | ||
772 | SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \ | ||
773 | USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \ | ||
774 | PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \ | ||
775 | CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX \ | ||
776 | WARN_QA ERROR_QA WORKDIR STAMPCLEAN PKGDATA_DIR" | ||
777 | BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \ | ||
778 | SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE DISABLE_SANITY_CHECKS \ | ||
779 | PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV BB_INVALIDCONF BBINCLUDED" | ||
780 | BB_SIGNATURE_EXCLUDE_FLAGS ?= "doc defaultval _append _prepend deps depends \ | ||
781 | lockfiles type vardepsexclude vardeps vardepvalue vardepvalueexclude \ | ||
782 | file-checksums python func task export unexport noexec nostamp dirs cleandirs \ | ||
783 | sstate-lockfile-shared prefuncs postfuncs export_func deptask rdeptask \ | ||
784 | recrdeptask nodeprrecs stamp-base stamp-extra-info" | ||
785 | |||
786 | MLPREFIX ??= "" | ||
787 | MULTILIB_VARIANTS ??= "" | ||