kumquat-buildroot/package/efivar/Config.in
Erico Nunes 0474d89de7 efivar: introduce BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS
efivar only makes sense on platforms that support UEFI.
UEFI is only supported by some architectures at the moment, being mostly
employed on platforms such as x86, x86_64 and aarch64. Some other
platforms such as MIPS and PowerPC may have some unofficial UEFI
support. UEFI is also limited to little endian architectures.

efivar was being supported in Buildroot without architecture
restrictions so far, however this has led to the creation of a number of
hacks in the recipes, mostly for architectures that are not supported by
UEFI.
In order to avoid spending more time to debug these failures and
maintaining more hacks for unsupported architectures, efivar can be
restricted to that platforms where it makes sense and where it is more
likely to receive some testing and actual usage.

The existing hacks for the now unsupported architectures are removed,
and the dependency is propagated to efibootmgr as it depends on efivar.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-12-07 23:41:52 +01:00

35 lines
1.3 KiB
Plaintext

config BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS
bool
depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 \
|| BR2_powerpc64le || BR2_mipsel || BR2_mips64el
default y
config BR2_PACKAGE_EFIVAR
bool "efivar"
depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS
depends on !BR2_STATIC_LIBS # dlfcn.h
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # linux/nvme.h
# linux/nvme.h has been renamed to linux/nvme_ioctl.h since 4.4,
# and the efivar source handles that situation. However, some
# Sourcery CodeBench toolchains use 4.4 kernel headers but they
# don't have that header file renamed, and that is causing build
# failures. So, prevent this package to be built using those
# toolchains.
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
# doesn't build with musl due to lack of __bswap_constant_16
depends on !BR2_TOOLCHAIN_USES_MUSL
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
select BR2_PACKAGE_POPT
help
Tools and libraries to manipulate EFI variables
https://github.com/rhinstaller/efivar
comment "efivar needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9"
depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS
depends on BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \
BR2_TOOLCHAIN_USES_MUSL || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS