summaryrefslogtreecommitdiffstats
path: root/meta/conf
diff options
context:
space:
mode:
Diffstat (limited to 'meta/conf')
-rw-r--r--meta/conf/abi_version.conf7
-rw-r--r--meta/conf/bitbake.conf797
-rw-r--r--meta/conf/conf-notes.txt9
-rw-r--r--meta/conf/distro/defaultsetup.conf22
-rw-r--r--meta/conf/distro/include/as-needed.inc16
-rw-r--r--meta/conf/distro/include/csl-versions.inc107
-rw-r--r--meta/conf/distro/include/default-distrovars.inc50
-rw-r--r--meta/conf/distro/include/default-providers.inc45
-rw-r--r--meta/conf/distro/include/default-versions.inc11
-rw-r--r--meta/conf/distro/include/security_flags.inc48
-rw-r--r--meta/conf/distro/include/seperatebuilddir.inc778
-rw-r--r--meta/conf/distro/include/tclibc-eglibc.inc40
-rw-r--r--meta/conf/distro/include/tclibc-uclibc.inc28
-rw-r--r--meta/conf/distro/include/tcmode-default.inc60
-rw-r--r--meta/conf/distro/include/tcmode-external-csl.inc2
-rw-r--r--meta/conf/distro/include/tcmode-external-sourcery.inc128
-rw-r--r--meta/conf/distro/include/world-broken.inc5
-rw-r--r--meta/conf/documentation.conf277
-rw-r--r--meta/conf/layer.conf32
-rw-r--r--meta/conf/licenses.conf167
-rw-r--r--meta/conf/machine-sdk/i586.conf3
-rw-r--r--meta/conf/machine-sdk/i686.conf2
-rw-r--r--meta/conf/machine-sdk/x86_64.conf1
-rw-r--r--meta/conf/machine/include/README81
-rw-r--r--meta/conf/machine/include/arm/README40
-rw-r--r--meta/conf/machine/include/arm/arch-arm.inc17
-rw-r--r--meta/conf/machine/include/arm/arch-armv4.inc33
-rw-r--r--meta/conf/machine/include/arm/arch-armv5-dsp.inc52
-rw-r--r--meta/conf/machine/include/arm/arch-armv5.inc60
-rw-r--r--meta/conf/machine/include/arm/arch-armv6.inc50
-rw-r--r--meta/conf/machine/include/arm/arch-armv7a.inc69
-rw-r--r--meta/conf/machine/include/arm/feature-arm-neon.inc3
-rw-r--r--meta/conf/machine/include/arm/feature-arm-thumb.inc26
-rw-r--r--meta/conf/machine/include/arm/feature-arm-vfp.inc6
-rw-r--r--meta/conf/machine/include/ia32-base.inc52
-rw-r--r--meta/conf/machine/include/ia32/README24
-rw-r--r--meta/conf/machine/include/ia32/arch-ia32.inc51
-rw-r--r--meta/conf/machine/include/mips/README36
-rw-r--r--meta/conf/machine/include/mips/arch-mips.inc102
-rw-r--r--meta/conf/machine/include/powerpc/README17
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc.inc34
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc64.inc14
-rw-r--r--meta/conf/machine/include/qemu.inc29
-rw-r--r--meta/conf/machine/include/sh/README11
-rw-r--r--meta/conf/machine/include/sh/arch-sh.inc9
-rw-r--r--meta/conf/machine/include/soc-family.inc2
-rw-r--r--meta/conf/machine/include/tune-arm1136jf-s.inc11
-rw-r--r--meta/conf/machine/include/tune-arm920t.inc11
-rw-r--r--meta/conf/machine/include/tune-arm926ejs.inc11
-rw-r--r--meta/conf/machine/include/tune-arm9tdmi.inc11
-rw-r--r--meta/conf/machine/include/tune-atom.inc2
-rw-r--r--meta/conf/machine/include/tune-c3.inc12
-rw-r--r--meta/conf/machine/include/tune-core2.inc26
-rw-r--r--meta/conf/machine/include/tune-cortexa15.inc36
-rw-r--r--meta/conf/machine/include/tune-cortexa5.inc36
-rw-r--r--meta/conf/machine/include/tune-cortexa7.inc36
-rw-r--r--meta/conf/machine/include/tune-cortexa8.inc36
-rw-r--r--meta/conf/machine/include/tune-cortexa9.inc36
-rw-r--r--meta/conf/machine/include/tune-cortexm1.inc11
-rw-r--r--meta/conf/machine/include/tune-cortexm3.inc14
-rw-r--r--meta/conf/machine/include/tune-cortexr4.inc14
-rw-r--r--meta/conf/machine/include/tune-ep9312.inc12
-rw-r--r--meta/conf/machine/include/tune-i586.inc14
-rw-r--r--meta/conf/machine/include/tune-iwmmxt.inc14
-rw-r--r--meta/conf/machine/include/tune-mips32.inc25
-rw-r--r--meta/conf/machine/include/tune-mips64.inc3
-rw-r--r--meta/conf/machine/include/tune-ppc476.inc14
-rw-r--r--meta/conf/machine/include/tune-ppc603e.inc14
-rw-r--r--meta/conf/machine/include/tune-ppc7400.inc14
-rw-r--r--meta/conf/machine/include/tune-ppce300c2.inc11
-rw-r--r--meta/conf/machine/include/tune-ppce300c3.inc11
-rw-r--r--meta/conf/machine/include/tune-ppce500.inc20
-rw-r--r--meta/conf/machine/include/tune-ppce500mc.inc14
-rw-r--r--meta/conf/machine/include/tune-ppce500v2.inc20
-rw-r--r--meta/conf/machine/include/tune-ppce5500.inc20
-rw-r--r--meta/conf/machine/include/tune-ppce6500.inc21
-rw-r--r--meta/conf/machine/include/tune-sh3.inc17
-rw-r--r--meta/conf/machine/include/tune-sh4.inc34
-rw-r--r--meta/conf/machine/include/tune-strongarm1100.inc11
-rw-r--r--meta/conf/machine/include/tune-supersparc.inc4
-rw-r--r--meta/conf/machine/include/tune-x86_64.inc4
-rw-r--r--meta/conf/machine/include/tune-xscale.inc16
-rw-r--r--meta/conf/machine/qemuarm.conf12
-rw-r--r--meta/conf/machine/qemumips.conf13
-rw-r--r--meta/conf/machine/qemumips64.conf13
-rw-r--r--meta/conf/machine/qemuppc.conf11
-rw-r--r--meta/conf/machine/qemux86-64.conf26
-rw-r--r--meta/conf/machine/qemux86.conf26
-rw-r--r--meta/conf/migrate_localcount.conf1
-rw-r--r--meta/conf/multilib.conf19
-rw-r--r--meta/conf/prexport.conf1
-rw-r--r--meta/conf/primport.conf1
-rw-r--r--meta/conf/sanity.conf16
-rw-r--r--meta/conf/swabber/Ubuntu-10.04.1-64/blacklist6
-rw-r--r--meta/conf/swabber/Ubuntu-10.04.1-64/filters7
-rw-r--r--meta/conf/swabber/Ubuntu-10.04.1-64/whitelist23
-rw-r--r--meta/conf/swabber/generic/blacklist2
-rw-r--r--meta/conf/swabber/generic/filters10
-rw-r--r--meta/conf/swabber/generic/whitelist15
99 files changed, 4271 insertions, 0 deletions
diff --git a/meta/conf/abi_version.conf b/meta/conf/abi_version.conf
new file mode 100644
index 0000000000..e8cf9a3127
--- /dev/null
+++ b/meta/conf/abi_version.conf
@@ -0,0 +1,7 @@
1#
2# OELAYOUT_ABI allows us to notify users when the format of TMPDIR changes in
3# an incompatible way. Such changes should usually be detailed in the commit
4# that breaks the format and have been previously discussed on the mailing list
5# with general agreement from the core team.
6#
7OELAYOUT_ABI = "9"
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
new file mode 100644
index 0000000000..47d2171775
--- /dev/null
+++ b/meta/conf/bitbake.conf
@@ -0,0 +1,797 @@
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
10baselib = "${BASELIB}"
11baselib[vardepvalue] = "${baselib}"
12BASELIB = "lib"
13BASELIB_powerpc64 = "lib64"
14
15# Path prefixes
16export base_prefix = ""
17export prefix = "/usr"
18export exec_prefix = "/usr"
19
20# Base paths
21export base_bindir = "${base_prefix}/bin"
22export base_sbindir = "${base_prefix}/sbin"
23export base_libdir = "${base_prefix}/${baselib}"
24export nonarch_base_libdir = "${base_prefix}/lib"
25
26# Architecture independent paths
27export datadir = "${prefix}/share"
28export sysconfdir = "${base_prefix}/etc"
29export servicedir = "${base_prefix}/srv"
30export sharedstatedir = "${base_prefix}/com"
31export localstatedir = "${base_prefix}/var"
32export infodir = "${datadir}/info"
33export mandir = "${datadir}/man"
34export docdir = "${datadir}/doc"
35export systemd_unitdir = "/lib/systemd"
36
37# Architecture dependent paths
38export bindir = "${exec_prefix}/bin"
39export sbindir = "${exec_prefix}/sbin"
40export libdir = "${exec_prefix}/${baselib}"
41export libexecdir = "${libdir}/${BPN}"
42export includedir = "${exec_prefix}/include"
43export oldincludedir = "${exec_prefix}/include"
44localedir = "${libdir}/locale"
45
46# Linkage between native/cross/nativesdk layouts
47base_bindir_native = "/bin"
48base_sbindir_native = "/sbin"
49sysconfdir_native = "/etc"
50prefix_native = "/usr"
51bindir_native = "${prefix_native}/bin"
52sbindir_native = "${prefix_native}/sbin"
53includedir_native = "${prefix_native}/include"
54libdir_native = "${prefix_native}/lib"
55libexecdir_native = "${libdir_native}/${BPN}"
56base_libdir_native = "/lib"
57datadir_native = "${prefix_native}/share"
58bindir_cross = "/bin"
59bindir_crossscripts = "${bindir}/crossscripts"
60prefix_nativesdk = "/usr"
61bindir_nativesdk = "${prefix_nativesdk}/bin"
62includedir_nativesdk = "${prefix_nativesdk}/include"
63libdir_nativesdk = "${prefix_nativesdk}/lib"
64base_libdir_nativesdk = "/lib"
65localstatedir_nativesdk = "/var"
66
67#
68# Cross recipes need to know about the target layout
69# := is used carefully here
70#
71target_datadir := "${datadir}"
72# Used to find env/perl/python
73USRBINPATH = "${bindir}"
74USRBINPATH_class-native = "/usr/bin"
75USRBINPATH_class-nativesdk = "/usr/bin"
76
77# Root home directory
78ROOT_HOME ??= "/home/root"
79
80##################################################################
81# Architecture-dependent build variables.
82##################################################################
83
84BUILD_ARCH = "${@os.uname()[4]}"
85BUILD_OS = "${@os.uname()[0].lower()}"
86BUILD_VENDOR = ""
87BUILD_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
88BUILD_PREFIX = ""
89BUILD_CC_ARCH = ""
90BUILD_LD_ARCH = ""
91BUILD_AS_ARCH = ""
92BUILD_EXEEXT = ""
93
94HOST_ARCH = "${TARGET_ARCH}"
95HOST_OS = "${TARGET_OS}"
96HOST_VENDOR = "${TARGET_VENDOR}"
97HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}"
98HOST_PREFIX = "${TARGET_PREFIX}"
99HOST_CC_ARCH = "${TARGET_CC_ARCH}"
100HOST_LD_ARCH = "${TARGET_LD_ARCH}"
101HOST_AS_ARCH = "${TARGET_AS_ARCH}"
102HOST_EXEEXT = ""
103
104TUNE_ARCH ??= "INVALID"
105TUNE_CCARGS ??= ""
106TUNE_CCARGS[vardepvalue] = "${TUNE_CCARGS}"
107TUNE_LDARGS ??= ""
108TUNE_ASARGS ??= ""
109TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
110LIBCEXTENSION ??= ""
111ABIEXTENSION ??= ""
112USE_NLS ??= "yes"
113SDKUSE_NLS ??= "yes"
114
115TARGET_ARCH = "${TUNE_ARCH}"
116TARGET_OS = "linux${LIBCEXTENSION}${ABIEXTENSION}"
117TARGET_VENDOR = "-oe"
118TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}${@['-' + d.getVar('TARGET_OS', True), ''][d.getVar('TARGET_OS', True) == ('' or 'custom')]}"
119TARGET_PREFIX = "${TARGET_SYS}-"
120TARGET_CC_ARCH = "${TUNE_CCARGS}"
121TARGET_LD_ARCH = "${TUNE_LDARGS}"
122TARGET_AS_ARCH = "${TUNE_ASARGS}"
123
124SDK_ARCH = "${BUILD_ARCH}"
125SDK_OS = "${BUILD_OS}"
126SDK_VENDOR = "-oesdk"
127SDK_SYS = "${SDK_ARCH}${SDK_VENDOR}${@['-' + d.getVar('SDK_OS', True), ''][d.getVar('SDK_OS', True) == ('' or 'custom')]}"
128SDK_PREFIX = "${SDK_SYS}-"
129SDK_CC_ARCH = "${BUILD_CC_ARCH}"
130SDKPKGSUFFIX = "nativesdk"
131SDK_PACKAGE_ARCHS = "all any noarch ${SDK_ARCH}-${SDKPKGSUFFIX}"
132SDK_LD_ARCH = "${BUILD_LD_ARCH}"
133SDK_AS_ARCH = "${BUILD_AS_ARCH}"
134
135PACKAGE_ARCH = "${TUNE_PKGARCH}"
136MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH', True), d.getVar('MACHINE', True)][bool(d.getVar('MACHINE', True))].replace('-', '_')}"
137PACKAGE_EXTRA_ARCHS ??= "${PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE}}"
138PACKAGE_ARCHS = "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}"
139# MACHINE_ARCH shouldn't be included here as a variable dependency
140# since machine specific packages are handled using multimachine
141PACKAGE_ARCHS[vardepsexclude] = "MACHINE_ARCH"
142
143MULTIMACH_TARGET_SYS = "${PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
144MULTIMACH_HOST_SYS = "${PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}"
145
146# select proper CPU to get binary locales generated
147QEMU_OPTIONS = ""
148QEMU_OPTIONS_iwmmxt = "-cpu pxa270-c5"
149QEMU_OPTIONS_armv6 = "-cpu arm1136"
150QEMU_OPTIONS_armv7a = "-cpu cortex-a8"
151QEMU_OPTIONS_e500v2 = "-cpu e500v2"
152QEMU_OPTIONS_e500mc = "-cpu e500mc"
153QEMU_OPTIONS_e5500 = "-cpu e5500"
154QEMU_OPTIONS_e5500-64b = "-cpu e5500"
155
156##################################################################
157# Date/time variables.
158##################################################################
159
160DATE := "${@time.strftime('%Y%m%d',time.gmtime())}"
161TIME := "${@time.strftime('%H%M%S',time.gmtime())}"
162DATETIME = "${DATE}${TIME}"
163
164##################################################################
165# Openembedded Software Prerequisites.
166##################################################################
167
168# python-native should be here but python relies on building
169# its own in staging
170ASSUME_PROVIDED = "\
171 bzip2-native \
172 chrpath-native \
173 git-native \
174 grep-native \
175 diffstat-native \
176 patch-native \
177 perl-native-runtime \
178 python-native-runtime \
179 tar-native \
180 virtual/libintl-native \
181 "
182# gzip-native should be listed above?
183
184##################################################################
185# Package default variables.
186##################################################################
187
188PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[0] or 'defaultpkgname'}"
189PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[1] or '1.0'}"
190PR = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[2] or 'r0'}"
191PRINC ?= "0"
192PF = "${PN}-${EXTENDPE}${PV}-${PR}"
193EXTENDPE = "${@['','${PE\x7d_'][int(d.getVar('PE',1) or 0) > 0]}"
194P = "${PN}-${PV}"
195
196EXTENDPRAUTO = "${@['.${PRAUTO\x7d',''][d.getVar('PRAUTO',1) is None]}"
197PRAUTOINX = "${PF}"
198
199PKGV ?= "${PV}"
200PKGR ?= "${PR}${EXTENDPRAUTO}"
201PKGE ?= "${@['','${PE\x7d'][int(d.getVar('PE',1) or 0) > 0]}"
202EXTENDPKGEVER = "${@['','${PKGE\x7d:'][d.getVar('PKGE',1).strip() != '']}"
203EXTENDPKGV ?= "${EXTENDPKGEVER}${PKGV}-${PKGR}"
204
205# Base package name
206# Automatically derives "foo" from "foo-native", "foo-cross" or "foo-initial"
207# otherwise it is the same as PN and P
208SPECIAL_PKGSUFFIX = "-native -cross -initial -intermediate -crosssdk -cross-canadian"
209BPN = "${@base_prune_suffix(d.getVar('PN', True), d.getVar('SPECIAL_PKGSUFFIX', True).split(), d)}"
210BP = "${BPN}-${PV}"
211
212# Package info.
213
214SECTION = "base"
215PRIORITY = "optional"
216SUMMARY ?= "${PN} version ${PV}-${PR}"
217DESCRIPTION ?= "${SUMMARY}"
218
219# The following two are commented out because they result in a recursive
220# definition of the variable in some corner cases. These are left in
221# to illustrate the intended behavior.
222#SUMMARY_${PN} ?= "${SUMMARY}"
223#DESCRIPTION_${PN} ?= "${DESCRIPTION}"
224
225SUMMARY_${PN}-dbg ?= "${SUMMARY} - Debugging files"
226DESCRIPTION_${PN}-dbg ?= "${DESCRIPTION} \
227This package contains ELF symbols and related sources for debugging purposes."
228
229SUMMARY_${PN}-dev ?= "${SUMMARY} - Development files"
230DESCRIPTION_${PN}-dev ?= "${DESCRIPTION} \
231This package contains symbolic links, header files, and \
232related items necessary for software development."
233
234SUMMARY_${PN}-staticdev ?= "${SUMMARY} - Development files (Static Libraries)"
235DESCRIPTION_${PN}-staticdev?= "${DESCRIPTION} \
236This package contains static libraries for software development."
237
238SUMMARY_${PN}-doc ?= "${SUMMARY} - Documentation files"
239DESCRIPTION_${PN}-doc ?= "${DESCRIPTION} \
240This package contains documentation."
241
242LICENSE = "INVALID"
243MAINTAINER = "OE-Core Developers <openembedded-core@lists.openembedded.org>"
244HOMEPAGE = "unknown"
245
246# Package dependencies and provides.
247
248# Ensure that -dev packages recommend the corresponding -dev packages of their
249# deps, and the same for -dbg.
250DEPCHAIN_PRE = ""
251DEPCHAIN_POST = "-dev -dbg"
252
253DEPENDS = ""
254RDEPENDS = ""
255PROVIDES = ""
256PROVIDES_prepend = "${PN} "
257RPROVIDES = ""
258
259MULTI_PROVIDER_WHITELIST = "virtual/libintl virtual/libintl-native virtual/nativesdk-libintl virtual/xserver virtual/update-alternatives-native virtual/update-alternatives"
260
261SOLIBS = ".so.*"
262SOLIBS_darwin = ".dylib"
263
264SOLIBSDEV = ".so"
265# Due to the ordering of PACKAGES and the naming of the dev symlinks on darwin,
266# we can't make the symlinks end up in the -dev packages easily at this point. This hack
267# at least means builds aren't completely broken and symlinks don't take up much space.
268SOLIBSDEV_darwin = ".dylibbroken"
269
270PACKAGE_BEFORE_PN ?= ""
271PACKAGES = "${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}"
272PACKAGES_DYNAMIC = "^${PN}-locale-.*"
273FILES = ""
274
275FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
276 ${sysconfdir} ${sharedstatedir} ${localstatedir} \
277 ${base_bindir}/* ${base_sbindir}/* \
278 ${base_libdir}/*${SOLIBS} \
279 ${base_prefix}/lib/udev/rules.d ${prefix}/lib/udev/rules.d \
280 ${datadir}/${BPN} ${libdir}/${BPN}/* \
281 ${datadir}/pixmaps ${datadir}/applications \
282 ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
283 ${libdir}/bonobo/servers"
284
285FILES_${PN}-bin = "${bindir}/* ${sbindir}/*"
286
287FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \
288 ${datadir}/gnome/help"
289SECTION_${PN}-doc = "doc"
290
291FILES_SOLIBSDEV ?= "${base_libdir}/lib*${SOLIBSDEV} ${libdir}/lib*${SOLIBSDEV}"
292FILES_${PN}-dev = "${includedir} ${FILES_SOLIBSDEV} ${libdir}/*.la \
293 ${libdir}/*.o ${libdir}/pkgconfig ${datadir}/pkgconfig \
294 ${datadir}/aclocal ${base_libdir}/*.o \
295 ${libdir}/${BPN}/*.la ${base_libdir}/*.la"
296SECTION_${PN}-dev = "devel"
297ALLOW_EMPTY_${PN}-dev = "1"
298RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPKGV})"
299
300FILES_${PN}-staticdev = "${libdir}/*.a ${base_libdir}/*.a ${libdir}/${BPN}/*.a"
301SECTION_${PN}-staticdev = "devel"
302RDEPENDS_${PN}-staticdev = "${PN}-dev (= ${EXTENDPKGV})"
303
304DOTDEBUG-dbg = "${bindir}/.debug ${sbindir}/.debug ${libexecdir}/.debug ${libdir}/.debug \
305 ${base_bindir}/.debug ${base_sbindir}/.debug ${base_libdir}/.debug ${libdir}/${BPN}/.debug \
306 ${libdir}/matchbox-panel/.debug /usr/src/debug"
307
308DEBUGFILEDIRECTORY-dbg = "/usr/lib/debug /usr/src/debug"
309
310FILES_${PN}-dbg = "${@d.getVar(['DOTDEBUG-dbg', 'DEBUGFILEDIRECTORY-dbg'][d.getVar('PACKAGE_DEBUG_SPLIT_STYLE', True) == 'debug-file-directory'], True)}"
311
312SECTION_${PN}-dbg = "devel"
313ALLOW_EMPTY_${PN}-dbg = "1"
314
315FILES_${PN}-locale = "${datadir}/locale"
316
317# File manifest
318
319FILE_DIRNAME = "${@os.path.dirname(d.getVar('FILE'))}"
320# FILESPATH is set in base.bbclass
321#FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/${BP}:${FILE_DIRNAME}/${BPN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
322
323##################################################################
324# General work and output directories for the build system.
325##################################################################
326
327TMPDIR ?= "${TOPDIR}/tmp"
328CACHE = "${TMPDIR}/cache${@['', '/' + str(d.getVar('MACHINE', True))][bool(d.getVar('MACHINE', True))]}${@['', '/' + str(d.getVar('SDKMACHINE', True))][bool(d.getVar('SDKMACHINE', True))]}"
329# The persistent cache should be shared by all builds
330PERSISTENT_DIR = "${TOPDIR}/cache"
331LOG_DIR = "${TMPDIR}/log"
332CO_DIR = "${DL_DIR}"
333CVSDIR = "${CO_DIR}/cvs"
334SVNDIR = "${CO_DIR}/svn"
335GITDIR = "${CO_DIR}/git2"
336BZRDIR = "${CO_DIR}/bzr"
337HGDIR = "${CO_DIR}/hg"
338
339STAMPS_DIR ?= "${TMPDIR}/stamps"
340STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
341STAMPCLEAN = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/*-*"
342BASE_WORKDIR ?= "${TMPDIR}/work"
343WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
344T = "${WORKDIR}/temp"
345D = "${WORKDIR}/image"
346S = "${WORKDIR}/${BP}"
347B = "${S}"
348
349STAGING_DIR = "${TMPDIR}/sysroots"
350
351STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}"
352STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${bindir_native}"
353STAGING_BINDIR_CROSS = "${STAGING_BINDIR}/crossscripts"
354STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
355STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${libdir_native}"
356STAGING_LIBEXECDIR_NATIVE = "${STAGING_DIR_NATIVE}${libexecdir_native}"
357STAGING_BASE_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${base_libdir_native}"
358STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${includedir_native}"
359STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${sysconfdir_native}"
360STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${datadir_native}"
361
362STAGING_DIR_HOST = "${STAGING_DIR}/${MACHINE}"
363STAGING_BINDIR = "${STAGING_DIR_HOST}${bindir}"
364STAGING_LIBDIR = "${STAGING_DIR_HOST}${libdir}"
365STAGING_LIBEXECDIR = "${STAGING_DIR_HOST}${libexecdir}"
366STAGING_BASELIBDIR = "${STAGING_DIR_HOST}${base_libdir}"
367STAGING_INCDIR = "${STAGING_DIR_HOST}${includedir}"
368STAGING_DATADIR = "${STAGING_DIR_HOST}${datadir}"
369STAGING_EXECPREFIXDIR = "${STAGING_DIR_HOST}${exec_prefix}"
370STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader"
371STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware"
372
373STAGING_DIR_TARGET = "${STAGING_DIR}/${MACHINE}"
374STAGING_DIR_TCBOOTSTRAP = "${STAGING_DIR_TARGET}-tcbootstrap"
375
376# Setting DEPLOY_DIR outside of TMPDIR is helpful, when you are using
377# packaged staging and/or multimachine.
378DEPLOY_DIR ?= "${TMPDIR}/deploy"
379DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
380DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
381DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
382DEPLOY_DIR_DEB = "${DEPLOY_DIR}/deb"
383DEPLOY_DIR_IMAGE ?= "${DEPLOY_DIR}/images/${MACHINE}"
384DEPLOY_DIR_TOOLS = "${DEPLOY_DIR}/tools"
385
386PKGDATA_DIR = "${STAGING_DIR_HOST}/pkgdata"
387
388##################################################################
389# SDK variables.
390##################################################################
391
392SDK_NAME_PREFIX ?= "oecore"
393SDK_NAME = "${SDK_NAME_PREFIX}-${SDK_ARCH}-${TUNE_PKGARCH}"
394SDKPATH = "/usr/local/${SDK_NAME_PREFIX}-${SDK_ARCH}"
395SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
396
397##################################################################
398# Kernel info.
399##################################################################
400
401OLDEST_KERNEL = "2.6.16"
402STAGING_KERNEL_DIR = "${STAGING_DIR_HOST}/usr/src/kernel"
403
404##################################################################
405# Specific image creation and rootfs population info.
406##################################################################
407
408IMAGE_ROOTFS = "${WORKDIR}/rootfs"
409IMAGE_BASENAME = "${PN}"
410IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
411IMAGE_NAME[vardepsexclude] += "DATETIME"
412IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}"
413
414# This option allows for a percentage overage of the actual image size rather than a
415# fixed extra space, this is space needed for initial startup and basic operations.
416IMAGE_OVERHEAD_FACTOR ?= "1.3"
417# This option allows for adding additional space in K above and beyond what the
418# IMAGE_OVERHEAD_FACTOR might add. This space is for additional packages, user data, ...
419# To set a fixed size then overriding IMAGE_ROOTFS_SIZE with the max size one wants
420# should do the trick
421IMAGE_ROOTFS_EXTRA_SPACE ?= "0"
422
423EXTRA_IMAGEDEPENDS = ""
424
425##################################################################
426# Toolchain info.
427##################################################################
428
429PATH_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}:"
430export PATH
431
432##################################################################
433# Build utility info.
434##################################################################
435
436CCACHE ??= ""
437# Disable ccache explicitly if CCACHE is null since gcc may be a symlink
438# of ccache some distributions (e.g., Fedora 17).
439export CCACHE_DISABLE ??= "${@[0,1][d.getVar('CCACHE', True) == '']}"
440# Assign CCACHE_DIR a default value to fix a bug of ccache 3.1.7,
441# since it would always create CCACHE_DIR/.ccache even if
442# CCACHE_DISABLE = 1.
443export CCACHE_DIR ??= "${@os.getenv('HOME')}"
444
445TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"
446
447export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
448export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
449export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
450export CPP = "${HOST_PREFIX}gcc -E${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
451export LD = "${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"
452export CCLD = "${CC}"
453export AR = "${HOST_PREFIX}ar"
454export AS = "${HOST_PREFIX}as ${HOST_AS_ARCH}"
455export RANLIB = "${HOST_PREFIX}ranlib"
456export STRIP = "${HOST_PREFIX}strip"
457export OBJCOPY = "${HOST_PREFIX}objcopy"
458export OBJDUMP = "${HOST_PREFIX}objdump"
459export STRINGS = "${HOST_PREFIX}strings"
460export NM = "${HOST_PREFIX}nm"
461PYTHON = "${@sys.executable}"
462
463export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
464export BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
465export BUILD_F77 = "${CCACHE}${BUILD_PREFIX}g77 ${BUILD_CC_ARCH}"
466export BUILD_CPP = "${BUILD_PREFIX}cpp ${BUILD_CC_ARCH}"
467export BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
468export BUILD_CCLD = "${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
469export BUILD_AR = "${BUILD_PREFIX}ar"
470export BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
471export BUILD_RANLIB = "${BUILD_PREFIX}ranlib"
472export BUILD_STRIP = "${BUILD_PREFIX}strip"
473export BUILD_NM = "${BUILD_PREFIX}nm"
474
475export MAKE = "make"
476EXTRA_OEMAKE = "-e MAKEFLAGS="
477EXTRA_OECONF = ""
478export LC_ALL = "C"
479
480##################################################################
481# Patch handling.
482##################################################################
483PATCHTOOL = 'quilt'
484PATCHRESOLVE = 'user'
485
486##################################################################
487# Build flags and options.
488##################################################################
489
490export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
491BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}"
492export CPPFLAGS = "${TARGET_CPPFLAGS}"
493export TARGET_CPPFLAGS = ""
494#export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${includedir}"
495
496export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
497BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}"
498export CFLAGS = "${TARGET_CFLAGS}"
499export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
500
501export BUILD_CXXFLAGS = "${BUILD_CFLAGS} -fpermissive"
502export CXXFLAGS = "${TARGET_CXXFLAGS}"
503export TARGET_CXXFLAGS = "${TARGET_CFLAGS} -fpermissive"
504
505export BUILD_LDFLAGS = "-L${STAGING_LIBDIR_NATIVE} \
506 -L${STAGING_BASE_LIBDIR_NATIVE} \
507 -Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} \
508 -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} \
509 -Wl,-rpath,${STAGING_LIBDIR_NATIVE} \
510 -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE} \
511 -Wl,-O1"
512
513BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
514 -Wl,-rpath-link,${STAGING_LIBDIR} \
515 -Wl,-rpath,${libdir} -Wl,-O1 \
516 -L${STAGING_DIR_HOST}${base_libdir} \
517 -Wl,-rpath-link,${STAGING_DIR_HOST}${base_libdir} \
518 -Wl,-rpath,${base_libdir} -Wl,-O1"
519
520LINKER_HASH_STYLE ??= "gnu"
521# mips does not support GNU hash style therefore we override
522LINKER_HASH_STYLE_mips = "sysv"
523LINKER_HASH_STYLE_mipsel = "sysv"
524LINKER_HASH_STYLE_mips64 = "sysv"
525LINKER_HASH_STYLE_mips64el = "sysv"
526TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_STYLE', True) != 'gnu']}"
527
528export LDFLAGS = "${TARGET_LDFLAGS}"
529export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}"
530#export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \
531# -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir} \
532# -Wl,-O1"
533
534# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
535ALLOWED_FLAGS = "-O -mcpu -march -pipe"
536
537# Pass parallel make options to the compile task
538EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} "
539PARALLEL_MAKEINST ??= "${PARALLEL_MAKE}"
540# Pass parallel make options to the install task
541EXTRA_OEMAKE_prepend_task-install = "${PARALLEL_MAKEINST} "
542
543##################################################################
544# Optimization flags.
545##################################################################
546DEBUG_FLAGS ?= "-g -feliminate-unused-debug-types"
547# Disabled until the option works properly -feliminate-dwarf2-dups
548FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}"
549DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe"
550SELECTED_OPTIMIZATION = "${@d.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][d.getVar('DEBUG_BUILD', True) == '1'], True)}"
551SELECTED_OPTIMIZATION[vardeps] += "FULL_OPTIMIZATION DEBUG_OPTIMIZATION"
552BUILD_OPTIMIZATION = "-O2 -pipe"
553
554##################################################################
555# Bootstrap stuff.
556##################################################################
557
558BOOTSTRAP_EXTRA_RDEPENDS = ""
559BOOTSTRAP_EXTRA_RRECOMMENDS = ""
560
561##################################################################
562# Download locations and utilities.
563##################################################################
564
565ADOBE_MIRROR = "http://fpdownload.macromedia.com/get/flashplayer/current/"
566APACHE_MIRROR = "http://www.apache.org/dist"
567DEBIAN_MIRROR = "ftp://ftp.debian.org/debian/pool"
568E_MIRROR = "http://download.enlightenment.org/releases"
569E_SVN = "svn://svn.enlightenment.org/svn/e"
570FREEBSD_MIRROR = "ftp://ftp.freebsd.org/pub/FreeBSD/"
571FREEDESKTOP_CVS = "cvs://anoncvs:anoncvs@anoncvs.freedesktop.org/cvs"
572FREESMARTPHONE_GIT = "git://git.freesmartphone.org"
573GENTOO_MIRROR = "http://distfiles.gentoo.org/distfiles"
574GNOME_GIT = "git://git.gnome.org"
575GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources"
576GNU_MIRROR = "ftp://ftp.gnu.org/gnu"
577GPE_MIRROR = "http://gpe.linuxtogo.org/download/source"
578GPE_EXTRA_SVN = "svn://projects.linuxtogo.org/svn/gpe/trunk/extra;module=${PN}"
579GPE_SVN = "svn://projects.linuxtogo.org/svn/gpe/trunk/base;module=${PN}"
580GPEPHONE_MIRROR = "http://gpephone.linuxtogo.org/download/gpephone"
581GPEPHONE_SVN = "svn://projects.linuxtogo.org/svn/gpephone/trunk/source;module=${PN}"
582HANDHELDS_CVS = "cvs://anoncvs:anoncvs@anoncvs.handhelds.org/cvs"
583KERNELORG_MIRROR = "http://kernel.org/pub"
584SOURCEFORGE_MIRROR = "http://downloads.sourceforge.net"
585XLIBS_MIRROR = "http://xlibs.freedesktop.org/release"
586XORG_MIRROR = "http://xorg.freedesktop.org/releases"
587
588# You can use the mirror of your country to get faster downloads by putting
589# export DEBIAN_MIRROR = "ftp://ftp.de.debian.org/debian/pool"
590# into your local.conf
591
592FETCHCMD_svn = "/usr/bin/env svn --non-interactive --trust-server-cert"
593FETCHCMD_cvs = "/usr/bin/env cvs"
594FETCHCMD_wget = "/usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate"
595FETCHCMD_bzr = "/usr/bin/env bzr"
596FETCHCMD_hg = "/usr/bin/env hg"
597
598SRCDATE = "${DATE}"
599SRCREV ??= "INVALID"
600AUTOREV = "${@bb.fetch2.get_autorev(d)}"
601SRCPV = "${@bb.fetch2.get_srcrev(d)}"
602SRCPV[vardepvalue] = "${SRCPV}"
603
604SRC_URI = ""
605
606# Use pseudo as the fakeroot implementation
607PSEUDO_LOCALSTATEDIR ?= "${WORKDIR}/pseudo/"
608PSEUDO_PASSWD ?= "${STAGING_DIR_TARGET}"
609export PSEUDO_DISABLED = "1"
610#export PSEUDO_PREFIX = "${STAGING_DIR_NATIVE}${prefix_native}"
611#export PSEUDO_BINDIR = "${STAGING_DIR_NATIVE}${bindir_native}"
612#export PSEUDO_LIBDIR = "${STAGING_DIR_NATIVE}$PSEUDOBINDIR/../lib/pseudo/lib
613FAKEROOTBASEENV = "PSEUDO_BINDIR=${STAGING_BINDIR_NATIVE} PSEUDO_LIBDIR=${STAGING_BINDIR_NATIVE}/../lib/pseudo/lib PSEUDO_PREFIX=${STAGING_BINDIR_NATIVE}/../../ PSEUDO_DISABLED=1"
614FAKEROOTCMD = "${STAGING_BINDIR_NATIVE}/pseudo"
615FAKEROOTENV = "PSEUDO_PREFIX=${STAGING_DIR_NATIVE}${prefix_native} PSEUDO_LOCALSTATEDIR=${PSEUDO_LOCALSTATEDIR} PSEUDO_PASSWD=${PSEUDO_PASSWD} PSEUDO_NOSYMLINKEXP=1 PSEUDO_DISABLED=0"
616FAKEROOTNOENV = "PSEUDO_UNLOAD=1"
617FAKEROOTDIRS = "${PSEUDO_LOCALSTATEDIR}"
618PREFERRED_PROVIDER_virtual/fakeroot-native ?= "pseudo-native"
619
620##################################################################
621# Miscellaneous utilities.
622##################################################################
623
624MKTEMPDIRCMD = "mktemp -d -q ${TMPBASE}"
625MKTEMPCMD = "mktemp -q ${TMPBASE}"
626
627# GNU patch tries to be intellgent about checking out read-only files from
628# a RCS, which freaks out those special folks with active Perforce clients
629# the following makes patch ignore RCS:
630
631export PATCH_GET="0"
632
633##################################################################
634# Not sure about the rest of this yet.
635##################################################################
636
637# Pre-build configuration output
638BUILDCFG_HEADER = "Build Configuration:"
639BUILDCFG_VARS = "BB_VERSION BUILD_SYS NATIVELSBSTRING TARGET_SYS MACHINE DISTRO DISTRO_VERSION TUNE_FEATURES TARGET_FPU"
640BUILDCFG_VARS[type] = "list"
641BUILDCFG_NEEDEDVARS = "TARGET_ARCH TARGET_OS"
642BUILDCFG_NEEDEDVARS[type] = "list"
643
644# Other
645
646export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}/${libdir}/pkgconfig"
647export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig"
648export PKG_CONFIG_LIBDIR = "${PKG_CONFIG_DIR}"
649export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
650export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"
651
652# library package naming
653AUTO_LIBNAME_PKGS = "${PACKAGES}"
654
655###
656### Config file processing
657###
658
659# Overrides are processed left to right, so the ones that are named later take precedence.
660# You generally want them to go from least to most specific.
661#
662# This means that an envionment variable named '<foo>_arm' overrides an
663# environment variable '<foo>' (when ${TARGET_ARCH} is arm).
664# An environment variable '<foo>_qemuarm' overrides '<foo>' and overrides
665# '<foo>_arm' when ${MACHINE} is 'qemuarm'.
666# If you use combination ie '<foo>_qemuarm_arm', then '<foo>_qemuarm_arm' will override
667# '<foo>_qemuarm' and then '<foo>' will be overriden with that value from '<foo>_qemuarm'.
668# And finally '<foo>_forcevariable' overrides any standard variable, with the highest priority.
669#
670# This works for functions as well, they are really just environment variables.
671# Default OVERRIDES to make compilation fail fast in case of build system misconfiguration.
672OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable"
673OVERRIDES[vardepsexclude] = "MACHINEOVERRIDES"
674CLASSOVERRIDE ?= "class-target"
675DISTROOVERRIDES ?= "${@d.getVar('DISTRO', True) or ''}"
676MACHINEOVERRIDES ?= "${MACHINE}"
677MACHINEOVERRIDES[vardepsexclude] = "MACHINE"
678
679FILESOVERRIDES = "${TRANSLATED_TARGET_ARCH}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}"
680
681CPU_FEATURES ?= ""
682CPU_FEATURES_arm ?= "vfp"
683
684##################################################################
685# Include the rest of the config files.
686##################################################################
687
688require conf/abi_version.conf
689include conf/site.conf
690include conf/auto.conf
691include conf/local.conf
692include conf/build/${BUILD_SYS}.conf
693include conf/target/${TARGET_SYS}.conf
694include conf/machine/${MACHINE}.conf
695include conf/machine-sdk/${SDKMACHINE}.conf
696include conf/distro/${DISTRO}.conf
697include conf/distro/defaultsetup.conf
698include conf/documentation.conf
699include conf/licenses.conf
700require conf/sanity.conf
701
702##################################################################
703# Weak variables (usually to retain backwards compatibility)
704##################################################################
705
706DL_DIR ?= "${TOPDIR}/downloads"
707SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
708IMAGE_FSTYPES ?= "tar.gz"
709INITRAMFS_FSTYPES ?= "cpio.gz"
710DEFAULT_TASK_PROVIDER ?= "packagegroup-base"
711MACHINE_TASK_PROVIDER ?= "${DEFAULT_TASK_PROVIDER}"
712IMAGE_ROOTFS_SIZE ?= "65536"
713
714# Forcefully set CACHE now so future changes to things like
715# MACHINE don't change the path to the cache
716CACHE := "${CACHE}"
717
718##################################################################
719# Magic Cookie for SANITY CHECK
720##################################################################
721OES_BITBAKE_CONF = "1"
722
723##################################################################
724# Machine properties and packagegroup-base stuff
725##################################################################
726
727DISTRO_FEATURES ?= ""
728
729DISTRO_EXTRA_RDEPENDS ?= ""
730DISTRO_EXTRA_RRECOMMENDS ?= ""
731MACHINE_EXTRA_RDEPENDS ?= ""
732MACHINE_EXTRA_RRECOMMENDS ?= ""
733MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
734MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
735
736EXTRA_IMAGE_FEATURES ??= ""
737IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
738
739DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit"
740MACHINE_FEATURES_BACKFILL = "rtc"
741
742COMBINED_FEATURES = "\
743 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "alsa", d)} \
744 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "bluetooth", d)} \
745 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "ext2", d)} \
746 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "vfat", d)} \
747 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "irda", d)} \
748 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pcmcia", d)} \
749 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "pci", d)} \
750 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbgadget", d)} \
751 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "usbhost", d)} \
752 ${@base_both_contain("DISTRO_FEATURES", "MACHINE_FEATURES", "wifi", d)}"
753COMBINED_FEATURES[vardeps] += "DISTRO_FEATURES MACHINE_FEATURES"
754
755SERIAL_CONSOLE ??= ""
756SERIAL_CONSOLES ??= "${@d.getVar('SERIAL_CONSOLE', True).replace(' ', ';')}"
757
758NO_RECOMMENDATIONS ?= ""
759BAD_RECOMMENDATIONS ?= ""
760
761# Make sure MACHINE isn't exported
762# (breaks binutils at least)
763MACHINE[unexport] = "1"
764
765# Make sure TARGET_ARCH isn't exported
766# (breaks Makefiles using implicit rules, e.g. quilt, as GNU make has this
767# in them, undocumented)
768TARGET_ARCH[unexport] = "1"
769
770# Make sure DISTRO isn't exported
771# (breaks sysvinit at least)
772DISTRO[unexport] = "1"
773
774# Used by canadian-cross to handle string conversions on TARGET_ARCH where needed
775TRANSLATED_TARGET_ARCH ??= "${@d.getVar('TARGET_ARCH', True).replace("_", "-")}"
776
777# Complete output from bitbake
778BB_CONSOLELOG ?= "${LOG_DIR}/cooker/${MACHINE}/${DATETIME}.log"
779
780# Setup our default hash policy
781BB_SIGNATURE_HANDLER ?= "OEBasicHash"
782BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \
783 SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \
784 USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \
785 PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
786 CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE LICENSE_PATH SDKPKGSUFFIX"
787BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \
788 SSH_AUTH_SOCK PSEUDO_BUILD BB_ENV_EXTRAWHITE DISABLE_SANITY_CHECKS \
789 PARALLEL_MAKE BB_NUMBER_THREADS BB_ORIGENV"
790BB_SIGNATURE_EXCLUDE_FLAGS ?= "doc defaultval _append _prepend deps depends \
791 lockfiles type vardepsexclude vardeps vardepvalue file-checksums python \
792 func task export unexport noexec nostamp dirs cleandirs \
793 sstate-lockfile-shared prefuncs postfuncs export_func deptask rdeptask \
794 recrdeptask nodeprrecs stamp-base stamp-extra-info"
795
796MLPREFIX ??= ""
797MULTILIB_VARIANTS ??= ""
diff --git a/meta/conf/conf-notes.txt b/meta/conf/conf-notes.txt
new file mode 100644
index 0000000000..503cffa44e
--- /dev/null
+++ b/meta/conf/conf-notes.txt
@@ -0,0 +1,9 @@
1Common targets are:
2 core-image-minimal
3 core-image-sato
4 meta-toolchain
5 meta-toolchain-sdk
6 adt-installer
7 meta-ide-support
8
9You can also run generated qemu images with a command like 'runqemu qemux86'
diff --git a/meta/conf/distro/defaultsetup.conf b/meta/conf/distro/defaultsetup.conf
new file mode 100644
index 0000000000..5557350697
--- /dev/null
+++ b/meta/conf/distro/defaultsetup.conf
@@ -0,0 +1,22 @@
1include conf/distro/include/default-providers.inc
2include conf/distro/include/default-versions.inc
3include conf/distro/include/default-distrovars.inc
4include conf/distro/include/world-broken.inc
5
6TCMODE ?= "default"
7require conf/distro/include/tcmode-${TCMODE}.inc
8
9TCLIBC ?= "eglibc"
10require conf/distro/include/tclibc-${TCLIBC}.inc
11
12# Allow single libc distros to disable this code
13TCLIBCAPPEND ?= "-${TCLIBC}"
14TMPDIR .= "${TCLIBCAPPEND}"
15
16CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/' + str(d.getVar('MACHINE', True))][bool(d.getVar('MACHINE', True))]}${@['', '/' + str(d.getVar('SDKMACHINE', True))][bool(d.getVar('SDKMACHINE', True))]}"
17
18USER_CLASSES ?= ""
19PACKAGE_CLASSES ?= "package_ipk"
20INHERIT_DISTRO ?= "debian devshell sstate license"
21INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO}"
22
diff --git a/meta/conf/distro/include/as-needed.inc b/meta/conf/distro/include/as-needed.inc
new file mode 100644
index 0000000000..9d2056e17a
--- /dev/null
+++ b/meta/conf/distro/include/as-needed.inc
@@ -0,0 +1,16 @@
1
2ASNEEDED = "-Wl,--as-needed"
3
4ASNEEDED_pn-console-tools = ""
5ASNEEDED_pn-distcc = ""
6ASNEEDED_pn-openobex = ""
7ASNEEDED_pn-icu = ""
8ASNEEDED_pn-xserver-kdrive-xomap = ""
9ASNEEDED_pn-minimo = ""
10ASNEEDED_pn-pciutils = ""
11ASNEEDED_pn-puzzles = ""
12ASNEEDED_pn-dialer = ""
13ASNEEDED_pn-pulseaudio = ""
14ASNEEDED_pn-rpm = ""
15
16TARGET_LDFLAGS += "${ASNEEDED}"
diff --git a/meta/conf/distro/include/csl-versions.inc b/meta/conf/distro/include/csl-versions.inc
new file mode 100644
index 0000000000..3938bf7ed2
--- /dev/null
+++ b/meta/conf/distro/include/csl-versions.inc
@@ -0,0 +1,107 @@
1def csl_run(d, cmd, *args):
2 import bb.process
3 import subprocess
4
5 topdir = d.getVar('TOPDIR', True)
6 toolchain_path = d.getVar('EXTERNAL_TOOLCHAIN', True)
7 if not toolchain_path:
8 return 'UNKNOWN', 'UNKNOWN'
9
10 target_prefix = d.getVar('TARGET_PREFIX', True)
11 path = os.path.join(toolchain_path, 'bin', target_prefix + cmd)
12 args = [path] + list(args)
13
14 return bb.process.run(args, cwd=topdir, stderr=subprocess.PIPE)
15
16def csl_get_version(d):
17 try:
18 stdout, stderr = csl_run(d, 'gcc', '-v')
19 except bb.process.CmdError as exc:
20 bb.error('Failed to obtain CodeSourcery toolchain version: %s' % exc)
21 bb.error('Make sure that MACHINE is set correctly in your local.conf and the toolchain supports %s.' % d.getVar("TARGET_ARCH", True))
22 return 'UNKNOWN'
23 else:
24 last_line = stderr.splitlines()[-1]
25 return last_line
26
27def csl_get_main_version(d):
28 version = csl_get_version(d)
29 if version != 'UNKNOWN':
30 return version.split()[-1].rstrip(')')
31 else:
32 return version
33
34def csl_get_gcc_version(d):
35 version = csl_get_version(d)
36 if version != 'UNKNOWN':
37 return version.split()[2]
38 else:
39 return version
40
41def csl_get_libc_version(d):
42 syspath = d.expand('${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}')
43 if not syspath:
44 return 'UNKNOWN'
45
46 libpath = syspath + '/libc/lib/'
47 if not os.path.exists(libpath):
48 libpath = syspath + '/libc/sgxx-glibc/lib/'
49
50 if os.path.exists(libpath):
51 for file in os.listdir(libpath):
52 if file.find('libc-') == 0:
53 return file[5:-3]
54 return 'UNKNOWN'
55
56def csl_get_kernel_version(d):
57 syspath = d.expand('${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}')
58 if not syspath:
59 return 'UNKNOWN'
60
61 vf = syspath + '/libc/usr/include/linux/version.h'
62 if not os.path.exists(vf):
63 vf = syspath + '/libc/sgxx-glibc/usr/include/linux/version.h'
64
65 try:
66 f = open(vf, 'r')
67 except (OSError, IOError):
68 return 'UNKNOWN'
69
70 l = f.readlines();
71 f.close();
72 for s in l:
73 if s.find('LINUX_VERSION_CODE') > 0:
74 ver = int(s.split()[2])
75 maj = ver / 65536
76 ver = ver % 65536
77 min = ver / 256
78 ver = ver % 256
79 return str(maj)+'.'+str(min)+'.'+str(ver)
80 return 'UNKNOWN'
81
82def csl_get_gdb_version(d):
83 try:
84 stdout, stderr = csl_run(d, 'gdb', '-v')
85 except bb.process.CmdError:
86 return 'UNKNOWN'
87 else:
88 first_line = stdout.splitlines()[0]
89 return first_line.split()[-1]
90
91python csl_version_handler () {
92 d = e.data
93 ld = d.createCopy()
94 ld.finalize()
95
96 d.setVar('CSL_VER_MAIN', csl_get_main_version(ld))
97 d.setVar('CSL_VER_GCC', csl_get_gcc_version(ld))
98 d.setVar('CSL_VER_LIBC', csl_get_libc_version(ld))
99 d.setVar('CSL_VER_KERNEL', csl_get_kernel_version(ld))
100 d.setVar('CSL_VER_GDB', csl_get_gdb_version(ld))
101}
102addhandler csl_version_handler
103csl_version_handler[eventmask] = "bb.event.ConfigParsed"
104
105# Ensure that any variable which includes the --sysroot (CC, CXX, etc) also
106# depends on the toolchain version
107TOOLCHAIN_OPTIONS[vardeps] += "CSL_VER_MAIN CSL_VER_GCC"
diff --git a/meta/conf/distro/include/default-distrovars.inc b/meta/conf/distro/include/default-distrovars.inc
new file mode 100644
index 0000000000..d275525000
--- /dev/null
+++ b/meta/conf/distro/include/default-distrovars.inc
@@ -0,0 +1,50 @@
1QA_LOGFILE = "${TMPDIR}/qa.log"
2
3OEINCLUDELOGS ?= "yes"
4KERNEL_CONSOLE ?= "ttyS0"
5KEEPUIMAGE ??= "yes"
6
7IMAGE_LINGUAS ?= "en-us en-gb"
8LIMIT_BUILT_LOCALES ?= "POSIX en_US en_GB"
9ENABLE_BINARY_LOCALE_GENERATION ?= "1"
10LOCALE_UTF8_ONLY ?= "0"
11
12DISTRO_FEATURES_DEFAULT ?= "alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11"
13DISTRO_FEATURES_LIBC_DEFAULT ?= "ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-cxx-tests libc-catgets libc-charsets libc-crypt \
14 libc-crypt-ufc libc-db-aliases libc-envz libc-fcvt libc-fmtmsg libc-fstab libc-ftraverse \
15 libc-getlogin libc-idn libc-inet-anl libc-libm libc-locales libc-locale-code \
16 libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
17 libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
18 libc-posix-wchar-io"
19DISTRO_FEATURES_LIBC ?= "${DISTRO_FEATURES_LIBC_DEFAULT}"
20DISTRO_FEATURES_LIBC_class-nativesdk = "${DISTRO_FEATURES_LIBC_DEFAULT}"
21DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC}"
22
23IMAGE_FEATURES ?= ""
24
25# This is a list of packages that are used by the build system to build the distribution, they are not
26# directly part of the distribution.
27HOSTTOOLS_WHITELIST_GPLv3 ?= ""
28WHITELIST_GPLv3 ?= "less"
29LGPLv2_WHITELIST_GPLv3 ?= "libassuan gnutls libtasn1 libidn libgcc gcc-runtime"
30
31COMMERCIAL_AUDIO_PLUGINS ?= ""
32# COMMERCIAL_AUDIO_PLUGINS ?= "gst-plugins-ugly-mad gst-plugins-ugly-mpegaudioparse"
33COMMERCIAL_VIDEO_PLUGINS ?= ""
34# COMMERCIAL_VIDEO_PLUGINS ?= "gst-plugins-ugly-mpeg2dec gst-plugins-ugly-mpegstream gst-plugins-bad-mpegvideoparse"
35COMMERCIAL_QT ?= ""
36# COMMERCIAL_QT ?= "qmmp"
37# Set of common licenses used for license.bbclass
38COMMON_LICENSE_DIR ??= "${COREBASE}/meta/files/common-licenses"
39
40BB_GENERATE_MIRROR_TARBALLS ??= "0"
41
42NO32LIBS ??= "1"
43
44# Default to emitting logfiles if a build fails.
45BBINCLUDELOGS ??= "yes"
46SDK_VERSION ??= "oe-core.0"
47DISTRO_VERSION ??= "oe-core.0"
48
49# Missing checksums should raise an error
50BB_STRICT_CHECKSUM = "1"
diff --git a/meta/conf/distro/include/default-providers.inc b/meta/conf/distro/include/default-providers.inc
new file mode 100644
index 0000000000..d4b9db014e
--- /dev/null
+++ b/meta/conf/distro/include/default-providers.inc
@@ -0,0 +1,45 @@
1#
2# Default virtual providers
3#
4PREFERRED_PROVIDER_virtual/db ?= "db"
5PREFERRED_PROVIDER_virtual/db-native ?= "db-native"
6PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
7PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg"
8PREFERRED_PROVIDER_virtual/egl ?= "mesa"
9PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
10PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
11PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
12PREFERRED_PROVIDER_virtual/mesa ?= "mesa"
13PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg"
14PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-native"
15PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
16PREFERRED_PROVIDER_xf86-video-intel ?= "xf86-video-intel"
17
18#
19# Default virtual runtime providers
20#
21VIRTUAL-RUNTIME_update-alternatives ?= "update-alternatives-cworth"
22VIRTUAL-RUNTIME_apm ?= "apm"
23VIRTUAL-RUNTIME_alsa-state ?= "alsa-state"
24
25#
26# Default recipe providers
27#
28PREFERRED_PROVIDER_dbus-glib ?= "dbus-glib"
29PREFERRED_PROVIDER_dbus-glib-native ?= "dbus-glib-native"
30PREFERRED_PROVIDER_gdk-pixbuf ?= "gdk-pixbuf"
31PREFERRED_PROVIDER_libgcc ?= "libgcc"
32PREFERRED_PROVIDER_nativesdk-libgcc ?= "nativesdk-libgcc"
33PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers"
34PREFERRED_PROVIDER_nativesdk-linux-libc-headers ?= "nativesdk-linux-libc-headers"
35PREFERRED_PROVIDER_matchbox-panel ?= "matchbox-panel-2"
36PREFERRED_PROVIDER_opkg ?= "opkg"
37PREFERRED_PROVIDER_opkg-native ?= "opkg-native"
38PREFERRED_PROVIDER_nativesdk-opkg ?= "nativesdk-opkg"
39PREFERRED_PROVIDER_console-tools ?= "kbd"
40PREFERRED_PROVIDER_gzip-native ?= "pigz-native"
41PREFERRED_PROVIDER_make ?= "make"
42PREFERRED_PROVIDER_udev ?= "${@base_contains('DISTRO_FEATURES','systemd','systemd','udev',d)}"
43# There are issues with runtime packages and PREFERRED_PROVIDER, see YOCTO #5044 for details
44# on this rather strange entry.
45PREFERRED_PROVIDER_bluez4 ?= "bluez4"
diff --git a/meta/conf/distro/include/default-versions.inc b/meta/conf/distro/include/default-versions.inc
new file mode 100644
index 0000000000..53ec2e7caf
--- /dev/null
+++ b/meta/conf/distro/include/default-versions.inc
@@ -0,0 +1,11 @@
1#
2# Default preferred versions
3#
4
5# Force the python versions in one place
6PYTHON_BASEVERSION ?= "2.7"
7PREFERRED_VERSION_python ?= "2.7.3"
8PREFERRED_VERSION_python-native ?= "2.7.3"
9
10# Force the older version of liberation-fonts until we fix the fontforge issue
11PREFERRED_VERSION_liberation-fonts ?= "1.04"
diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc
new file mode 100644
index 0000000000..e313be67b1
--- /dev/null
+++ b/meta/conf/distro/include/security_flags.inc
@@ -0,0 +1,48 @@
1SECURITY_CFLAGS ?= "-fstack-protector-all -pie -fpie -D_FORTIFY_SOURCE=2"
2SECURITY_NO_PIE_CFLAGS ?= "-fstack-protector-all -D_FORTIFY_SOURCE=2"
3SECURITY_LDFLAGS ?= "-Wl,-z,relro,-z,now"
4
5SECURITY_CFLAGS_pn-aspell = "${SECURITY_NO_PIE_CFLAGS}"
6SECURITY_CFLAGS_pn-beecrypt = "${SECURITY_NO_PIE_CFLAGS}"
7# Curl seems to check for FORTIFY_SOURCE in CFLAGS, but even assigned
8# to CPPFLAGS it gets picked into CFLAGS in bitbake.
9#TARGET_CPPFLAGS_pn-curl += "-D_FORTIFY_SOURCE=2"
10SECURITY_CFLAGS_pn-curl = "-fstack-protector-all -pie -fpie"
11SECURITY_CFLAGS_pn-directfb = "${SECURITY_NO_PIE_CFLAGS}"
12SECURITY_CFLAGS_pn-eglibc = ""
13SECURITY_CFLAGS_pn-eglibc-initial = ""
14SECURITY_CFLAGS_pn-enchant = "${SECURITY_NO_PIE_CFLAGS}"
15SECURITY_CFLAGS_pn-flac = "${SECURITY_NO_PIE_CFLAGS}"
16SECURITY_CFLAGS_pn-gcc-runtime = "${SECURITY_NO_PIE_CFLAGS}"
17SECURITY_CFLAGS_pn-gdb = "${SECURITY_NO_PIE_CFLAGS}"
18SECURITY_CFLAGS_pn-gmp = "${SECURITY_NO_PIE_CFLAGS}"
19SECURITY_CFLAGS_pn-gnutls = "${SECURITY_NO_PIE_CFLAGS}"
20SECURITY_CFLAGS_pn-grub = ""
21SECURITY_CFLAGS_pn-gst-plugins-bad = "${SECURITY_NO_PIE_CFLAGS}"
22SECURITY_CFLAGS_pn-gst-plugins-gl = "${SECURITY_NO_PIE_CFLAGS}"
23SECURITY_CFLAGS_pn-gstreamer1.0-plugins-good = "${SECURITY_NO_PIE_CFLAGS}"
24SECURITY_CFLAGS_pn-harfbuzz = "${SECURITY_NO_PIE_CFLAGS}"
25SECURITY_CFLAGS_pn-kexec-tools = "${SECURITY_NO_PIE_CFLAGS}"
26SECURITY_CFLAGS_pn-libcap = "${SECURITY_NO_PIE_CFLAGS}"
27SECURITY_CFLAGS_pn-libgcc = "${SECURITY_NO_PIE_CFLAGS}"
28SECURITY_CFLAGS_pn-libglu = "${SECURITY_NO_PIE_CFLAGS}"
29SECURITY_CFLAGS_pn-libpcre = "${SECURITY_NO_PIE_CFLAGS}"
30SECURITY_CFLAGS_pn-mesa = "${SECURITY_NO_PIE_CFLAGS}"
31SECURITY_CFLAGS_pn-mesa-gl = "${SECURITY_NO_PIE_CFLAGS}"
32SECURITY_CFLAGS_pn-opensp = "${SECURITY_NO_PIE_CFLAGS}"
33SECURITY_CFLAGS_pn-ppp = "${SECURITY_NO_PIE_CFLAGS}"
34SECURITY_CFLAGS_pn-python = "${SECURITY_NO_PIE_CFLAGS}"
35SECURITY_CFLAGS_pn-python-imaging = "${SECURITY_NO_PIE_CFLAGS}"
36SECURITY_CFLAGS_pn-python-pycurl = "${SECURITY_NO_PIE_CFLAGS}"
37SECURITY_CFLAGS_pn-python-smartpm = "${SECURITY_NO_PIE_CFLAGS}"
38SECURITY_CFLAGS_pn-tcl = "${SECURITY_NO_PIE_CFLAGS}"
39SECURITY_CFLAGS_pn-tiff = "${SECURITY_NO_PIE_CFLAGS}"
40SECURITY_CFLAGS_pn-webkit-gtk = "${SECURITY_NO_PIE_CFLAGS}"
41SECURITY_CFLAGS_pn-zlib = "${SECURITY_NO_PIE_CFLAGS}"
42
43# These 2 have text relco errors with the pie options enabled
44SECURITY_CFLAGS_pn-ltp = "${SECURITY_NO_PIE_CFLAGS}"
45SECURITY_CFLAGS_pn-pulseaudio = "${SECURITY_NO_PIE_CFLAGS}"
46
47TARGET_CFLAGS_append = " ${SECURITY_CFLAGS}"
48TARGET_LDFLAGS_append = " ${SECURITY_LDFLAGS}"
diff --git a/meta/conf/distro/include/seperatebuilddir.inc b/meta/conf/distro/include/seperatebuilddir.inc
new file mode 100644
index 0000000000..8f2ebfa8fb
--- /dev/null
+++ b/meta/conf/distro/include/seperatebuilddir.inc
@@ -0,0 +1,778 @@
1# List of autotools recipes which support building with external build directories
2# i.e. ${B} != ${S}
3SEPB = "${WORKDIR}/build"
4
5# Makefile based, no out of tree support
6#B_pn-acl = "${SEPB}"
7#B_pn-acl-native = "${SEPB}"
8B_pn-alsa-lib = "${SEPB}"
9B_pn-alsa-lib-native = "${SEPB}"
10# Not autotools
11#B_pn-alsa-tools = "${SEPB}"
12# Has header issues at compile, likely fixable
13#B_pn-alsa-utils = "${SEPB}"
14B_pn-apache2 = "${SEPB}"
15# No working out of tree support
16#B_pn-apr = "${SEPB}"
17#B_pn-apr-native = "${SEPB}"
18#B_pn-apr-util = "${SEPB}"
19#B_pn-apr-util-native = "${SEPB}"
20B_pn-apt = "${SEPB}"
21B_pn-apt-native = "${SEPB}"
22# support for out of tree broken at compile, likely fixable
23#B_pn-aspell = "${SEPB}"
24# No support for out of tree builds
25#B_pn-at = "${SEPB}"
26B_pn-atk = "${SEPB}"
27B_pn-atk-native = "${SEPB}"
28# Makefile based, no out of tree support
29#B_pn-attr = "${SEPB}"
30#B_pn-attr-native = "${SEPB}"
31B_pn-augeas = "${SEPB}"
32B_pn-autoconf = "${SEPB}"
33B_pn-autoconf-native = "${SEPB}"
34B_pn-autogen-native = "${SEPB}"
35B_pn-automake = "${SEPB}"
36B_pn-automake-native = "${SEPB}"
37B_pn-avahi = "${SEPB}"
38B_pn-avahi-ui = "${SEPB}"
39B_pn-babeltrace = "${SEPB}"
40B_pn-base-passwd = "${SEPB}"
41#B_pn-bash = "${SEPB}"
42B_pn-bc = "${SEPB}"
43B_pn-bdwgc = "${SEPB}"
44B_pn-bdwgc-native = "${SEPB}"
45B_pn-beecrypt = "${SEPB}"
46B_pn-beecrypt-native = "${SEPB}"
47B_pn-bigreqsproto = "${SEPB}"
48B_pn-bigreqsproto-native = "${SEPB}"
49#| make[3]: Entering directory `/media/build1/poky/build/tmp/work/i586-poky-linux/bind/9.8.1-r5/build/bin/named'
50#| i586-poky-linux-gcc -m32 -march=i586 --sysroot=/media/build1/poky/build/tmp/sysroots/qemux86 -O2 -pipe -g -feliminate-unused-debug-types -c -o named-symtbl.o named-symtbl.c
51#| named-symtbl.c:4:27: fatal error: isc/backtrace.h: No such file or directory
52#B_pn-bind = "${SEPB}"
53B_pn-bison = "${SEPB}"
54B_pn-bison-native = "${SEPB}"
55B_pn-blktool = "${SEPB}"
56# ln: failed to create symbolic link 'lib/bluetooth/bluetooth.h': File exists
57#B_pn-bluez4 = "${SEPB}"
58B_pn-bluez-hcidump = "${SEPB}"
59B_pn-byacc = "${SEPB}"
60B_pn-byacc-native = "${SEPB}"
61B_pn-bzip2 = "${SEPB}"
62B_pn-bzip2-native = "${SEPB}"
63B_pn-cairo = "${SEPB}"
64B_pn-cairo-native = "${SEPB}"
65B_pn-calibrateproto = "${SEPB}"
66B_pn-ccache = "${SEPB}"
67B_pn-ccache-native = "${SEPB}"
68B_pn-chrpath = "${SEPB}"
69B_pn-chrpath-native = "${SEPB}"
70B_pn-clutter-1.0 = "${SEPB}"
71B_pn-clutter-gst-1.0 = "${SEPB}"
72B_pn-clutter-gtk-1.0 = "${SEPB}"
73#B_pn-cmake = "${SEPB}"
74#B_pn-cmake-native = "${SEPB}"
75B_pn-cogl-1.0 = "${SEPB}"
76B_pn-compositeproto = "${SEPB}"
77B_pn-compositeproto-native = "${SEPB}"
78#B_pn-connman = "${SEPB}"
79#B_pn-connman-gnome = "${SEPB}"
80B_pn-consolekit = "${SEPB}"
81B_pn-console-tools = "${SEPB}"
82B_pn-coreutils = "${SEPB}"
83B_pn-coreutils-native = "${SEPB}"
84B_pn-courier-authlib = "${SEPB}"
85B_pn-courier-imap = "${SEPB}"
86B_pn-cpio = "${SEPB}"
87B_pn-cracklib = "${SEPB}"
88B_pn-cronie = "${SEPB}"
89B_pn-cross-localedef-native = "${SEPB}"
90#No autoconf and no support for separate build
91#B_pn-cups = "${SEPB}"
92B_pn-curl = "${SEPB}"
93B_pn-curl-native = "${SEPB}"
94B_pn-damageproto = "${SEPB}"
95B_pn-damageproto-native = "${SEPB}"
96B_pn-db = "${SEPB}"
97B_pn-db-native = "${SEPB}"
98B_pn-dbus = "${SEPB}"
99B_pn-dbus-glib = "${SEPB}"
100B_pn-dbus-glib-native = "${SEPB}"
101B_pn-dbus-native = "${SEPB}"
102B_pn-dbus-ptest = "${SEPB}"
103B_pn-dbus-wait = "${SEPB}"
104B_pn-desktop-file-utils-native = "${SEPB}"
105B_pn-dhcp = "${SEPB}"
106B_pn-diffstat = "${SEPB}"
107B_pn-diffutils = "${SEPB}"
108B_pn-directfb = "${SEPB}"
109B_pn-directfb-examples = "${SEPB}"
110B_pn-distcc = "${SEPB}"
111B_pn-dmxproto = "${SEPB}"
112B_pn-docbook-utils-native = "${SEPB}"
113B_pn-dpkg = "${SEPB}"
114B_pn-dpkg-native = "${SEPB}"
115B_pn-dri2proto = "${SEPB}"
116B_pn-dropbear = "${SEPB}"
117## Makefile based not autotools
118##B_pn-dtc = "${SEPB}"
119##B_pn-dtc-native = "${SEPB}"
120B_pn-e2fsprogs = "${SEPB}"
121B_pn-e2fsprogs-native = "${SEPB}"
122B_pn-ed = "${SEPB}"
123B_pn-elfutils = "${SEPB}"
124B_pn-elfutils-native = "${SEPB}"
125B_pn-enchant = "${SEPB}"
126B_pn-encodings = "${SEPB}"
127B_pn-ethtool = "${SEPB}"
128B_pn-expat = "${SEPB}"
129B_pn-expat-native = "${SEPB}"
130B_pn-fetchmail = "${SEPB}"
131B_pn-file = "${SEPB}"
132B_pn-file-native = "${SEPB}"
133B_pn-findutils = "${SEPB}"
134B_pn-findutils-native = "${SEPB}"
135B_pn-fixesproto = "${SEPB}"
136B_pn-fixesproto-native = "${SEPB}"
137# /bin/bash: line 0: cd: api: No such file or directory
138#B_pn-flac = "${SEPB}"
139B_pn-flex = "${SEPB}"
140B_pn-flex-native = "${SEPB}"
141B_pn-font-alias = "${SEPB}"
142B_pn-fontconfig = "${SEPB}"
143B_pn-fontconfig-native = "${SEPB}"
144B_pn-fontsproto = "${SEPB}"
145B_pn-fontsproto-native = "${SEPB}"
146B_pn-font-util = "${SEPB}"
147B_pn-font-util-native = "${SEPB}"
148B_pn-foomatic-filters = "${SEPB}"
149## run.do_configure.4694: 88: cd: can't cd to builds/unix
150##B_pn-freetype = "${SEPB}"
151##B_pn-freetype-native = "${SEPB}"
152B_pn-fstests = "${SEPB}"
153B_pn-gaku = "${SEPB}"
154B_pn-gamin = "${SEPB}"
155B_pn-gawk = "${SEPB}"
156B_pn-gccmakedep = "${SEPB}"
157B_pn-gconf = "${SEPB}"
158B_pn-gconf-native = "${SEPB}"
159B_pn-gdb = "${SEPB}"
160B_pn-gdb-cross = "${SEPB}"
161B_pn-gdb-cross-canadian-i586 = "${SEPB}"
162B_pn-gdbm = "${SEPB}"
163B_pn-gdbm-native = "${SEPB}"
164B_pn-gdk-pixbuf = "${SEPB}"
165B_pn-gdk-pixbuf-native = "${SEPB}"
166B_pn-genext2fs = "${SEPB}"
167B_pn-genext2fs-native = "${SEPB}"
168B_pn-gettext = "${SEPB}"
169B_pn-gettext-native = "${SEPB}"
170#checking for system lcms2 library... checking for cmsCreateXYZProfile in -llcms2... no
171#checking for local lcms library source... configure: error: LittleCMS source not found!
172#B_pn-ghostscript = "${SEPB}"
173#B_pn-ghostscript-native = "${SEPB}"
174# No out of tree build support (manual makefile)
175#B_pn-git = "${SEPB}"
176#B_pn-git-native = "${SEPB}"
177B_pn-glew = "${SEPB}"
178B_pn-glib-2.0 = "${SEPB}"
179B_pn-glib-2.0-native = "${SEPB}"
180B_pn-glib-networking = "${SEPB}"
181B_pn-glproto = "${SEPB}"
182B_pn-gmp = "${SEPB}"
183B_pn-gmp-native = "${SEPB}"
184B_pn-gnome-common = "${SEPB}"
185B_pn-gnome-common-native = "${SEPB}"
186B_pn-gnome-desktop = "${SEPB}"
187#B_pn-gnome-doc-utils = "${SEPB}"
188#B_pn-gnome-doc-utils-native = "${SEPB}"
189B_pn-gnome-icon-theme = "${SEPB}"
190B_pn-gnome-mime-data = "${SEPB}"
191B_pn-gnupg = "${SEPB}"
192## libtool: link: warning: library `.../usr/lib/libgcrypt.la' was moved.
193##B_pn-gnutls = "${SEPB}"
194B_pn-gnutls-native = "${SEPB}"
195B_pn-gperf = "${SEPB}"
196B_pn-gperf-native = "${SEPB}"
197B_pn-gpgme = "${SEPB}"
198B_pn-grep = "${SEPB}"
199B_pn-groff = "${SEPB}"
200B_pn-groff-native = "${SEPB}"
201B_pn-grub = "${SEPB}"
202B_pn-grub-efi-i586-native = "${SEPB}"
203B_pn-gsettings-desktop-schemas = "${SEPB}"
204#| ./config.status: line 2219: /media/build1/poky/build/tmp/work/i586-poky-linux/gst-ffmpeg/0.10.13-r4/build//media/build1/poky/build/tmp/work/i586-poky-linux/gst-ffmpeg/0.10.13-r4/gst-ffmpeg-0.10.13/gst-libs/ext/libav/configure: No such file or directory
205#| config.status: error: Failed to configure embedded Libav tree
206#B_pn-gst-ffmpeg = "${SEPB}"
207B_pn-gst-fluendo-mp3 = "${SEPB}"
208B_pn-gst-fluendo-mpegdemux = "${SEPB}"
209B_pn-gst-openmax = "${SEPB}"
210# Has races/confusion over file/symbolic link creation
211#B_pn-gst-plugin-bluetooth = "${SEPB}"
212B_pn-gst-plugins-bad = "${SEPB}"
213B_pn-gst-plugins-base = "${SEPB}"
214B_pn-gst-plugins-gl = "${SEPB}"
215B_pn-gst-plugins-good = "${SEPB}"
216B_pn-gst-plugins-ugly = "${SEPB}"
217B_pn-gstreamer = "${SEPB}"
218B_pn-gtk+ = "${SEPB}"
219B_pn-gtk+3 = "${SEPB}"
220B_pn-gtk-doc-stub = "${SEPB}"
221B_pn-gtk-doc-stub-native = "${SEPB}"
222B_pn-gtk-engines = "${SEPB}"
223##make[1]: *** No rule to make target `data/gtkrc', needed by `all-am'. Stop
224##B_pn-gtk-sato-engine = "${SEPB}"
225B_pn-guile = "${SEPB}"
226B_pn-guile-native = "${SEPB}"
227B_pn-gzip = "${SEPB}"
228B_pn-gzip-native = "${SEPB}"
229B_pn-harfbuzz = "${SEPB}"
230B_pn-harfbuzz-native = "${SEPB}"
231B_pn-help2man-native = "${SEPB}"
232## Hand coded makefiles don't support out-of-tree
233##B_pn-hicolor-icon-theme = "${SEPB}"
234B_pn-icon-naming-utils-native = "${SEPB}"
235B_pn-icu = "${SEPB}"
236B_pn-icu-native = "${SEPB}"
237B_pn-imake = "${SEPB}"
238B_pn-imake-native = "${SEPB}"
239B_pn-inputproto = "${SEPB}"
240B_pn-inputproto-native = "${SEPB}"
241B_pn-intltool = "${SEPB}"
242B_pn-intltool-native = "${SEPB}"
243B_pn-iptables = "${SEPB}"
244#B_pn-irda-utils = "${SEPB}"
245B_pn-jpeg = "${SEPB}"
246B_pn-jpeg-native = "${SEPB}"
247#B_pn-js = "${SEPB}"
248B_pn-json-glib = "${SEPB}"
249B_pn-kbd = "${SEPB}"
250B_pn-kbd-native = "${SEPB}"
251B_pn-kbproto = "${SEPB}"
252B_pn-kbproto-native = "${SEPB}"
253B_pn-kconfig-frontends = "${SEPB}"
254B_pn-kconfig-frontends-native = "${SEPB}"
255##kexec-tools-2.0.3/kexec/arch/ppc/Makefile:4: kexec/arch/ppc/libfdt/Makefile.libfdt: No such file or directory
256##B_pn-kexec-tools = "${SEPB}"
257B_pn-kmod = "${SEPB}"
258B_pn-kmod-native = "${SEPB}"
259B_pn-lame = "${SEPB}"
260B_pn-leafpad = "${SEPB}"
261B_pn-less = "${SEPB}"
262B_pn-liba52 = "${SEPB}"
263#| cat /media/build1/poky/build/tmp/work/i586-poky-linux/libarchive/2.8.5-r0/libarchive-2.8.5/libarchive/test/test_*.c | grep DEFINE_TEST > libarchive/test/list.h
264#| cat /media/build1/poky/build/tmp/work/i586-poky-linux/libarchive/2.8.5-r0/libarchive-2.8.5/tar/test/test_*.c | grep DEFINE_TEST > tar/test/list.h
265#| cat /media/build1/poky/build/tmp/work/i586-poky-linux/libarchive/2.8.5-r0/libarchive-2.8.5/cpio/test/test_*.c | grep DEFINE_TEST > cpio/test/list.h
266#| /bin/bash: tar/test/list.h: No such file or directory
267#| /bin/bash: libarchive/test/list.h: No such file or directory
268#| /bin/bash: cpio/test/list.h: No such file or directory
269#B_pn-libarchive = "${SEPB}"
270B_pn-libart-lgpl = "${SEPB}"
271B_pn-libassuan = "${SEPB}"
272B_pn-libatomics-ops = "${SEPB}"
273B_pn-libcgroup = "${SEPB}"
274B_pn-libcheck = "${SEPB}"
275B_pn-libcroco = "${SEPB}"
276B_pn-libdaemon = "${SEPB}"
277B_pn-libdmx = "${SEPB}"
278B_pn-libdrm = "${SEPB}"
279B_pn-libevent = "${SEPB}"
280B_pn-libexif = "${SEPB}"
281B_pn-libfakekey = "${SEPB}"
282B_pn-libffi = "${SEPB}"
283B_pn-libffi-native = "${SEPB}"
284##i586-poky-linux-libtool: link: cannot find the library `/media/build1/poky/build/tmp/work/i586-poky-linux/libfm/1.1.0-r0/libfm-1.1.0/src/actions/libfmactions.la' or unhandled argument `/media/build1/poky/build/tmp/work/i586-poky-linux/libfm/1.1.0-r0/libfm-1.1.0/src/actions/libfmactions.la'
285##B_pn-libfm = "${SEPB}"
286B_pn-libfontenc = "${SEPB}"
287B_pn-libfontenc-native = "${SEPB}"
288B_pn-libgcc = "${SEPB}"
289#B_pn-libgcrypt = "${SEPB}"
290#B_pn-libgcrypt-native = "${SEPB}"
291B_pn-libglade = "${SEPB}"
292B_pn-libglu = "${SEPB}"
293B_pn-libgpg-error = "${SEPB}"
294B_pn-libgpg-error-native = "${SEPB}"
295B_pn-libice = "${SEPB}"
296B_pn-libice-native = "${SEPB}"
297B_pn-libid3tag = "${SEPB}"
298B_pn-libidn = "${SEPB}"
299B_pn-libjson = "${SEPB}"
300B_pn-libksba = "${SEPB}"
301B_pn-libmad = "${SEPB}"
302B_pn-libmatchbox = "${SEPB}"
303B_pn-libmpc = "${SEPB}"
304B_pn-libmpc-native = "${SEPB}"
305# CMake Error: The source directory "[...]libmusicbrainz-5.0.1[...]/build" does not appear to contain CMakeLists.txt.
306#B_pn-libmusicbrainz = "${SEPB}"
307# Not automake and no support for out of tree
308#B_pn-libnewt = "${SEPB}"
309B_pn-libnfsidmap = "${SEPB}"
310# flex.real: could not create route/cls/ematch_grammar.c
311#B_pn-libnl = "${SEPB}"
312B_pn-libnss-mdns = "${SEPB}"
313B_pn-libogg = "${SEPB}"
314B_pn-liboil = "${SEPB}"
315B_pn-libomxil = "${SEPB}"
316B_pn-libowl = "${SEPB}"
317B_pn-libowl-av = "${SEPB}"
318B_pn-libpam = "${SEPB}"
319B_pn-libpcap = "${SEPB}"
320B_pn-libpciaccess = "${SEPB}"
321B_pn-libpcre = "${SEPB}"
322B_pn-libpcre-native = "${SEPB}"
323B_pn-libpng = "${SEPB}"
324B_pn-libpng-native = "${SEPB}"
325# Needs automatic support in cmake.bbclass
326#B_pn-libproxy = "${SEPB}"
327B_pn-libpthread-stubs = "${SEPB}"
328B_pn-libpthread-stubs-native = "${SEPB}"
329B_pn-librsvg = "${SEPB}"
330B_pn-librsvg-native = "${SEPB}"
331B_pn-libsamplerate0 = "${SEPB}"
332B_pn-libsdl = "${SEPB}"
333B_pn-libsm = "${SEPB}"
334B_pn-libsm-native = "${SEPB}"
335B_pn-libsndfile1 = "${SEPB}"
336B_pn-libsoup-2.4 = "${SEPB}"
337B_pn-libtasn1 = "${SEPB}"
338B_pn-libtasn1-native = "${SEPB}"
339B_pn-libtelepathy = "${SEPB}"
340B_pn-libtheora = "${SEPB}"
341B_pn-libtirpc = "${SEPB}"
342B_pn-libtool = "${SEPB}"
343B_pn-libtool-cross = "${SEPB}"
344B_pn-libtool-native = "${SEPB}"
345B_pn-libunique = "${SEPB}"
346B_pn-libunistring = "${SEPB}"
347B_pn-libunistring-native = "${SEPB}"
348B_pn-liburcu = "${SEPB}"
349B_pn-libusb1 = "${SEPB}"
350B_pn-libusb1-native = "${SEPB}"
351B_pn-libusb-compat = "${SEPB}"
352B_pn-libusb-compat-native = "${SEPB}"
353B_pn-libuser = "${SEPB}"
354B_pn-libva-intel-driver = "${SEPB}"
355B_pn-libvorbis = "${SEPB}"
356B_pn-libx11 = "${SEPB}"
357B_pn-libx11-diet = "${SEPB}"
358B_pn-libx11-native = "${SEPB}"
359B_pn-libxau = "${SEPB}"
360B_pn-libxau-native = "${SEPB}"
361B_pn-libxcalibrate = "${SEPB}"
362B_pn-libxcb = "${SEPB}"
363B_pn-libxcb-native = "${SEPB}"
364B_pn-libxcomposite = "${SEPB}"
365B_pn-libxcomposite-native = "${SEPB}"
366B_pn-libxcursor = "${SEPB}"
367B_pn-libxcursor-native = "${SEPB}"
368B_pn-libxdamage = "${SEPB}"
369B_pn-libxdamage-native = "${SEPB}"
370B_pn-libxdmcp = "${SEPB}"
371B_pn-libxdmcp-native = "${SEPB}"
372B_pn-libxext = "${SEPB}"
373B_pn-libxext-native = "${SEPB}"
374B_pn-libxfixes = "${SEPB}"
375B_pn-libxfixes-native = "${SEPB}"
376B_pn-libxfont = "${SEPB}"
377B_pn-libxfont-native = "${SEPB}"
378B_pn-libxft = "${SEPB}"
379B_pn-libxft-native = "${SEPB}"
380B_pn-libxi = "${SEPB}"
381B_pn-libxinerama = "${SEPB}"
382B_pn-libxkbcommon = "${SEPB}"
383B_pn-libxkbfile = "${SEPB}"
384B_pn-libxkbfile-native = "${SEPB}"
385B_pn-libxml2 = "${SEPB}"
386B_pn-libxml2-native = "${SEPB}"
387B_pn-libxmu = "${SEPB}"
388B_pn-libxmu-native = "${SEPB}"
389B_pn-libxpm = "${SEPB}"
390B_pn-libxpm-native = "${SEPB}"
391B_pn-libxrandr = "${SEPB}"
392B_pn-libxrandr-native = "${SEPB}"
393B_pn-libxrender = "${SEPB}"
394B_pn-libxrender-native = "${SEPB}"
395B_pn-libxres = "${SEPB}"
396B_pn-libxscrnsaver = "${SEPB}"
397B_pn-libxsettings-client = "${SEPB}"
398B_pn-libxslt = "${SEPB}"
399B_pn-libxslt-native = "${SEPB}"
400B_pn-libxt = "${SEPB}"
401B_pn-libxt-native = "${SEPB}"
402B_pn-libxtst = "${SEPB}"
403B_pn-libxv = "${SEPB}"
404B_pn-libxvmc = "${SEPB}"
405B_pn-libxxf86dga = "${SEPB}"
406B_pn-libxxf86misc = "${SEPB}"
407B_pn-libxxf86vm = "${SEPB}"
408B_pn-lighttpd = "${SEPB}"
409# Doesn't use automake so no separate build support
410#B_pn-linuxdoc-tools-native = "${SEPB}"
411B_pn-lrzsz = "${SEPB}"
412# Doesn't use automake
413#B_pn-ltp = "${SEPB}"
414##/media/build1/poky/build1/tmp/work/i586-poky-linux/lttng-tools/v2.1.0-r0/git/tests/tools/health/health_check.c:20:25: fatal error: lttng/lttng.h: No such file or directory
415##B_pn-lttng-tools = "${SEPB}"
416B_pn-lttng-ust = "${SEPB}"
417B_pn-lzo = "${SEPB}"
418B_pn-lzo-native = "${SEPB}"
419B_pn-lzop = "${SEPB}"
420B_pn-lzop-native = "${SEPB}"
421B_pn-m4 = "${SEPB}"
422B_pn-m4-native = "${SEPB}"
423# Makefile only, no out of tree support
424#B_pn-mailx = "${SEPB}"
425B_pn-make = "${SEPB}"
426B_pn-makedepend = "${SEPB}"
427B_pn-makedepend-native = "${SEPB}"
428B_pn-make-native = "${SEPB}"
429B_pn-matchbox-config-gtk = "${SEPB}"
430B_pn-matchbox-desktop = "${SEPB}"
431B_pn-matchbox-desktop-sato = "${SEPB}"
432B_pn-matchbox-keyboard = "${SEPB}"
433B_pn-matchbox-panel-2 = "${SEPB}"
434B_pn-matchbox-terminal = "${SEPB}"
435B_pn-matchbox-theme-sato = "${SEPB}"
436B_pn-matchbox-wm = "${SEPB}"
437B_pn-mc = "${SEPB}"
438#makefile only, no out of tree support
439#B_pn-mdadm = "${SEPB}"
440B_pn-menu-cache = "${SEPB}"
441B_pn-mesa-demos = "${SEPB}"
442# src/mapi/mapi/stub.c:51:39: error: 'MAPI_TABLE_NUM_DYNAMIC' undeclared here (not in a function)
443B_pn-mesa = "${SEPB}"
444B_pn-mesa-gl = "${SEPB}"
445B_pn-minicom = "${SEPB}"
446# Not automake, no external tree support
447#B_pn-mkelfimage = "${SEPB}"
448#B_pn-mkelfimage-native = "${SEPB}"
449B_pn-mkfontdir = "${SEPB}"
450B_pn-mkfontdir-native = "${SEPB}"
451B_pn-mkfontscale = "${SEPB}"
452B_pn-mkfontscale-native = "${SEPB}"
453B_pn-mklibs-native = "${SEPB}"
454B_pn-mktemp = "${SEPB}"
455B_pn-mobile-broadband-provider-info = "${SEPB}"
456B_pn-mpeg2dec = "${SEPB}"
457B_pn-mpfr = "${SEPB}"
458B_pn-mpfr-native = "${SEPB}"
459B_pn-msmtp = "${SEPB}"
460B_pn-mtdev = "${SEPB}"
461B_pn-mtools = "${SEPB}"
462B_pn-mtools-native = "${SEPB}"
463B_pn-mx = "${SEPB}"
464# /media/build1/poky/build1/tmp/work/x86_64-linux/nasm-native/2.10.07-r0/nasm-2.10.07/compiler.h:47:21: fatal error: config.h: No such file or directory
465#B_pn-nasm = "${SEPB}"
466#B_pn-nasm-native = "${SEPB}"
467B_pn-nativesdk-alsa-lib = "${SEPB}"
468B_pn-nativesdk-autoconf = "${SEPB}"
469B_pn-nativesdk-automake = "${SEPB}"
470B_pn-nativesdk-bash = "${SEPB}"
471B_pn-nativesdk-bdwgc = "${SEPB}"
472B_pn-nativesdk-bigreqsproto = "${SEPB}"
473B_pn-nativesdk-bison = "${SEPB}"
474B_pn-nativesdk-bzip2 = "${SEPB}"
475B_pn-nativesdk-chrpath = "${SEPB}"
476B_pn-nativesdk-cmake = "${SEPB}"
477B_pn-nativesdk-curl = "${SEPB}"
478B_pn-nativesdk-db = "${SEPB}"
479B_pn-nativesdk-dbus = "${SEPB}"
480## Makefile based not autotools
481##B_pn-nativesdk-dtc = "${SEPB}"
482B_pn-nativesdk-eglibc = "${SEPB}"
483B_pn-nativesdk-eglibc-initial = "${SEPB}"
484B_pn-nativesdk-elfutils = "${SEPB}"
485B_pn-nativesdk-expat = "${SEPB}"
486B_pn-nativesdk-fixesproto = "${SEPB}"
487B_pn-nativesdk-flex = "${SEPB}"
488B_pn-nativesdk-gcc-runtime = "${SEPB}"
489B_pn-nativesdk-gdbm = "${SEPB}"
490B_pn-nativesdk-genext2fs = "${SEPB}"
491B_pn-nativesdk-gettext = "${SEPB}"
492B_pn-nativesdk-glib-2.0 = "${SEPB}"
493B_pn-nativesdk-glproto = "${SEPB}"
494B_pn-nativesdk-gmp = "${SEPB}"
495B_pn-nativesdk-inputproto = "${SEPB}"
496B_pn-nativesdk-kbproto = "${SEPB}"
497#B_pn-nativesdk-libarchive = "${SEPB}"
498B_pn-nativesdk-libffi = "${SEPB}"
499B_pn-nativesdk-libgcc = "${SEPB}"
500B_pn-nativesdk-libmpc = "${SEPB}"
501B_pn-nativesdk-libpcre = "${SEPB}"
502B_pn-nativesdk-libpng = "${SEPB}"
503B_pn-nativesdk-libpthread-stubs = "${SEPB}"
504B_pn-nativesdk-libsdl = "${SEPB}"
505B_pn-nativesdk-libtool = "${SEPB}"
506B_pn-nativesdk-libunistring = "${SEPB}"
507B_pn-nativesdk-libusb1 = "${SEPB}"
508B_pn-nativesdk-libusb-compat = "${SEPB}"
509B_pn-nativesdk-libx11 = "${SEPB}"
510B_pn-nativesdk-libxau = "${SEPB}"
511B_pn-nativesdk-libxcb = "${SEPB}"
512B_pn-nativesdk-libxdmcp = "${SEPB}"
513B_pn-nativesdk-libxext = "${SEPB}"
514B_pn-nativesdk-libxfixes = "${SEPB}"
515B_pn-nativesdk-libxml2 = "${SEPB}"
516B_pn-nativesdk-libxrandr = "${SEPB}"
517B_pn-nativesdk-libxrender = "${SEPB}"
518B_pn-nativesdk-lzo = "${SEPB}"
519B_pn-nativesdk-lzop = "${SEPB}"
520B_pn-nativesdk-m4 = "${SEPB}"
521B_pn-nativesdk-mpfr = "${SEPB}"
522B_pn-nativesdk-ncurses = "${SEPB}"
523B_pn-nativesdk-opkg = "${SEPB}"
524B_pn-nativesdk-pixman = "${SEPB}"
525B_pn-nativesdk-pkgconfig = "${SEPB}"
526# run.do_compile: 89: cd: can't cd to Lib/plat-linux2
527#B_pn-nativesdk-python = "${SEPB}"
528##B_pn-nativesdk-qemu = "${SEPB}"
529B_pn-nativesdk-randrproto = "${SEPB}"
530B_pn-nativesdk-readline = "${SEPB}"
531B_pn-nativesdk-renderproto = "${SEPB}"
532B_pn-nativesdk-sqlite3 = "${SEPB}"
533B_pn-nativesdk-systemtap = "${SEPB}"
534# Not automake, no out of tree build support
535#B_pn-nativesdk-unfs-server = "${SEPB}"
536B_pn-nativesdk-util-macros = "${SEPB}"
537B_pn-nativesdk-xcb-proto = "${SEPB}"
538B_pn-nativesdk-xcmiscproto = "${SEPB}"
539B_pn-nativesdk-xextproto = "${SEPB}"
540B_pn-nativesdk-xproto = "${SEPB}"
541B_pn-nativesdk-xtrans = "${SEPB}"
542B_pn-ncurses = "${SEPB}"
543B_pn-ncurses-native = "${SEPB}"
544B_pn-neon = "${SEPB}"
545B_pn-neon-native = "${SEPB}"
546##Weird as configure exits with error code despite apparent success
547##B_pn-nfs-utils = "${SEPB}"
548B_pn-npth = "${SEPB}"
549#B_pn-nspr = "${SEPB}"
550B_pn-ofono = "${SEPB}"
551B_pn-oh-puzzles = "${SEPB}"
552## make[2]: openjade-1.3.2/grove/../Makefile.comm: No such file or directory
553##B_pn-openjade-native = "${SEPB}"
554B_pn-opensp = "${SEPB}"
555B_pn-opensp-native = "${SEPB}"
556##/media/build1/poky/build1/tmp/work/i586-poky-linux/openssh/6.1p1-r0/openssh-6.1p1/configure: line 5674: syntax error near unexpected token `-Wall'
557##/media/build1/poky/build1/tmp/work/i586-poky-linux/openssh/6.1p1-r0/openssh-6.1p1/configure: line 5674: ` OSSH_CHECK_CFLAG_COMPILE(-Wall)'
558##Configure failed. The contents of all config.log files follows to aid debugging
559#B_pn-openssh = "${SEPB}"
560B_pn-openvpn = "${SEPB}"
561B_pn-opkg = "${SEPB}"
562B_pn-opkg-native = "${SEPB}"
563#B_pn-oprofile = "${SEPB}"
564B_pn-oprofileui = "${SEPB}"
565B_pn-oprofileui-server = "${SEPB}"
566B_pn-ossp-uuid = "${SEPB}"
567B_pn-ossp-uuid-native = "${SEPB}"
568B_pn-owl-video = "${SEPB}"
569B_pn-pango = "${SEPB}"
570B_pn-pango-native = "${SEPB}"
571B_pn-parted = "${SEPB}"
572B_pn-parted-native = "${SEPB}"
573B_pn-patch = "${SEPB}"
574B_pn-pax = "${SEPB}"
575B_pn-pcmanfm = "${SEPB}"
576B_pn-pixman = "${SEPB}"
577B_pn-pixman-native = "${SEPB}"
578B_pn-pkgconfig = "${SEPB}"
579B_pn-pkgconfig-native = "${SEPB}"
580B_pn-pm-utils = "${SEPB}"
581B_pn-polkit = "${SEPB}"
582B_pn-polkit-gnome = "${SEPB}"
583B_pn-popt = "${SEPB}"
584B_pn-popt-native = "${SEPB}"
585#B_pn-ppp = "${SEPB}"
586B_pn-prelink = "${SEPB}"
587B_pn-prelink-native = "${SEPB}"
588# Makefile only, no out of tree support
589#B_pn-procps = "${SEPB}"
590B_pn-psmisc = "${SEPB}"
591B_pn-psplash = "${SEPB}"
592B_pn-pth = "${SEPB}"
593B_pn-pulseaudio = "${SEPB}"
594#B_pn-python = "${SEPB}"
595B_pn-python-dbus = "${SEPB}"
596B_pn-python-gst = "${SEPB}"
597B_pn-python-native = "${SEPB}"
598B_pn-python-pygobject = "${SEPB}"
599B_pn-python-pygobject-native = "${SEPB}"
600B_pn-python-pygtk = "${SEPB}"
601## Not autotools
602##B_pn-qemu = "${SEPB}"
603##B_pn-qemu-native = "${SEPB}"
604##| /bin/bash: ./git-desc: No such file or directory
605##| /usr/bin/find: `compat': No such file or directory
606##| /bin/bash: /media/build1/poky/build1/tmp/work/x86_64-linux/quilt-native/0.60-r0/build/test/test.quiltrc: No such file or directory
607##| make: *** No rule to make target `Makefile.in', needed by `Makefile'. Stop.
608##B_pn-quilt = "${SEPB}"
609##B_pn-quilt-native = "${SEPB}"
610#B_pn-quota = "${SEPB}"
611B_pn-randrproto = "${SEPB}"
612B_pn-randrproto-native = "${SEPB}"
613B_pn-readline = "${SEPB}"
614B_pn-readline-native = "${SEPB}"
615B_pn-recordproto = "${SEPB}"
616B_pn-remake = "${SEPB}"
617B_pn-remake-native = "${SEPB}"
618B_pn-renderproto = "${SEPB}"
619B_pn-renderproto-native = "${SEPB}"
620B_pn-resourceproto = "${SEPB}"
621B_pn-rgb = "${SEPB}"
622B_pn-rpcbind = "${SEPB}"
623B_pn-rpm = "${SEPB}"
624B_pn-rpm-native = "${SEPB}"
625B_pn-rsync = "${SEPB}"
626B_pn-rxvt-unicode = "${SEPB}"
627B_pn-sato-icon-theme = "${SEPB}"
628B_pn-sato-screenshot = "${SEPB}"
629B_pn-sbc = "${SEPB}"
630B_pn-screen = "${SEPB}"
631B_pn-scrnsaverproto = "${SEPB}"
632B_pn-sed = "${SEPB}"
633B_pn-sed-native = "${SEPB}"
634# Wierd out of tree support, could probably be fixed
635#i586-poky-linux-gcc: error: setserial.c: No such file or directory
636#i586-poky-linux-gcc: fatal error: no input files
637#compilation terminated.
638#B_pn-setserial = "${SEPB}"
639B_pn-settings-daemon = "${SEPB}"
640B_pn-sgml-common = "${SEPB}"
641B_pn-sgml-common-native = "${SEPB}"
642B_pn-shadow = "${SEPB}"
643B_pn-shadow-native = "${SEPB}"
644B_pn-shared-mime-info = "${SEPB}"
645B_pn-shared-mime-info-native = "${SEPB}"
646##configure: error: "This software does not support configuring from another directory. See the INSTALL file"
647##B_pn-slang = "${SEPB}"
648B_pn-socat = "${SEPB}"
649B_pn-speex = "${SEPB}"
650B_pn-sqlite3 = "${SEPB}"
651B_pn-sqlite3-native = "${SEPB}"
652B_pn-startup-notification = "${SEPB}"
653B_pn-strace = "${SEPB}"
654B_pn-strace-native = "${SEPB}"
655B_pn-subversion = "${SEPB}"
656B_pn-subversion-native = "${SEPB}"
657B_pn-sudo = "${SEPB}"
658B_pn-sysfsutils = "${SEPB}"
659B_pn-sysprof = "${SEPB}"
660# No automake, no separate build support
661#B_pn-sysstat = "${SEPB}"
662B_pn-systemd = "${SEPB}"
663B_pn-systemtap = "${SEPB}"
664B_pn-systemtap-native = "${SEPB}"
665B_pn-tar = "${SEPB}"
666B_pn-tar-replacement-native = "${SEPB}"
667B_pn-tcl = "${SEPB}"
668B_pn-tcl-native = "${SEPB}"
669B_pn-telepathy-glib = "${SEPB}"
670B_pn-telepathy-idle = "${SEPB}"
671B_pn-telepathy-mission-control = "${SEPB}"
672B_pn-telepathy-python = "${SEPB}"
673B_pn-texi2html = "${SEPB}"
674B_pn-texinfo = "${SEPB}"
675B_pn-texinfo-native = "${SEPB}"
676B_pn-tiff = "${SEPB}"
677B_pn-tiff-native = "${SEPB}"
678B_pn-time = "${SEPB}"
679B_pn-tremor = "${SEPB}"
680B_pn-tslib = "${SEPB}"
681B_pn-udev = "${SEPB}"
682# Not automake, no out of tree build support
683#B_pn-unfs-server-native = "${SEPB}"
684B_pn-usbutils = "${SEPB}"
685B_pn-util-linux = "${SEPB}"
686B_pn-util-linux-native = "${SEPB}"
687B_pn-util-macros = "${SEPB}"
688B_pn-util-macros-native = "${SEPB}"
689B_pn-valgrind = "${SEPB}"
690B_pn-videoproto = "${SEPB}"
691B_pn-vte = "${SEPB}"
692B_pn-watchdog = "${SEPB}"
693B_pn-wayland = "${SEPB}"
694B_pn-wayland-native = "${SEPB}"
695# Not even going there
696#B_pn-webkit-gtk = "${SEPB}"
697B_pn-weston = "${SEPB}"
698B_pn-wget = "${SEPB}"
699B_pn-which = "${SEPB}"
700B_pn-x11perf = "${SEPB}"
701#B_pn-x11vnc = "${SEPB}"
702B_pn-xauth = "${SEPB}"
703B_pn-xcb-proto = "${SEPB}"
704B_pn-xcb-proto-native = "${SEPB}"
705B_pn-xcb-util = "${SEPB}"
706B_pn-xcb-util-image = "${SEPB}"
707B_pn-xcb-util-keysyms = "${SEPB}"
708B_pn-xcb-util-renderutil = "${SEPB}"
709B_pn-xcb-util-wm = "${SEPB}"
710B_pn-xcmiscproto = "${SEPB}"
711B_pn-xcmiscproto-native = "${SEPB}"
712B_pn-xcursor-transparent-theme = "${SEPB}"
713# No out of tree support, no automake
714#/usr/bin/install: cannot stat `xdg-desktop-menu': No such file or directory
715#/usr/bin/install: cannot stat `xdg-desktop-icon': No such file or directory
716#/usr/bin/install: cannot stat `xdg-mime': No such file or directory
717#/usr/bin/install: cannot stat `xdg-icon-resource': No such file or directory
718#/usr/bin/install: cannot stat `xdg-open': No such file or directory
719#/usr/bin/install: cannot stat `xdg-email': No such file or directory
720#/usr/bin/install: cannot stat `xdg-screensaver': No such file or directory
721#make[1]: *** [install] Error 1
722#Probably fixable
723#B_pn-xdg-utils = "${SEPB}"
724B_pn-xdpyinfo = "${SEPB}"
725B_pn-xev = "${SEPB}"
726B_pn-xextproto = "${SEPB}"
727B_pn-xextproto-native = "${SEPB}"
728B_pn-xeyes = "${SEPB}"
729B_pn-xf86dgaproto = "${SEPB}"
730B_pn-xf86driproto = "${SEPB}"
731B_pn-xf86-input-evdev = "${SEPB}"
732B_pn-xf86-input-keyboard = "${SEPB}"
733B_pn-xf86-input-mouse = "${SEPB}"
734B_pn-xf86-input-synaptics = "${SEPB}"
735B_pn-xf86-input-vmmouse = "${SEPB}"
736B_pn-xf86miscproto = "${SEPB}"
737B_pn-xf86-video-fbdev = "${SEPB}"
738B_pn-xf86-video-imxfb = "${SEPB}"
739B_pn-xf86-video-intel = "${SEPB}"
740B_pn-xf86-video-mga = "${SEPB}"
741B_pn-xf86-video-modesetting = "${SEPB}"
742B_pn-xf86-video-omap = "${SEPB}"
743B_pn-xf86-video-omapfb = "${SEPB}"
744B_pn-xf86-video-vesa = "${SEPB}"
745B_pn-xf86-video-vmware = "${SEPB}"
746B_pn-xf86vidmodeproto = "${SEPB}"
747B_pn-xhost = "${SEPB}"
748B_pn-xineramaproto = "${SEPB}"
749B_pn-xinetd = "${SEPB}"
750B_pn-xinit = "${SEPB}"
751B_pn-xinput = "${SEPB}"
752B_pn-xkbcomp = "${SEPB}"
753B_pn-xkbcomp-native = "${SEPB}"
754B_pn-xkeyboard-config = "${SEPB}"
755B_pn-xmodmap = "${SEPB}"
756B_pn-xorg-cf-files = "${SEPB}"
757B_pn-xorg-cf-files-native = "${SEPB}"
758B_pn-xprop = "${SEPB}"
759B_pn-xproto = "${SEPB}"
760B_pn-xproto-native = "${SEPB}"
761B_pn-xrandr = "${SEPB}"
762B_pn-xrestop = "${SEPB}"
763B_pn-xserver-xorg = "${SEPB}"
764B_pn-xset = "${SEPB}"
765B_pn-xtrans = "${SEPB}"
766B_pn-xtrans-native = "${SEPB}"
767B_pn-xtscal = "${SEPB}"
768B_pn-xvideo-tests = "${SEPB}"
769B_pn-xvinfo = "${SEPB}"
770B_pn-xwininfo = "${SEPB}"
771B_pn-xz = "${SEPB}"
772B_pn-xz-native = "${SEPB}"
773B_pn-yasm = "${SEPB}"
774B_pn-yasm-native = "${SEPB}"
775B_pn-zaurusd = "${SEPB}"
776
777# Recipes that cannot by design use a separate build directory:
778# wpa-supplicant
diff --git a/meta/conf/distro/include/tclibc-eglibc.inc b/meta/conf/distro/include/tclibc-eglibc.inc
new file mode 100644
index 0000000000..15f5ee5a30
--- /dev/null
+++ b/meta/conf/distro/include/tclibc-eglibc.inc
@@ -0,0 +1,40 @@
1#
2# eglibc specific configuration
3#
4
5LIBCEXTENSION = "${@['', '-gnu'][(d.getVar('ABIEXTENSION', True) or '') != '']}"
6
7# Add glibc overrides to the overrides for eglibc.
8LIBCOVERRIDE = ":libc-glibc"
9OVERRIDES .= "${LIBCOVERRIDE}"
10
11PREFERRED_PROVIDER_virtual/libiconv ?= "eglibc"
12PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-eglibc"
13PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-eglibc"
14PREFERRED_PROVIDER_virtual/libintl ?= "eglibc"
15PREFERRED_PROVIDER_virtual/libc ?= "eglibc"
16PREFERRED_PROVIDER_virtual/nativesdk-libc ?= "nativesdk-eglibc"
17PREFERRED_PROVIDER_virtual/libc-locale ?= "eglibc-locale"
18
19CXXFLAGS += "-fvisibility-inlines-hidden"
20
21LIBC_DEPENDENCIES = "libsegfault \
22 eglibc \
23 eglibc-dbg \
24 eglibc-dev \
25 eglibc-utils \
26 eglibc-thread-db \
27 ${@get_libc_locales_dependencies(d)}"
28
29LIBC_LOCALE_DEPENDENCIES = "\
30 eglibc-localedata-i18n \
31 eglibc-gconv-ibm850 \
32 eglibc-gconv-cp1252 \
33 eglibc-gconv-iso8859-1 \
34 eglibc-gconv-iso8859-15"
35
36def get_libc_locales_dependencies(d):
37 if 'libc-locales' in (d.getVar('DISTRO_FEATURES', True) or '').split() :
38 return d.getVar('LIBC_LOCALE_DEPENDENCIES', True) or ''
39 else:
40 return ''
diff --git a/meta/conf/distro/include/tclibc-uclibc.inc b/meta/conf/distro/include/tclibc-uclibc.inc
new file mode 100644
index 0000000000..9245112d10
--- /dev/null
+++ b/meta/conf/distro/include/tclibc-uclibc.inc
@@ -0,0 +1,28 @@
1#
2# uclibc specific configuration
3#
4
5LIBCEXTENSION = "-uclibc"
6
7# Add uclibc overrides to the overrides.
8LIBCOVERRIDE = ":libc-uclibc"
9OVERRIDES .= "${LIBCOVERRIDE}"
10
11PREFERRED_PROVIDER_virtual/libc = "uclibc"
12PREFERRED_PROVIDER_virtual/libiconv ?= "libiconv"
13PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
14PREFERRED_PROVIDER_virtual/nativesdk-libintl ?= "nativesdk-eglibc"
15PREFERRED_PROVIDER_virtual/nativesdk-libiconv ?= "nativesdk-eglibc"
16
17USE_NLS ?= "no"
18
19CXXFLAGS += "-fvisibility-inlines-hidden"
20
21IMAGE_LINGUAS = ""
22
23LIBC_DEPENDENCIES = "\
24 uclibc \
25 uclibc-dbg \
26 uclibc-dev \
27 uclibc-thread-db \
28 "
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
new file mode 100644
index 0000000000..fb41d5e1f7
--- /dev/null
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -0,0 +1,60 @@
1#
2# Default toolchain configuration
3#
4
5PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "binutils-cross"
6PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "gcc-cross-initial"
7PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-intermediate"
8PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
9PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
10PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "gcc-runtime"
11PREFERRED_PROVIDER_gdb = "gdb"
12
13# Default libc config
14PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "${TCLIBC}"
15PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-for-gcc ?= "nativesdk-${TCLIBC}"
16PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
17PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial = "nativesdk-${TCLIBC}-initial"
18PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
19
20GCCVERSION ?= "4.8%"
21SDKGCCVERSION ?= "${GCCVERSION}"
22BINUVERSION ?= "2.23.2"
23EGLIBCVERSION ?= "2.18"
24UCLIBCVERSION ?= "0.9.33+git%"
25LINUXLIBCVERSION ?= "3.10"
26
27PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
28PREFERRED_VERSION_gcc-cross ?= "${GCCVERSION}"
29PREFERRED_VERSION_gcc-cross-initial ?= "${GCCVERSION}"
30PREFERRED_VERSION_gcc-cross-intermediate ?= "${GCCVERSION}"
31PREFERRED_VERSION_gcc-crosssdk ?= "${SDKGCCVERSION}"
32PREFERRED_VERSION_gcc-crosssdk-initial ?= "${SDKGCCVERSION}"
33PREFERRED_VERSION_gcc-crosssdk-intermediate ?= "${SDKGCCVERSION}"
34PREFERRED_VERSION_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= "${GCCVERSION}"
35PREFERRED_VERSION_gcc-runtime ?= "${GCCVERSION}"
36PREFERRED_VERSION_nativesdk-gcc-runtime ?= "${SDKGCCVERSION}"
37PREFERRED_VERSION_libgcc ?= "${GCCVERSION}"
38PREFERRED_VERSION_nativesdk-libgcc ?= "${SDKGCCVERSION}"
39PREFERRED_VERSION_binutils ?= "${BINUVERSION}"
40PREFERRED_VERSION_binutils-cross ?= "${BINUVERSION}"
41PREFERRED_VERSION_binutils-crosssdk ?= "${BINUVERSION}"
42PREFERRED_VERSION_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} ?= "${BINUVERSION}"
43PREFERRED_VERSION_linux-libc-headers ?= "${LINUXLIBCVERSION}"
44PREFERRED_VERSION_nativesdk-linux-libc-headers ?= "${LINUXLIBCVERSION}"
45PREFERRED_VERSION_eglibc ?= "${EGLIBCVERSION}"
46PREFERRED_VERSION_eglibc-locale ?= "${EGLIBCVERSION}"
47PREFERRED_VERSION_nativesdk-eglibc ?= "${EGLIBCVERSION}"
48PREFERRED_VERSION_eglibc-initial ?= "${EGLIBCVERSION}"
49PREFERRED_VERSION_nativesdk-eglibc-initial ?= "${EGLIBCVERSION}"
50PREFERRED_VERSION_cross-localedef-native ?= "${EGLIBCVERSION}"
51PREFERRED_VERSION_uclibc ?= "${UCLIBCVERSION}"
52PREFERRED_VERSION_uclibc-initial ?= "${UCLIBCVERSION}"
53PREFERRED_VERSION_elfutils ?= "0.148"
54# don't use version earlier than 1.4 for gzip-native, as it's necessary for
55# some packages using an archive format incompatible with earlier gzip
56PREFERRED_VERSION_gzip-native ?= "1.6"
57
58# Setup suitable toolchain flags
59require conf/distro/include/as-needed.inc
60
diff --git a/meta/conf/distro/include/tcmode-external-csl.inc b/meta/conf/distro/include/tcmode-external-csl.inc
new file mode 100644
index 0000000000..9e530ab1e7
--- /dev/null
+++ b/meta/conf/distro/include/tcmode-external-csl.inc
@@ -0,0 +1,2 @@
1TCMODE = "external-sourcery"
2require conf/distro/include/tcmode-${TCMODE}.inc
diff --git a/meta/conf/distro/include/tcmode-external-sourcery.inc b/meta/conf/distro/include/tcmode-external-sourcery.inc
new file mode 100644
index 0000000000..5590f7a1e9
--- /dev/null
+++ b/meta/conf/distro/include/tcmode-external-sourcery.inc
@@ -0,0 +1,128 @@
1#
2# Configuration to use external Sourcery G++ toolchain
3#
4
5EXTERNAL_TOOLCHAIN ?= "/usr/local/csl/${TARGET_ARCH}"
6
7TOOLCHAIN_PATH_ADD = "${EXTERNAL_TOOLCHAIN}/bin:"
8PATH =. "${TOOLCHAIN_PATH_ADD}"
9
10CSL_TARGET_SYS_powerpc ?= "powerpc-linux-gnu"
11CSL_TARGET_SYS_powerpc64 ?= "powerpc-linux-gnu"
12CSL_TARGET_SYS_arm ?= "arm-none-linux-gnueabi"
13CSL_TARGET_SYS_mips ?= "mips-linux-gnu"
14CSL_TARGET_SYS_mipsel ?= "mips-linux-gnu"
15CSL_TARGET_SYS_mips64 ?= "mips-linux-gnu"
16CSL_TARGET_SYS_i686 ?= "i686-pc-linux-gnu"
17CSL_TARGET_SYS_i586 ?= "i686-pc-linux-gnu"
18CSL_TARGET_SYS = "${TARGET_SYS}"
19
20TARGET_PREFIX = "${CSL_TARGET_SYS}-"
21
22PREFERRED_PROVIDER_linux-libc-headers = "external-sourcery-toolchain"
23PREFERRED_PROVIDER_linux-libc-headers-dev = "external-sourcery-toolchain"
24PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-sourcery-toolchain"
25PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-sourcery-toolchain"
26PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "external-sourcery-toolchain"
27PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-sourcery-toolchain"
28PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-sourcery-toolchain"
29PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-sourcery-toolchain"
30PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "external-sourcery-toolchain"
31PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-sourcery-toolchain"
32PREFERRED_PROVIDER_libgcc = "external-sourcery-toolchain"
33PREFERRED_PROVIDER_eglibc = "external-sourcery-toolchain"
34PREFERRED_PROVIDER_virtual/libc = "external-sourcery-toolchain"
35PREFERRED_PROVIDER_virtual/libintl = "external-sourcery-toolchain"
36PREFERRED_PROVIDER_virtual/libiconv = "external-sourcery-toolchain"
37PREFERRED_PROVIDER_glibc-thread-db = "external-sourcery-toolchain"
38PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-sourcery-toolchain"
39PREFERRED_PROVIDER_virtual/linux-libc-headers-dev = "external-sourcery-toolchain"
40PREFERRED_PROVIDER_gdbserver ??= "external-sourcery-toolchain"
41
42# No need to re-compile the locale files
43GLIBC_INTERNAL_USE_BINARY_LOCALE = "precompiled"
44ENABLE_BINARY_LOCALE_GENERATION = ""
45
46TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}"
47
48# Point to the appropriate multilib sysroot from the external toolchain, whose
49# files will be extracted into the OE sysroot
50def exttc_run(d, cmd):
51 try:
52 return bb.process.run(cmd, shell=True, env={'PATH': d.getVar('PATH', True)})[0].rstrip()
53 except (OSError, bb.process.CmdError):
54 return ''
55
56EXTERNAL_TOOLCHAIN_SYSROOT_CMD = "${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} -print-sysroot"
57EXTERNAL_TOOLCHAIN_SYSROOT ??= "${@exttc_run(d, EXTERNAL_TOOLCHAIN_SYSROOT_CMD)}"
58
59# These bits are here temporarily to sidestep the need to use a separate set
60# of tune files to pass the appropriate multilib selection arguments to the
61# sourcery toolchain, as is needed to extract the sysroot content.
62TUNE_CCARGS_append_x86 = " -msgxx-glibc"
63
64CSL_MULTILIB_ARGS[ppce500] ?= "-te500v1"
65CSL_MULTILIB_ARGS[ppce500mc] ?= "-te500mc"
66CSL_MULTILIB_ARGS[ppce500v2] ?= "-te500v2"
67CSL_MULTILIB_ARGS[ppce600] ?= "-te600"
68
69def csl_multilib_arg(d):
70 argument = d.getVarFlag('CSL_MULTILIB_ARGS', d.getVar('DEFAULTTUNE', True) or '')
71 if argument:
72 return argument
73 else:
74 return ''
75
76EXTERNAL_TOOLCHAIN_SYSROOT_CMD += "${@csl_multilib_arg(d)}"
77
78
79# Unfortunately, the CSL ia32 toolchain has non-prefixed binaries in its
80# bindir (e.g. gcc, ld). To avoid this messing up our build, we avoid adding
81# this bindir to our PATH, and instead add symlinks to the prefixed binaries
82# to our staging toolchain bindir.
83
84python toolchain_metadata_setup () {
85 d = e.data
86
87 l = d.createCopy()
88 l.finalize()
89 if os.path.exists(bb.data.expand('${EXTERNAL_TOOLCHAIN}/bin/gcc', l)):
90 d.setVar('TOOLCHAIN_PATH_ADD', '')
91}
92addhandler toolchain_metadata_setup
93toolchain_metadata_setup[eventmask] = "bb.event.ConfigParsed"
94
95python toolchain_setup () {
96 d = e.data
97
98 if not d.getVar('TOOLCHAIN_PATH_ADD', True):
99 populate_toolchain_links(d)
100}
101addhandler toolchain_setup
102toolchain_setup[eventmask] = "bb.event.BuildStarted"
103
104def populate_toolchain_links(d):
105 import errno
106 from glob import glob
107
108 d = d.createCopy()
109 d.finalize()
110
111 pattern = d.expand('${EXTERNAL_TOOLCHAIN}/bin/${TARGET_PREFIX}*')
112 files = glob(pattern)
113 if not files:
114 bb.fatal("Unable to populate toolchain binary symlinks in %s" % pattern)
115
116 bindir = d.getVar('STAGING_BINDIR_TOOLCHAIN', True)
117 bb.utils.mkdirhier(bindir)
118 for f in files:
119 base = os.path.basename(f)
120 newpath = os.path.join(bindir, base)
121 try:
122 os.symlink(f, newpath)
123 except OSError as exc:
124 if exc.errno == errno.EEXIST:
125 break
126 bb.fatal("Unable to populate toolchain binary symlink for %s: %s" % (newpath, exc))
127
128require conf/distro/include/csl-versions.inc
diff --git a/meta/conf/distro/include/world-broken.inc b/meta/conf/distro/include/world-broken.inc
new file mode 100644
index 0000000000..ab0c2dc863
--- /dev/null
+++ b/meta/conf/distro/include/world-broken.inc
@@ -0,0 +1,5 @@
1#
2# Exclude known broken packages
3#
4
5
diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf
new file mode 100644
index 0000000000..ecc7c8f68b
--- /dev/null
+++ b/meta/conf/documentation.conf
@@ -0,0 +1,277 @@
1# this file holds documentation for known keys, possible values and
2# their meaning. Please update, correct and extend this documentation.
3# Mail your changes to openembedded-devel@openembedded.org
4
5#A
6
7ALLOW_EMPTY[doc] = "Specifies if an output package should still be produced if it is empty."
8ASSUME_PROVIDED[doc] = "List of packages (recipes actually) which are assumed to be implicitly available. These packages won't be built by BitBake."
9ASSUME_SHLIBS[doc] = "List of shlib:package[_version] mappings. Useful for lib packages in ASSUME_PROVIDED, for which automatic shlib dependency tracking doesn't work."
10AUTHOR[doc] = "The email address used to contact the original author(s) in order to send patches and forward bugs."
11AUTOREV[doc] = "When SRCREV is set to the value of this variable, it specifies to use the latest source revision in the repository."
12
13#B
14
15B[doc] = "The Build Directory. The OpenEmbedded build system places generated objects into the Build Directory during a recipe's build process."
16BAD_RECOMMENDATIONS[doc] = "A list of packages not to install despite being recommended by a recipe. Support for this variable exists only when using the IPK packaging backend."
17BB_DANGLINGAPPENDS_WARNONLY[doc] = "Defines how BitBake handles situations where an append file (.bbappend) has no corresponding recipe file (.bb)."
18BB_DISKMON_DIRS[doc] = "Monitors disk space and available inodes during the build and allows you to control the build based on these parameters."
19BB_DISKMON_WARNINTERVAL[doc] = "Defines the disk space and free inode warning intervals. To set these intervals, define the variable in the conf/local.conf file in the Build Directory."
20BBCLASSEXTEND[doc] = "Allows you to extend a recipe so that it builds variants of the software. Common variants for recipes are 'natives', 'crosses', 'nativesdk' and 'multilibs'."
21BBMASK[doc] = "Prevents BitBake from processing recipes and recipe append files. Use the BBMASK variable from within the conf/local.conf file in the Build Directory."
22BB_NUMBER_THREADS[doc] = "The maximum number of tasks BitBake should run in parallel at any one time. A good rule of thumb is to set this variable to twice the number of cores."
23BBFILE_COLLECTIONS[doc] = "Lists the names of configured layers. These names are used to find the other BBFILE_* variables."
24BBFILE_PATTERN[doc] = "Variable that expands to match files from BBFILES in a particular layer. This variable is used in the layer.conf file and must be suffixed with the name of a layer."
25BBFILE_PRIORITY[doc] = "Assigns the priority for recipe files in each layer. Setting this variable allows you to prioritize a layer against other layers that contain the same recipe."
26BBFILES[doc] = "List of recipe files used by BitBake to build software."
27BBPATH[doc] = "Used by BitBake to locate .bbclass and configuration files. This variable is analogous to the PATH variable."
28BBINCLUDELOGS[doc] = "Variable that controls how BitBake displays logs on build failure."
29BBINCLUDELOGS_LINES[doc] = "Amount of log lines printed on failure."
30BBLAYERS[doc] = "Lists the layers to enable during the build. This variable is defined in the bblayers.conf configuration file."
31BBLAYERS_NON_REMOVABLE[doc] = "Lists core layers that cannot be removed from the bblayers.conf file."
32BP[doc] = "The base recipe name and version but without any special recipe name suffix (i.e. -native, lib64-, and so forth). BP is comprised of ${BPN}-${PV}"
33BPN[doc] = "The bare name of the recipe. This variable is a version of the PN variable but removes common suffixes and prefixes."
34BUILD_ARCH[doc] = "The name of the building architecture. E.g. i686."
35BUILD_OS[doc] = "The operating system (in lower case) of the building architecture. E.g linux."
36BUILDDIR[doc] = "Points to the location of the Build Directory."
37
38#C
39
40CACHE[doc] = "The directory holding the cache of the metadata."
41CFLAGS[doc] = "Flags passed to the C compiler for the target system. This variable evaluates to the same as TARGET_CFLAGS."
42COMBINED_FEATURES[doc] = "A set of features common between MACHINE_FEATURES and DISTRO_FEATURES."
43COMPATIBLE_HOST[doc] = "A regular expression that resolves to one or more hosts (when the recipe is native) or one or more targets (when the recipe is non-native) with which a recipe is compatible."
44COMPATIBLE_MACHINE[doc] = "A regular expression that resolves to one or more target machines with which a recipe is compatible."
45CONFFILES[doc] = "Identifies editable or configurable files that are part of a package."
46CONFIG_SITE[doc] = "A list of files that contains autoconf test results relevant to the current build. This variable is used by the Autotools utilities when running configure."
47CORE_IMAGE_EXTRA_INSTALL[doc] = "Specifies the list of packages to be added to the image. You should only set this variable in the conf/local.conf file in the Build Directory."
48CVSDIR[doc] = "The directory where cvs checkouts will be stored in."
49
50#D
51
52D[doc] = "The destination directory."
53DATE[doc] = "The date the build was started YMD."
54DATETIME[doc] = "The date and time the build was started at."
55DEBUG_BUILD[doc] = "Specifies to build packages with debugging information. This influences the value of the SELECTED_OPTIMIZATION variable."
56DEBUG_OPTIMIZATION[doc] = "The options to pass in TARGET_CFLAGS and CFLAGS when compiling a system for debugging. This variable defaults to '-O -fno-omit-frame-pointer -g'."
57DEFAULT_PREFERENCE[doc] = "Specifies a weak bias for recipe selection priority."
58DEPENDS[doc] = "Lists a recipe's build-time dependencies (i.e. other recipe files)."
59DESCRIPTION[doc] = "The package description used by package managers. If not set, DESCRIPTION takes the value of the SUMMARY variable."
60DESTDIR[doc] = "The destination directory."
61DISTRO[doc] = "The short name of the distribution. If the variable is blank, meta/conf/distro/defaultsetup.conf will be used."
62DISTRO_EXTRA_RDEPENDS[doc] = "Specifies a list of distro-specific packages to add to all images. The variable only applies to the images that include packagegroup-base."
63DISTRO_EXTRA_RRECOMMENDS[doc] = "Specifies a list of distro-specific packages to add to all images if the packages exist. The list of packages are automatically installed but you can remove them."
64DISTRO_FEATURES[doc] = "The features enabled for the distribution."
65DISTRO_FEATURES_BACKFILL[doc] = "Features to be added to DISTRO_FEATURES if not also present in DISTRO_FEATURES_BACKFILL_CONSIDERED. This variable is set in the meta/conf/bitbake.conf file and it is not intended to be user-configurable."
66DISTRO_FEATURES_BACKFILL_CONSIDERED[doc] = "Features from DISTRO_FEATURES_BACKFILL that should not be backfilled (i.e. added to DISTRO_FEATURES) during the build."
67DISTRO_NAME[doc] = "The long name of the distribution."
68DISTRO_PN_ALIAS[doc] = "Alias names used for the recipe in various Linux distributions."
69DISTRO_VERSION[doc] = "The version of the distribution."
70DISTROOVERRIDES[doc] = "This variable lists overrides specific to the current distribution. By default, the variable list includes the value of the DISTRO variable."
71DL_DIR[doc] = "The central download directory used by the build process to store downloads. By default, the directory is 'downloads' in the Build Directory."
72
73#E
74
75ENABLE_BINARY_LOCALE_GENERATION[doc] = "Variable that controls which locales for eglibc are generated during the build (useful if the target device has 64Mbytes of RAM or less)."
76EXTENDPE[doc] = "Used with file and pathnames to create a prefix for a recipe's version based on the recipe's PE value. If PE is set and greater than zero for a recipe, EXTENDPE becomes that value."
77EXTRA_IMAGE_FEATURES[doc] = "The list of additional features to include in an image. Configure this variable in the conf/local.conf file in the Build Directory."
78EXTRA_IMAGEDEPENDS[doc] = "A list of recipes to build that do not provide packages for installing into the root filesystem. Use this variable to list recipes that are required to build the final image, but not needed in the root filesystem."
79EXTRA_OECMAKE[doc] = "Additional cmake options."
80EXTRA_OECONF[doc] = "Additional configure script options."
81EXTRA_OEMAKE[doc] = "Additional GNU make options."
82
83#F
84
85FEED_DEPLOYDIR_BASE_URI[doc] = "Allow to serve ipk deploy dir as an adhoc feed (bogofeed). Set to base URL of the dir as exported by HTTP. Set of adhoc feed configs will be generated in image."
86FILES[doc] = "The list of directories or files that are placed in packages."
87FILESEXTRAPATHS[doc] = "Extends the search path the OpenEmbedded build system uses when looking for files and patches as it processes recipes and append files."
88FILESPATH[doc] = "The default set of directories the OpenEmbedded build system uses when searching for patches and files. It is defined in the base.bbclass class found in meta/classes in the Source Directory. Do not hand-edit the FILESPATH variable."
89FILESYSTEM_PERMS_TABLES[doc] = "Allows you to define your own file permissions settings table as part of your configuration for the packaging process."
90FULL_OPTIMIZATION[doc]= "The options to pass in TARGET_CFLAGS and CFLAGS when compiling an optimized system. This variable defaults to '-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2'."
91
92#G
93
94GITDIR[doc] = "The directory where git clones will be stored."
95GROUP_dependencies[doc] = "The keys in this group influence the dependency handling of BitBake and the resulting packages."
96GROUP_fetcher[doc] = "The key highly influence the fetcher implementations."
97GROUP_locale[doc] = "Locale generation of the GNU libc implementation."
98GROUP_packaging[doc] = "The keys in this group influence the package building process. They influence which packages will be generated and which files will be present in the generated packages."
99
100#H
101
102HOMEPAGE[doc] = "Website where more information about the software the recipe is building can be found."
103HOST_ARCH[doc] = "The name of the target architecture. Normally same as the TARGET_ARCH."
104HOST_CC_ARCH[doc] = "Normally same as the TARGET_CC_ARCH."
105HOST_NONSYSV[doc] = "This flag can be set to '1' if the host system is not SysV compatible. E.g. fakeroot-native will be build with tcp as IPC implementation."
106HOST_OS[doc] = "The name of the target operating system. Normally the same as the TARGET_OS."
107HOST_PREFIX[doc] = "Normally same as the TARGET_PREFIX."
108HOST_SYS[doc] = "Specifies the system, including the architecture and the operating system, for with the build is occurring in the context of the current recipe."
109HOST_VENDOR[doc] = "The name of the vendor. Normally same as the TARGET_VENDOR."
110
111#I
112
113IMAGE_FEATURES[doc] = "The primary list of features to include in an image. Configure this variable in an image recipe."
114IMAGE_FSTYPES[doc] = "Formats of root filesystem images that you want to have created."
115IMAGE_INSTALL[doc] = "Specifies the packages to install into an image. Image recipes set IMAGE_INSTALL to specify the packages to install into an image through image.bbclass."
116IMAGE_LINGUAS[doc] = "Specifies the list of locales to install into the image during the root filesystem construction process."
117IMAGE_OVERHEAD_FACTOR[doc] = "Defines a multiplier that the build system applies to the initial image size for cases when the multiplier times the returned disk usage value for the image is greater than the sum of IMAGE_ROOTFS_SIZE and IMAGE_ROOTFS_EXTRA_SPACE."
118IMAGE_ROOTFS_EXTRA_SPACE[doc] = "Defines additional free disk space created in the image in Kbytes. By default, this variable is set to '0'."
119IMAGE_ROOTFS_SIZE[doc] = "Defines the size in Kbytes for the generated image."
120INC_PR[doc] = "Helps define the recipe revision for recipes that share a common include file."
121INHIBIT_PACKAGE_STRIP[doc] = "If set to "1", causes the build to not strip binaries in resulting packages."
122INHERIT[doc] = "Causes the named class to be inherited at this point during parsing. The variable is only valid in configuration files."
123INITSCRIPT_PACKAGES[doc] = "A list of the packages that contain initscripts. This variable is used in recipes when using update-rc.d.bbclass. The variable is optional and defaults to the PN variable."
124INITSCRIPT_NAME[doc] = "The filename of the initscript as installed to ${etcdir}/init.d. The variable is mandatory and is used in recipes when using update-rc.d.bbclass."
125INITSCRIPT_PARAMS[doc] = "Specifies the options to pass to update-rc.d. The variable is mandatory and is used in recipes when using update-rc.d.bbclass."
126INSANE_SKIP[doc] = "Specifies the QA checks to skip for a specific package within a recipe."
127IPK_FEED_URIS[doc] = "List of ipkg feed records to put into generated image."
128
129#K
130
131KARCH[doc] = "Defines the kernel architecture used when assembling the configuration. You define the KARCH variable in the BSP Descriptions."
132KBRANCH[doc] = "A regular expression used by the build process to explicitly identify the kernel branch that is validated, patched and configured during a build."
133KBRANCH_DEFAULT[doc] = "Defines the Linux kernel source repository's default branch used to build the Linux kernel. Unless you specify otherwise, initializes to 'master'."
134KERNEL_EXTRA_ARGS[doc] = "Specifies additional make command-line arguments the OpenEmbedded build system passes on when compiling the kernel."
135KERNEL_FEATURES[doc] = "Includes additional metadata from the Yocto Project kernel Git repository. The metadata you add through this variable includes config fragments and features descriptions."
136KERNEL_IMAGETYPE[doc] = "The type of kernel to build for a device, usually set by the machine configuration files and defaults to 'zImage'."
137KERNEL_PATH[doc] = "The location of the kernel sources. This variable is set to the value of the STAGING_KERNEL_DIR within the module.bbclass class."
138KERNEL_SRC[doc] = "The location of the kernel sources. This variable is set to the value of the STAGING_KERNEL_DIR within the module.bbclass class."
139KFEATURE_DESCRIPTION[doc] = "Provides a short description of a configuration fragment. You use this variable in the .scc file that describes a configuration fragment file."
140KMACHINE[doc] = "The machine as known by the kernel."
141KTYPE[doc] = "Defines the kernel type to be used in assembling the configuration."
142
143#L
144
145LAYERDEPENDS[doc] = "Lists the layers that this recipe depends upon, separated by spaces. This variable is used in the conf/layer.conf file and must be suffixed with the name of the specific layer."
146LAYERDIR[doc] = "When used inside the layer.conf configuration file, this variable provides the path of the current layer."
147LAYERVERSION[doc] = "Optionally specifies the version of a layer as a single number. This variable is used in the conf/layer.conf file and must be suffixed with the name of the specific layer."
148LIC_FILES_CHKSUM[doc] = "Checksums of the license text in the recipe source code."
149LICENSE[doc] = "The list of source licenses for the recipe."
150LICENSE_PATH[doc] = "Path to additional licenses used during the build."
151LINUX_KERNEL_TYPE[doc] = "Defines the kernel type to be used in assembling the configuration."
152LINUX_VERSION[doc] = "The Linux version from kernel.org on which the Linux kernel image being built using the OpenEmbedded build system is based. You define this variable in the kernel recipe."
153LINUX_VERSION_EXTENSION[doc] = "A string extension compiled into the version string of the Linux kernel built with the OpenEmbedded build system. You define this variable in the kernel recipe."
154LOG_DIR[doc] = "Specifies the directory to which the OpenEmbedded build system writes overall log files. The default directory is ${TMPDIR}/log"
155
156#M
157
158MACHINE[doc] = "Specifies the target device for which the image is built. You define MACHINE in the conf/local.conf file in the Build Directory."
159MACHINE_ESSENTIAL_EXTRA_RDEPENDS[doc] = "A list of required machine-specific packages to install as part of the image being built. Because this is a 'machine essential' variable, the list of packages are essential for the machine to boot."
160MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS[doc] = "A list of recommended machine-specific packages to install as part of the image being built. Because this is a 'machine essential' variable, the list of packages are essential for the machine to boot."
161MACHINE_EXTRA_RDEPENDS[doc] = "A list of machine-specific packages to install as part of the image being built that are not essential for the machine to boot. However, the build process for more fully-featured images depends on the packages being present."
162MACHINE_EXTRA_RRECOMMENDS[doc] = "A list of machine-specific packages to install as part of the image being built that are not essential for booting the machine. The image being built has no build dependency on this list of packages."
163MACHINE_FEATURES[doc] = "Specifies the list of hardware features the MACHINE supports."
164MACHINE_FEATURES_BACKFILL[doc] = "Features to be added to MACHINE_FEATURES if not also present in MACHINE_FEATURES_BACKFILL_CONSIDERED. This variable is set in the meta/conf/bitbake.conf file and is not intended to be user-configurable."
165MACHINE_FEATURES_BACKFILL_CONSIDERED[doc] = "Features from MACHINE_FEATURES_BACKFILL that should not be backfilled (i.e. added to MACHINE_FEATURES) during the build."
166MACHINEOVERRIDES[doc] = "Lists overrides specific to the current machine. By default, this list includes the value of MACHINE."
167MAINTAINER[doc] = "The email address of the distribution maintainer."
168MIRRORS[doc] = "Specifies additional paths from which the OpenEmbedded build system gets source code."
169MLPREFIX[doc] = "Specifies a prefix has been added to PN to create a special version of a recipe or package, such as a Multilib version."
170MODULE_TARBALL_DEPLOY[doc] = "Controls creation of the modules-*.tgz file. Set this variable to "0" to disable creation of this file, which contains all of the kernel modules resulting from a kernel build."
171MULTIMACH_TARGET_SYS[doc] = "Separates files for different machines such that you can build for multiple target machines using the same output directories."
172
173BAD_RECOMMENDATIONS[doc] = "List of packages to not install if recommended. These will still be installed if required."
174NO_RECOMMENDATIONS[doc] = "When set to 1, no recommended packages will be installed. Note: some recommended packages may be required for certain system functionality, such as kernel-modules. It is up to the user to add packages to IMAGE_INSTALL as needed."
175
176IMAGE_INSTALL[doc] = "Used by an image recipe to list the packages to be installed. See PACKAGE_INSTALL."
177
178PACKAGE_EXCLUDE[doc] = "Packages to exclude from the installation, if required an error will be generated."
179PACKAGE_INSTALL[doc] = "Generally not user defined. List of the packages to be installed into the image, uses IMAGE_INSTALL as part of the list."
180PACKAGE_INSTALL_ATTEMPTONLY[doc] = "Generally not user defined. List of packages that will be attempted to be installed, but no error will generate if any of them fail to install."
181
182#N
183
184NATIVELSBSTRING[doc] = "A string identifying the host distribution."
185
186#O
187
188OE_TERMINAL[doc] = "Controls how the OpenEmbedded build system spawns interactive terminals on the host development system."
189
190#P
191
192P[doc] = "The recipe name and version. P is comprised of ${PN}-${PV}"
193PACKAGE_ARCH[doc] = "The architecture of the resulting package or packages."
194PACKAGE_ARCHS[doc] = "A list of architectures compatible with the given target in order of priority."
195PACKAGE_BEFORE_PN[doc] = "Enables easily adding packages to PACKAGES before ${PN} so that the packages can pick up files that would normally be included in the default package."
196PACKAGE_CLASSES[doc] = "This variable specifies the package manager to use when packaging data. It is set in the conf/local.conf file in the Build Directory."
197PACKAGE_EXTRA_ARCHS[doc] = "Specifies the list of architectures compatible with the device CPU. This variable is useful when you build for several different devices that use miscellaneous processors."
198PACKAGECONFIG[doc] = "This variable provides a means of enabling or disabling features of a recipe on a per-recipe basis."
199PACKAGES[doc] = "The list of packages to be created from the recipe."
200PACKAGES_DYNAMIC[doc] = "A promise that your recipe satisfies runtime dependencies for optional modules that are found in other recipes."
201PALMTOP_USE_MULTITHREADED_QT[doc] = "Set to yes, if you want to build qt apps with CONFIG+=thread"
202PARALLEL_MAKE[doc] = "Specifies extra options that are passed to the make command during the compile tasks. This variable is usually in the form -j 4, where the number represents the maximum number of parallel threads make can run."
203PE[doc] = "The epoch of the recipe. The default value is '0'. The field is used to make upgrades possible when the versioning scheme changes in some backwards incompatible way."
204PF[doc] = "Specifies the recipe or package name and includes all version and revision numbers. This variable is comprised of ${PN}-${EXTENDPE}${PV}-${PR}"
205PN[doc] = "PN refers to a recipe name in the context of a file used by the OpenEmbedded build system as input to create a package. It refers to a package name in the context of a file created or produced by the OpenEmbedded build system."
206PR[doc] = "The revision of the recipe. The default value for this variable is 'r0'."
207PREMIRRORS[doc] = "Specifies additional paths from which the OpenEmbedded build system gets source code."
208PRINC[doc] = "Causes the PR variable of .bbappend files to dynamically increment. This increment minimizes the impact of layer ordering. This variable defaults to '0'."
209PRIORITY[doc] = "Importance of package, the default value is 'optional', other standard values are 'required', 'standard' and 'extra'."
210PROVIDES[doc] = "A list of aliases that a recipe also provides. These aliases are useful for satisfying dependencies of other recipes during the build (as specified by DEPENDS)."
211PREFERRED_PROVIDER[doc] = "If multiple recipes provide an item, this variable determines which recipe should be given preference."
212PREFERRED_VERSION[doc] = "If there are multiple versions of recipes available, this variable determines which recipe should be given preference."
213PV[doc] = "The version of the recipe. The version is normally extracted from the recipe filename."
214
215#R
216
217RCONFLICTS[doc] = "The list of packages that conflict with another package. Note that the package will not be installed if the conflicting packages are not first removed."
218RDEPENDS[doc] = "Lists a package's runtime dependencies (i.e. other packages) that must be installed for the package to be built. They must be the names of other packages as listed in the PACKAGES variable, not recipe names (PN)."
219RM_WORK_EXCLUDE[doc] = "With rm_work enabled, this variable specifies a list of packages whose work directories should not be removed."
220RPROVIDES[doc] = "A list of package name aliases that a package also provides. These aliases are useful for satisfying runtime dependencies of other packages both during the build and on the target."
221RRECOMMENDS[doc] = "A list of packages that extends the usability of a package being built. The package being built does not depend on this list of packages in order to successfully build, but needs them for the extended usability."
222RREPLACES[doc] = "A list of packages replaced by a package. The package manager uses this variable to determine which package should be installed to replace other package(s) during an upgrade."
223RSUGGESTS[doc] = "A list of additional packages that you can suggest for installation by the package manager at the time a package is installed. Not all package managers support this functionality."
224
225#S
226
227S[doc] = "The location in the Build Directory where unpacked package source code resides."
228SANITY_TESTED_DISTROS[doc] = "A list of the host distribution identifiers that the build system has been tested against."
229SDKIMAGE_FEATURES[doc] = "Equivalent to IMAGE_FEATURES. However, this variable applies to the SDK generated from an image using the command '$ bitbake -c populate_sdk imagename'."
230SECTION[doc] = "The section in which packages should be categorized. Package management utilities can make use of this variable."
231SELECTED_OPTIMIZATION[doc] = "The variable takes the value of FULL_OPTIMIZATION unless DEBUG_BUILD = "1". In this case the value of DEBUG_OPTIMIZATION is used."
232SERIAL_CONSOLE[doc] = "The speed and device for the serial port used to attach the serial console. This variable is given to the kernel as the 'console' parameter and after booting occurs getty is started on that port so remote login is possible."
233SIGGEN_EXCLUDERECIPES_ABISAFE[doc] = "A list of recipes that are completely stable and will never change."
234SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS[doc] = "A list of recipe dependencies that should not be used to determine signatures of tasks from one recipe when they depend on tasks from another recipe."
235SITEINFO_ENDIANNESS[doc] = "Specifies the endian byte order of the target system. The value should be either 'le' for 'little-endian' or 'be' for 'big-endian'."
236SITEINFO_BITS[doc] = "Specifies the number of bits for the target system CPU. The value should be either '32' or '64'."
237SOC_FAMILY[doc] = "Groups together machines based upon the same family of SOC (System On Chip). You typically set this variable in a common .inc file that you include in the configuration files of all the machines."
238SOURCE_MIRROR_FETCH[doc] = "Switch marking build as source fetcher. Used to skip COMPATIBLE_* checking."
239SOURCE_MIRROR_URL[doc] = "URL to source mirror which will be used before fetching from original SRC_URI."
240SPECIAL_PKGSUFFIX[doc] = "A list of prefixes for PN used by the OpenEmbedded build system to create variants of recipes or packages. The list specifies the prefixes to strip off during certain circumstances such as the generation of the BPN variable."
241SRC_URI[doc] = "The list of source files - local or remote. This variable tells the OpenEmbedded build system which bits to pull in for the build and how to pull them in."
242SRC_URI_OVERRIDES_PACKAGE_ARCH[doc] = "By default, the OpenEmbedded build system automatically detects whether SRC_URI contains files that are machine-specific. If so, the build system automatically changes PACKAGE_ARCH. Setting this variable to '0' disables this behavior."
243SRCDATE[doc] = "The date of the source code used to build the package. This variable applies only if the source was fetched from a Source Code Manager (SCM)."
244SRCPV[doc] = "Returns the version string of the current package. This string is used to help define the value of PV."
245SRCREV[doc] = "The revision of the source code used to build the package. This variable applies to Subversion, Git, Mercurial and Bazaar only."
246SSTATE_DIR[doc] = "The directory for the shared state cache."
247SSTATE_MIRRORS[doc] = "Configures the OpenEmbedded build system to search other mirror locations for prebuilt cache data objects before building out the data. You can specify a filesystem directory or a remote URL such as HTTP or FTP."
248STAGING_KERNEL_DIR[doc] = "The directory with kernel headers that are required to build out-of-tree modules."
249STAMP[doc] = "Specifies the base path used to create recipe stamp files. The path to an actual stamp file is constructed by evaluating this string and then appending additional information."
250SUMMARY[doc] = "The short (72 characters or less) summary of the binary package for packaging systems such as opkg, rpm or dpkg. By default, SUMMARY is used to define the DESCRIPTION variable if DESCRIPTION is not set in the recipe."
251SVNDIR[doc] = "The directory where subversion checkouts will be stored."
252SYSROOT_PREPROCESS_FUNCS[doc] = "A list of functions to execute after files are staged into the sysroot. These functions are usually used to apply additional processing on the staged files, or to stage additional files."
253SYSVINIT_ENABLED_GETTYS[doc] = "Specify which VTs should be running a getty, the default is 1."
254
255#T
256
257T[doc] = "This variable points to a directory were BitBake places temporary files, which consist mostly of task logs and scripts, when building a particular recipe."
258TARGET_ARCH[doc] = "The architecture of the device being built. The OpenEmbedded build system supports the following architectures: arm, mips, ppc, x86, x86-64."
259TARGET_CFLAGS[doc] = "Flags passed to the C compiler for the target system. This variable evaluates to the same as CFLAGS."
260TARGET_FPU[doc] = "Specifies the method for handling FPU code. For FPU-less targets, which include most ARM CPUs, the variable must be set to 'soft'. If not, the kernel emulation gets used, which results in a performance penalty."
261TARGET_OS[doc] = "Specifies the target's operating system."
262TARGET_PREFIX[doc] = "The prefix for the cross compile toolchain. E.g arm-linux- ."
263TARGET_SYS[doc] = "The target system is composed out of TARGET_ARCH,TARGET_VENDOR and TARGET_OS."
264TCLIBC[doc] = "Specifies which variant of the GNU standard C library (libc) to use during the build process. You can select eglibc or uclibc."
265TCMODE[doc] = "The toolchain selector. It selects the external toolchain built using the OpenEmbedded build system or a few supported combinations of the upstream GCC or CodeSourcery Labs toolchain."
266TIME[doc] = "The time the build was started HMS"
267TMPDIR[doc] = "This variable is the temporary directory the OpenEmbedded build system uses when it does its work building images. By default, the TMPDIR variable is named tmp within the Build Directory."
268TOPDIR[doc] = "This variable is the Build Directory. BitBake automatically sets this variable. The OpenEmbedded build system uses the Build Directory when building images."
269TUNEABI[doc] = "An underlying ABI used by a particular tuning in a given toolchain layer. This feature allows providers using prebuilt libraries to check compatibility of a tuning against their selection of libraries."
270TUNEABI_OVERRIDE[doc] = "If set, ignores TUNEABI_WHITELIST."
271TUNEABI_WHITELIST[doc] = "A whitelist of permissible TUNEABI values; if unset, all are allowed."
272TUNECONFLICTS[doc] = "List of conflicting features for a given feature."
273TUNEVALID[doc] = "Descriptions of valid tuning features, stored as flags."
274
275#W
276
277WORKDIR[doc] = "The pathname of the working directory in which the OpenEmbedded build system builds a recipe. This directory is located within the TMPDIR directory structure and changes as different packages are built."
diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
new file mode 100644
index 0000000000..e249a6a43e
--- /dev/null
+++ b/meta/conf/layer.conf
@@ -0,0 +1,32 @@
1# We have a conf and classes directory, add to BBPATH
2BBPATH .= ":${LAYERDIR}"
3# We have recipes-* directories, add to BBFILES
4BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
5
6BBFILE_COLLECTIONS += "core"
7BBFILE_PATTERN_core = "^${LAYERDIR}/"
8BBFILE_PRIORITY_core = "5"
9
10# This should only be incremented on significant changes that will
11# cause compatibility issues with other layers
12LAYERVERSION_core = "3"
13
14# Set a variable to get to the top of the metadata location
15COREBASE = '${@os.path.normpath("${LAYERDIR}/../")}'
16
17SIGGEN_EXCLUDERECIPES_ABISAFE += " \
18 sysvinit-inittab \
19 shadow-securetty \
20 opkg-config-base \
21 netbase \
22 init-ifupdown \
23 connman-conf \
24 formfactor \
25 xserver-xf86-config \
26 pointercal \
27 base-files \
28 keymaps \
29 udev-extraconf \
30 packagegroup-x11-xserver \
31 systemd-serialgetty \
32"
diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf
new file mode 100644
index 0000000000..b41d0a89a9
--- /dev/null
+++ b/meta/conf/licenses.conf
@@ -0,0 +1,167 @@
1# These aren't actually used anywhere that I can tell
2# They may be in the future (or are used by someone else
3# For completion sake, I've updated them
4SRC_DISTRIBUTE_LICENSES += "AAL Adobe AFL-1.2 AFL-2.0 AFL-2.1 AFL-3.0"
5SRC_DISTRIBUTE_LICENSES += "AGPL-3.0 ANTLR-PD Apache-1.0 Apache-1.1 Apache-2.0"
6SRC_DISTRIBUTE_LICENSES += "APL-1.0 APSL-1.0 APSL-1.1 APSL-1.2 APSL-2.0"
7SRC_DISTRIBUTE_LICENSES += "Artistic-1.0 Artistic-2.0 BitstreamVera BSD"
8SRC_DISTRIBUTE_LICENSES += "BSD-2-Clause BSD-3-Clause BSD-4-Clause BSL-1.0"
9SRC_DISTRIBUTE_LICENSES += "CATOSL-1.1 CC0-1.0 CC-BY-1.0 CC-BY-2.0 CC-BY-2.5"
10SRC_DISTRIBUTE_LICENSES += "CC-BY-3.0 CC-BY-NC-1.0 CC-BY-NC-2.0 CC-BY-NC-2.5"
11SRC_DISTRIBUTE_LICENSES += "CC-BY-NC-3.0 CC-BY-NC-ND-1.0 CC-BY-NC-ND-2.0"
12SRC_DISTRIBUTE_LICENSES += "CC-BY-NC-ND-2.5 CC-BY-NC-ND-3.0 CC-BY-NC-SA-1.0"
13SRC_DISTRIBUTE_LICENSES += "CC-BY-NC-SA-2.0 CC-BY-NC-SA-2.5 CC-BY-NC-SA-3.0"
14SRC_DISTRIBUTE_LICENSES += "CC-BY-ND-1.0 CC-BY-ND-2.0 CC-BY-ND-2.5 CC-BY-ND-3.0"
15SRC_DISTRIBUTE_LICENSES += "CC-BY-SA-1.0 CC-BY-SA-2.0 CC-BY-SA-2.5 CC-BY-SA-3.0"
16SRC_DISTRIBUTE_LICENSES += "CDDL-1.0 CECILL-1.0 CECILL-2.0 CECILL-B CECILL-C"
17SRC_DISTRIBUTE_LICENSES += "ClArtistic CPAL-1.0 CPL-1.0 CUA-OPL-1.0 DSSSL"
18SRC_DISTRIBUTE_LICENSES += "ECL-1.0 ECL-2.0 eCos-2.0 EDL-1.0 EFL-1.0 EFL-2.0"
19SRC_DISTRIBUTE_LICENSES += "Elfutils-Exception Entessa EPL-1.0 ErlPL-1.1"
20SRC_DISTRIBUTE_LICENSES += "EUDatagrid EUPL-1.0 EUPL-1.1 Fair Frameworx-1.0"
21SRC_DISTRIBUTE_LICENSES += "FreeType GFDL-1.1 GFDL-1.2 GFDL-1.3 GPL-1.0"
22SRC_DISTRIBUTE_LICENSES += "GPL-2.0 GPL-2.0-with-autoconf-exception"
23SRC_DISTRIBUTE_LICENSES += "GPL-2.0-with-classpath-exception"
24SRC_DISTRIBUTE_LICENSES += "GPL-2.0-with-font-exception"
25SRC_DISTRIBUTE_LICENSES += "GPL-2.0-with-GCC-exception"
26SRC_DISTRIBUTE_LICENSES += "GPL-2-with-bison-exception GPL-3.0"
27SRC_DISTRIBUTE_LICENSES += "GPL-3.0-with-autoconf-exception"
28SRC_DISTRIBUTE_LICENSES += "GPL-3.0-with-GCC-exception"
29SRC_DISTRIBUTE_LICENSES += "gSOAP-1 gSOAP-1.3b HPND IPA IPL-1.0 ISC LGPL-2.0"
30SRC_DISTRIBUTE_LICENSES += "LGPL-2.1 LGPL-3.0 Libpng LPL-1.02 LPPL-1.0 LPPL-1.1"
31SRC_DISTRIBUTE_LICENSES += "LPPL-1.2 LPPL-1.3c MirOS MIT Motosoto MPL-1.0"
32SRC_DISTRIBUTE_LICENSES += "MPL-1.1 MS-PL MS-RL Multics NASA-1.3 Nauman NCSA"
33SRC_DISTRIBUTE_LICENSES += "NGPL Nokia NPOSL-3.0 NTP OASIS OCLC-2.0 ODbL-1.0"
34SRC_DISTRIBUTE_LICENSES += "OFL-1.1 OGTSL OLDAP-2.8 OpenSSL OSL-1.0 OSL-2.0"
35SRC_DISTRIBUTE_LICENSES += "OSL-3.0 PD PHP-3.0 PostgreSQL Proprietary"
36SRC_DISTRIBUTE_LICENSES += "Python-2.0 QPL-1.0 RHeCos-1 RHeCos-1.1 RPL-1.5"
37SRC_DISTRIBUTE_LICENSES += "RPSL-1.0 RSCPL Ruby SAX-PD SGI-1 Simple-2.0 Sleepycat"
38SRC_DISTRIBUTE_LICENSES += "SPL-1.0 SugarCRM-1 SugarCRM-1.1.3 UCB VSL-1.0 W3C"
39SRC_DISTRIBUTE_LICENSES += "Watcom-1.0 WXwindows XFree86-1.1 Xnet YPL-1.1"
40SRC_DISTRIBUTE_LICENSES += "Zimbra-1.3 Zlib ZPL-1.1 ZPL-2.0 ZPL-2.1"
41
42# Standards are great! Everyone has their own. In an effort to standardize licensing
43# names, common-licenses will use the SPDX standard license names. In order to not
44# break the non-standardized license names that we find in LICENSE, we'll set
45# up a bunch of VarFlags to accomodate non-SPDX license names.
46#
47# We should really discuss standardizing this field, but that's a longer term goal.
48# For now, we can do this and it should grab the most common LICENSE naming variations.
49#
50# We should NEVER have a GPL/LGPL without a version!!!!
51# Any mapping to MPL/LGPL/GPL should be fixed
52# see: https://wiki.yoctoproject.org/wiki/License_Audit
53
54# GPL variations
55SPDXLICENSEMAP[GPL-1] = "GPL-1.0"
56SPDXLICENSEMAP[GPLv1] = "GPL-1.0"
57SPDXLICENSEMAP[GPLv1.0] = "GPL-1.0"
58SPDXLICENSEMAP[GPL-2] = "GPL-2.0"
59SPDXLICENSEMAP[GPLv2] = "GPL-2.0"
60SPDXLICENSEMAP[GPLv2.0] = "GPL-2.0"
61SPDXLICENSEMAP[GPL-3] = "GPL-3.0"
62SPDXLICENSEMAP[GPLv3] = "GPL-3.0"
63SPDXLICENSEMAP[GPLv3.0] = "GPL-3.0"
64
65#LGPL variations
66SPDXLICENSEMAP[LGPLv2] = "LGPL-2.0"
67SPDXLICENSEMAP[LGPLv2.0] = "LGPL-2.0"
68SPDXLICENSEMAP[LGPL2.1] = "LGPL-2.1"
69SPDXLICENSEMAP[LGPLv2.1] = "LGPL-2.1"
70SPDXLICENSEMAP[LGPLv3] = "LGPL-3.0"
71
72#MPL variations
73SPDXLICENSEMAP[MPL-1] = "MPL-1.0"
74SPDXLICENSEMAP[MPLv1] = "MPL-1.0"
75SPDXLICENSEMAP[MPLv1.1] = "MPL-1.1"
76SPDXLICENSEMAP[MPLv2] = "MPL-2.0"
77
78#MIT variations
79SPDXLICENSEMAP[MIT-X] = "MIT"
80SPDXLICENSEMAP[MIT-style] = "MIT"
81
82#Openssl variations
83SPDXLICENSEMAP[openssl] = "OpenSSL"
84
85#Python variations
86SPDXLICENSEMAP[PSF] = "Python-2.0"
87SPDXLICENSEMAP[PSFv2] = "Python-2.0"
88SPDXLICENSEMAP[Python-2] = "Python-2.0"
89
90#Apache variations
91SPDXLICENSEMAP[Apachev2] = "Apache-2.0"
92SPDXLICENSEMAP[Apache-2] = "Apache-2.0"
93
94#Artistic variations
95SPDXLICENSEMAP[Artisticv1] = "Artistic-1.0"
96SPDXLICENSEMAP[Artistic-1] = "Artistic-1.0"
97
98#Academic variations
99SPDXLICENSEMAP[AFL-2] = "AFL-2.0"
100SPDXLICENSEMAP[AFL-1] = "AFL-1.2"
101SPDXLICENSEMAP[AFLv2] = "AFL-2.0"
102SPDXLICENSEMAP[AFLv1] = "AFL-1.2"
103
104#Other variations
105SPDXLICENSEMAP[EPLv1.0] = "EPL-1.0"
106
107#Silicon Graphics variations
108SPDXLICENSEMAP[SGIv1] = "SGI-1"
109
110# Additional license directories. Add your custom licenses directories this path.
111# LICENSE_PATH += "${COREBASE}/custom-licenses"
112
113# Set if you want the license.manifest copied to the image
114#COPY_LIC_MANIFEST = "1"
115
116# If you want the pkg licenses copied over as well you must set
117# both COPY_LIC_MANIFEST and COPY_LIC_DIRS
118#COPY_LIC_DIRS = "1"
119
120## SPDX temporary directory
121SPDX_TEMP_DIR = "${WORKDIR}/spdx_temp"
122SPDX_MANIFEST_DIR = "/home/yocto/fossology_scans"
123
124## SPDX Format info
125SPDX_VERSION = "SPDX-1.1"
126DATA_LICENSE = "CC0-1.0"
127
128## Fossology scan information
129# You can set option to control if the copyright information will be skipped
130# during the identification process.
131#
132# It is defined as [FOSS_COPYRIGHT] in ./meta/conf/licenses.conf.
133# FOSS_COPYRIGHT = "true"
134# NO copyright will be processed. That means only license information will be
135# identified and output to SPDX file
136# FOSS_COPYRIGHT = "false"
137# Copyright will be identified and output to SPDX file along with license
138# information. The process will take more time than not processing copyright
139# information.
140#
141
142FOSS_COPYRIGHT = "true"
143
144# A option defined as[FOSS_RECURSIVE_UNPACK] in ./meta/conf/licenses.conf. is
145# used to control if FOSSology server need recursively unpack tar.gz file which
146# is sent from do_spdx task.
147#
148# FOSS_RECURSIVE_UNPACK = "false":
149# FOSSology server does NOT recursively unpack. In the current release, this
150# is the default choice because recursively unpack will not necessarily break
151# down original compressed files.
152# FOSS_RECURSIVE_UNPACK = "true":
153# FOSSology server recursively unpack components.
154#
155
156FOSS_RECURSIVE_UNPACK = "false"
157
158# FOSSologySPDX instance server.
159# For more information on FOSSologySPDX commandline:
160# https://github.com/spdx-tools/fossology-spdx/wiki/Fossology-SPDX-Web-API
161#
162
163FOSS_SERVER = "http://localhost//?mod=spdx_license_once&noCopyright=${FOSS_COPYRIGHT}&recursiveUnpack=${FOSS_RECURSIVE_UNPACK}"
164
165FOSS_WGET_FLAGS = "-qO - --no-check-certificate --timeout=0"
166
167
diff --git a/meta/conf/machine-sdk/i586.conf b/meta/conf/machine-sdk/i586.conf
new file mode 100644
index 0000000000..baacce70af
--- /dev/null
+++ b/meta/conf/machine-sdk/i586.conf
@@ -0,0 +1,3 @@
1SDK_ARCH = "i586"
2SDK_CC_ARCH = "-march=i586"
3
diff --git a/meta/conf/machine-sdk/i686.conf b/meta/conf/machine-sdk/i686.conf
new file mode 100644
index 0000000000..ffdb46131c
--- /dev/null
+++ b/meta/conf/machine-sdk/i686.conf
@@ -0,0 +1,2 @@
1SDK_ARCH = "i686"
2SDK_CC_ARCH = "-march=i686"
diff --git a/meta/conf/machine-sdk/x86_64.conf b/meta/conf/machine-sdk/x86_64.conf
new file mode 100644
index 0000000000..812d67c8d2
--- /dev/null
+++ b/meta/conf/machine-sdk/x86_64.conf
@@ -0,0 +1 @@
SDK_ARCH = "x86_64"
diff --git a/meta/conf/machine/include/README b/meta/conf/machine/include/README
new file mode 100644
index 0000000000..e4b59c9566
--- /dev/null
+++ b/meta/conf/machine/include/README
@@ -0,0 +1,81 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial Revision
3
4The individual CPU, and ABI tunings are contained in this directory. A
5number of local and global variables are used to control the way the
6tunings are setup and how they work together to specify an optimized
7configuration.
8
9The following is brief summary of the generic components that are used
10in these tunings.
11
12AVAILTUNES - This is a list of all of the tuning definitions currently
13available in the system. Not all tunes in this list may be compatible
14with the machine configuration, or each other in a multilib
15configuration. Each tuning file can add to this list using "+=", but
16should never replace the list using "=".
17
18DEFAULTTUNE - This specifies the tune to use for a particular build.
19Each tune should specify a reasonable default, which can be overriden by
20a machine or multilib configuration. The specified tune must be listed
21in the AVAILTUNES.
22
23TUNEVALID[feature] - The <feature> is defined with a human readable
24explanation for what it does. All architectural, cpu, abi, etc tuning
25features must be defined using TUNEVALID.
26
27TUNECONFLICTS[feature] - A list of features which conflict with <feature>.
28New sanity checks will try to reject combinations in which a single
29tuning ends up with features which conflict with each other.
30
31TUNE_FEATURES - This is automatically defined as TUNE_FEATURES_tune-<tune>.
32See TUNE_FEATURES_tune-<tune> for more information.
33
34TUNE_FEATURES_tune-<tune> - Specify the features used to describe a
35specific tune. This is a list of features that a tune support, each
36feature must be in the TUNEVALID list. Note: the tune and a given
37feature name may be the same, but they have different purposes. Only
38features may be used to change behavior, while tunes are used to
39describe an overall set of features.
40
41ABIEXTENSION - An ABI extension may be specified by a specific feature
42or other tuning setting, such as TARGET_FPU. Any ABI extensions either
43need to be defined in the architectures base arch file, i.e.
44ABIEXTENSION = "eabi" in the arm case, or appended to in specific tune
45files with a ".=". Spaces are not allowed in this variable.
46
47TUNE_CCARGS - Setup the cflags based on the TUNE_FEATURES settings.
48These should be additive when defined using "+=". All items in this
49list should be dynamic! i.e.
50${@bb.utils.contains("TUNE_FEATURES", "feature", "cflag", "!cflag", d)}
51
52TUNE_ARCH - The GNU canonical arch for a specific architecture. i.e.
53arm, armeb, mips, mips64, etc. This value is by bitbake to setup
54configure. TUNE_ARCH definitions are specific to a given architecture.
55They may be a single static definitions, or may be dynamically adjusted.
56See each architectures README for details for that CPU family.
57
58TUNE_PKGARCH - The package architecture used by the packaging systems to
59define the architecture, abi and tuning of a particular package.
60Similarly to TUNE_ARCH, the definition of TUNE_PKGARCH is specific to
61each architecture. See each architectures README for details for that
62CPU family.
63
64PACKAGE_EXTRA_ARCHS - Lists all runtime compatible package
65architectures. By default this is equal to
66PACKAGE_EXTRA_ARCHS_tune-<tune>. If an architecture deviates from the
67default it will be listed in the architecture README.
68
69PACKAGE_EXTRA_ARCHS_tune-<tune> - List all of the package architectures
70that are compatible with this specific tune. The package arch of this
71tune must be in the list.
72
73TARGET_FPU - The FPU setting for a given tune, hard (generate floating
74point instructions), soft (generate internal gcc calls), "other"
75architecture specific floating point. This is synchronized with the
76compiler and other toolchain items. This should be dynamically
77configured in the same way that TUNE_CCARGS is.
78
79BASE_LIB_tune-<tune> - The "/lib" location for a specific ABI. This is
80used in a multilib configuration to place the libraries in the correct,
81non-conflicting locations.
diff --git a/meta/conf/machine/include/arm/README b/meta/conf/machine/include/arm/README
new file mode 100644
index 0000000000..a1beb75fdf
--- /dev/null
+++ b/meta/conf/machine/include/arm/README
@@ -0,0 +1,40 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial Revision
3
4The ARM architecture definitions are split among a number of files.
5The primary definitions for the variables are handled by the core
6arch-arm.inc file.
7
8TUNE_ARCH is set to either "arm" or "armeb" depending on the value
9of the existence of the "bigendian" feature in a given tune.
10
11A small set of ARM specific variables have been defined to allow
12TUNE_PKGARCH to be automatically defined. Optimized tunings must NOT
13change the definiton of TUNE_PKGARCH. TUNE_PKGACH_tune-<tune> will be
14ignored. The format of the package arch is enforced by the TUNE_PKGARCH
15default. The format must be of the form:
16<armversion>[t][e][hf][b][-vfp][-neon]
17
18TUNE_PKGARCH is defined as:
19${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}
20
21ARMPKGARCH - This is the core package arch component specified by each
22tuning. This is the primary identifier of a tuning. Usual values are:
23arm, armv4, armv5, armv6, armv7a, etc.
24
25ARMPKGSFX_THUMB - This is the thumb specific suffix. Curently it is
26defined in feature-arm-thumb.inc.
27
28ARMPKGSFX_DSP - This is the DSP specific suffix. Currently this is set
29to 'e' when on armv5 and the dsp feature is enabled.
30
31ARMPKGSFX_EABI - This is the eabi specific suffix. There are currently
32two defined ABIs specificed, standard EABI and Hard Float (VFP) EABI.
33When the callconvention-hard is enabled, "hf" is specified, otherwise it
34is blank.
35
36ARMPKGSFX_ENDIAN - This is the endian specific suffix. It is defined in
37the core arch-arm.inc file.
38
39ARMPKGSFX_FPU - This is the FPU specific suffix. The suffix indicates
40specific FPU optimizations. 'vfp' and 'neon' are both defined.
diff --git a/meta/conf/machine/include/arm/arch-arm.inc b/meta/conf/machine/include/arm/arch-arm.inc
new file mode 100644
index 0000000000..90b80c4c36
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-arm.inc
@@ -0,0 +1,17 @@
1
2TUNEVALID[bigendian] = "Enable big-endian mode."
3
4ARMPKGARCH = "${ARMPKGARCH_tune-${DEFAULTTUNE}}"
5ARMPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "b", "", d)}"
6ARMPKGSFX_FPU ??= ""
7ARMPKGSFX_DSP ??= ""
8ARMPKGSFX_EABI ??= ""
9ARMPKGSFX_THUMB ??= ""
10
11TUNE_ARCH = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "armeb", "arm", d)}"
12TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
13
14ABIEXTENSION = "eabi"
15
16TARGET_FPU = "${@d.getVar('ARMPKGSFX_FPU', True).strip('-') or 'soft'}"
17
diff --git a/meta/conf/machine/include/arm/arch-armv4.inc b/meta/conf/machine/include/arm/arch-armv4.inc
new file mode 100644
index 0000000000..c33c81690c
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv4.inc
@@ -0,0 +1,33 @@
1DEFAULTTUNE ?= "armv4"
2
3TUNEVALID[armv4] = "Enable instructions for ARMv4"
4TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv4", " -march=armv4${ARMPKGSFX_THUMB}", "", d)}"
5# enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb
6# maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does
7# checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value
8FIX_V4BX_ARMV4 = "${@bb.utils.contains("TUNE_FEATURES", "armv4", "--fix-v4bx", "", d)}"
9FIX_V4BX_ARMV5 = "${@bb.utils.contains("TUNE_FEATURES", "armv5", "", "${FIX_V4BX_ARMV4}", d)}"
10FIX_V4BX = "${@bb.utils.contains("TUNE_FEATURES", "thumb", "", "${FIX_V4BX_ARMV5}", d)}"
11TARGET_LD_KERNEL_ARCH += "${FIX_V4BX}"
12MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "armv4", "armv4:", "" ,d)}"
13
14require conf/machine/include/arm/arch-arm.inc
15require conf/machine/include/arm/feature-arm-thumb.inc
16
17# Little Endian
18AVAILTUNES += "armv4 armv4t"
19ARMPKGARCH_tune-armv4 ?= "armv4"
20ARMPKGARCH_tune-armv4t ?= "armv4"
21TUNE_FEATURES_tune-armv4 ?= "armv4"
22TUNE_FEATURES_tune-armv4t ?= "${TUNE_FEATURES_tune-armv4} thumb"
23PACKAGE_EXTRA_ARCHS_tune-armv4 = "arm armv4"
24PACKAGE_EXTRA_ARCHS_tune-armv4t = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv4t"
25
26# Big Endian
27AVAILTUNES += "armv4b armv4tb"
28ARMPKGARCH_tune-armv4b ?= "armv4"
29ARMPKGARCH_tune-armv4tb ?= "armv4"
30TUNE_FEATURES_tune-armv4b ?= "${TUNE_FEATURES_tune-armv4} bigendian"
31TUNE_FEATURES_tune-armv4tb ?= "${TUNE_FEATURES_tune-armv4t} bigendian"
32PACKAGE_EXTRA_ARCHS_tune-armv4b = "armeb armv4b"
33PACKAGE_EXTRA_ARCHS_tune-armv4tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv4tb"
diff --git a/meta/conf/machine/include/arm/arch-armv5-dsp.inc b/meta/conf/machine/include/arm/arch-armv5-dsp.inc
new file mode 100644
index 0000000000..524a62aec9
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv5-dsp.inc
@@ -0,0 +1,52 @@
1ARMPKGSFX_DSP = "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "dsp" ], "e", "", d)}"
2TUNEVALID[dsp] = "ARM DSP functionality"
3
4require conf/machine/include/arm/arch-armv5.inc
5
6# Little Endian
7AVAILTUNES += "armv5e armv5te"
8ARMPKGARCH_tune-armv5e ?= "armv5"
9ARMPKGARCH_tune-armv5te ?= "armv5"
10TUNE_FEATURES_tune-armv5e ?= "${TUNE_FEATURES_tune-armv5} dsp"
11TUNE_FEATURES_tune-armv5te ?= "${TUNE_FEATURES_tune-armv5t} dsp"
12PACKAGE_EXTRA_ARCHS_tune-armv5e = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5e"
13PACKAGE_EXTRA_ARCHS_tune-armv5te = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5e armv5te"
14
15# Little Endian + VFP/DSP
16AVAILTUNES += "armv5e-vfp armv5te-vfp armv5ehf-vfp armv5tehf-vfp"
17ARMPKGARCH_tune-armv5e-vfp ?= "armv5"
18ARMPKGARCH_tune-armv5te-vfp ?= "armv5"
19ARMPKGARCH_tune-armv5ehf-vfp ?= "armv5"
20ARMPKGARCH_tune-armv5tehf-vfp ?= "armv5"
21TUNE_FEATURES_tune-armv5e-vfp ?= "${TUNE_FEATURES_tune-armv5e} vfp"
22TUNE_FEATURES_tune-armv5te-vfp ?= "${TUNE_FEATURES_tune-armv5te} vfp"
23TUNE_FEATURES_tune-armv5ehf-vfp ?= "${TUNE_FEATURES_tune-armv5e-vfp} callconvention-hard"
24TUNE_FEATURES_tune-armv5tehf-vfp ?= "${TUNE_FEATURES_tune-armv5te-vfp} callconvention-hard"
25PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5-vfp} armv5e armv5e-vfp"
26PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp} armv5e armv5te armv5e-vfp armv5te-vfp"
27PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp} armv5ehf-vfp"
28PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp"
29
30# Big Endian
31AVAILTUNES += "armv5eb armv5teb"
32ARMPKGARCH_tune-armv5eb ?= "armv5"
33ARMPKGARCH_tune-armv5teb ?= "armv5"
34TUNE_FEATURES_tune-armv5eb ?= "${TUNE_FEATURES_tune-armv5e} bigendian"
35TUNE_FEATURES_tune-armv5teb ?= "${TUNE_FEATURES_tune-armv5te} bigendian"
36PACKAGE_EXTRA_ARCHS_tune-armv5eb = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5eb"
37PACKAGE_EXTRA_ARCHS_tune-armv5teb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5eb armv5teb"
38
39# Big Endian + VFP/DSP
40AVAILTUNES += "armv5eb-vfp armv5teb-vfp armv5ehfb-vfp armv5tehfb-vfp"
41ARMPKGARCH_tune-armv5eb-vfp ?= "armv5"
42ARMPKGARCH_tune-armv5teb-vfp ?= "armv5"
43ARMPKGARCH_tune-armv5ehfb-vfp ?= "armv5"
44ARMPKGARCH_tune-armv5tehfb-vfp ?= "armv5"
45TUNE_FEATURES_tune-armv5eb-vfp ?= "${TUNE_FEATURES_tune-armv5e-vfp} bigendian"
46TUNE_FEATURES_tune-armv5teb-vfp ?= "${TUNE_FEATURES_tune-armv5te-vfp} bigendian"
47TUNE_FEATURES_tune-armv5ehfb-vfp ?= "${TUNE_FEATURES_tune-armv5ehf-vfp} bigendian"
48TUNE_FEATURES_tune-armv5tehfb-vfp ?= "${TUNE_FEATURES_tune-armv5tehf-vfp} bigendian"
49PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp} armv5eb armv5eb-vfp"
50PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp} armv5eb armv5teb armv5eb-vfp armv5teb-vfp"
51PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp} armv5ehfb-vfp"
52PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp} armv5ehfb-vfp armv5tehfb-vfp"
diff --git a/meta/conf/machine/include/arm/arch-armv5.inc b/meta/conf/machine/include/arm/arch-armv5.inc
new file mode 100644
index 0000000000..9e8d1fa0a5
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv5.inc
@@ -0,0 +1,60 @@
1DEFAULTTUNE ?= "armv5"
2
3TUNEVALID[armv5] = "Enable instructions for ARMv5"
4TUNECONFLICTS[armv5] = "armv4"
5TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv5", " -march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}", "", d)}"
6MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "armv5", "armv5:", "" ,d)}"
7
8ARMPKGSFX_DSP = "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "dsp" ], "e", "", d)}"
9
10require conf/machine/include/arm/arch-armv4.inc
11require conf/machine/include/arm/feature-arm-vfp.inc
12
13# Little Endian
14AVAILTUNES += "armv5 armv5t"
15ARMPKGARCH_tune-armv5 ?= "armv5"
16ARMPKGARCH_tune-armv5t ?= "armv5"
17TUNE_FEATURES_tune-armv5 ?= "armv5"
18TUNE_FEATURES_tune-armv5t ?= "${TUNE_FEATURES_tune-armv5} thumb"
19PACKAGE_EXTRA_ARCHS_tune-armv5 = "${PACKAGE_EXTRA_ARCHS_tune-armv4} armv5"
20PACKAGE_EXTRA_ARCHS_tune-armv5t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} armv5 armv5t"
21
22# Little Endian + VFP/DSP
23AVAILTUNES += "armv5-vfp armv5t-vfp armv5hf-vfp armv5thf-vfp"
24ARMPKGARCH_tune-armv5-vfp ?= "armv5"
25ARMPKGARCH_tune-armv5t-vfp ?= "armv5"
26ARMPKGARCH_tune-armv5hf-vfp ?= "armv5"
27ARMPKGARCH_tune-armv5thf-vfp ?= "armv5"
28TUNE_FEATURES_tune-armv5-vfp ?= "${TUNE_FEATURES_tune-armv5} vfp"
29TUNE_FEATURES_tune-armv5t-vfp ?= "${TUNE_FEATURES_tune-armv5t} vfp"
30TUNE_FEATURES_tune-armv5hf-vfp ?= "${TUNE_FEATURES_tune-armv5-vfp} callconvention-hard"
31TUNE_FEATURES_tune-armv5thf-vfp ?= "${TUNE_FEATURES_tune-armv5t-vfp} callconvention-hard"
32PACKAGE_EXTRA_ARCHS_tune-armv5-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5} armv5-vfp"
33PACKAGE_EXTRA_ARCHS_tune-armv5t-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5t} armv5-vfp armv5t-vfp"
34PACKAGE_EXTRA_ARCHS_tune-armv5hf-vfp = "armv5hf-vfp"
35PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp = "armv5hf-vfp armv5thf-vfp"
36PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5thf-vfp} armv5ehf-vfp armv5tehf-vfp"
37
38# Big Endian
39AVAILTUNES += "armv5b armv5tb"
40ARMPKGARCH_tune-armv5b ?= "armv5"
41ARMPKGARCH_tune-armv5tb ?= "armv5"
42TUNE_FEATURES_tune-armv5b ?= "${TUNE_FEATURES_tune-armv5} bigendian"
43TUNE_FEATURES_tune-armv5tb ?= "${TUNE_FEATURES_tune-armv5t} bigendian"
44PACKAGE_EXTRA_ARCHS_tune-armv5b = "${PACKAGE_EXTRA_ARCHS_tune-armv4b} armv5b"
45PACKAGE_EXTRA_ARCHS_tune-armv5tb = "${PACKAGE_EXTRA_ARCHS_tune-armv4tb} armv5b armv5tb"
46
47# Big Endian + VFP/DSP
48AVAILTUNES += "armv5b-vfp armv5tb-vfp armv5hfb-vfp armv5thfb-vfp"
49ARMPKGARCH_tune-armv5b-vfp ?= "armv5"
50ARMPKGARCH_tune-armv5tb-vfp ?= "armv5"
51ARMPKGARCH_tune-armv5hfb-vfp ?= "armv5"
52ARMPKGARCH_tune-armv5thfb-vfp ?= "armv5"
53TUNE_FEATURES_tune-armv5b-vfp ?= "${TUNE_FEATURES_tune-armv5-vfp} bigendian"
54TUNE_FEATURES_tune-armv5tb-vfp ?= "${TUNE_FEATURES_tune-armv5t-vfp} bigendian"
55TUNE_FEATURES_tune-armv5hfb-vfp ?= "${TUNE_FEATURES_tune-armv5hf-vfp} bigendian"
56TUNE_FEATURES_tune-armv5thfb-vfp ?= "${TUNE_FEATURES_tune-armv5thf-vfp} bigendian"
57PACKAGE_EXTRA_ARCHS_tune-armv5b-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5b} armv5b-vfp"
58PACKAGE_EXTRA_ARCHS_tune-armv5tb-vfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5tb} armv5b-vfp armv5tb-vfp"
59PACKAGE_EXTRA_ARCHS_tune-armv5hfb-vfp = "armv5hfb-vfp"
60PACKAGE_EXTRA_ARCHS_tune-armv5thfb-vfp = "armv5hfb-vfp armv5thfb-vfp"
diff --git a/meta/conf/machine/include/arm/arch-armv6.inc b/meta/conf/machine/include/arm/arch-armv6.inc
new file mode 100644
index 0000000000..0adf73fae2
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv6.inc
@@ -0,0 +1,50 @@
1DEFAULTTUNE ?= "armv6"
2
3TUNEVALID[armv6] = "Enable instructions for ARMv6"
4TUNECONFLICTS[armv6] = "armv4 armv5"
5TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv6", " -march=armv6", "", d)}"
6MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "armv6", "armv6:", "" ,d)}"
7
8require conf/machine/include/arm/arch-armv5-dsp.inc
9
10# Little Endian
11AVAILTUNES += "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf"
12ARMPKGARCH_tune-armv6-novfp ?= "armv6"
13ARMPKGARCH_tune-armv6t-novfp ?= "armv6"
14ARMPKGARCH_tune-armv6 ?= "armv6"
15ARMPKGARCH_tune-armv6t ?= "armv6"
16ARMPKGARCH_tune-armv6hf ?= "armv6"
17ARMPKGARCH_tune-armv6thf ?= "armv6"
18TUNE_FEATURES_tune-armv6-novfp ?= "armv6"
19TUNE_FEATURES_tune-armv6t-novfp ?= "${TUNE_FEATURES_tune-armv6-novfp} thumb"
20TUNE_FEATURES_tune-armv6 ?= "${TUNE_FEATURES_tune-armv6-novfp} vfp"
21TUNE_FEATURES_tune-armv6t ?= "${TUNE_FEATURES_tune-armv6t-novfp} vfp"
22TUNE_FEATURES_tune-armv6hf ?= "${TUNE_FEATURES_tune-armv6} callconvention-hard"
23TUNE_FEATURES_tune-armv6thf ?= "${TUNE_FEATURES_tune-armv6t} callconvention-hard"
24PACKAGE_EXTRA_ARCHS_tune-armv6-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5e} armv6"
25PACKAGE_EXTRA_ARCHS_tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv6 armv6t"
26PACKAGE_EXTRA_ARCHS_tune-armv6 = "${PACKAGE_EXTRA_ARCHS_tune-armv5e-vfp} armv6 armv6-vfp"
27PACKAGE_EXTRA_ARCHS_tune-armv6t = "${PACKAGE_EXTRA_ARCHS_tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp"
28PACKAGE_EXTRA_ARCHS_tune-armv6hf = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehf-vfp} armv6hf-vfp"
29PACKAGE_EXTRA_ARCHS_tune-armv6thf = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp"
30
31# Big Endian
32AVAILTUNES += "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb"
33ARMPKGARCH_tune-armv6b-novfp ?= "armv6"
34ARMPKGARCH_tune-armv6tb-novfp ?= "armv6"
35ARMPKGARCH_tune-armv6b ?= "armv6"
36ARMPKGARCH_tune-armv6tb ?= "armv6"
37ARMPKGARCH_tune-armv6hfb ?= "armv6"
38ARMPKGARCH_tune-armv6thfb ?= "armv6"
39TUNE_FEATURES_tune-armv6b-novfp ?= "${TUNE_FEATURES_tune-armv6-novfp} bigendian"
40TUNE_FEATURES_tune-armv6tb-novfp ?= "${TUNE_FEATURES_tune-armv6t-novfp} bigendian"
41TUNE_FEATURES_tune-armv6b ?= "${TUNE_FEATURES_tune-armv6} bigendian"
42TUNE_FEATURES_tune-armv6tb ?= "${TUNE_FEATURES_tune-armv6t} bigendian"
43TUNE_FEATURES_tune-armv6hfb ?= "${TUNE_FEATURES_tune-armv6hf} bigendian"
44TUNE_FEATURES_tune-armv6thfb ?= "${TUNE_FEATURES_tune-armv6thf} bigendian"
45PACKAGE_EXTRA_ARCHS_tune-armv6b-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb} armv6b"
46PACKAGE_EXTRA_ARCHS_tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} armv6b armv6tb"
47PACKAGE_EXTRA_ARCHS_tune-armv6b = "${PACKAGE_EXTRA_ARCHS_tune-armv5eb-vfp} armv6b armv6b-vfp"
48PACKAGE_EXTRA_ARCHS_tune-armv6tb = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp"
49PACKAGE_EXTRA_ARCHS_tune-armv6hfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5ehfb-vfp} armv6hfb-vfp"
50PACKAGE_EXTRA_ARCHS_tune-armv6thfb = "${PACKAGE_EXTRA_ARCHS_tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp"
diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc b/meta/conf/machine/include/arm/arch-armv7a.inc
new file mode 100644
index 0000000000..bf3eace42f
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv7a.inc
@@ -0,0 +1,69 @@
1DEFAULTTUNE ?= "armv7a"
2
3TUNEVALID[armv7a] = "Enable instructions for ARMv7-a"
4TUNECONFLICTS[armv7a] = "armv4 armv5 armv6 armv7"
5TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv7a", " -march=armv7-a", "", d)}"
6MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "armv7a", "armv7a:", "" ,d)}"
7
8require conf/machine/include/arm/arch-armv6.inc
9require conf/machine/include/arm/feature-arm-neon.inc
10
11# Little Endian base configs
12AVAILTUNES += "armv7a armv7at armv7a-neon armv7at-neon"
13ARMPKGARCH_tune-armv7a ?= "armv7a"
14ARMPKGARCH_tune-armv7at ?= "armv7a"
15ARMPKGARCH_tune-armv7a-neon?= "armv7a"
16ARMPKGARCH_tune-armv7at-neon ?= "armv7a"
17TUNE_FEATURES_tune-armv7a ?= "armv7a vfp"
18TUNE_FEATURES_tune-armv7at ?= "${TUNE_FEATURES_tune-armv7a} thumb"
19TUNE_FEATURES_tune-armv7a-neon ?= "${TUNE_FEATURES_tune-armv7a} neon"
20TUNE_FEATURES_tune-armv7at-neon ?= "${TUNE_FEATURES_tune-armv7at} neon"
21PACKAGE_EXTRA_ARCHS_tune-armv7a = "${PACKAGE_EXTRA_ARCHS_tune-armv6} armv7a armv7a-vfp"
22PACKAGE_EXTRA_ARCHS_tune-armv7a-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} armv7a-vfp-neon"
23PACKAGE_EXTRA_ARCHS_tune-armv7at = "${PACKAGE_EXTRA_ARCHS_tune-armv6t} armv7a armv7a-vfp armv7at2-vfp"
24PACKAGE_EXTRA_ARCHS_tune-armv7at-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7a-vfp-neon armv7at2-vfp-neon"
25
26# VFP Tunes
27AVAILTUNES += "armv7ahf armv7athf armv7ahf-neon armv7athf-neon"
28ARMPKGARCH_tune-armv7ahf ?= "armv7a"
29ARMPKGARCH_tune-armv7athf ?= "armv7a"
30ARMPKGARCH_tune-armv7ahf-neon?= "armv7a"
31ARMPKGARCH_tune-armv7athf-neon ?= "armv7a"
32TUNE_FEATURES_tune-armv7ahf ?= "${TUNE_FEATURES_tune-armv7a} callconvention-hard"
33TUNE_FEATURES_tune-armv7athf ?= "${TUNE_FEATURES_tune-armv7at} callconvention-hard"
34TUNE_FEATURES_tune-armv7ahf-neon ?= "${TUNE_FEATURES_tune-armv7a-neon} callconvention-hard"
35TUNE_FEATURES_tune-armv7athf-neon ?= "${TUNE_FEATURES_tune-armv7at-neon} callconvention-hard"
36PACKAGE_EXTRA_ARCHS_tune-armv7ahf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} armv7ahf-vfp"
37PACKAGE_EXTRA_ARCHS_tune-armv7athf = "${PACKAGE_EXTRA_ARCHS_tune-armv6thf} armv7ahf-vfp armv7at2hf-vfp"
38PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} armv7ahf-vfp-neon"
39PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} armv7ahf-vfp-neon armv7at2hf-vfp-neon"
40
41# Big Endian
42AVAILTUNES += "armv7ab armv7atb armv7ab-neon armv7atb-neon"
43ARMPKGARCH_tune-armv7ab ?= "armv7a"
44ARMPKGARCH_tune-armv7atb ?= "armv7a"
45ARMPKGARCH_tune-armv7ab-neon?= "armv7a"
46ARMPKGARCH_tune-armv7atb-neon ?= "armv7a"
47TUNE_FEATURES_tune-armv7ab ?= "${TUNE_FEATURES_tune-armv7a} bigendian"
48TUNE_FEATURES_tune-armv7atb ?= "${TUNE_FEATURES_tune-armv7at} bigendian"
49TUNE_FEATURES_tune-armv7ab-neon ?= "${TUNE_FEATURES_tune-armv7a-neon} bigendian"
50TUNE_FEATURES_tune-armv7atb-neon ?= "${TUNE_FEATURES_tune-armv7at-neon} bigendian"
51PACKAGE_EXTRA_ARCHS_tune-armv7ab = "${PACKAGE_EXTRA_ARCHS_tune-armv6b} armv7ab-vfp"
52PACKAGE_EXTRA_ARCHS_tune-armv7atb = "${PACKAGE_EXTRA_ARCHS_tune-armv6tb} armv7ab-vfp armv7at2b-vfp"
53PACKAGE_EXTRA_ARCHS_tune-armv7ab-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ab} armv7ab-vfp-neon"
54PACKAGE_EXTRA_ARCHS_tune-armv7atb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7atb} armv7ab-vfp-neon armv7at2b-vfp-neon"
55
56# Big Endian + VFP
57AVAILTUNES += "armv7ahfb armv7athfb armv7ahfb-neon armv7athfb-neon"
58ARMPKGARCH_tune-armv7ahfb ?= "armv7a"
59ARMPKGARCH_tune-armv7athfb ?= "armv7a"
60ARMPKGARCH_tune-armv7ahfb-neon?= "armv7a"
61ARMPKGARCH_tune-armv7athfb-neon ?= "armv7a"
62TUNE_FEATURES_tune-armv7ahfb ?= "${TUNE_FEATURES_tune-armv7ahf} bigendian"
63TUNE_FEATURES_tune-armv7athfb ?= "${TUNE_FEATURES_tune-armv7athf} bigendian"
64TUNE_FEATURES_tune-armv7ahfb-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} bigendian"
65TUNE_FEATURES_tune-armv7athfb-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} bigendian"
66PACKAGE_EXTRA_ARCHS_tune-armv7ahfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6hfb} armv7ahfb-vfp"
67PACKAGE_EXTRA_ARCHS_tune-armv7athfb = "${PACKAGE_EXTRA_ARCHS_tune-armv6thfb} armv7ahfb-vfp armv7at2hfb-vfp"
68PACKAGE_EXTRA_ARCHS_tune-armv7ahfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahfb} armv7ahfb-vfp-neon"
69PACKAGE_EXTRA_ARCHS_tune-armv7athfb-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athfb} armv7ahfb-vfp-neon armv7at2hfb-vfp-neon"
diff --git a/meta/conf/machine/include/arm/feature-arm-neon.inc b/meta/conf/machine/include/arm/feature-arm-neon.inc
new file mode 100644
index 0000000000..df4027e4b9
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-neon.inc
@@ -0,0 +1,3 @@
1TUNEVALID[neon] = "Enable Neon SIMD accelerator unit."
2TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "neon", " -mfpu=neon", "" ,d)}"
3ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "neon", "-neon", "" ,d)}"
diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
new file mode 100644
index 0000000000..bd754bea67
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
@@ -0,0 +1,26 @@
1# The instruction set the compiler should use when generating application
2# code. The kernel is always compiled with arm code at present. arm code
3# is the original 32 bit ARM instruction set, thumb code is the 16 bit
4# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size)
5# but requires more instructions (140% for 70% smaller code) so may be
6# slower.
7TUNEVALID[thumb] = "Use thumb instructions instead of ARM"
8ARM_THUMB_M_OPT = "${@['-marm', '-mthumb'][d.getVar('ARM_INSTRUCTION_SET', True) == 'thumb']}"
9TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "thumb", " ${ARM_THUMB_M_OPT}", "", d)}"
10OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "thumb", ":thumb", "", d)}"
11
12# Note armv7 will hit on armv7a as well
13ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv4", "thumb" ], "t", "", d)}"
14ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv5", "thumb" ], "t", "", d)}"
15ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv6", "thumb" ], "t", "", d)}"
16ARMPKGSFX_THUMB .= "${@bb.utils.contains("TUNE_FEATURES", [ "armv7", "thumb" ], "t2", "", d)}"
17
18# Whether to compile with code to allow interworking between the two
19# instruction sets. This allows thumb code to be executed on a primarily
20# arm system and vice versa. It is strongly recommended that DISTROs not
21# turn this off - the actual cost is very small.
22TUNEVALID[no-thumb-interwork] = "Disable mixing of thumb and ARM functions"
23TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", " -mno-thumb-interwork", " -mthumb-interwork", d)}"
24OVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "no-thumb-interwork", ":thumb-interwork", "", d)}"
25
26TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -marm"
diff --git a/meta/conf/machine/include/arm/feature-arm-vfp.inc b/meta/conf/machine/include/arm/feature-arm-vfp.inc
new file mode 100644
index 0000000000..dbc7e285bb
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-vfp.inc
@@ -0,0 +1,6 @@
1TUNEVALID[vfp] = "Enable Vector Floating Point (vfp) unit."
2ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-vfp", "" ,d)}"
3
4TUNEVALID[callconvention-hard] = "Enable EABI hard float call convention, requires VFP."
5TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "vfp", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", " -mfloat-abi=hard", " -mfloat-abi=softfp", d), "" ,d)}"
6ARMPKGSFX_EABI .= "${@bb.utils.contains("TUNE_FEATURES", [ "callconvention-hard", "vfp" ], "hf", "", d)}"
diff --git a/meta/conf/machine/include/ia32-base.inc b/meta/conf/machine/include/ia32-base.inc
new file mode 100644
index 0000000000..e58a31478d
--- /dev/null
+++ b/meta/conf/machine/include/ia32-base.inc
@@ -0,0 +1,52 @@
1#
2# base machine settings for ia32-architecture BSPs
3#
4
5#
6# common settings for Intel-based machines
7#
8MACHINE_FEATURES += "screen keyboard pci usbhost ext2 ext3 x86 \
9 acpi serial usbgadget alsa"
10
11MACHINE_EXTRA_RRECOMMENDS += "kernel-modules eee-acpi-scripts"
12
13IMAGE_FSTYPES += "ext3 cpio.gz live"
14
15KERNEL_IMAGETYPE ?= "bzImage"
16
17SERIAL_CONSOLE ?= "115200 ttyS0"
18
19#
20# kernel-related variables
21#
22PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
23PREFERRED_VERSION_linux-yocto ??= "3.0%"
24
25#
26# XSERVER subcomponents, used to build the XSERVER variable
27#
28XSERVER_IA32_BASE = "xserver-xorg \
29 xf86-input-mouse \
30 xf86-input-keyboard \
31 xf86-input-evdev \
32 xf86-input-synaptics \
33 "
34
35XSERVER_IA32_EXT = " \
36 ${@base_contains('DISTRO_FEATURES', 'opengl', 'xserver-xorg-extension-glx', '', d)} \
37 xserver-xorg-module-libint10 \
38 "
39
40XSERVER_IA32_I915 = "xf86-video-intel \
41 ${@base_contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-i915', '', d)} \
42 "
43
44XSERVER_IA32_I965 = "xf86-video-intel \
45 ${@base_contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-i965', '', d)} \
46 "
47
48XSERVER_IA32_VESA = "xf86-video-vesa"
49
50XSERVER_IA32_FBDEV = "xf86-video-fbdev"
51
52XSERVER_IA32_MODESETTING = "xf86-video-modesetting"
diff --git a/meta/conf/machine/include/ia32/README b/meta/conf/machine/include/ia32/README
new file mode 100644
index 0000000000..8f80a5ba94
--- /dev/null
+++ b/meta/conf/machine/include/ia32/README
@@ -0,0 +1,24 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial version
3
4Most of the items for the IA architecture are defined in the single
5arch-ia32 file.
6
7Three ABIs are define, m32, mx32 and m64.
8
9The following is the list of ia32 specific variables:
10
11X86ARCH32 - This is the 32-bit architecture GNU canonical arch, TUNE_ARCH.
12
13X86ARCH64 - This is the 64-bit architecture GNU canonical arch, TUNE_ARCH.
14
15The TUNE_PKGARCH is defined as follows:
16
17TUNE_PKGARCH = ${TUNE_PKGARCH_tune-${DEFAULTTUNE}}
18
19The package architecture for 32-bit targets is historical and generally
20set to to match the core compatible processor type, i.e. i386.
21
22For 64-bit architectures, the architecture is expected to end in '_64'.
23
24If the x32 ABI is used, then the _64 is further extended with a '_x32'.
diff --git a/meta/conf/machine/include/ia32/arch-ia32.inc b/meta/conf/machine/include/ia32/arch-ia32.inc
new file mode 100644
index 0000000000..aa83896eb6
--- /dev/null
+++ b/meta/conf/machine/include/ia32/arch-ia32.inc
@@ -0,0 +1,51 @@
1#
2# IA32 Architecture definition
3#
4
5DEFAULTTUNE ?= "x86"
6TARGET_FPU ?= ""
7X86ARCH32 ?= "i586"
8X86ARCH64 ?= "x86_64"
9
10TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
11
12# ELF32 ABI
13TUNEVALID[m32] = "IA32 ELF32 standard ABI"
14TUNECONFLICTS[m32] = "m64 mx32"
15TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "${X86ARCH32}", "" ,d)}"
16TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m32", " -m32", "", d)}"
17MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "m32", "x86:", "" ,d)}"
18
19# x32 ABI
20TUNEVALID[mx32] = "IA32e (x86_64) ELF32 standard ABI"
21TUNECONFLICTS[mx32] = "m64 m32"
22TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "${X86ARCH64}", "" ,d)}"
23ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "x32", "" ,d)}"
24TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", " -mx32", "", d)}"
25TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}"
26TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}"
27
28# ELF64 ABI
29TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI"
30TUNECONFLICTS[m64] = "m32 mx32"
31TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m64", "${X86ARCH64}", "" ,d)}"
32TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m64", " -m64", "", d)}"
33
34# Default Tune configurations
35AVAILTUNES += "x86"
36TUNE_FEATURES_tune-x86 = "m32"
37BASE_LIB_tune-x86 = "lib"
38TUNE_PKGARCH_tune-x86 = "x86"
39PACKAGE_EXTRA_ARCHS_tune-x86 = "${TUNE_PKGARCH_tune-x86}"
40
41AVAILTUNES += "x86-64"
42TUNE_FEATURES_tune-x86-64 = "m64"
43BASE_LIB_tune-x86-64 = "lib64"
44TUNE_PKGARCH_tune-x86-64 = "x86_64"
45PACKAGE_EXTRA_ARCHS_tune-x86-64 = "${TUNE_PKGARCH_tune-x86-64}"
46
47AVAILTUNES += "x86-64-x32"
48TUNE_FEATURES_tune-x86-64-x32 = "mx32"
49BASE_LIB_tune-x86-64-x32 = "libx32"
50TUNE_PKGARCH_tune-x86-64-x32 = "x86_64_x32"
51PACKAGE_EXTRA_ARCHS_tune-x86-64-x32 = "${TUNE_PKGARCH_tune-x86-64-x32}"
diff --git a/meta/conf/machine/include/mips/README b/meta/conf/machine/include/mips/README
new file mode 100644
index 0000000000..c375f316df
--- /dev/null
+++ b/meta/conf/machine/include/mips/README
@@ -0,0 +1,36 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial Version
3
4MIPS currently defines 12 ABIs. Combinations of:
5 *) Big/Little Endian
6 *) Hardware/Software Floating Point
7 *) o32, n32, n64 ABI
8
9TUNE_ARCH, the GNU canonical arch, is defined as:
10
11mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}
12
13The package arch is defined in such a way to generated a standard naming
14scheme. The scheme is: <mips variant>[-nf][-n32]
15
16TUNE_PKGARCH is defined as:
17
18${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}
19
20The following is a list of MIPS specific variables:
21
22MIPSPKGSFX_BYTE - This is defined as either blank and "64" for MIPS64 CPUs.
23
24MIPSPKGSFX_ENDIAN - For bigendian hardware this is blank, otherwise it's
25defined as "el".
26
27MIPSPKGSFX_VARIANT_tune-<tune> - In the default tunings it is set to the
28same value as TUNE_ARCH. In custom, optimized tunings, the value should
29be modified to more precisely describe the tuning.
30
31MIPSPKGSFX_FPU - The value is set to "" or "-nf", where "-nf" indicates
32that the tune is using a non-floating point ABI.
33
34MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous
35values are not enough to distringuish the package. "-n32" is added when
36building for N32 ABI.
diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc
new file mode 100644
index 0000000000..02626d300e
--- /dev/null
+++ b/meta/conf/machine/include/mips/arch-mips.inc
@@ -0,0 +1,102 @@
1# MIPS Architecture definition
2# 12 defined ABIs, all combinations of:
3# *) Big/Little Endian
4# *) Hardware/Software Floating Point
5# *) o32, n32, n64 ABI
6
7DEFAULTTUNE ?= "mips"
8
9# Endianess
10TUNEVALID[bigendian] = "Enable big-endian mode"
11TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -meb", " -mel", d)}"
12
13# ABI flags
14TUNEVALID[o32] = "MIPS o32 ABI"
15TUNECONFLICTS[o32] = "n32 n64"
16TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "o32", " -mabi=32", "", d)}"
17
18TUNEVALID[n32] = "MIPS64 n32 ABI"
19TUNECONFLICTS[n32] = "o32 n64"
20ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "n32", "n32", "" ,d)}"
21TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "n32", " -mabi=n32", "", d)}"
22
23TUNEVALID[n64] = "MIPS64 n64 ABI"
24TUNECONFLICTS[n64] = "o32 n32"
25TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "n64", " -mabi=64", "", d)}"
26
27# Floating point
28TUNEVALID[fpu-hard] = "Use hardware FPU"
29TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", " -mhard-float", " -msoft-float", d)}"
30TARGET_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", "", "soft", d)}"
31
32# Package naming
33MIPSPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "", "el", d)}"
34MIPSPKGSFX_BYTE = "${@bb.utils.contains("TUNE_FEATURES", "n64" , "64", "", d)}"
35MIPSPKGSFX_BYTE .= "${@bb.utils.contains("TUNE_FEATURES", "n32" , "64", "", d)}"
36MIPSPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard" , "", "-nf", d)}"
37MIPSPKGSFX_ABI = "${@bb.utils.contains("TUNE_FEATURES", "n32", "-n32", "", d)}"
38
39TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}"
40TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}"
41
42# Base tunes
43AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf"
44TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard"
45BASE_LIB_tune-mips = "lib"
46MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}"
47PACKAGE_EXTRA_ARCHS_tune-mips = "mips"
48
49TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard"
50BASE_LIB_tune-mips64-n32 = "lib32"
51MIPSPKGSFX_VARIANT_tune-mips64-n32 = "${TUNE_ARCH}"
52PACKAGE_EXTRA_ARCHS_tune-mips64-n32 = "mips64-n32"
53
54TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard"
55BASE_LIB_tune-mips64 = "lib64"
56MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}"
57PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64"
58
59TUNE_FEATURES_tune-mipsel = "o32 fpu-hard"
60BASE_LIB_tune-mipsel = "lib"
61MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}"
62PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel"
63
64TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard"
65BASE_LIB_tune-mips64el-n32 = "lib32"
66MIPSPKGSFX_VARIANT_tune-mips64el-n32 = "${TUNE_ARCH}"
67PACKAGE_EXTRA_ARCHS_tune-mips64el-n32 = "mips64el-n32"
68
69TUNE_FEATURES_tune-mips64el = "n64 fpu-hard"
70BASE_LIB_tune-mips64el = "lib64"
71MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}"
72PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el"
73
74TUNE_FEATURES_tune-mips-nf = "o32 bigendian"
75BASE_LIB_tune-mips-nf = "lib"
76MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}"
77PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf"
78
79TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian"
80BASE_LIB_tune-mips64-nf-n32 = "lib32"
81MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}"
82PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32"
83
84TUNE_FEATURES_tune-mips64-nf = "n64 bigendian"
85BASE_LIB_tune-mips64-nf = "lib64"
86MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}"
87PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf"
88
89TUNE_FEATURES_tune-mipsel-nf = "o32"
90BASE_LIB_tune-mipsel-nf = "lib"
91MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}"
92PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf"
93
94TUNE_FEATURES_tune-mips64el-nf-n32 = "n32"
95BASE_LIB_tune-mips64el-nf-n32 = "lib32"
96MIPSPKGSFX_VARIANT_tune-mips64el-nf-n32 = "${TUNE_ARCH}"
97PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-n32 = "mips64el-nf-n32"
98
99TUNE_FEATURES_tune-mips64el-nf = "n64"
100BASE_LIB_tune-mips64el-nf = "lib64"
101MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}"
102PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf"
diff --git a/meta/conf/machine/include/powerpc/README b/meta/conf/machine/include/powerpc/README
new file mode 100644
index 0000000000..e87fb5082c
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/README
@@ -0,0 +1,17 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial revision
3
4There are 4 primary PowerPC ABIs.
5# *) Hard/Soft Floating Point
6# *) 32-bit/64-bit
7
8TUNE_ARCH is defined as either "powerpc" or "powerpc64" based on the m32
9or m64 feature.
10
11May of the PowerPC package archictures are based on legacy Linux names.
12However, a general naming scheme should be similar to: ppc[64][<family>][-nf].
13(Note: the default package architectures are "powerpc" and "powerpc64".)
14
15TUNE_PKGARCH is defined as TUNE_PKGARCH_tune-${DEFAULTTUNE}. All
16PowerPC tunings are required to define TUNE_PKGARCH_tune-<tune>.
17
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc
new file mode 100644
index 0000000000..036ca3c974
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -0,0 +1,34 @@
1# Power Architecture definition
2# Four defined ABIs, all combinations of:
3# *) Hard/Soft Floating Point
4# *) 32-bit/64-bit
5
6DEFAULTTUNE ?= "powerpc"
7
8TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
9ABIEXTENSION ?= ""
10
11TUNEVALID[m32] = "Power ELF32 standard ABI"
12TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m32", " -m32", "", d)}"
13TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "powerpc", "", d)}"
14
15TUNEVALID[fpu-hard] = "Use hardware FPU."
16TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard", " -mhard-float", "", d)}"
17
18TUNEVALID[fpu-soft] = "Use software FPU."
19TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", " -msoft-float", "", d)}"
20TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "soft", "", d)}"
21
22TUNEVALID[altivec] = "Altivec"
23
24# Basic tune definitions
25AVAILTUNES += "powerpc powerpc-nf"
26TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft"
27BASE_LIB_tune-powerpc-nf = "lib"
28TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf"
29PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf"
30
31TUNE_FEATURES_tune-powerpc = "m32 fpu-hard"
32BASE_LIB_tune-powerpc = "lib"
33TUNE_PKGARCH_tune-powerpc = "powerpc"
34PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc"
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
new file mode 100644
index 0000000000..8476dec8a0
--- /dev/null
+++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -0,0 +1,14 @@
1DEFAULTTUNE ?= "powerpc64"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[m64] = "Power ELF64 standard ABI"
6TUNECONFLICTS[m64] = "m32 nf"
7TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "m64", " -m64", "", d)}"
8TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", [ "m64" ], "powerpc64", "", d)}"
9
10AVAILTUNES += "powerpc64"
11TUNE_FEATURES_tune-powerpc64 ?= "m64 fpu-hard"
12BASE_LIB_tune-powerpc64 = "lib64"
13TUNE_PKGARCH_tune-powerpc64 = "powerpc64"
14PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64"
diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
new file mode 100644
index 0000000000..591f6b4a62
--- /dev/null
+++ b/meta/conf/machine/include/qemu.inc
@@ -0,0 +1,29 @@
1PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
2PREFERRED_PROVIDER_virtual/egl ?= "mesa"
3PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
4PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
5PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
6
7XSERVER ?= "xserver-xorg \
8 ${@base_contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast', '', d)} \
9 xf86-input-evdev \
10 xf86-input-mouse \
11 xf86-video-fbdev \
12 xf86-input-keyboard"
13
14MACHINE_FEATURES = "alsa bluetooth usbgadget screen"
15
16MACHINEOVERRIDES =. "qemuall:"
17
18IMAGE_FSTYPES += "tar.bz2 ext3"
19
20# Don't include kernels in standard images
21RDEPENDS_kernel-base = ""
22
23# Use a common kernel recipe for all QEMU machines
24PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
25
26EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
27
28# Provide the nfs server kernel module for all qemu images
29KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"
diff --git a/meta/conf/machine/include/sh/README b/meta/conf/machine/include/sh/README
new file mode 100644
index 0000000000..b351acdd28
--- /dev/null
+++ b/meta/conf/machine/include/sh/README
@@ -0,0 +1,11 @@
12012/03/30 - Mark Hatle <mark.hatle@windriver.com>
2 - Initial Revision
3
4Both big endian and little endian are defined for SH.
5
6Experimental -- SH tunings have not been validated.
7
8The TUNE_ARCH is defined as ${TUNE_ARCH_tune-${DEFAULTTUNE}}.
9
10The TUNE_PKGARCH is defind as ${TUNE_PKGARCH_tune-${DEFAULTTUNE}}.
11
diff --git a/meta/conf/machine/include/sh/arch-sh.inc b/meta/conf/machine/include/sh/arch-sh.inc
new file mode 100644
index 0000000000..64d4cac829
--- /dev/null
+++ b/meta/conf/machine/include/sh/arch-sh.inc
@@ -0,0 +1,9 @@
1# SH Architecture definition
2
3DEFAULTTUNE ?= "sh"
4
5TUNE_ARCH = "${TUNE_ARCH_tune-${DEFAULTTUNE}}"
6TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
7
8TUNEVALID[bigendian] = "Enabled big-endian mode."
9TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mb", " -ml", d)}"
diff --git a/meta/conf/machine/include/soc-family.inc b/meta/conf/machine/include/soc-family.inc
new file mode 100644
index 0000000000..0251da079c
--- /dev/null
+++ b/meta/conf/machine/include/soc-family.inc
@@ -0,0 +1,2 @@
1# Add SOC_FAMILY to machine overrides so we get access to e.g. 'omap3' and 'ti335x'
2MACHINEOVERRIDES =. "${@['', '${SOC_FAMILY}:']['${SOC_FAMILY}' != '']}"
diff --git a/meta/conf/machine/include/tune-arm1136jf-s.inc b/meta/conf/machine/include/tune-arm1136jf-s.inc
new file mode 100644
index 0000000000..4a131b64c3
--- /dev/null
+++ b/meta/conf/machine/include/tune-arm1136jf-s.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "armv6"
2
3require conf/machine/include/arm/arch-armv6.inc
4
5TUNEVALID[arm1136jfs] = "Enable arm1136jfs specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "arm1136jfs", " -mtune=arm1136jf-s", "", d)}"
7
8AVAILTUNES += "arm1136jfs"
9ARMPKGARCH_tune-arm1136jfs = "arm1136jfs"
10TUNE_FEATURES_tune-arm1136jfs = "${TUNE_FEATURES_tune-armv6} arm1136jfs"
11PACKAGE_EXTRA_ARCHS_tune-arm1136jfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6} arm1136jfs-vfp"
diff --git a/meta/conf/machine/include/tune-arm920t.inc b/meta/conf/machine/include/tune-arm920t.inc
new file mode 100644
index 0000000000..5cadcc7dc3
--- /dev/null
+++ b/meta/conf/machine/include/tune-arm920t.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "armv4t"
2
3require conf/machine/include/arm/arch-armv4.inc
4
5TUNEVALID[arm920t] = "Enable arm920t specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "arm920t", " -mtune=arm920t", "", d)}"
7
8AVAILTUNES += "arm920t"
9ARMPKGARCH_tune-arm920t = "arm920t"
10TUNE_FEATURES_tune-arm920t = "${TUNE_FEATURES_tune-armv4t} arm920t"
11PACKAGE_EXTRA_ARCHS_tune-arm920t = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm920tt"
diff --git a/meta/conf/machine/include/tune-arm926ejs.inc b/meta/conf/machine/include/tune-arm926ejs.inc
new file mode 100644
index 0000000000..335e4e020d
--- /dev/null
+++ b/meta/conf/machine/include/tune-arm926ejs.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "armv5te"
2
3require conf/machine/include/arm/arch-armv5-dsp.inc
4
5TUNEVALID[arm926ejs] = "Enable arm926ejs specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "arm926ejs", " -mtune=arm926ej-s", "", d)}"
7
8AVAILTUNES += "arm926ejs"
9ARMPKGARCH_tune-arm926ejs = "arm926ejs"
10TUNE_FEATURES_tune-arm926ejs = "${TUNE_FEATURES_tune-armv5te} arm926ejs"
11PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} arm926ejste"
diff --git a/meta/conf/machine/include/tune-arm9tdmi.inc b/meta/conf/machine/include/tune-arm9tdmi.inc
new file mode 100644
index 0000000000..dee57c9858
--- /dev/null
+++ b/meta/conf/machine/include/tune-arm9tdmi.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "armv4t"
2
3require conf/machine/include/arm/arch-armv4.inc
4
5TUNEVALID[arm9tdmi] = "Enable arm9tdmi specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "arm9tdmi", " -mtune=arm9tdmi", "", d)}"
7
8AVAILTUNES += "arm9tdmi"
9ARMPKGARCH_tune-arm9tdmi = "arm9tdmi"
10TUNE_FEATURES_tune-arm9tdmi = "${TUNE_FEATURES_tune-armv4t} arm9tdmi"
11PACKAGE_EXTRA_ARCHS_tune-arm9tdmi = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} arm9tdmit"
diff --git a/meta/conf/machine/include/tune-atom.inc b/meta/conf/machine/include/tune-atom.inc
new file mode 100644
index 0000000000..5e1bb74c6c
--- /dev/null
+++ b/meta/conf/machine/include/tune-atom.inc
@@ -0,0 +1,2 @@
1# Atom tunings are the same as core2 for now...
2require conf/machine/include/tune-core2.inc
diff --git a/meta/conf/machine/include/tune-c3.inc b/meta/conf/machine/include/tune-c3.inc
new file mode 100644
index 0000000000..18865b7939
--- /dev/null
+++ b/meta/conf/machine/include/tune-c3.inc
@@ -0,0 +1,12 @@
1require conf/machine/include/ia32/arch-ia32.inc
2
3TUNEVALID[c3] = "VIA Cyrix III or VIA C3 specific optimizations"
4TUNECONFLICTS[c3] = "m64 mx32"
5TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "c3", " -march=c3 -mtune=c3", "", d)}"
6
7AVAILTUNES += "c3"
8TUNE_FEATURES_tune-c3 = "${TUNE_FEATURES_tune-x86} c3"
9BASE_LIBS_tune-c3 = "${BASE_LIB_tune-x86}"
10# The following should likely be something other then i586...
11TUNE_PKGARCH_tune-c3 = "i586"
12PACKAGE_EXTRA_ARCHS_tune-c3 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586"
diff --git a/meta/conf/machine/include/tune-core2.inc b/meta/conf/machine/include/tune-core2.inc
new file mode 100644
index 0000000000..85b69240ce
--- /dev/null
+++ b/meta/conf/machine/include/tune-core2.inc
@@ -0,0 +1,26 @@
1DEFAULTTUNE ?= "core2"
2
3require conf/machine/include/tune-i586.inc
4
5# Extra tune features
6TUNEVALID[core2] = "Enable core2 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "core2", " -march=core2 -msse3 -mtune=generic -mfpmath=sse", "", d)}"
8
9# Extra tune selections
10AVAILTUNES += "core2"
11TUNE_FEATURES_tune-core2 = "${TUNE_FEATURES_tune-x86} core2"
12BASE_LIB_tune-core2 = "lib"
13TUNE_PKGARCH_tune-core2 = "core2"
14PACKAGE_EXTRA_ARCHS_tune-core2 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586 i686 core2"
15
16AVAILTUNES += "core2-64"
17TUNE_FEATURES_tune-core2-64 = "${TUNE_FEATURES_tune-x86-64} core2"
18BASE_LIB_tune-core2-64 = "lib64"
19TUNE_PKGARCH_tune-core2-64 = "core2_64"
20PACKAGE_EXTRA_ARCHS_tune-core2-64 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64} core2_64"
21
22AVAILTUNES += "core2-64-x32"
23TUNE_FEATURES_tune-core2-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} core2"
24BASE_LIB_tune-core2-64-x32 = "libx32"
25TUNE_PKGARCH_tune-core2-64-x32 = "core2_64_x32"
26PACKAGE_EXTRA_ARCHS_tune-core2-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-x86-64-x32} core2_64_x32"
diff --git a/meta/conf/machine/include/tune-cortexa15.inc b/meta/conf/machine/include/tune-cortexa15.inc
new file mode 100644
index 0000000000..552977722f
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexa15.inc
@@ -0,0 +1,36 @@
1DEFAULTTUNE ?= "armv7a-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa15] = "Enable Cortex-A15 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa15", " -mtune=cortex-a15", "", d)}"
7
8# Little Endian base configs
9AVAILTUNES += "cortexa15 cortexa15t cortexa15-neon cortexa15t-neon"
10ARMPKGARCH_tune-cortexa15 = "cortexa15"
11ARMPKGARCH_tune-cortexa15t = "cortexa15"
12ARMPKGARCH_tune-cortexa15-neon = "cortexa15"
13ARMPKGARCH_tune-cortexa15t-neon = "cortexa15"
14TUNE_FEATURES_tune-cortexa15 = "${TUNE_FEATURES_tune-armv7a} cortexa15"
15TUNE_FEATURES_tune-cortexa15t = "${TUNE_FEATURES_tune-armv7at} cortexa15"
16TUNE_FEATURES_tune-cortexa15-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa15"
17TUNE_FEATURES_tune-cortexa15t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa15"
18PACKAGE_EXTRA_ARCHS_tune-cortexa15 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa15-vfp"
19PACKAGE_EXTRA_ARCHS_tune-cortexa15t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa15-vfp cortexa15t2-vfp"
20PACKAGE_EXTRA_ARCHS_tune-cortexa15-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa15-vfp cortexa15-vfp-neon"
21PACKAGE_EXTRA_ARCHS_tune-cortexa15t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa15-vfp cortexa15-vfp-neon cortexa15t2-vfp cortexa15t2-vfp-neon"
22
23# VFP Tunes
24AVAILTUNES += "cortexa15hf cortexa15thf cortexa15hf-neon cortexa15thf-neon"
25ARMPKGARCH_tune-cortexa15hf = "cortexa15"
26ARMPKGARCH_tune-cortexa15thf = "cortexa15"
27ARMPKGARCH_tune-cortexa15hf-neon = "cortexa15"
28ARMPKGARCH_tune-cortexa15thf-neon = "cortexa15"
29TUNE_FEATURES_tune-cortexa15hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa15"
30TUNE_FEATURES_tune-cortexa15thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa15"
31TUNE_FEATURES_tune-cortexa15hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa15"
32TUNE_FEATURES_tune-cortexa15thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa15"
33PACKAGE_EXTRA_ARCHS_tune-cortexa15hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa15hf-vfp"
34PACKAGE_EXTRA_ARCHS_tune-cortexa15thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa15hf-vfp cortexa15t2hf-vfp"
35PACKAGE_EXTRA_ARCHS_tune-cortexa15hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa15hf-vfp cortexa15hf-vfp-neon"
36PACKAGE_EXTRA_ARCHS_tune-cortexa15thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa15hf-vfp cortexa15hf-vfp-neon cortexa15t2hf-vfp cortexa15t2hf-vfp-neon"
diff --git a/meta/conf/machine/include/tune-cortexa5.inc b/meta/conf/machine/include/tune-cortexa5.inc
new file mode 100644
index 0000000000..139e65c828
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexa5.inc
@@ -0,0 +1,36 @@
1DEFAULTTUNE ?= "armv7a-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa5] = "Enable Cortex-A5 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa5", " -mtune=cortex-a5", "", d)}"
7
8# Little Endian base configs
9AVAILTUNES += "cortexa5 cortexa5t cortexa5-neon cortexa5t-neon"
10ARMPKGARCH_tune-cortexa5 = "cortexa5"
11ARMPKGARCH_tune-cortexa5t = "cortexa5"
12ARMPKGARCH_tune-cortexa5-neon = "cortexa5"
13ARMPKGARCH_tune-cortexa5t-neon = "cortexa5"
14TUNE_FEATURES_tune-cortexa5 = "${TUNE_FEATURES_tune-armv7a} cortexa5"
15TUNE_FEATURES_tune-cortexa5t = "${TUNE_FEATURES_tune-armv7at} cortexa5"
16TUNE_FEATURES_tune-cortexa5-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa5"
17TUNE_FEATURES_tune-cortexa5t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa5"
18PACKAGE_EXTRA_ARCHS_tune-cortexa5 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa5-vfp"
19PACKAGE_EXTRA_ARCHS_tune-cortexa5t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa5-vfp cortexa5t2-vfp"
20PACKAGE_EXTRA_ARCHS_tune-cortexa5-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa5-vfp cortexa5-vfp-neon"
21PACKAGE_EXTRA_ARCHS_tune-cortexa5t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa5-vfp cortexa5-vfp-neon cortexa5t2-vfp cortexa5t2-vfp-neon"
22
23# VFP Tunes
24AVAILTUNES += "cortexa5hf cortexa5thf cortexa5hf-neon cortexa5thf-neon"
25ARMPKGARCH_tune-cortexa5hf = "cortexa5"
26ARMPKGARCH_tune-cortexa5thf = "cortexa5"
27ARMPKGARCH_tune-cortexa5hf-neon = "cortexa5"
28ARMPKGARCH_tune-cortexa5thf-neon = "cortexa5"
29TUNE_FEATURES_tune-cortexa5hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa5"
30TUNE_FEATURES_tune-cortexa5thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa5"
31TUNE_FEATURES_tune-cortexa5hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa5"
32TUNE_FEATURES_tune-cortexa5thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa5"
33PACKAGE_EXTRA_ARCHS_tune-cortexa5hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa5hf-vfp"
34PACKAGE_EXTRA_ARCHS_tune-cortexa5thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa5hf-vfp cortexa5t2hf-vfp"
35PACKAGE_EXTRA_ARCHS_tune-cortexa5hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa5hf-vfp cortexa5hf-vfp-neon"
36PACKAGE_EXTRA_ARCHS_tune-cortexa5thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa5hf-vfp cortexa5hf-vfp-neon cortexa5t2hf-vfp cortexa5t2hf-vfp-neon"
diff --git a/meta/conf/machine/include/tune-cortexa7.inc b/meta/conf/machine/include/tune-cortexa7.inc
new file mode 100644
index 0000000000..f02f0a2e2f
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexa7.inc
@@ -0,0 +1,36 @@
1DEFAULTTUNE ?= "armv7a-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa7", " -mtune=cortex-a7", "", d)}"
7
8# Little Endian base configs
9AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon"
10ARMPKGARCH_tune-cortexa7 = "cortexa7"
11ARMPKGARCH_tune-cortexa7t = "cortexa7"
12ARMPKGARCH_tune-cortexa7-neon = "cortexa7"
13ARMPKGARCH_tune-cortexa7t-neon = "cortexa7"
14TUNE_FEATURES_tune-cortexa7 = "${TUNE_FEATURES_tune-armv7a} cortexa7"
15TUNE_FEATURES_tune-cortexa7t = "${TUNE_FEATURES_tune-armv7at} cortexa7"
16TUNE_FEATURES_tune-cortexa7-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa7"
17TUNE_FEATURES_tune-cortexa7t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa7"
18PACKAGE_EXTRA_ARCHS_tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa7-vfp"
19PACKAGE_EXTRA_ARCHS_tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa7-vfp cortexa7t2-vfp"
20PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa7-vfp cortexa7-vfp-neon"
21PACKAGE_EXTRA_ARCHS_tune-cortexa7t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa7-vfp cortexa7-vfp-neon cortexa7t2-vfp cortexa7t2-vfp-neon"
22
23# VFP Tunes
24AVAILTUNES += "cortexa7hf cortexa7thf cortexa7hf-neon cortexa7thf-neon"
25ARMPKGARCH_tune-cortexa7hf = "cortexa7"
26ARMPKGARCH_tune-cortexa7thf = "cortexa7"
27ARMPKGARCH_tune-cortexa7hf-neon = "cortexa7"
28ARMPKGARCH_tune-cortexa7thf-neon = "cortexa7"
29TUNE_FEATURES_tune-cortexa7hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa7"
30TUNE_FEATURES_tune-cortexa7thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa7"
31TUNE_FEATURES_tune-cortexa7hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa7"
32TUNE_FEATURES_tune-cortexa7thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa7"
33PACKAGE_EXTRA_ARCHS_tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa7hf-vfp"
34PACKAGE_EXTRA_ARCHS_tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa7hf-vfp cortexa7t2hf-vfp"
35PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa7hf-vfp cortexa7hf-vfp-neon"
36PACKAGE_EXTRA_ARCHS_tune-cortexa7thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa7hf-vfp cortexa7hf-vfp-neon cortexa7t2hf-vfp cortexa7t2hf-vfp-neon"
diff --git a/meta/conf/machine/include/tune-cortexa8.inc b/meta/conf/machine/include/tune-cortexa8.inc
new file mode 100644
index 0000000000..771537ff84
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexa8.inc
@@ -0,0 +1,36 @@
1DEFAULTTUNE ?= "armv7a-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa8] = "Enable Cortex-A8 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa8", " -mtune=cortex-a8", "", d)}"
7
8# Little Endian base configs
9AVAILTUNES += "cortexa8 cortexa8t cortexa8-neon cortexa8t-neon"
10ARMPKGARCH_tune-cortexa8 = "cortexa8"
11ARMPKGARCH_tune-cortexa8t = "cortexa8"
12ARMPKGARCH_tune-cortexa8-neon = "cortexa8"
13ARMPKGARCH_tune-cortexa8t-neon = "cortexa8"
14TUNE_FEATURES_tune-cortexa8 = "${TUNE_FEATURES_tune-armv7a} cortexa8"
15TUNE_FEATURES_tune-cortexa8t = "${TUNE_FEATURES_tune-armv7at} cortexa8"
16TUNE_FEATURES_tune-cortexa8-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa8"
17TUNE_FEATURES_tune-cortexa8t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa8"
18PACKAGE_EXTRA_ARCHS_tune-cortexa8 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa8-vfp"
19PACKAGE_EXTRA_ARCHS_tune-cortexa8t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa8-vfp cortexa8t2-vfp"
20PACKAGE_EXTRA_ARCHS_tune-cortexa8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa8-vfp cortexa8-vfp-neon"
21PACKAGE_EXTRA_ARCHS_tune-cortexa8t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa8-vfp cortexa8-vfp-neon cortexa8t2-vfp cortexa8t2-vfp-neon"
22
23# VFP Tunes
24AVAILTUNES += "cortexa8hf cortexa8thf cortexa8hf-neon cortexa8thf-neon"
25ARMPKGARCH_tune-cortexa8hf = "cortexa8"
26ARMPKGARCH_tune-cortexa8thf = "cortexa8"
27ARMPKGARCH_tune-cortexa8hf-neon = "cortexa8"
28ARMPKGARCH_tune-cortexa8thf-neon = "cortexa8"
29TUNE_FEATURES_tune-cortexa8hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa8"
30TUNE_FEATURES_tune-cortexa8thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa8"
31TUNE_FEATURES_tune-cortexa8hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa8"
32TUNE_FEATURES_tune-cortexa8thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa8"
33PACKAGE_EXTRA_ARCHS_tune-cortexa8hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa8hf-vfp"
34PACKAGE_EXTRA_ARCHS_tune-cortexa8thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa8hf-vfp cortexa8t2hf-vfp"
35PACKAGE_EXTRA_ARCHS_tune-cortexa8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon"
36PACKAGE_EXTRA_ARCHS_tune-cortexa8thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa8hf-vfp cortexa8hf-vfp-neon cortexa8t2hf-vfp cortexa8t2hf-vfp-neon"
diff --git a/meta/conf/machine/include/tune-cortexa9.inc b/meta/conf/machine/include/tune-cortexa9.inc
new file mode 100644
index 0000000000..700394b824
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexa9.inc
@@ -0,0 +1,36 @@
1DEFAULTTUNE ?= "armv7a-neon"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexa9] = "Enable Cortex-A9 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa9", " -mtune=cortex-a9", "", d)}"
7
8# Little Endian base configs
9AVAILTUNES += "cortexa9 cortexa9t cortexa9-neon cortexa9t-neon"
10ARMPKGARCH_tune-cortexa9 = "cortexa9"
11ARMPKGARCH_tune-cortexa9t = "cortexa9"
12ARMPKGARCH_tune-cortexa9-neon = "cortexa9"
13ARMPKGARCH_tune-cortexa9t-neon = "cortexa9"
14TUNE_FEATURES_tune-cortexa9 = "${TUNE_FEATURES_tune-armv7a} cortexa9"
15TUNE_FEATURES_tune-cortexa9t = "${TUNE_FEATURES_tune-armv7at} cortexa9"
16TUNE_FEATURES_tune-cortexa9-neon = "${TUNE_FEATURES_tune-armv7a-neon} cortexa9"
17TUNE_FEATURES_tune-cortexa9t-neon = "${TUNE_FEATURES_tune-armv7at-neon} cortexa9"
18PACKAGE_EXTRA_ARCHS_tune-cortexa9 = "${PACKAGE_EXTRA_ARCHS_tune-armv7a} cortexa9-vfp"
19PACKAGE_EXTRA_ARCHS_tune-cortexa9t = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexa9-vfp cortexa9t2-vfp"
20PACKAGE_EXTRA_ARCHS_tune-cortexa9-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7a-neon} cortexa9-vfp cortexa9-vfp-neon"
21PACKAGE_EXTRA_ARCHS_tune-cortexa9t-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7at-neon} cortexa9-vfp cortexa9-vfp-neon cortexa9t2-vfp cortexa9t2-vfp-neon"
22
23# VFP Tunes
24AVAILTUNES += "cortexa9hf cortexa9thf cortexa9hf-neon cortexa9thf-neon"
25ARMPKGARCH_tune-cortexa9hf = "cortexa9"
26ARMPKGARCH_tune-cortexa9thf = "cortexa9"
27ARMPKGARCH_tune-cortexa9hf-neon = "cortexa9"
28ARMPKGARCH_tune-cortexa9thf-neon = "cortexa9"
29TUNE_FEATURES_tune-cortexa9hf ?= "${TUNE_FEATURES_tune-armv7ahf} cortexa9"
30TUNE_FEATURES_tune-cortexa9thf ?= "${TUNE_FEATURES_tune-armv7athf} cortexa9"
31TUNE_FEATURES_tune-cortexa9hf-neon ?= "${TUNE_FEATURES_tune-armv7ahf-neon} cortexa9"
32TUNE_FEATURES_tune-cortexa9thf-neon ?= "${TUNE_FEATURES_tune-armv7athf-neon} cortexa9"
33PACKAGE_EXTRA_ARCHS_tune-cortexa9hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf} cortexa9hf-vfp"
34PACKAGE_EXTRA_ARCHS_tune-cortexa9thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf} cortexa9hf-vfp cortexa9t2hf-vfp"
35PACKAGE_EXTRA_ARCHS_tune-cortexa9hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ahf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon"
36PACKAGE_EXTRA_ARCHS_tune-cortexa9thf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7athf-neon} cortexa9hf-vfp cortexa9hf-vfp-neon cortexa9t2hf-vfp cortexa9t2hf-vfp-neon"
diff --git a/meta/conf/machine/include/tune-cortexm1.inc b/meta/conf/machine/include/tune-cortexm1.inc
new file mode 100644
index 0000000000..3b652796d2
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexm1.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "armv7a"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexm1] = "Enable Cortex-M1 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexm1", " -mtune=cortex-m1", "", d)}"
7
8AVAILTUNES += "cortexm1"
9ARMPKGARCH_tune-cortexm1 = "cortexm1"
10TUNE_FEATURES_tune-cortexm1 = "${TUNE_FEATURES_tune-armv7a} cortexm1"
11PACKAGE_EXTRA_ARCHS_tune-cortexm1 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} cortexm1-vfp"
diff --git a/meta/conf/machine/include/tune-cortexm3.inc b/meta/conf/machine/include/tune-cortexm3.inc
new file mode 100644
index 0000000000..cbc4c0dd49
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexm3.inc
@@ -0,0 +1,14 @@
1DEFAULTTUNE ?= "cortexm3"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexm3] = "Enable Cortex-M3 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexm3", " -mtune=cortex-m3", "", d)}"
7
8TUNEVALID[armv7m] = "Enable Cortex-M3 specific processor optimizations"
9TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv7m", " -march=armv7-m", "", d)}"
10
11AVAILTUNES += "cortexm3"
12ARMPKGARCH_tune-cortexm3 = "armv7m"
13TUNE_FEATURES_tune-cortexm3 = "armv7m vfp cortexm3"
14PACKAGE_EXTRA_ARCHS_tune-cortexm3 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7m-vfp"
diff --git a/meta/conf/machine/include/tune-cortexr4.inc b/meta/conf/machine/include/tune-cortexr4.inc
new file mode 100644
index 0000000000..57b6717e58
--- /dev/null
+++ b/meta/conf/machine/include/tune-cortexr4.inc
@@ -0,0 +1,14 @@
1DEFAULTTUNE ?= "cortexr4"
2
3require conf/machine/include/arm/arch-armv7a.inc
4
5TUNEVALID[cortexr4] = "Enable Cortex-R4 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexr4", " -mtune=cortex-r4", "", d)}"
7
8TUNEVALID[armv7r] = "Enable Cortex-R4 specific processor optimizations"
9TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv7r", " -march=armv7-r", "", d)}"
10
11AVAILTUNES += "cortexr4"
12ARMPKGARCH_tune-cortexr4 = "armv7r"
13TUNE_FEATURES_tune-cortexr4 = "armv7r vfp cortexr4"
14PACKAGE_EXTRA_ARCHS_tune-cortexr4 = "${PACKAGE_EXTRA_ARCHS_tune-armv7at} armv7r-vfp"
diff --git a/meta/conf/machine/include/tune-ep9312.inc b/meta/conf/machine/include/tune-ep9312.inc
new file mode 100644
index 0000000000..b19b438125
--- /dev/null
+++ b/meta/conf/machine/include/tune-ep9312.inc
@@ -0,0 +1,12 @@
1DEFAULTTUNE ?= "ep9312"
2
3require conf/machine/include/arm/arch-armv4.inc
4
5TUNEVALID[ep9312] = "Enable Intel PXA27x specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ep9312", " -march=ep9312 -mtune=ep9312", "", d)}"
7
8AVAILTUNES += "ep9312"
9ARMPKGARCH_tune-ep9312 = "ep9312"
10# this tune does not include TUNE_FEATURES_tune-armv4t, so there is no armv4 TUNE_FEATURES => no 't' in ARMPKGSFX_THUMB
11TUNE_FEATURES_tune-ep9312 = "thumb ep9312"
12PACKAGE_EXTRA_ARCHS_tune-ep9312 = "${PACKAGE_EXTRA_ARCHS_tune-armv4t} ep9312"
diff --git a/meta/conf/machine/include/tune-i586.inc b/meta/conf/machine/include/tune-i586.inc
new file mode 100644
index 0000000000..4542b9b6f1
--- /dev/null
+++ b/meta/conf/machine/include/tune-i586.inc
@@ -0,0 +1,14 @@
1DEFAULTTUNE ?= "i586"
2
3require conf/machine/include/ia32/arch-ia32.inc
4
5# Extra tune features
6TUNEVALID[i586] = "Enable i586 specific processor optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "i586", " -march=i586", "", d)}"
8
9# Extra tune selections
10AVAILTUNES += "i586"
11TUNE_FEATURES_tune-i586 = "${TUNE_FEATURES_tune-x86} i586"
12BASE_LIB_tune-i586 = "lib"
13TUNE_PKGARCH_tune-i586 = "i586"
14PACKAGE_EXTRA_ARCHS_tune-i586 = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586"
diff --git a/meta/conf/machine/include/tune-iwmmxt.inc b/meta/conf/machine/include/tune-iwmmxt.inc
new file mode 100644
index 0000000000..748ca0d0aa
--- /dev/null
+++ b/meta/conf/machine/include/tune-iwmmxt.inc
@@ -0,0 +1,14 @@
1# Configurations for the Intel PXA27x Appications Processor Family.
2# Please use tune-xscale for PXA255/PXA26x based processors.
3
4DEFAULTTUNE ?= "iwmmxt"
5
6require conf/machine/include/arm/arch-armv5-dsp.inc
7
8TUNEVALID[iwmmxt] = "Enable Intel PXA27x specific processor optimizations"
9TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "iwmmxt", " -march=iwmmxt -mtune=iwmmxt", "", d)}"
10
11AVAILTUNES += "iwmmxt"
12ARMPKGARCH_tune-iwmmxt = "iwmmxt"
13TUNE_FEATURES_tune-iwmmxt = "thumb iwmmxt"
14PACKAGE_EXTRA_ARCHS_tune-iwmmxt = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} iwmmxt iwmmxtt"
diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc
new file mode 100644
index 0000000000..ae326cedf3
--- /dev/null
+++ b/meta/conf/machine/include/tune-mips32.inc
@@ -0,0 +1,25 @@
1DEFAULTTUNE ?= "mips32"
2
3require conf/machine/include/mips/arch-mips.inc
4
5TUNEVALID[mips32] = "Enable mips32 specific processor optimizations"
6TUNECONFLICTS[mips32] = "n64 n32"
7TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "mips32", " -march=mips32", "", d)}"
8
9AVAILTUNES += "mips32 mips32el mips32-nf mips32el-nf"
10
11TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32"
12MIPSPKGSFX_VARIANT_tune-mips32 = "mips32"
13PACKAGE_EXTRA_ARCHS_tune-mips32 = "mips mips32"
14
15TUNE_FEATURES_tune-mips32el = "${TUNE_FEATURES_tune-mipsel} mips32"
16MIPSPKGSFX_VARIANT_tune-mips32el = "mips32el"
17PACKAGE_EXTRA_ARCHS_tune-mips32el = "mipsel mips32el"
18
19TUNE_FEATURES_tune-mips32-nf = "${TUNE_FEATURES_tune-mips-nf} mips32"
20MIPSPKGSFX_VARIANT_tune-mips32-nf = "mips32"
21PACKAGE_EXTRA_ARCHS_tune-mips32-nf = "mips-nf mips32-nf"
22
23TUNE_FEATURES_tune-mips32el-nf = "${TUNE_FEATURES_tune-mipsel-nf} mips32"
24MIPSPKGSFX_VARIANT_tune-mips32el-nf = "mips32el"
25PACKAGE_EXTRA_ARCHS_tune-mips32el-nf = "mipsel-nf mips32el-nf"
diff --git a/meta/conf/machine/include/tune-mips64.inc b/meta/conf/machine/include/tune-mips64.inc
new file mode 100644
index 0000000000..ba79e2b53f
--- /dev/null
+++ b/meta/conf/machine/include/tune-mips64.inc
@@ -0,0 +1,3 @@
1DEFAULTTUNE ?= "mips64"
2
3require conf/machine/include/mips/arch-mips.inc
diff --git a/meta/conf/machine/include/tune-ppc476.inc b/meta/conf/machine/include/tune-ppc476.inc
new file mode 100644
index 0000000000..4ed185d2e2
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppc476.inc
@@ -0,0 +1,14 @@
1DEFAULTTUNE ?= "ppc476"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc476] = "Enable ppc476 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppc476", " -mcpu=476", "", d)}"
7
8AVAILTUNES += "ppc476"
9TUNE_FEATURES_tune-ppc476 = "m32 fpu-hard ppc476"
10TUNE_PKGARCH_tune-ppc476 = "ppc476"
11PACKAGE_EXTRA_ARCHS_tune-ppc476 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc476"
12
13# glibc configure options to get 476 specific library (for sqrt)
14GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc476", "-with-cpu=476", "", d)}"
diff --git a/meta/conf/machine/include/tune-ppc603e.inc b/meta/conf/machine/include/tune-ppc603e.inc
new file mode 100644
index 0000000000..d744a0053f
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppc603e.inc
@@ -0,0 +1,14 @@
1DEFAULTTUNE ?= "ppc603e"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc603e] = "Enable ppc603e specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", " -mcpu=603e", "", d)}"
7
8AVAILTUNES += "ppc603e"
9TUNE_FEATURES_tune-ppc603e = "m32 fpu-hard ppc603e"
10TUNE_PKGARCH_tune-ppc603e = "ppc603e"
11PACKAGE_EXTRA_ARCHS_tune-ppc603e = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc603e"
12
13# glibc configure options to get 603e specific library (for sqrt)
14GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc603e", "-with-cpu=603e", "", d)}"
diff --git a/meta/conf/machine/include/tune-ppc7400.inc b/meta/conf/machine/include/tune-ppc7400.inc
new file mode 100644
index 0000000000..4ac0403e1f
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppc7400.inc
@@ -0,0 +1,14 @@
1DEFAULTTUNE ?= "ppc7400"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppc7400] = "Enable ppc7400 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppc7400", " -mcpu=7400", "", d)}"
7
8AVAILTUNES += "ppc7400"
9TUNE_FEATURES_tune-ppc7400 = "m32 fpu-hard ppc7400 altivec"
10TUNE_PKGARCH_tune-ppc7400 = "ppc7400"
11PACKAGE_EXTRA_ARCHS_tune-ppc7400 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppc7400"
12
13# glibc configure options to get 7400 specific library (for sqrt)
14#GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppc7400", "--with-cpu=power4", "", d)}"
diff --git a/meta/conf/machine/include/tune-ppce300c2.inc b/meta/conf/machine/include/tune-ppce300c2.inc
new file mode 100644
index 0000000000..05a9505f74
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppce300c2.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "ppce300c2"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppce300c2] = "Enable ppce300c2 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c2", " -mcpu=e300c2", "", d)}"
7
8AVAILTUNES += "ppce300c2"
9TUNE_FEATURES_tune-ppce300c2 = "m32 fpu-soft ppce300c2"
10TUNE_PKGARCH_tune-ppce300c2 = "ppce300c2"
11PACKAGE_EXTRA_ARCHS_tune-ppce300c2 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c2"
diff --git a/meta/conf/machine/include/tune-ppce300c3.inc b/meta/conf/machine/include/tune-ppce300c3.inc
new file mode 100644
index 0000000000..9431222284
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppce300c3.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "ppce300c3"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppce300c3] = "Enable ppce300c3 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce300c3", " -mcpu=e300c3", "", d)}"
7
8AVAILTUNES += "ppce300c3"
9TUNE_FEATURES_tune-ppce300c3 = "m32 fpu-soft ppce300c3"
10TUNE_PKGARCH_tune-ppce300c3 = "ppce300c3"
11PACKAGE_EXTRA_ARCHS_tune-ppce300c3 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc-nf} ppce300c3"
diff --git a/meta/conf/machine/include/tune-ppce500.inc b/meta/conf/machine/include/tune-ppce500.inc
new file mode 100644
index 0000000000..70c1f8b253
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppce500.inc
@@ -0,0 +1,20 @@
1DEFAULTTUNE ?= "ppce500"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppce500] = "Enable ppce500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500", " -mcpu=8540", "", d)}"
7
8TUNEVALID[spe] = "Enable SPE ABI extensions"
9TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500", "spe" ], " -mabi=spe -mspe -mfloat-gprs=single", "", d)}"
10TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500" , "spe" ], "ppc-efs", "", d)}"
11
12# spe is defined potentially in two places, so we want to be sure it will
13# only write spe once to the ABIEXTENSIONS field.
14SPEABIEXTENSION = "${@bb.utils.contains("TUNE_FEATURES", "spe", "spe", "", d)}"
15ABIEXTENSION .= "${SPEABIEXTENSION}"
16
17AVAILTUNES += "ppce500"
18TUNE_FEATURES_tune-ppce500 = "m32 spe ppce500"
19TUNE_PKGARCH_tune-ppce500 = "ppce500"
20PACKAGE_EXTRA_ARCHS_tune-ppce500 = "ppce500"
diff --git a/meta/conf/machine/include/tune-ppce500mc.inc b/meta/conf/machine/include/tune-ppce500mc.inc
new file mode 100644
index 0000000000..744d8e55e7
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppce500mc.inc
@@ -0,0 +1,14 @@
1DEFAULTTUNE ?= "ppce500mc"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", " -mcpu=e500mc", "", d)}"
7
8AVAILTUNES += "ppce500mc"
9TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc"
10TUNE_PKGARCH_tune-ppce500mc = "ppce500mc"
11PACKAGE_EXTRA_ARCHS_tune-ppce500mc = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce500mc"
12
13# glibc configure options to get e500mc specific library (for sqrt)
14GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", "-with-cpu=e500mc", "", d)}"
diff --git a/meta/conf/machine/include/tune-ppce500v2.inc b/meta/conf/machine/include/tune-ppce500v2.inc
new file mode 100644
index 0000000000..d014d70a6e
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppce500v2.inc
@@ -0,0 +1,20 @@
1DEFAULTTUNE ?= "ppce500v2"
2
3require conf/machine/include/powerpc/arch-powerpc.inc
4
5TUNEVALID[ppce500v2] = "Enable ppce500v2 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500v2", " -mcpu=8548", "", d)}"
7
8TUNEVALID[spe] = "Enable SPE ABI extensions"
9TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500v2", "spe" ], " -mabi=spe -mspe -mfloat-gprs=double", "", d)}"
10TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", [ "ppce500v2" , "spe" ], "ppc-efd", "", d)}"
11
12# spe is defined potentially in two places, so we want to be sure it will
13# only write spe once to the ABIEXTENSIONS field.
14SPEABIEXTENSION = "${@bb.utils.contains("TUNE_FEATURES", "spe", "spe", "", d)}"
15ABIEXTENSION .= "${SPEABIEXTENSION}"
16
17AVAILTUNES += "ppce500v2"
18TUNE_FEATURES_tune-ppce500v2 = "m32 spe ppce500v2"
19TUNE_PKGARCH_tune-ppce500v2 = "ppce500v2"
20PACKAGE_EXTRA_ARCHS_tune-ppce500v2 = "ppce500v2"
diff --git a/meta/conf/machine/include/tune-ppce5500.inc b/meta/conf/machine/include/tune-ppce5500.inc
new file mode 100644
index 0000000000..25231ef4f2
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppce5500.inc
@@ -0,0 +1,20 @@
1DEFAULTTUNE ?= "ppce5500"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[e5500] = "Enable Freescale e5500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "e5500", " -mcpu=e5500", "", d)}"
7
8AVAILTUNES += "ppce5500 ppc64e5500"
9TUNE_FEATURES_tune-ppce5500 = "m32 fpu-hard e5500"
10BASE_LIB_tune-ppce5500 = "lib"
11TUNE_PKGARCH_tune-ppce5500 = "ppce5500"
12PACKAGE_EXTRA_ARCHS_tune-ppce5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce5500"
13
14TUNE_FEATURES_tune-ppc64e5500 = "m64 fpu-hard e5500"
15BASE_LIB_tune-ppc64e5500 = "lib64"
16TUNE_PKGARCH_tune-ppc64e5500 = "ppc64e5500"
17PACKAGE_EXTRA_ARCHS_tune-ppc64e5500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e5500"
18
19# glibc configure options to get e5500 specific library (for sqrt)
20GLIBC_EXTRA_OECONF += "${@bb.utils.contains("TUNE_FEATURES", "e5500", "--with-cpu=e5500", "", d)}"
diff --git a/meta/conf/machine/include/tune-ppce6500.inc b/meta/conf/machine/include/tune-ppce6500.inc
new file mode 100644
index 0000000000..1603bb4f14
--- /dev/null
+++ b/meta/conf/machine/include/tune-ppce6500.inc
@@ -0,0 +1,21 @@
1DEFAULTTUNE ?= "ppce6500"
2
3require conf/machine/include/powerpc/arch-powerpc64.inc
4
5TUNEVALID[e6500] = "Enable Freescale e6500 specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "e6500", " -mcpu=e6500", "", d)}"
7
8AVAILTUNES += "ppce6500 ppc64e6500"
9TUNE_FEATURES_tune-ppce6500 = "m32 fpu-hard e6500 altivec"
10BASE_LIB_tune-ppce6500 = "lib"
11TUNE_PKGARCH_tune-ppce6500 = "ppce6500"
12PACKAGE_EXTRA_ARCHS_tune-ppce6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc} ppce6500"
13
14TUNE_FEATURES_tune-ppc64e6500 = "m64 fpu-hard e6500 altivec"
15BASE_LIB_tune-ppc64e6500 = "lib64"
16TUNE_PKGARCH_tune-ppc64e6500 = "ppc64e6500"
17PACKAGE_EXTRA_ARCHS_tune-ppc64e6500 = "${PACKAGE_EXTRA_ARCHS_tune-powerpc64} ppc64e6500"
18
19# glibc configure options to get e6500 specific library
20GLIBC_EXTRA_OECONF_powerpc64 += "${@bb.utils.contains("TUNE_FEATURES", "e6500", "--with-cpu=e6500", "", d)}"
21GLIBC_EXTRA_OECONF_powerpc += "${@bb.utils.contains("TUNE_FEATURES", "e6500", "--with-cpu=603e", "", d)}"
diff --git a/meta/conf/machine/include/tune-sh3.inc b/meta/conf/machine/include/tune-sh3.inc
new file mode 100644
index 0000000000..c5ed7bab96
--- /dev/null
+++ b/meta/conf/machine/include/tune-sh3.inc
@@ -0,0 +1,17 @@
1DEFAULTTUNE ?= "sh3"
2
3require conf/machine/include/sh/arch-sh.inc
4
5TUNEVALID[sh3] = "Enable SH3 optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "sh3", " -m3", "", d)}"
7
8AVAILTUNES += "sh3 sh3eb"
9TUNE_FEATURES_tune-sh3 = "sh3"
10TUNE_ARCH_tune-sh3 = "sh3"
11TUNE_PKGARCH_tune-sh3 = "sh3"
12PACKAGE_EXTRA_ARCHS_tune-sh3 = "sh sh3"
13
14TUNE_FEATURES_tune-sh3eb = "sh3 bigendian"
15TUNE_ARCH_tune-sh3eb = "sh3eb"
16TUNE_PKGARCH_tune-sh3eb = "sh3eb"
17PACKAGE_EXTRA_ARCHS_tune-sh3eb = "sheb sh3eb"
diff --git a/meta/conf/machine/include/tune-sh4.inc b/meta/conf/machine/include/tune-sh4.inc
new file mode 100644
index 0000000000..56e23b9369
--- /dev/null
+++ b/meta/conf/machine/include/tune-sh4.inc
@@ -0,0 +1,34 @@
1DEFAULTTUNE ?= "sh4"
2
3# Pull in sh4 for compatibility...
4require conf/machine/include/sh/arch-sh.inc
5
6TUNEVALID[sh4] = "Enable SH4 optimizations"
7TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "sh4", " -m4", "", d)}"
8
9# NOTE: If you want to optimize to sh4a, conf/machine/include/tune-sh4a.inc.
10# But it is not compatible for sh4.
11# The binary optimized by m4a doesn't operate on sh4. It works on sh4a only.
12TUNEVALID[sh4a] = "Enable SH4a optimizations"
13TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "sh4a", " -m4a", "", d)}"
14
15AVAILTUNES += "sh4 sh4eb sh4a sh4aeb"
16TUNE_FEATURES_tune-sh4 = "sh4"
17TUNE_ARCH_tune-sh4 = "sh4"
18TUNE_PKGARCH_tune-sh4 = "sh4"
19PACKAGE_EXTRA_ARCHS_tune-sh4 = "sh sh4"
20
21TUNE_FEATURES_tune-sh4eb = "sh4 bigendian"
22TUNE_ARCH_tune-sh4eb = "sh4eb"
23TUNE_PKGARCH_tune-sh4eb = "sh4eb"
24PACKAGE_EXTRA_ARCHS_tune-sh4eb = "sheb sh4eb"
25
26TUNE_FEATURES_tune-sh4a = "sh4a"
27TUNE_ARCH_tune-sh4a = "sh4"
28TUNE_PKGARCH_tune-sh4a = "sh4a"
29PACKAGE_EXTRA_ARCHS_tune-sh4a = "sh sh4 sh4a"
30
31TUNE_FEATURES_tune-sh4aeb = "sh4a bigendian"
32TUNE_ARCH_tune-sh4aeb = "sh4eb"
33TUNE_PKGARCH_tune-sh4aeb = "sh4aeb"
34PACKAGE_EXTRA_ARCHS_tune-sh4aeb = "sheb sh4eb sh4aeb"
diff --git a/meta/conf/machine/include/tune-strongarm1100.inc b/meta/conf/machine/include/tune-strongarm1100.inc
new file mode 100644
index 0000000000..ea2fba89fe
--- /dev/null
+++ b/meta/conf/machine/include/tune-strongarm1100.inc
@@ -0,0 +1,11 @@
1DEFAULTTUNE ?= "armv4"
2
3require conf/machine/include/arm/arch-armv4.inc
4
5TUNEVALID[strongarm] = "Enable Strongarm 1100 series processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "strongarm", " -mtune=strongarm1100", "", d)}"
7
8AVAILTUNES += "strongarm"
9ARMPKGARCH_tune-strongarm = "strongarm"
10TUNE_FEATURES_tune-strongarm = "${TUNE_FEATURES_tune-armv4} strongarm"
11PACKAGE_EXTRA_ARCHS_tune-strongarm = "${PACKAGE_EXTRA_ARCHS_tune-armv4} strongarm"
diff --git a/meta/conf/machine/include/tune-supersparc.inc b/meta/conf/machine/include/tune-supersparc.inc
new file mode 100644
index 0000000000..0faa361f18
--- /dev/null
+++ b/meta/conf/machine/include/tune-supersparc.inc
@@ -0,0 +1,4 @@
1TUNE_ARCH = "sparc"
2
3TUNE_CCARGS = "-mcpu=supersparc"
4TUNE_PKGARCH = "supersparc"
diff --git a/meta/conf/machine/include/tune-x86_64.inc b/meta/conf/machine/include/tune-x86_64.inc
new file mode 100644
index 0000000000..31e06da5ef
--- /dev/null
+++ b/meta/conf/machine/include/tune-x86_64.inc
@@ -0,0 +1,4 @@
1DEFAULTTUNE ?= "x86-64"
2
3require conf/machine/include/ia32/arch-ia32.inc
4
diff --git a/meta/conf/machine/include/tune-xscale.inc b/meta/conf/machine/include/tune-xscale.inc
new file mode 100644
index 0000000000..0c5ca8d171
--- /dev/null
+++ b/meta/conf/machine/include/tune-xscale.inc
@@ -0,0 +1,16 @@
1DEFAULTTUNE ?= "armv5te"
2
3require conf/machine/include/arm/arch-armv5-dsp.inc
4
5TUNEVALID[xscale] = "Enable PXA255/PXA26x Xscale specific processor optimizations"
6TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "xscale", " -mtune=xscale", "", d)}"
7
8AVAILTUNES += "xscale"
9ARMPKGARCH_tune-xscale = "xscale"
10TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5te} xscale"
11PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} xscale xscalet xscalee xscalete"
12
13AVAILTUNES += "xscale-be"
14ARMPKGARCH_tune-xscale-be = "xscale"
15TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-armv5teb} xscale bigendian"
16PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} xscaleb xscaletb xscaleeb xscaleteb"
diff --git a/meta/conf/machine/qemuarm.conf b/meta/conf/machine/qemuarm.conf
new file mode 100644
index 0000000000..d07084bcf3
--- /dev/null
+++ b/meta/conf/machine/qemuarm.conf
@@ -0,0 +1,12 @@
1#@TYPE: Machine
2#@NAME: arm_versatile_926ejs
3#@DESCRIPTION: arm_versatile_926ejs
4
5require conf/machine/include/qemu.inc
6require conf/machine/include/tune-arm926ejs.inc
7#require conf/machine/include/tune-arm1136jf-s.inc
8
9KERNEL_IMAGETYPE = "zImage"
10
11SERIAL_CONSOLE = "115200 ttyAMA0"
12
diff --git a/meta/conf/machine/qemumips.conf b/meta/conf/machine/qemumips.conf
new file mode 100644
index 0000000000..ce1c419d1e
--- /dev/null
+++ b/meta/conf/machine/qemumips.conf
@@ -0,0 +1,13 @@
1#@TYPE: Machine
2#@NAME: mti_malta32_be MIPS
3#@DESCRIPTION: mti_malta32_be
4
5require conf/machine/include/qemu.inc
6require conf/machine/include/tune-mips32.inc
7
8KERNEL_IMAGETYPE = "vmlinux"
9KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
10
11SERIAL_CONSOLE = "115200 ttyS0"
12
13MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
diff --git a/meta/conf/machine/qemumips64.conf b/meta/conf/machine/qemumips64.conf
new file mode 100644
index 0000000000..b2c7998a66
--- /dev/null
+++ b/meta/conf/machine/qemumips64.conf
@@ -0,0 +1,13 @@
1#@TYPE: Machine
2#@NAME: mti-malta64-be MIPS64
3#@DESCRIPTION: mti-malta64-be
4
5require conf/machine/include/qemu.inc
6require conf/machine/include/tune-mips64.inc
7
8KERNEL_IMAGETYPE = "vmlinux"
9KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
10
11SERIAL_CONSOLE = "115200 ttyS0"
12
13MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
diff --git a/meta/conf/machine/qemuppc.conf b/meta/conf/machine/qemuppc.conf
new file mode 100644
index 0000000000..93145a1e2f
--- /dev/null
+++ b/meta/conf/machine/qemuppc.conf
@@ -0,0 +1,11 @@
1#@TYPE: Machine
2#@NAME: qemu PPC Emulator setup
3#@DESCRIPTION: Machine configuration for running an PPC system under qemu emulation
4
5require conf/machine/include/qemu.inc
6require conf/machine/include/tune-ppc7400.inc
7
8KERNEL_IMAGETYPE = "vmlinux"
9
10SERIAL_CONSOLE = "115200 ttyS0"
11
diff --git a/meta/conf/machine/qemux86-64.conf b/meta/conf/machine/qemux86-64.conf
new file mode 100644
index 0000000000..c572225f8b
--- /dev/null
+++ b/meta/conf/machine/qemux86-64.conf
@@ -0,0 +1,26 @@
1#@TYPE: Machine
2#@NAME: common_pc
3#@DESCRIPTION: Machine configuration for running a common x86
4
5PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
6PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
7PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
8PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
9
10require conf/machine/include/qemu.inc
11require conf/machine/include/tune-x86_64.inc
12
13KERNEL_IMAGETYPE = "bzImage"
14
15SERIAL_CONSOLE = "115200 ttyS0"
16
17XSERVER = "xserver-xorg \
18 ${@base_contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast', '', d)} \
19 xf86-input-vmmouse \
20 xf86-input-keyboard \
21 xf86-input-evdev \
22 xf86-video-vmware"
23
24MACHINE_FEATURES += "x86"
25
26MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
diff --git a/meta/conf/machine/qemux86.conf b/meta/conf/machine/qemux86.conf
new file mode 100644
index 0000000000..94ee57392d
--- /dev/null
+++ b/meta/conf/machine/qemux86.conf
@@ -0,0 +1,26 @@
1#@TYPE: Machine
2#@NAME: common_pc
3#@DESCRIPTION: Machine configuration for running a common x86
4
5PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
6PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
7PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
8PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
9
10require conf/machine/include/qemu.inc
11require conf/machine/include/tune-i586.inc
12
13KERNEL_IMAGETYPE = "bzImage"
14
15SERIAL_CONSOLE = "115200 ttyS0"
16
17XSERVER = "xserver-xorg \
18 ${@base_contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast', '', d)} \
19 xf86-input-vmmouse \
20 xf86-input-keyboard \
21 xf86-input-evdev \
22 xf86-video-vmware"
23
24MACHINE_FEATURES += "x86"
25
26MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
diff --git a/meta/conf/migrate_localcount.conf b/meta/conf/migrate_localcount.conf
new file mode 100644
index 0000000000..e486e03e5f
--- /dev/null
+++ b/meta/conf/migrate_localcount.conf
@@ -0,0 +1 @@
INHERIT += "migrate_localcount"
diff --git a/meta/conf/multilib.conf b/meta/conf/multilib.conf
new file mode 100644
index 0000000000..733236d6bb
--- /dev/null
+++ b/meta/conf/multilib.conf
@@ -0,0 +1,19 @@
1
2baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or d.getVar('BASELIB', True)}"
3
4MULTILIB_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
5MULTILIB_SAVE_VARNAME = "DEFAULTTUNE TARGET_ARCH TARGET_SYS"
6
7MULTILIBS ??= "multilib:lib32"
8
9STAGING_DIR_HOST = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
10STAGING_DIR_TARGET = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
11PKGDATA_DIR = "${STAGING_DIR}/${MACHINE}/pkgdata"
12
13INHERIT += "multilib_global"
14
15BBCLASSEXTEND_append = " ${MULTILIBS}"
16
17MULTILIB_GLOBAL_VARIANTS = "lib32 lib64 libx32"
18
19OPKG_ARGS_append = " --force-maintainer --force-overwrite"
diff --git a/meta/conf/prexport.conf b/meta/conf/prexport.conf
new file mode 100644
index 0000000000..12f3acb2da
--- /dev/null
+++ b/meta/conf/prexport.conf
@@ -0,0 +1 @@
INHERIT += "prexport"
diff --git a/meta/conf/primport.conf b/meta/conf/primport.conf
new file mode 100644
index 0000000000..d94ea1b1e2
--- /dev/null
+++ b/meta/conf/primport.conf
@@ -0,0 +1 @@
INHERIT += "primport"
diff --git a/meta/conf/sanity.conf b/meta/conf/sanity.conf
new file mode 100644
index 0000000000..86df5cf2d0
--- /dev/null
+++ b/meta/conf/sanity.conf
@@ -0,0 +1,16 @@
1# Sanity checks for common user misconfigurations
2#
3# See sanity.bbclass
4#
5# Expert users can confirm their sanity with "touch conf/sanity.conf"
6BB_MIN_VERSION = "1.19.1"
7
8SANITY_ABIFILE = "${TMPDIR}/abi_version"
9
10SANITY_VERSION ?= "1"
11LOCALCONF_VERSION ?= "1"
12LAYER_CONF_VERSION ?= "5"
13SITE_CONF_VERSION ?= "1"
14
15INHERIT += "sanity"
16
diff --git a/meta/conf/swabber/Ubuntu-10.04.1-64/blacklist b/meta/conf/swabber/Ubuntu-10.04.1-64/blacklist
new file mode 100644
index 0000000000..5fdb8f2b9a
--- /dev/null
+++ b/meta/conf/swabber/Ubuntu-10.04.1-64/blacklist
@@ -0,0 +1,6 @@
1libneon27-gnutls
2openjdk-6-jre-headless
3openjdk-6-jre-lib
4openjdk-6-jre
5libdbus-1-3
6libneon27-gnutls
diff --git a/meta/conf/swabber/Ubuntu-10.04.1-64/filters b/meta/conf/swabber/Ubuntu-10.04.1-64/filters
new file mode 100644
index 0000000000..a447f70e96
--- /dev/null
+++ b/meta/conf/swabber/Ubuntu-10.04.1-64/filters
@@ -0,0 +1,7 @@
1/usr/local/lib/python2.6
2/usr/lib/python2.6
3/usr/lib/pymodules/python2.6
4/usr/lib/perl/5.10
5# which is part of the debianutils packages, but we don't want to put the entire
6# debianutils package in the whitelist.
7/usr/bin/which
diff --git a/meta/conf/swabber/Ubuntu-10.04.1-64/whitelist b/meta/conf/swabber/Ubuntu-10.04.1-64/whitelist
new file mode 100644
index 0000000000..f0fe9633dc
--- /dev/null
+++ b/meta/conf/swabber/Ubuntu-10.04.1-64/whitelist
@@ -0,0 +1,23 @@
1base-files
2dash
3libacl1
4libattr1
5libbz2-1.0
6libc6
7libc-bin
8libglib2.0-0
9libncurses5
10libselinux1
11libsqlite3-0
12libssl0.9.8
13mime-support
14perl-base
15python2.6
16python2.6-minimal
17python-apport
18python-gst0.10
19python-imaging
20python-minimal
21python-support
22python-zope.interface
23zlib1g
diff --git a/meta/conf/swabber/generic/blacklist b/meta/conf/swabber/generic/blacklist
new file mode 100644
index 0000000000..396bcb4bf2
--- /dev/null
+++ b/meta/conf/swabber/generic/blacklist
@@ -0,0 +1,2 @@
1udev
2dkpg
diff --git a/meta/conf/swabber/generic/filters b/meta/conf/swabber/generic/filters
new file mode 100644
index 0000000000..3b10fcb377
--- /dev/null
+++ b/meta/conf/swabber/generic/filters
@@ -0,0 +1,10 @@
1/tmp
2/etc/localtime
3/etc/ld.so.cache
4/etc/ld.so.conf
5/etc/passwd
6/etc/group
7/etc/nsswitch.conf
8/proc
9/dev/null
10/dev/tty
diff --git a/meta/conf/swabber/generic/whitelist b/meta/conf/swabber/generic/whitelist
new file mode 100644
index 0000000000..48ec2af2c8
--- /dev/null
+++ b/meta/conf/swabber/generic/whitelist
@@ -0,0 +1,15 @@
1bash
2bzip2
3ccache
4coreutils
5cpp
6file
7findutils
8gawk
9grep
10hostname
11make
12sed
13tar
14util-linux
15zlib1g