All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] arm-toolchain: merge binary toolchain recipes
@ 2020-06-02  0:05 Jon Mason
  2020-06-02  6:57 ` Diego Sueiro
  0 siblings, 1 reply; 5+ messages in thread
From: Jon Mason @ 2020-06-02  0:05 UTC (permalink / raw)
  To: meta-arm

Merge the majority of the binary toolchain recipes for building on an
x86 host into a common include file.

Also, found and fixed an error with both install commands where the name
was double nested on the copy.  For example,
/usr/share/arm-none-eabi/arm-none-eabi/ due to the way it was being
copied.

Signed-off-by: Jon Mason <jdmason@kudzu.us>
---
 .../gcc-aarch64-none-elf_9.2-2019.12.bb       | 27 ++-----------------
 .../gcc-arm-none-eabi_9-2019-q4-major.bb      | 27 ++-----------------
 .../external-arm-toolchain/gcc-x86host.inc    | 26 ++++++++++++++++++
 3 files changed, 30 insertions(+), 50 deletions(-)
 create mode 100644 meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc

diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_9.2-2019.12.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_9.2-2019.12.bb
index 2ec0f9c..1e4689c 100644
--- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_9.2-2019.12.bb
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-aarch64-none-elf_9.2-2019.12.bb
@@ -1,6 +1,8 @@
 # Copyright (C) 2020 Texas Instruments Inc.
 # Released under the MIT license (see COPYING.MIT for the terms)
 
+require gcc-x86host.inc
+
 SUMMARY = "Baremetal GCC for Aarch64 processors"
 LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
 
@@ -11,28 +13,3 @@ PROVIDES = "virtual/aarch64-none-elf-gcc"
 SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/gcc-arm-${PV}-x86_64-aarch64-none-elf.tar.xz"
 
 SRC_URI[sha256sum] = "36d2cbe7c2984f2c20f562ac2f3ba524c59151adfa8ee10f1326c88de337b6d1"
-
-S = "${WORKDIR}/gcc-arm-${PV}-x86_64-aarch64-none-elf"
-
-COMPATIBLE_HOST = "x86_64.*-linux"
-
-do_install() {
-    install -d ${D}${datadir}/aarch64-none-elf/
-    cp -r ${S}/. ${D}${datadir}/aarch64-none-elf/
-
-    install -d ${D}${bindir}
-    # Symlink all executables into bindir
-    for f in ${D}${datadir}/aarch64-none-elf/bin/aarch64-none-elf-*; do
-        lnr $f ${D}${bindir}/$(basename $f)
-    done
-}
-
-FILES_${PN} = "${datadir} ${bindir}"
-
-INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
-
-INHIBIT_SYSROOT_STRIP = "1"
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
index 84f6dba..a36f0aa 100644
--- a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
@@ -1,6 +1,8 @@
 # Copyright (C) 2019 Garmin Ltd. or its subsidiaries
 # Released under the MIT license (see COPYING.MIT for the terms)
 
+require gcc-x86host.inc
+
 SUMMARY = "Baremetal GCC for ARM-R and ARM-M processors"
 LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
 
@@ -12,28 +14,3 @@ SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/${B
 
 SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
 SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-COMPATIBLE_HOST = "x86_64.*-linux"
-
-do_install() {
-    install -d ${D}${datadir}/arm-none-eabi/
-    cp -r ${S}/. ${D}${datadir}/arm-none-eabi/
-
-    install -d ${D}${bindir}
-    # Symlink all executables into bindir
-    for f in ${D}${datadir}/arm-none-eabi/bin/arm-none-eabi-*; do
-        lnr $f ${D}${bindir}/$(basename $f)
-    done
-}
-
-FILES_${PN} = "${datadir} ${bindir}"
-
-INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
-
-INHIBIT_SYSROOT_STRIP = "1"
-INHIBIT_PACKAGE_STRIP = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
new file mode 100644
index 0000000..332ffab
--- /dev/null
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
@@ -0,0 +1,26 @@
+S = "${WORKDIR}/${BPN}-${PV}"
+
+COMPATIBLE_HOST = "x86_64.*-linux"
+
+FILES_${PN} = "${datadir} ${bindir}"
+
+BINNAME = "${@d.getVar("BPN").strip("gcc-")}"
+
+do_install() {
+    install -d ${D}${datadir}/${BINNAME}/
+    cp -r ${S}/. ${D}${datadir}/
+
+    install -d ${D}${bindir}
+    # Symlink all executables into bindir
+    for f in ${D}${datadir}/${BINNAME}/bin/${BINNAME}-*; do
+        lnr $f ${D}${bindir}/$(basename $f)
+    done
+}
+
+INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
+
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] arm-toolchain: merge binary toolchain recipes
  2020-06-02  0:05 [PATCH v2] arm-toolchain: merge binary toolchain recipes Jon Mason
@ 2020-06-02  6:57 ` Diego Sueiro
  2020-06-02 10:16   ` Diego Sueiro
  2020-06-02 12:11   ` Jon Mason
  0 siblings, 2 replies; 5+ messages in thread
