![Thomas Petazzoni](/assets/img/avatar_default.png)
Currently, the target and host flex packages do not behave the same in terms of patching: the target variant has a patch hook that disables building the programs (because they are not needed, and do not build on no-MMU platforms). However, this hook is obviously not executed for host-flex, because we really want the host flex binary to be built. In preparation for the introduction of out-of-tree package build, it is important that we don't do different things in the patch hooks for the target and host variant of a given package, because the source tree will be shared between the target and host builds. To solve this, we introduce a --disable-program configure option, through a patch to the flex configure.ac and Makefile.am. This patch makes the current 0001-flex-disable-documentation.patch no longer needed. Furthermore, building the documentation is a PITA: flex.1 depends on configure.ac and a few other files generated during the build. Touching flex.1 does not work, because automake will forcibly remove the files when its prerequisites are too old, so pre-requisites of flex.1 will always be more recent than flex.1. So, we add a patch that adds a --disable-doc configure option. Fixes: http://autobuild.buildroot.org/results/f70/f70b39632535bb9692d0a032166b2f4104532967/ http://autobuild.buildroot.org/results/525/52567afdfe7992b3518de0e01227ba14aa300f21/ [...] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [yann.morin.1998@free.fr: - rebase on-top of master, - add patch to not build the documentation, because simply touching flex.1 is no longer enough. - keep install in target/, for shared builds ] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Adrian Perez de Castro <aperez@igalia.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
77 lines
2.2 KiB
Diff
77 lines
2.2 KiB
Diff
From da21733178b34eea303964db5a05e8a3ee4095b4 Mon Sep 17 00:00:00 2001
|
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Date: Sat, 26 Aug 2017 15:17:06 +0200
|
|
Subject: [PATCH] build: make it possible to disable the build of the flex
|
|
program
|
|
|
|
The flex program uses fork(), which isn't available on noMMU
|
|
systems. However, the libfl library does not use fork(), and be used
|
|
by other programs/libraries.
|
|
|
|
Therefore, it makes sense to provide an option to disable the build of
|
|
the flex program.
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
|
|
|
---
|
|
Submitted-upstream: https://github.com/westes/flex/pull/256
|
|
Refused. We'll have to adapt when they do a new release...
|
|
---
|
|
Makefile.am | 2 ++
|
|
configure.ac | 6 ++++++
|
|
doc/Makefile.am | 4 ++++
|
|
src/Makefile.am | 3 +++
|
|
4 files changed, 15 insertions(+)
|
|
|
|
diff --git a/Makefile.am b/Makefile.am
|
|
index e790e9d..8b57bc9 100644
|
|
--- a/Makefile.am
|
|
+++ b/Makefile.am
|
|
@@ -62,8 +62,10 @@ ChangeLog: $(srcdir)/tools/git2cl
|
|
indent:
|
|
cd src && $(MAKE) $(AM_MAKEFLAGS) indent
|
|
|
|
+if ENABLE_PROGRAM
|
|
install-exec-hook:
|
|
cd $(DESTDIR)$(bindir) && \
|
|
$(LN_S) -f flex$(EXEEXT) flex++$(EXEEXT)
|
|
+endif
|
|
|
|
.PHONY: ChangeLog indent
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 8882016..f49872b 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -75,6 +75,12 @@ AC_ARG_ENABLE([libfl],
|
|
[], [enable_libfl=yes])
|
|
AM_CONDITIONAL([ENABLE_LIBFL], [test "x$enable_libfl" = xyes])
|
|
|
|
+AC_ARG_ENABLE([program],
|
|
+ [AS_HELP_STRING([--disable-program],
|
|
+ [do not build the flex program, only the libfl library])],
|
|
+ [], [enable_program=yes])
|
|
+AM_CONDITIONAL([ENABLE_PROGRAM], [test "x$enable_program" = xyes])
|
|
+
|
|
# --disable-bootstrap is intended only to workaround problems with bootstrap
|
|
# (e.g. when cross-compiling flex or when bootstrapping has bugs).
|
|
# Ideally we should be able to bootstrap even when cross-compiling.
|
|
diff --git a/src/Makefile.am b/src/Makefile.am
|
|
index 0d13a5a..c73bc17 100644
|
|
--- a/src/Makefile.am
|
|
+++ b/src/Makefile.am
|
|
@@ -4,7 +4,10 @@ LIBS = @LIBS@
|
|
|
|
m4 = @M4@
|
|
|
|
+if ENABLE_PROGRAM
|
|
bin_PROGRAMS = flex
|
|
+endif
|
|
+
|
|
if ENABLE_BOOTSTRAP
|
|
noinst_PROGRAMS = stage1flex
|
|
endif
|
|
--
|
|
2.9.4
|
|
|