efivar: new package
efivar contains tools and libraries to manipulate EFI variables.
This package has some restrictions to build. It needs uchar.h which
apparently does not come in uClibc, and it also needs
__bswap_constant_*() definitions which are only present in glibc.
So, this package was limited to build with glibc toolchains.
Although it probably makes sense mostly on x86, x86-64 and aarch64
architectures, there are no architecture specific limitations which
would prevent it to build for other architectures, so this restriction
was not imposed. This package has been build-tested additionaly on many
architectures which support glibc, such as mips, MicroBlaze, sparc64,
ppc64. There were some build flag issues found when building to some of
these some architectures, although the flags can be also added in the
general case, so they were added by default.
It has also been found that in some host systems it failed to build due
to not generating the .pc files. This has been tracked to the use of
make 3.81, so a patch was prepared for it and was submitted upstream.
There's also a dependency on the linux/nvme.h header, which is somewhat
conturbed, as it has appeared in user space linux headers 3.12 and in
4.4 it was renamed. This has been solved by restricting it to build with
linux headers >= 3.12 and a patch from upstream was picked which fixes
it for linux headers >= 4.4.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
[Thomas:
- Pass TARGET_LDFLAGS in LDFLAGS.
- Pass -shared-libgcc only on Microblaze.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-21 03:23:55 +02:00
|
|
|
config BR2_PACKAGE_EFIVAR
|
|
|
|
bool "efivar"
|
|
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # linux/nvme.h
|
2016-07-03 16:20:36 +02:00
|
|
|
# linux/nvme.h has been renamed to linux/nvme_ioctl.h since 4.4,
|
2016-09-30 16:46:43 +02:00
|
|
|
# and the efivar source handles that situation. However, some
|
2016-07-03 16:20:36 +02:00
|
|
|
# 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 && \
|
|
|
|
!BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
|
efivar: new package
efivar contains tools and libraries to manipulate EFI variables.
This package has some restrictions to build. It needs uchar.h which
apparently does not come in uClibc, and it also needs
__bswap_constant_*() definitions which are only present in glibc.
So, this package was limited to build with glibc toolchains.
Although it probably makes sense mostly on x86, x86-64 and aarch64
architectures, there are no architecture specific limitations which
would prevent it to build for other architectures, so this restriction
was not imposed. This package has been build-tested additionaly on many
architectures which support glibc, such as mips, MicroBlaze, sparc64,
ppc64. There were some build flag issues found when building to some of
these some architectures, although the flags can be also added in the
general case, so they were added by default.
It has also been found that in some host systems it failed to build due
to not generating the .pc files. This has been tracked to the use of
make 3.81, so a patch was prepared for it and was submitted upstream.
There's also a dependency on the linux/nvme.h header, which is somewhat
conturbed, as it has appeared in user space linux headers 3.12 and in
4.4 it was renamed. This has been solved by restricting it to build with
linux headers >= 3.12 and a patch from upstream was picked which fixes
it for linux headers >= 4.4.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
[Thomas:
- Pass TARGET_LDFLAGS in LDFLAGS.
- Pass -shared-libgcc only on Microblaze.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-21 03:23:55 +02:00
|
|
|
# doesn't build with musl due to lack of __bswap_constant_16
|
2016-11-27 15:32:03 +01:00
|
|
|
depends on !BR2_TOOLCHAIN_USES_MUSL
|
2016-09-30 16:46:43 +02:00
|
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
efivar: new package
efivar contains tools and libraries to manipulate EFI variables.
This package has some restrictions to build. It needs uchar.h which
apparently does not come in uClibc, and it also needs
__bswap_constant_*() definitions which are only present in glibc.
So, this package was limited to build with glibc toolchains.
Although it probably makes sense mostly on x86, x86-64 and aarch64
architectures, there are no architecture specific limitations which
would prevent it to build for other architectures, so this restriction
was not imposed. This package has been build-tested additionaly on many
architectures which support glibc, such as mips, MicroBlaze, sparc64,
ppc64. There were some build flag issues found when building to some of
these some architectures, although the flags can be also added in the
general case, so they were added by default.
It has also been found that in some host systems it failed to build due
to not generating the .pc files. This has been tracked to the use of
make 3.81, so a patch was prepared for it and was submitted upstream.
There's also a dependency on the linux/nvme.h header, which is somewhat
conturbed, as it has appeared in user space linux headers 3.12 and in
4.4 it was renamed. This has been solved by restricting it to build with
linux headers >= 3.12 and a patch from upstream was picked which fixes
it for linux headers >= 4.4.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
[Thomas:
- Pass TARGET_LDFLAGS in LDFLAGS.
- Pass -shared-libgcc only on Microblaze.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-21 03:23:55 +02:00
|
|
|
select BR2_PACKAGE_POPT
|
|
|
|
help
|
|
|
|
Tools and libraries to manipulate EFI variables
|
|
|
|
|
|
|
|
https://github.com/rhinstaller/efivar
|
|
|
|
|
2016-11-27 15:32:03 +01:00
|
|
|
comment "efivar requires a glibc or uClibc toolchain w/ headers >= 3.12, gcc >= 4.9"
|
efivar: new package
efivar contains tools and libraries to manipulate EFI variables.
This package has some restrictions to build. It needs uchar.h which
apparently does not come in uClibc, and it also needs
__bswap_constant_*() definitions which are only present in glibc.
So, this package was limited to build with glibc toolchains.
Although it probably makes sense mostly on x86, x86-64 and aarch64
architectures, there are no architecture specific limitations which
would prevent it to build for other architectures, so this restriction
was not imposed. This package has been build-tested additionaly on many
architectures which support glibc, such as mips, MicroBlaze, sparc64,
ppc64. There were some build flag issues found when building to some of
these some architectures, although the flags can be also added in the
general case, so they were added by default.
It has also been found that in some host systems it failed to build due
to not generating the .pc files. This has been tracked to the use of
make 3.81, so a patch was prepared for it and was submitted upstream.
There's also a dependency on the linux/nvme.h header, which is somewhat
conturbed, as it has appeared in user space linux headers 3.12 and in
4.4 it was renamed. This has been solved by restricting it to build with
linux headers >= 3.12 and a patch from upstream was picked which fixes
it for linux headers >= 4.4.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
[Thomas:
- Pass TARGET_LDFLAGS in LDFLAGS.
- Pass -shared-libgcc only on Microblaze.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-21 03:23:55 +02:00
|
|
|
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \
|
2016-11-27 15:32:03 +01:00
|
|
|
BR2_TOOLCHAIN_USES_MUSL || \
|
2016-09-30 16:46:43 +02:00
|
|
|
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
2016-07-03 16:20:36 +02:00
|
|
|
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS && \
|
|
|
|
!BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
|