From 431eeef9311a8e172dc782bc91492c94cc5fcde7 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Mon, 6 May 2013 14:14:02 +0200 Subject: build: fix --with-regedit to properly honour the yes/no/auto scheme I.e. fail configure when ncurses support is not found but regedit build was requested. Signed-off-by: Michael Adam Reviewed-by: Kai Blin --- source3/wscript | 17 ++++++++++++++++- source3/wscript_configure_system_ncurses | 9 ++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) (limited to 'source3') diff --git a/source3/wscript b/source3/wscript index 28fa11f227..72ab18a721 100644 --- a/source3/wscript +++ b/source3/wscript @@ -1713,8 +1713,23 @@ main() { if conf.CHECK_HEADERS('cephfs/libcephfs.h', False, False, 'cephfs') and conf.CHECK_LIB('cephfs'): conf.DEFINE('HAVE_CEPH', '1') - if Options.options.with_regedit: + conf.env.build_regedit = False + if not Options.options.with_regedit == False: conf.PROCESS_SEPARATE_RULE('system_ncurses') + if conf.CONFIG_SET('HAVE_NCURSES'): + conf.env.build_regedit = True + + if conf.env.build_regedit: + Logs.info("building regedit") + else: + if Options.options.with_regedit == False: + Logs.info("not building regedit (--without-regedit)") + elif Options.options.with_regedit == True: + Logs.error("ncurses not available, cannot build regedit") + conf.fatal("ncurses not available, but --with-regedit was specified") + else: + Logs.info("ncurses not available, not building regedit") + default_static_modules.extend(TO_LIST('''pdb_smbpasswd pdb_tdbsam pdb_wbc_sam auth_sam auth_unix auth_winbind auth_wbc diff --git a/source3/wscript_configure_system_ncurses b/source3/wscript_configure_system_ncurses index e7596be64e..5c804291ce 100644 --- a/source3/wscript_configure_system_ncurses +++ b/source3/wscript_configure_system_ncurses @@ -9,7 +9,6 @@ if not conf.env.NCURSES_CONFIG: if conf.env.NCURSES_CONFIG: conf.check_cfg(path=conf.env.NCURSES_CONFIG, args="--cflags --libs", package="", uselib_store="NCURSES") - conf.env.build_regedit = True conf.CHECK_HEADERS('ncurses.h menu.h panel.h form.h', lib='ncurses') @@ -17,3 +16,11 @@ conf.CHECK_FUNCS_IN('initscr', 'ncurses') conf.CHECK_FUNCS_IN('set_menu_items item_count', 'menu') conf.CHECK_FUNCS_IN('new_panel show_panel', 'panel') conf.CHECK_FUNCS_IN('new_field new_form', 'form') + +if conf.CONFIG_SET('HAVE_NCURSES_H') and \ + conf.CONFIG_SET('HAVE_MENU_H') and \ + conf.CONFIG_SET('HAVE_PANEL_H') and \ + conf.CONFIG_SET('HAVE_FORM_H'): + conf.DEFINE('HAVE_NCURSES', '1') +else: + conf.undefine('HAVE_NCURSES') -- cgit