Commit bd72a13a authored by Gustavo Zacarias's avatar Gustavo Zacarias Committed by Peter Korsgaard
Browse files

flex: fix build for nommu systems



The flex binary uses fork() so it breaks on !MMU builds.
Since we usually don't require flex in the target and the common
scenario is that we just want libfl in staging reverse the options so
that BR2_PACKAGE_FLEX just builds and install libfl.a and change the
LIBFL option to BR2_PACKAGE_FLEX_BINARY to install the binary in the
target.

Signed-off-by: default avatarGustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent e2af1822
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -6,10 +6,10 @@ config BR2_PACKAGE_FLEX

	  http://www.gnu.org/software/flex/

config BR2_PACKAGE_FLEX_LIBFL
	bool "Install libfl.a under staging_dir/usr/lib"
	default y
config BR2_PACKAGE_FLEX_BINARY
	bool "Install tool in the target"
	# needs fork()
	depends on BR2_USE_MMU
	depends on BR2_PACKAGE_FLEX
	help
	  Install libfl.a under staging_dir/usr/lib for further development
	  on a host machine.
	  Install the flex binary tool in the target filesystem.
+5 −15
Original line number Diff line number Diff line
@@ -16,30 +16,20 @@ FLEX_DEPENDENCIES = \
# we don't have a host-gettext/libintl
HOST_FLEX_DEPENDENCIES =

ifeq ($(BR2_PACKAGE_FLEX_BINARY),y)
# lex -> flex
define FLEX_INSTALL_LEX
	cd $(TARGET_DIR)/usr/bin && ln -snf flex lex
endef

define FLEX_UNINSTALL_LEX
	-rm $(TARGET_DIR)/usr/bin/lex
endef

FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LEX
FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LEX

# libfl installation
ifeq ($(BR2_PACKAGE_FLEX_LIBFL),y)
define FLEX_INSTALL_LIBFL
	install -D $(FLEX_DIR)/libfl.a $(STAGING_DIR)/usr/lib/libfl.a
endef
else

define FLEX_UNINSTALL_LIBFL
	-rm $(STAGING_DIR)/lib/libfl.a
define FLEX_DISABLE_PROGRAM
	$(SED) 's/^bin_PROGRAMS.*//' $(@D)/Makefile.in
endef
FLEX_POST_PATCH_HOOKS += FLEX_DISABLE_PROGRAM

FLEX_POST_INSTALL_HOOKS += FLEX_INSTALL_LIBFL
FLEX_POST_CLEAN_HOOKS += FLEX_UNINSTALL_LIBFL
endif

$(eval $(autotools-package))