package/elfutils: does not build with musl
authorYann E. MORIN <yann.morin.1998@free.fr>
Fri, 7 Aug 2015 21:37:51 +0000 (23:37 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 8 Aug 2015 08:56:11 +0000 (10:56 +0200)
elfutils uses so many GNUisms in so many places that patching them out
is a tedious task which would make us diverge so much from upstream that
it would become a nightmare to bump elfutils in the future.

Furthermore, elfutils needs argp, which is missing in musl, so it would
need argp-standalone too (as when using a uClibc toolchain).

Make elfutils depend on either glibc or uClibc. argp-standalone is
already required when using a uClibc toolchain, but since we do not
support musl, no need to add that to the condition.

Fixes (configure failures due to missing argp):
    http://autobuild.buildroot.org/results/743/7432ccd0d060a70bc35f0ac21ec92ae0071592ae/
    http://autobuild.buildroot.org/results/cc9/cc90bd9312f30f91daa50af4253629f58b82c486/
    http://autobuild.buildroot.org/results/d5e/d5e583c695afbc2e686e3002765ce9e1937aa0d5/
    [...]

Fixes (build failures due to GNUisms):
    http://autobuild.buildroot.org/results/ee7/ee7eaf80247dd96548d66be9884b179e20204a98/
    http://autobuild.buildroot.org/results/3f2/3f242853e600bb6bec6ce2f0598d304751ceb81a/
    http://autobuild.buildroot.org/results/7f0/7f0c7c9cb746104f93907544247bc1008d6ad0dc/
    [...]

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/avrdude/Config.in
package/elfutils/Config.in
package/kexec-lite/Config.in
package/ltrace/Config.in
package/racehound/Config.in

index dc842371ac5871984a84d481dc722fe7bc581622..79b26a23c960c1e3223e9830a157fc3f1c4ccb53 100644 (file)
@@ -8,12 +8,14 @@ config BR2_PACKAGE_AVRDUDE
        depends on BR2_USE_WCHAR # elfutils
        depends on !BR2_STATIC_LIBS # elfutils
        depends on !BR2_bfin # elfutils
+       depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
        help
          avrdude is a programmer for Atmel AVR microcontrollers
          this package provides a version with new linuxspi driver
 
          https://github.com/kcuzner/avrdude
 
-comment "avrdude needs a toolchain w/ threads, wchar, dynamic library"
+comment "avrdude needs a uclibc or (e)glibc toolchain w/ threads, wchar, dynamic library"
        depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || BR2_STATIC_LIBS
+       depends on !BR2_TOOLCHAIN_USES_UCLIBC && !BR2_TOOLCHAIN_USES_GLIBC
        depends on !BR2_bfin
index 6c6856e3d7acc81541d5c4a6e907f68d5107ee9e..19ab8fca310c2ad592d8898d5aa48172b6b792be 100644 (file)
@@ -1,6 +1,7 @@
-comment "elfutils needs a toolchain w/ wchar, dynamic library"
+comment "elfutils needs a uClibc or (e)glibc toolchain w/ wchar, dynamic library"
        depends on !BR2_bfin
        depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
+       depends on !BR2_TOOLCHAIN_USES_UCLIBC && !BR2_TOOLCHAIN_USES_GLIBC
 
 config BR2_PACKAGE_ELFUTILS
        bool "elfutils"
@@ -8,6 +9,8 @@ config BR2_PACKAGE_ELFUTILS
        select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
        depends on BR2_USE_WCHAR
        depends on !BR2_STATIC_LIBS
+       # Only glibc and uClibc implement the myriad of required GNUisms
+       depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC
        # build issue caused by the _ prefix used on blackfin for
        # assembly symbols
        depends on !BR2_bfin
index 8417dac94f5bf97555497de2a58ad59cd1c36d4f..6242c46c984726dc3f25d3bcf9a1cf06b2ec602d 100644 (file)
@@ -3,6 +3,7 @@ config BR2_PACKAGE_KEXEC_LITE
        depends on BR2_powerpc || BR2_powerpc64
        depends on !BR2_STATIC_LIBS # dtc, elfutils
        depends on BR2_USE_WCHAR # elfutils
+       depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
        select BR2_PACKAGE_ELFUTILS
        select BR2_PACKAGE_DTC
        select BR2_PACKAGE_DTC_PROGRAMS
@@ -13,6 +14,7 @@ config BR2_PACKAGE_KEXEC_LITE
          This package is a tiny implementation of the kexec userspace
          components, for devicetree-based platforms.
 
-comment "kexec-lite needs a toolchain w/ wchar, dynamic library"
+comment "kexec-lite needs a uClibc or (e)glibc toolchain w/ wchar, dynamic library"
        depends on BR2_powerpc || BR2_powerpc64
        depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR
+       depends on !BR2_TOOLCHAIN_USES_UCLIBC && !BR2_TOOLCHAIN_USES_GLIBC
index 2b42a846e1fd59846fcaa1c4cb1043994e53e5c5..5576efc5131089cafb7dd553374c4a1522dff66d 100644 (file)
@@ -9,6 +9,7 @@ config BR2_PACKAGE_LTRACE
        select BR2_PACKAGE_ELFUTILS
        depends on BR2_USE_WCHAR # elfutils
        depends on !BR2_STATIC_LIBS # elfutils
+       depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
        help
          Debugging program which runs a specified command until it exits.
          While the command is executing, ltrace intercepts and records
@@ -17,5 +18,6 @@ config BR2_PACKAGE_LTRACE
 
          http://ltrace.org
 
-comment "ltrace needs toolchain w/ wchar, dynamic library"
+comment "ltrace needs a uclibc or (e)glibc toolchain w/ wchar, dynamic library"
        depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
+       depends on !BR2_TOOLCHAIN_USES_UCLIBC && !BR2_TOOLCHAIN_USES_GLIBC
index 9fac802b756ea1c52bfaabc1aac6d679659bc6ff..af56b0310b2dc05be7bcb568fb022d0067a4e805 100644 (file)
@@ -6,6 +6,7 @@ config BR2_PACKAGE_RACEHOUND
        depends on BR2_INSTALL_LIBSTDCPP
        depends on BR2_USE_WCHAR # elfutils
        depends on !BR2_STATIC_LIBS # elfutils
+       depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
        # only x86/x86_64 supported
        depends on BR2_i386 || BR2_x86_64
        help
@@ -28,6 +29,7 @@ comment "racehound needs an Linux kernel >= 3.14 to be built"
        depends on !BR2_LINUX_KERNEL || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14
        depends on BR2_i386 || BR2_x86_64
 
-comment "racehound needs a toolchain w/ C++, wchar, dynamic library"
+comment "racehound needs a uClibc or (e)glibc toolchain w/ C++, wchar, dynamic library"
        depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || BR2_STATIC_LIBS
        depends on BR2_i386 || BR2_x86_64
+       depends on !BR2_TOOLCHAIN_USES_UCLIBC && !BR2_TOOLCHAIN_USES_GLIBC