From: Diego Sueiro @ 2020-06-02  6:57 UTC (permalink / raw)
  To: meta-arm


> diff --git
> a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
> b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
> new file mode 100644
> index 0000000..332ffab
> --- /dev/null
> +++
> b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
> @@ -0,0 +1,26 @@
> +S = "${WORKDIR}/${BPN}-${PV}"

As @Ross mentioned, this is already the default value for the S variable.

> +
> +COMPATIBLE_HOST = "x86_64.*-linux"
> +
> +FILES_${PN} = "${datadir} ${bindir}"
> +
> +BINNAME = "${@d.getVar("BPN").strip("gcc-")}"
> +
> +do_install() {
> +    install -d ${D}${datadir}/${BINNAME}/
> +    cp -r ${S}/. ${D}${datadir}/
> +
> +    install -d ${D}${bindir}
> +    # Symlink all executables into bindir
> +    for f in ${D}${datadir}/${BINNAME}/bin/${BINNAME}-*; do
> +        lnr $f ${D}${bindir}/$(basename $f)
> +    done
> +}
> +
> +INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
> +
> +INHIBIT_SYSROOT_STRIP = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> +
> +BBCLASSEXTEND = "native nativesdk"
> -- 
> 2.20.1
> 
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2] arm-toolchain: merge binary toolchain recipes
  2020-06-02  6:57 ` Diego Sueiro
@ 2020-06-02 10:16   ` Diego Sueiro
  2020-06-02 11:05     ` [meta-arm] " Richard Purdie
  2020-06-02 12:11   ` Jon Mason
  1 sibling, 1 reply; 5+ messages in thread
From: Diego Sueiro @ 2020-06-02 10:16 UTC (permalink / raw)
  To: meta-arm

On Tue, Jun  2, 2020 at 07:57 AM, Diego Sueiro wrote:

>
> 
> > diff --git
> > a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
> > b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
> > new file mode 100644
> > index 0000000..332ffab
> > --- /dev/null
> > +++
> > b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
> > @@ -0,0 +1,26 @@
> > +S = "${WORKDIR}/${BPN}-${PV}"
> 
> As @Ross mentioned, this is already the default value for the S variable.

It seems that the documentation[1] needs to be updated since the S now defaults to "${WORKDIR}/${BP}" [2] :

[1] - https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-S
[2] - http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/conf/bitbake.conf#n372

> 
> > +
> > +COMPATIBLE_HOST = "x86_64.*-linux"
> > +
> > +FILES_${PN} = "${datadir} ${bindir}"
> > +
> > +BINNAME = "${@d.getVar("BPN").strip("gcc-")}"
> > +
> > +do_install() {
> > +    install -d ${D}${datadir}/${BINNAME}/
> > +    cp -r ${S}/. ${D}${datadir}/
> > +
> > +    install -d ${D}${bindir}
> > +    # Symlink all executables into bindir
> > +    for f in ${D}${datadir}/${BINNAME}/bin/${BINNAME}-*; do
> > +        lnr $f ${D}${bindir}/$(basename $f)
> > +    done
> > +}
> > +
> > +INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
> > +
> > +INHIBIT_SYSROOT_STRIP = "1"
> > +INHIBIT_PACKAGE_STRIP = "1"
> > +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> > -- 
> > 2.20.1
> > 
> >
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [meta-arm] [PATCH v2] arm-toolchain: merge binary toolchain recipes
  2020-06-02 10:16   ` Diego Sueiro
@ 2020-06-02 11:05     ` Richard Purdie
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Purdie @ 2020-06-02 11:05 UTC (permalink / raw)
  To: Diego Sueiro, meta-arm

