Patchwork allarch: Generate same package for MIPS and non-MIPS targets

login
register
mail settings
Submitter Mike Crowe
Date July 24, 2014, 11:24 a.m.
Message ID <1406201093-1546-1-git-send-email-mac@mcrowe.com>
Download mbox | patch
Permalink /patch/76581/
State Accepted
Commit df214ad1a5f0b1a5579c88127986459887cfe14f
Headers show

Comments

Mike Crowe - July 24, 2014, 11:24 a.m.
LINKER_HASH_STYLE differs between MIPS and non-MIPS targets. This means
that LDFLAGS differs too. LDFLAGS is exported so it influences all task
hashes. Unfortunately this means that packages with architecture "all"
differ depending on whether they are built for a MIPS or non-MIPS target.
This causes a lot of unnecessary churn in the ipk/all directory when
switching build targets.

The simplest way to fix this is to ensure that LDFLAGS stays the same for
architecture "all" packages by clearing it. It shouldn't being used by such
packages anyway.

Signed-off-by: Mike Crowe <mac@mcrowe.com>
---
 meta/classes/allarch.bbclass | 5 +++++
 1 file changed, 5 insertions(+)
Khem Raj - July 24, 2014, 8:29 p.m.
On Thu, Jul 24, 2014 at 4:24 AM, Mike Crowe <mac@mcrowe.com> wrote:
> LINKER_HASH_STYLE differs between MIPS and non-MIPS targets. This means
> that LDFLAGS differs too. LDFLAGS is exported so it influences all task
> hashes. Unfortunately this means that packages with architecture "all"
> differ depending on whether they are built for a MIPS or non-MIPS target.
> This causes a lot of unnecessary churn in the ipk/all directory when
> switching build targets.
>
> The simplest way to fix this is to ensure that LDFLAGS stays the same for
> architecture "all" packages by clearing it. It shouldn't being used by such
> packages anyway.
>
> Signed-off-by: Mike Crowe <mac@mcrowe.com>
> ---
>  meta/classes/allarch.bbclass | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
> index d41dd4b..c953e7c 100644
> --- a/meta/classes/allarch.bbclass
> +++ b/meta/classes/allarch.bbclass
> @@ -28,6 +28,11 @@ python () {
>          d.setVar("SDK_ARCH", "none")
>          d.setVar("SDK_CC_ARCH", "none")
>
> +        # Avoid this being unnecessarily different due to nuances of
> +        # the target machine that aren't important for "all" arch
> +        # packages.
> +        d.setVar("LDFLAGS", "")
> +


Looks good.

>          # No need to do shared library processing or debug symbol handling
>          d.setVar("EXCLUDE_FROM_SHLIBS", "1")
>          d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1")
> --
> 2.0.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
index d41dd4b..c953e7c 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes/allarch.bbclass
@@ -28,6 +28,11 @@  python () {
         d.setVar("SDK_ARCH", "none")
         d.setVar("SDK_CC_ARCH", "none")
 
+        # Avoid this being unnecessarily different due to nuances of
+        # the target machine that aren't important for "all" arch
+        # packages.
+        d.setVar("LDFLAGS", "")
+
         # No need to do shared library processing or debug symbol handling
         d.setVar("EXCLUDE_FROM_SHLIBS", "1")
         d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1")