From 86f88ee7b074fc8193a445e0c8ece58c3058b6c3 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 2 Aug 2012 11:29:10 +0200 Subject: waf: Create a better wscript for finding ncurses. Signed-off-by: Andreas Schneider Reviewed-by: Michael Adam --- source3/wscript | 9 +-------- source3/wscript_configure_system_ncurses | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 source3/wscript_configure_system_ncurses (limited to 'source3') diff --git a/source3/wscript b/source3/wscript index 4fbc19158d8..28fa11f2276 100644 --- a/source3/wscript +++ b/source3/wscript @@ -1714,14 +1714,7 @@ main() { conf.DEFINE('HAVE_CEPH', '1') if Options.options.with_regedit: - #XXX these checks might need to be expanded - ncurses = conf.CHECK_FUNCS_IN('initscr', 'ncurses', headers='ncurses.h') - menu = conf.CHECK_FUNCS_IN('set_menu_items item_count', 'menu', - headers='menu.h') - panel = conf.CHECK_FUNCS_IN('new_panel show_panel', 'panel', - headers='panel.h') - if ncurses and menu: - conf.env.build_regedit = True + conf.PROCESS_SEPARATE_RULE('system_ncurses') 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 new file mode 100644 index 00000000000..f61e49c0393 --- /dev/null +++ b/source3/wscript_configure_system_ncurses @@ -0,0 +1,23 @@ +import Logs, Options, sys + +Logs.info("Looking for ncurses features") + +if isinstance(Options.options.with_regedit, list): + path_ncurses_config = [x+'/bin' for x in Options.options.with_regedit] +else: + path_ncurses_config = None + +conf.find_program('ncurses5-config', path_list=path_ncurses_config, var='NCURSES_CONFIG') +if not conf.env.NCURSES_CONFIG: + conf.find_program('ncurses6-config', path_list=path_ncurses_config, var='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', lib='ncurses') + +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') -- cgit