Re: [LEDE-DEV] [PATCH v2] toolchain: Rework external toolchain libc selection

2016-09-12 Thread Florian Fainelli
On 09/07/2016 10:26 AM, Florian Fainelli wrote:
> Make it a choice menu which offers the 3 C libraries we know about: glibc,
> uClibc and musl. While at it, make it possible for the external toolchain libc
> to select USE_GLIBC, USE_UCLIBC or USE_MUSL which is used by several packages
> to conditionally include specific CFLAGS (e.g: iproute2).
> 
> Because USE_GLIBC et al. can now be selected by external toolchains, we need 
> to
> restrict the per-libc menus to check on !EXTERNAL_TOOLCHAIN.
> 
> While at it, make musl the default C library for external toolchain to match
> the internal toolchain.
> 
> Signed-off-by: Florian Fainelli 
> ---
> Changes in v2:
> 
> - do not make musl broken
> - make musl the default
> 
>  toolchain/Config.in| 21 ++---
>  toolchain/glibc/Config.in  |  2 +-
>  toolchain/uClibc/Config.in |  2 +-
>  3 files changed, 20 insertions(+), 5 deletions(-)
> 
> diff --git a/toolchain/Config.in b/toolchain/Config.in
> index 75dc5361a682..7ec1875862d4 100644
> --- a/toolchain/Config.in
> +++ b/toolchain/Config.in
> @@ -96,17 +96,32 @@ menuconfig EXTERNAL_TOOLCHAIN
>   default "/opt/cross/powerpc-unknown-linux-gnu"  if powerpc
>   default "/opt/cross/x86_64-unknown-linux-gnu"   if x86_64
>  
> - config TOOLCHAIN_LIBC
> - string

Since this was directly passed down to scripts/ext-toolchain.sh, it
seems like we may need need to assign this value somehow based on the
choice offered below, I will respin a patch doing that.
-- 
Florian

___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev


[LEDE-DEV] [PATCH v2] toolchain: Rework external toolchain libc selection

2016-09-07 Thread Florian Fainelli
Make it a choice menu which offers the 3 C libraries we know about: glibc,
uClibc and musl. While at it, make it possible for the external toolchain libc
to select USE_GLIBC, USE_UCLIBC or USE_MUSL which is used by several packages
to conditionally include specific CFLAGS (e.g: iproute2).

Because USE_GLIBC et al. can now be selected by external toolchains, we need to
restrict the per-libc menus to check on !EXTERNAL_TOOLCHAIN.

While at it, make musl the default C library for external toolchain to match
the internal toolchain.

Signed-off-by: Florian Fainelli 
---
Changes in v2:

- do not make musl broken
- make musl the default

 toolchain/Config.in| 21 ++---
 toolchain/glibc/Config.in  |  2 +-
 toolchain/uClibc/Config.in |  2 +-
 3 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/toolchain/Config.in b/toolchain/Config.in
index 75dc5361a682..7ec1875862d4 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -96,17 +96,32 @@ menuconfig EXTERNAL_TOOLCHAIN
default "/opt/cross/powerpc-unknown-linux-gnu"  if powerpc
default "/opt/cross/x86_64-unknown-linux-gnu"   if x86_64
 
-   config TOOLCHAIN_LIBC
-   string
+   choice TOOLCHAIN_LIBC
prompt "Toolchain libc"  if DEVEL
depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
-   default "uclibc"
+   default EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL
help
  Specify the libc type used by the external toolchain. The 
given value
  is passed as -m flag to all gcc and g++ invocations. This is 
mainly
  intended for multilib toolchains which support glibc and 
uclibc at
  the same time. If no value is specified, no -m flag is passed.
 
+   config EXTERNAL_TOOLCHAIN_LIBC_USE_GLIBC
+   bool "glibc"
+   select USE_GLIBC
+
+   config EXTERNAL_TOOLCHAIN_LIBC_USE_UCLIBC
+   bool "uClibc"
+   select USE_UCLIBC
+   depends on !(aarch64 || aarch64_be)
+
+   config EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL
+   bool "musl"
+   select USE_MUSL
+   depends on !(mips64 || mips64el)
+
+   endchoice
+
config TOOLCHAIN_BIN_PATH
string
prompt "Toolchain program path"  if DEVEL
diff --git a/toolchain/glibc/Config.in b/toolchain/glibc/Config.in
index 036604f4a7c0..5adbeb6f8245 100644
--- a/toolchain/glibc/Config.in
+++ b/toolchain/glibc/Config.in
@@ -1,6 +1,6 @@
 choice
prompt "glibc version"
-   depends on TOOLCHAINOPTS && USE_GLIBC
+   depends on TOOLCHAINOPTS && USE_GLIBC && !EXTERNAL_TOOLCHAIN
default GLIBC_USE_VERSION_2_24
help
  Select the version of glibc you wish to use.
diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in
index 5793bb779f5c..3bcb0037e9f6 100644
--- a/toolchain/uClibc/Config.in
+++ b/toolchain/uClibc/Config.in
@@ -2,5 +2,5 @@
 
 config UCLIBC_ENABLE_DEBUG
bool "Build with debug information"
-   depends on TOOLCHAINOPTS && USE_UCLIBC
+   depends on TOOLCHAINOPTS && USE_UCLIBC && !EXTERNAL_TOOLCHAIN
default n
-- 
2.9.3


___
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev