Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 23/23] toolchain-external: introduce and use external toolchain infra
Date: Sun, 30 Oct 2016 19:38:20 +0100	[thread overview]
Message-ID: <28350dcb-4c46-22ce-63aa-5d4ff8902b47@gmail.com> (raw)
In-Reply-To: <1477742948-11490-24-git-send-email-romain.naour@gmail.com>

Hi All,

Le 29/10/2016 ? 14:09, Romain Naour a ?crit :
> This fairly large commit is needed to switch in one atomic change from
> the old single package based external toolchain handling, to a
> mechanism based on a common external toolchain package infrastructure
> and separate packages for each toolchain family. The purpose is to
> clearly separate the common external toolchain logic from the
> toolchain-specific details and generally make the external toolchain
> code hopefully easier to maintain.
> 
> To achieve this, this commit:
> 
>  - Introduce in pkg-toolchain-external.mk the
>      'toolchain-external-package' macro, which is the core of the
>      external toolchain package infrastructure. Like any other package
>      infrastructure, it defines a number of variables and provides a
>      behavior for the configure, build and install steps.
> 
>    - Turn the toolchain-external.mk file in a simple virtual package,
>      which automatically depends on the selected external
>      toolchain. Like any other virtual package, the Kconfig variable
>      BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL indicates which package is
>      providing the currently selected toolchain.
> 
>    - Removes all the toolchain-specific definitions from
>      toolchain/toolchain-external/Config.in as well as the hash file,
>      and instead use the per-toolchain packages in the subdirectories
>      toolchain/toolchain-external/*/.
> 
>    - Wine: Use $(TOOLCHAIN_EXTERNAL_PREFIX) instead of
>      $(BR2_TOOLCHAIN_EXTERNAL_PREFIX) which was removed.
> 
>    - Remove the old toolchain-external.hash file. The hash is now
>      provided by the toolchain package.
> 
> Notes:
>    - The hack for setting TOOLCHAIN_EXTERNAL_BIN for the ADI bfin
>      toolchain is no longer needed.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ---
> v2: - merge all pkg-toolchain-external* into pkg-toolchain-external.mk (Arnout)
>     - rebase on master
> 
>     fix two big issue:
>     1) TOOLCHAIN_EXTERNAL_COMMON_WRAPPER_ARGS were not included in the
>        toolchain wrapper.
>     2) TOOLCHAIN_EXTERNAL_CFLAGS wasn't included in $(2)_CFLAGS, same
>        for TOOLCHAIN_EXTERNAL_LIBS and $(2)_LIBS. So no libraries were
>        intalled in target.
> ---

[...]

> +source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-arago-armv5te/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-arago-armv7a/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in"

The codesourcery toolchains were named sourcery in a previous version of this
series, but now it's not sorted alphabetically.
Also, for ARM the default toochain choice is arago which is an very old
toolchain (2011), do we want to keep the default ARM choice to linaro or
codesourcery toolchain ?

With the change, some existing defconfig will not use the same toolchain.

Best regards,
Romain

> +source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in"
> +
> +# Kept last, so it remains the non-default choice, unless there isn't
> +# any available toolchain profile for the currently selected
> +# architecture.
> +source "toolchain/toolchain-external/toolchain-external-custom/Config.in"



[...]

> +source "toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-arago-armv5te/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-arago-armv7a/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-musl-cross/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-mips/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-sh/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-codesourcery-x86/Config.in.options"
> +source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options"
> +
> +source "toolchain/toolchain-external/toolchain-external-custom/Config.in.options"
>  

  reply	other threads:[~2016-10-30 18:38 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-29 12:08 [Buildroot] [PATCH v2 00/23] Splitting the toolchain-external package Romain Naour
2016-10-29 12:08 ` [Buildroot] [PATCH v2 01/23] toolchain-external: TOOLCHAIN_EXTERNAL_CREATE_*_LIB_SYMLINK: use arguments instead of global variables Romain Naour
2016-10-30 16:20   ` Yann E. MORIN
2016-10-29 12:08 ` [Buildroot] [PATCH v2 02/23] toolchain-external: TOOLCHAIN_EXTERNAL_INSTALL_*_LIBS: " Romain Naour
2016-10-30 16:27   ` Yann E. MORIN
2016-10-29 12:08 ` [Buildroot] [PATCH v2 03/23] toolchain-external: TOOLCHAIN_EXTERNAL_INSTALL_WRAPPER: " Romain Naour
2016-10-30 16:29   ` Yann E. MORIN
2016-10-29 12:08 ` [Buildroot] [PATCH v2 04/23] toolchain-external: TOOLCHAIN_EXTERNAL_INSTALL_TARGET_GDBSERVER: " Romain Naour
2016-10-30 16:31   ` Yann E. MORIN
2016-10-29 12:08 ` [Buildroot] [PATCH v2 05/23] toolchain-external-blackfin-uclinux: new package Romain Naour
2016-10-30 16:47   ` Yann E. MORIN
2016-10-30 17:37     ` Thomas Petazzoni
2016-10-30 18:17       ` Yann E. MORIN
2016-11-01 13:19         ` Thomas Petazzoni
2016-11-01 18:06           ` Romain Naour
2016-11-01 18:14             ` Yann E. MORIN
2016-11-02  9:48               ` Thomas Petazzoni
2016-10-30 16:50   ` Yann E. MORIN
2016-10-29 12:08 ` [Buildroot] [PATCH v2 06/23] toolchain-external-arago-armv7a: " Romain Naour
2016-10-29 12:08 ` [Buildroot] [PATCH v2 07/23] toolchain-external-arago-armv5te: " Romain Naour
2016-10-29 12:08 ` [Buildroot] [PATCH v2 08/23] toolchain-external-custom: " Romain Naour
2016-10-29 12:08 ` [Buildroot] [PATCH v2 09/23] toolchain-external-linaro-aarch64: " Romain Naour
2016-10-29 12:08 ` [Buildroot] [PATCH v2 10/23] toolchain-external-linaro-arm: " Romain Naour
2016-10-29 12:08 ` [Buildroot] [PATCH v2 11/23] toolchain-external-linaro-armeb: " Romain Naour
2016-10-29 12:08 ` [Buildroot] [PATCH v2 12/23] toolchain-external-musl-cross: " Romain Naour
2016-10-29 12:08 ` [Buildroot] [PATCH v2 13/23] toolchain-external-codesourcery-aarch64: " Romain Naour
2016-10-29 12:08 ` [Buildroot] [PATCH v2 14/23] toolchain-external-codesourcery-arm: " Romain Naour
2016-10-29 12:09 ` [Buildroot] [PATCH v2 15/23] toolchain-external-codesourcery-mips: " Romain Naour
2016-10-29 12:09 ` [Buildroot] [PATCH v2 16/23] toolchain-external-codesourcery-niosII: " Romain Naour
2016-10-29 12:09 ` [Buildroot] [PATCH v2 17/23] toolchain-external-codesourcery-sh: " Romain Naour
2016-10-29 12:09 ` [Buildroot] [PATCH v2 18/23] toolchain-external-codesourcery-x86: " Romain Naour
2016-10-29 12:09 ` [Buildroot] [PATCH v2 19/23] toolchain-external-codesourcery-amd64: " Romain Naour
2016-10-29 12:09 ` [Buildroot] [PATCH v2 20/23] toolchain-external-synopsys-arc: " Romain Naour
2016-10-29 12:09 ` [Buildroot] [PATCH v2 21/23] toolchain-external-codescape-img-mips: " Romain Naour
2016-10-29 12:09 ` [Buildroot] [PATCH v2 22/23] toolchain-external-codescape-mti-mips: " Romain Naour
2016-10-29 12:09 ` [Buildroot] [PATCH v2 23/23] toolchain-external: introduce and use external toolchain infra Romain Naour
2016-10-30 18:38   ` Romain Naour [this message]
2016-11-01 13:23     ` Thomas Petazzoni
2016-11-01 17:42       ` Romain Naour
2016-11-02  9:55         ` Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=28350dcb-4c46-22ce-63aa-5d4ff8902b47@gmail.com \
    --to=romain.naour@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox