Skip to contentSkip to conversation

toolchain: also source the musl package

PATCH New Yann E. MORIN 3 participants 3 messages Mar 8, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 toolchain: also source the musl package

We do source the glibc and uClibc packages in the toolchain menu, because they do provide user-visible options. However, we do not so far source the musl Config.in file

However, in 822be87 (toolchain: include C libraries in legal-info), a Config.in file for musl was explicitly created, so that:
- legal-info woudl work (needed at the time, probably no longer needed nowadays),
- the appropriate packages are enabled, linke netbsd-queue or kernel headers.

Yet, we do not source musl/Config.in, which means we do not get netbsd-queue or kernel-headers to be selected:

    $ make distclean; make menuconfig
        Toolchain  --->
          C library ---> musl
      save-and-exit
    $ grep BR2_PACKAGE_LINUX_HEADERS .config
        [nothing]
    $ grep BR2_PACKAGE_NETBSD_QUEUE .config
        [nothing]

Fix that by sourcing musl/Config.in at the same place we source glibc and uClibc.

Normally, we do have a check in place that verifies that a package that is not enabled is not a dependency of another package that is enabled. However, musl is only a dependency of host-gcc-final, which is a host package and has no corresponding BR2_PACKAGE_HOST_GCC_FINAL. Thus host-gcc-final is not in the PACKAGES variable, and thus does not trigger our check.

---
 toolchain/toolchain-buildroot/Config.in | 1 +
 1 file changed, 1 insertion(+)
toolchain/toolchain-buildroot/Config.in +1 -0
index 37c6624..cb4fc18 100644
@@ -110,6 +110,7 @@ config BR2_TOOLCHAIN_BUILDROOT_LIBC
 	default "musl"	 if BR2_TOOLCHAIN_BUILDROOT_MUSL
 
 source "package/linux-headers/Config.in"
+source "package/musl/Config.in"
 source "package/uclibc/Config.in"
 source "package/glibc/Config.in"
 source "package/binutils/Config.in.host"
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 toolchain: also source the musl package

Quoted 33 lines · Yann E. MORIN

We do source the glibc and uClibc packages in the toolchain menu, because they do provide user-visible options. However, we do not so far source the musl Config.in file

However, in 822be87 (toolchain: include C libraries in legal-info), a Config.in file for musl was explicitly created, so that:
- legal-info woudl work (needed at the time, probably no longer needed nowadays),
- the appropriate packages are enabled, linke netbsd-queue or kernel headers.

Yet, we do not source musl/Config.in, which means we do not get netbsd-queue or kernel-headers to be selected:

     $ make distclean; make menuconfig
         Toolchain  --->
           C library ---> musl
       save-and-exit
     $ grep BR2_PACKAGE_LINUX_HEADERS .config
         [nothing]
     $ grep BR2_PACKAGE_NETBSD_QUEUE .config
         [nothing]

Fix that by sourcing musl/Config.in at the same place we source glibc and uClibc.

Normally, we do have a check in place that verifies that a package that is not enabled is not a dependency of another package that is enabled. However, musl is only a dependency of host-gcc-final, which is a host package and has no corresponding BR2_PACKAGE_HOST_GCC_FINAL. Thus host-gcc-final is not in the PACKAGES variable, and thus does not trigger our check.

Quoted 4 lines

Regards,
Arnout

Quoted 17 lines
---
  toolchain/toolchain-buildroot/Config.in | 1 +
  1 file changed, 1 insertion(+)
toolchain/toolchain-buildroot/Config.in +1 -0
index 37c6624..cb4fc18 100644
@@ -110,6 +110,7 @@ config BR2_TOOLCHAIN_BUILDROOT_LIBC
  	default "musl"	 if BR2_TOOLCHAIN_BUILDROOT_MUSL
 
  source "package/linux-headers/Config.in"
+source "package/musl/Config.in"
  source "package/uclibc/Config.in"
  source "package/glibc/Config.in"
  source "package/binutils/Config.in.host"
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#2 lore raw

PATCH 1/1 toolchain: also source the musl package

In reply to Yann E. MORIN
Quoted 35 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yann" == Yann E MORIN <[email protected]> writes:

We do source the glibc and uClibc packages in the toolchain menu, because they do provide user-visible options. However, we do not so far source the musl Config.in file

However, in 822be87 (toolchain: include C libraries in legal-info), a Config.in file for musl was explicitly created, so that:
- legal-info woudl work (needed at the time, probably no longer needed nowadays),
- the appropriate packages are enabled, linke netbsd-queue or kernel headers.

Yet, we do not source musl/Config.in, which means we do not get netbsd-queue or kernel-headers to be selected:

    $ make distclean; make menuconfig
        Toolchain  --->
          C library ---> musl
      save-and-exit
    $ grep BR2_PACKAGE_LINUX_HEADERS .config
        [nothing]
    $ grep BR2_PACKAGE_NETBSD_QUEUE .config
        [nothing]

Fix that by sourcing musl/Config.in at the same place we source glibc and uClibc.

Normally, we do have a check in place that verifies that a package that is not enabled is not a dependency of another package that is enabled. However, musl is only a dependency of host-gcc-final, which is a host package and has no corresponding BR2_PACKAGE_HOST_GCC_FINAL. Thus host-gcc-final is not in the PACKAGES variable, and thus does not trigger our check.

Quoted 4 lines

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard