flex: rework patches to avoid host/target difference
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 8 Oct 2017 21:44:23 +0000 (23:44 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 11 Oct 2017 21:51:47 +0000 (23:51 +0200)
commit131995ff5ab632c74f36a3b89a5571452cf75da7
treee6d814ffe9aec1958082ca535a14feda0225440c
parent4db3e5e94bab0682744da709bfe7cdb8f8d42a93
flex: rework patches to avoid host/target difference

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>
package/flex/0001-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch [new file with mode: 0644]
package/flex/0001-flex-disable-documentation.patch [deleted file]
package/flex/0002-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch [deleted file]
package/flex/0002-build-make-it-possible-to-disable-the-build-of-the-f.patch [new file with mode: 0644]
package/flex/0003-build-make-it-possible-to-disable-the-build-of-the-d.patch [new file with mode: 0644]
package/flex/Config.in
package/flex/flex.mk