diff options
-rw-r--r-- | source3/wscript | 9 | ||||
-rw-r--r-- | source3/wscript_configure_system_ncurses | 23 |
2 files changed, 24 insertions, 8 deletions
diff --git a/source3/wscript b/source3/wscript index 4fbc19158d..28fa11f227 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 0000000000..f61e49c039 --- /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') |