efivar: depends on target gcc >= 4.7
authorErico Nunes <nunes.erico@gmail.com>
Sun, 26 Jun 2016 21:36:27 +0000 (23:36 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 1 Jul 2016 14:31:29 +0000 (16:31 +0200)
The efivar internal build system uses flags such as -std=gnu11 ,
-Wmaybe-uninitialized , -flto which are available in gcc >= 4.7 only.
These flags are passed both to target build and to build a host tool.
For the host part, this has been worked around by overriding
'gcc_flags', but doing that for the target would remove all flags that
upstream intended for the target build.

Buildroot doesn't support building gcc 4.6 in its own toolchain anymore
but it's possible to use an external toolchain with gcc 4.6 which would
be unable to build this package.

This patch adds a limitation on toolchains with target gcc >= 4.7 to
make sure that the flags are available in the chosen toolchain.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/efibootmgr/Config.in
package/efivar/Config.in

index 758c01fefaea60965d4bfbeb8eebe56d7cf1765a..9e501f62bc3b377add1934a28c2fd0750c6c0294 100644 (file)
@@ -2,6 +2,7 @@ config BR2_PACKAGE_EFIBOOTMGR
        bool "efibootmgr"
        depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # efivar
        depends on BR2_TOOLCHAIN_USES_GLIBC # efivar
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # efivar
        select BR2_PACKAGE_EFIVAR
        help
          A Linux user-space application to modify the Intel Extensible
@@ -11,6 +12,7 @@ config BR2_PACKAGE_EFIBOOTMGR
 
          https://github.com/rhinstaller/efibootmgr
 
-comment "efibootmgr requires a glibc toolchain w/ headers >= 3.12"
+comment "efibootmgr requires a glibc toolchain w/ headers >= 3.12, gcc >= 4.7"
        depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \
-               !BR2_TOOLCHAIN_USES_GLIBC
+               !BR2_TOOLCHAIN_USES_GLIBC || \\
+               !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
index 9cd1f1949eaa604b614d157a311036457afd7c33..5342fa4ba3d18320f5985e69a6a0e33ddc857a55 100644 (file)
@@ -4,12 +4,14 @@ config BR2_PACKAGE_EFIVAR
        # doesn't build with uclibc due to lack of uchar.h
        # doesn't build with musl due to lack of __bswap_constant_16
        depends on BR2_TOOLCHAIN_USES_GLIBC
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
        select BR2_PACKAGE_POPT
        help
          Tools and libraries to manipulate EFI variables
 
          https://github.com/rhinstaller/efivar
 
-comment "efivar requires a glibc toolchain w/ headers >= 3.12"
+comment "efivar requires a glibc toolchain w/ headers >= 3.12, gcc >= 4.7"
        depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \
-               !BR2_TOOLCHAIN_USES_GLIBC
+               !BR2_TOOLCHAIN_USES_GLIBC || \
+               !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7