kumquat-buildroot/package/bird/bird.mk
Fabrice Fontaine 1d3d2d2741 package/bird: fix build with autoconf >= 2.70
Fix the following build failure raised since bump of autoconf to version
2.71 in commit ecd54b65c1:

checking for glob.h... no
configure: error: glob.h not found.

configure:5207: checking for glob.h
configure:5230: /data/buildroot-autobuilder/instance-0/output-1/host/bin/mips64el-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g0  -pthread -fno-strict-aliasing -fno-strict-overflow -flto -Wall -Wextra -Wstrict-prototypes -Wno-parentheses -Wno-pointer-sign -Wno-missing-field-initializers -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pthread -flto=4 -g conftest.c  >&5
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2a): undefined reference to `conftest.c.0943dc99'
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2f): undefined reference to `conftest.c.0943dc99'

This is the same problem that we tried to fix in
03c148c8de by adding AUTORECONF = YES.

The analysis made back then is probably not entirely correct - the issue
only seems to occur with GCC8, not with any earlier or later version,
which hints at a compiler bug. Since the error involves some
LTO-generated functions, the trigger is probably the -flto=4.

Whatever the exact issue is, it is avoided if we make sure that our
CFLAGS replace the default ones instead of being added to them.
Currently, they are added because the configure script doesn't properly
detect that CFLAGS was set.

Add a patch (sent upstream months ago, but it didn't appear in the
release that has been done since then) that makes sure CFLAGS is
properly detected.

Fixes:
 - http://autobuild.buildroot.org/results/d7aab7df196e0f6d6389b87ff29da7c2971e6b6d

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-07-25 21:24:35 +02:00

48 lines
1.3 KiB
Makefile

################################################################################
#
# bird
#
################################################################################
BIRD_VERSION = 2.0.8
BIRD_SITE = ftp://bird.network.cz/pub/bird
BIRD_LICENSE = GPL-2.0+
BIRD_LICENSE_FILES = README
BIRD_CPE_ID_VENDOR = nic
BIRD_SELINUX_MODULES = bird
BIRD_DEPENDENCIES = host-flex host-bison
# 0001-configure.ac-fix-build-with-autoconf-2.70.patch
BIRD_AUTORECONF = YES
ifeq ($(BR2_PACKAGE_BIRD_CLIENT),y)
BIRD_CONF_OPTS += --enable-client
BIRD_DEPENDENCIES += ncurses readline
else
BIRD_CONF_OPTS += --disable-client
endif
ifeq ($(BR2_PACKAGE_LIBSSH),y)
BIRD_CONF_OPTS += --enable-libssh
BIRD_DEPENDENCIES += libssh
else
BIRD_CONF_OPTS += --disable-libssh
endif
BIRD_PROTOCOLS = \
$(if $(BR2_PACKAGE_BIRD_BFD),bfd) \
$(if $(BR2_PACKAGE_BIRD_BABEL),babel) \
$(if $(BR2_PACKAGE_BIRD_BGP),bgp) \
$(if $(BR2_PACKAGE_BIRD_MRT),mrt) \
$(if $(BR2_PACKAGE_BIRD_OSPF),ospf) \
$(if $(BR2_PACKAGE_BIRD_PERF),perf) \
$(if $(BR2_PACKAGE_BIRD_PIPE),pipe) \
$(if $(BR2_PACKAGE_BIRD_RADV),radv) \
$(if $(BR2_PACKAGE_BIRD_RIP),rip) \
$(if $(BR2_PACKAGE_BIRD_RPKI),rpki) \
$(if $(BR2_PACKAGE_BIRD_STATIC),static)
BIRD_CONF_OPTS += --with-protocols=$(subst $(space),$(comma),$(strip $(BIRD_PROTOCOLS)))
$(eval $(autotools-package))