package/squid: needs gcc and host gcc >= 8

cf_gen.cc is compiled by host compiler and unconditionally uses auto
since bump to version 6.6 in commit
c13199c932 and
09835feb25
resulting in the following build failure with host gcc < 8:

/usr/bin/g++ -O2 -I/home/buildroot/autobuild/run/instance-1/output-1/host/include -o cf_gen ./cf_gen.cc -I. -I../include/ -I../src
./cf_gen.cc: In function 'int main(int, char**)':
./cf_gen.cc:268:63: error: forming reference to void
                     auto &newEntry = entries.emplace_back(name);
                                                               ^

So add a dependency on host gcc >= 8 and gcc >= 8 as advocated by
upstream in
9d3433c4ac/doc/release-notes/release-6.sgml.in:

  This release adds a dependency on C++17 support in any compiler used to build Squid.
  GCC 8+ and Clang 8+ support C++17.

While at it, drop BR2_TOOLCHAIN_HAS_GCC_BUG_64735 which is always false
with gcc >= 7

Fixes: c13199c932
 - http://autobuild.buildroot.org/results/f1766d1a3b2ce7745fa23cdeae1101806cd97aea

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit b8db5c4660)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Fabrice Fontaine 2024-03-06 13:18:23 +01:00 committed by Peter Korsgaard
parent 2154c51a86
commit 9b85ad4ace

View File

@ -1,18 +1,18 @@
comment "squid needs a toolchain w/ C++, threads, gcc >= 7 not affected by bug 64735" comment "squid needs a toolchain w/ C++, threads, gcc >= 8, host gcc >= 8"
depends on BR2_USE_MMU depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || \ depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_7 !BR2_TOOLCHAIN_GCC_AT_LEAST_8 || \
!BR2_HOST_GCC_AT_LEAST_8
config BR2_PACKAGE_SQUID config BR2_PACKAGE_SQUID
bool "squid" bool "squid"
depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_INSTALL_LIBSTDCPP depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 depends on BR2_HOST_GCC_AT_LEAST_8 # C++17
# needs fork() # needs fork()
depends on BR2_USE_MMU depends on BR2_USE_MMU
select BR2_PACKAGE_LIBCAP select BR2_PACKAGE_LIBCAP