mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-04 06:10:16 +03:00
This doesn't compile with glibc 2.26 where reallocarray() as been introduced.
It's a nasty issue, when reallocarray() is available for the target, flex will
build a small tool called stage1flex for the host (using _FOR_BUILD) but with
the config.h generated for the target.
When the host doesn't have a glibc >= 2.26, reallocarray() is never defined
while building stage1flex:
misc.c:147:8: warning : implicit declaration of function « reallocarray »
[-Wimplicit-function-declaration]
mem = reallocarray(NULL, (size_t) size, element_size);
^~~~~~~~~~~~
misc.c:147:6: warning : assignment makes pointer from integer without a cast
[-Wint-conversion]
mem = reallocarray(NULL, (size_t) size, element_size);
^
Disable reallocarray for now, reallocarray() support may be
enabled in a followup patch.
Fixes:
stage1flex-misc.o: In function `allocate_array':
misc.c:(.text+0x38f): undefined reference to `reallocarray'
stage1flex-misc.o: In function `reallocate_array':
misc.c:(.text+0xc8a): undefined reference to `reallocarray'
collect2: error: ld returned 1 exit status
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
30 lines
883 B
Makefile
30 lines
883 B
Makefile
################################################################################
|
|
#
|
|
# flex
|
|
#
|
|
################################################################################
|
|
|
|
FLEX_VERSION = 2.6.4
|
|
FLEX_SITE = https://github.com/westes/flex/files/981163
|
|
FLEX_INSTALL_STAGING = YES
|
|
FLEX_LICENSE = FLEX
|
|
FLEX_LICENSE_FILES = COPYING
|
|
FLEX_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-m4
|
|
FLEX_CONF_ENV = ac_cv_path_M4=/usr/bin/m4 \
|
|
ac_cv_func_reallocarray=no
|
|
HOST_FLEX_DEPENDENCIES = host-m4
|
|
|
|
define FLEX_DISABLE_PROGRAM
|
|
$(SED) 's/^bin_PROGRAMS.*//' $(@D)/src/Makefile.in
|
|
endef
|
|
FLEX_POST_PATCH_HOOKS += FLEX_DISABLE_PROGRAM
|
|
|
|
# flex++ symlink is broken when flex binary is not installed
|
|
define FLEX_REMOVE_BROKEN_SYMLINK
|
|
rm -f $(TARGET_DIR)/usr/bin/flex++
|
|
endef
|
|
FLEX_POST_INSTALL_TARGET_HOOKS += FLEX_REMOVE_BROKEN_SYMLINK
|
|
|
|
$(eval $(autotools-package))
|
|
$(eval $(host-autotools-package))
|