On Tue, 2020-06-02 at 03:16 -0700, Diego Sueiro wrote:
> On Tue, Jun  2, 2020 at 07:57 AM, Diego Sueiro wrote:
> 
> > 
> > > diff --git
> > > a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-
> > > x86host.inc
> > > b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-
> > > x86host.inc
> > > new file mode 100644
> > > index 0000000..332ffab
> > > --- /dev/null
> > > +++
> > > b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-
> > > x86host.inc
> > > @@ -0,0 +1,26 @@
> > > +S = "${WORKDIR}/${BPN}-${PV}"
> > 
> > As @Ross mentioned, this is already the default value for the S
> > variable.
> 
> It seems that the documentation[1] needs to be updated since the S now defaults to "${WORKDIR}/${BP}" [2] :
> 
> [1] - https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-S
> [2] - http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/conf/bitbake.conf#n372

I'd note that BP = "${BPN}-${PV}" so it is essentially correct.

Cheers,

Richard


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [meta-arm] [PATCH v2] arm-toolchain: merge binary toolchain recipes
  2020-06-02  6:57 ` Diego Sueiro
  2020-06-02 10:16   ` Diego Sueiro
@ 2020-06-02 12:11   ` Jon Mason
  1 sibling, 0 replies; 5+ messages in thread
From: Jon Mason @ 2020-06-02 12:11 UTC (permalink / raw)
  To: Diego Sueiro; +Cc: meta-arm

On Mon, Jun 01, 2020 at 11:57:39PM -0700, Diego Sueiro wrote:
> 
> > diff --git
> > a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
> > b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
> > new file mode 100644
> > index 0000000..332ffab
> > --- /dev/null
> > +++
> > b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-x86host.inc
> > @@ -0,0 +1,26 @@
> > +S = "${WORKDIR}/${BPN}-${PV}"
> 
> As @Ross mentioned, this is already the default value for the S variable.

I still saw it in the Poky tree.  So, I thought it okay to keep in.
See meta/recipes-extended/logrotate/logrotate_3.16.0.bb:S = "${WORKDIR}/${BPN}-${PV}"

I'll remove it and do a v3.

Thanks,
Jon

> 
> > +
> > +COMPATIBLE_HOST = "x86_64.*-linux"
> > +
> > +FILES_${PN} = "${datadir} ${bindir}"
> > +
> > +BINNAME = "${@d.getVar("BPN").strip("gcc-")}"
> > +
> > +do_install() {
> > +    install -d ${D}${datadir}/${BINNAME}/
> > +    cp -r ${S}/. ${D}${datadir}/
> > +
> > +    install -d ${D}${bindir}
> > +    # Symlink all executables into bindir
> > +    for f in ${D}${datadir}/${BINNAME}/bin/${BINNAME}-*; do
> > +        lnr $f ${D}${bindir}/$(basename $f)
> > +    done
> > +}
> > +
> > +INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
> > +
> > +INHIBIT_SYSROOT_STRIP = "1"
> > +INHIBIT_PACKAGE_STRIP = "1"
> > +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> > -- 
> > 2.20.1
> > 
> >

> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-06-02 12:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-02  0:05 [PATCH v2] arm-toolchain: merge binary toolchain recipes Jon Mason
2020-06-02  6:57 ` Diego Sueiro
2020-06-02 10:16   ` Diego Sueiro
2020-06-02 11:05     ` [meta-arm] " Richard Purdie
2020-06-02 12:11   ` Jon Mason

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.