From 1cf726dd52fe0ba383a67e7292f642090e8931cf Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 26 Mar 2021 21:48:45 +1300 Subject: [PATCH] build: Notice if flex is missing at configure time This may also fix the coverage build by ensuring --noline is always specified to flex. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14586 Signed-off-by: Andrew Bartlett Reviewed-by: Gary Lockyer Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Mon Mar 29 02:12:23 UTC 2021 on sn-devel-184 (cherry picked from commit 942c0d2128cb8e64a9354dde6bdae82a1c1c3d88) Autobuild-User(v4-14-test): Karolin Seeger Autobuild-Date(v4-14-test): Tue Apr 20 07:39:05 UTC 2021 on sn-devel-184 --- source3/wscript | 9 --------- wscript | 16 +++++++++++++--- wscript_configure_embedded_heimdal | 3 +++ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/source3/wscript b/source3/wscript index ba02a3586b9..adc31ce57b8 100644 --- a/source3/wscript +++ b/source3/wscript @@ -1838,15 +1838,6 @@ main() { define=None, on_target=False) - Logs.info("Checking for flex") - conf.find_program('flex', var='FLEX') - if conf.env['FLEX']: - conf.env.FLEXFLAGS = ['-t'] - conf.CHECK_COMMAND('%s --version' % conf.env.FLEX[0], - msg='Using flex version', - define=None, - on_target=False) - with_spotlight_tracker_backend = ( conf.CONFIG_SET('HAVE_TRACKER') and conf.CONFIG_SET('HAVE_GLIB') diff --git a/wscript b/wscript index 172d05c052b..83d94211338 100644 --- a/wscript +++ b/wscript @@ -240,6 +240,19 @@ def configure(conf): if not (Options.options.without_ad_dc): conf.DEFINE('AD_DC_BUILD_IS_ENABLED', 1) + # Check for flex before doing the embedded heimdal checks so we can bail if we don't have it. + Logs.info("Checking for flex") + conf.find_program('flex', var='FLEX') + if conf.env['FLEX']: + conf.CHECK_COMMAND('%s --version' % conf.env.FLEX[0], + msg='Using flex version', + define=None, + on_target=False) + conf.env.FLEXFLAGS = ['-t'] + + # #line statements in these generated files cause issues for lcov + conf.env.FLEXFLAGS += ["--noline"] + if Options.options.with_system_mitkrb5: if not Options.options.with_experimental_mit_ad_dc and \ not Options.options.without_ad_dc: @@ -372,9 +385,6 @@ def configure(conf): msg="Checking compiler for full RELRO support"): conf.env['ENABLE_RELRO'] = True - # #line statements in these generated files cause issues for lcov - conf.env.FLEXFLAGS += ["--noline"] - conf.SAMBA_CONFIG_H('include/config.h') def etags(ctx): diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal index 8c55ae2a938..92a29f71bf8 100644 --- a/wscript_configure_embedded_heimdal +++ b/wscript_configure_embedded_heimdal @@ -1 +1,4 @@ +if not conf.env['FLEX']: + conf.fatal("Embedded Heimdal build requires flex but it was not found. Install flex or use --with-system-mitkrb5 or --with-system-heimdalkrb5") + conf.RECURSE('source4/heimdal_build')