From 117c9b4a64a4c490b353e31567d0a593bac98a3f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 21 Nov 2014 06:40:49 -0600 Subject: [PATCH] dev-manual: Edits to the multi-machine builds section. Fixes [YOCTO #5400] I applied some review edits to this section as suggested by Richard Purdie. (From yocto-docs rev: a1898cf65537e732e0e42605bb28d636077e7f56) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index a710efe6d5..664b2943c3 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -5988,10 +5988,10 @@ Gateways via their Web Interfaces" CPU core used in a system might enable some micro optimizations in GCC for that particular system but would otherwise not gain you much of a performance difference across the other systems - as compared to using a more general tuning across all the builds. - Another example is setting + as compared to using a more general tuning across all the builds + (e.g. setting DEFAULTTUNE - specifically for each machine's build. + specifically for each machine's build). Rather than "max out" each build's tunings, you can take steps that cause the OpenEmbedded build system to reuse software across the various machines where it makes sense. @@ -6044,7 +6044,7 @@ Gateways via their Web Interfaces" allarch class. This class is useful for "all" architectures because it - contains many other variables that can be used across + configures many variables so packages can be used across multiple architectures. If your recipe needs to generate packages that are machine-specific or when one of the build or runtime @@ -6057,17 +6057,14 @@ Gateways via their Web Interfaces" PACKAGE_ARCH = "${MACHINE_ARCH}" - If you select a specific tuning for the recipe, - the OpenEmbedded build system enables the package - architecture defined by that tuning file. - When you do not specifically enable a package + When you do not specifically enable a package architecture through the PACKAGE_ARCH, The OpenEmbedded build system defaults to the TUNE_ARCH setting: - PACKAGE_ARCH == TUNE_ARCH + PACKAGE_ARCH = "${TUNE_ARCH}" Choose a Generic Tuning File if Possible: @@ -6076,7 +6073,9 @@ Gateways via their Web Interfaces" run on armv6 and armv7 processors in most cases). Similarly, i486 binaries could work - on i586 and higher processors. + on i586 and higher processors. + You should realize, however, that advances on newer + processor versions would not be used. If you select the same tune for several different machines, the OpenEmbedded build system reuses software previously built, thus speeding up the overall build time. @@ -6085,7 +6084,7 @@ Gateways via their Web Interfaces" package feed exists. Manage Granular Level Packaging: - Sometimes cases exist where where injecting another level + Sometimes cases exist where injecting another level of package architecture beyond the three higher levels noted earlier can be useful. For example, consider the emgd @@ -6096,7 +6095,8 @@ Gateways via their Web Interfaces" generic packages. You can examine the key code in the Source Repositories - in classes/emgd-gl.bbclass. + "daisy" branch in + classes/emgd-gl.bbclass. For a specific set of packages, the code redefines PACKAGE_ARCH. PACKAGE_EXTRA_ARCHS