From 3712de7b9c494f6e01782e837f369e8beb5a054e Mon Sep 17 00:00:00 2001 From: Christian Ambach Date: Fri, 9 Nov 2012 18:58:43 -0600 Subject: [PATCH 1/2] build(waf): support AIX 6.1 on AIX6.1, we need to define _ALL_SOURCE as well, otherwise system headers with BSD types like u_int cannot be used --- buildtools/wafsamba/wscript | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript index 441e727..17aef27 100755 --- a/buildtools/wafsamba/wscript +++ b/buildtools/wafsamba/wscript @@ -322,7 +322,7 @@ def configure(conf): else: conf.env.HAVE_LD_VERSION_SCRIPT = False - if sys.platform == "aix5": + if sys.platform == "aix5" or sys.platform == "aix6": conf.DEFINE('_ALL_SOURCE', 1, add_to_cflags=True) # Might not be needed if ALL_SOURCE is defined # conf.DEFINE('_XOPEN_SOURCE', 600, add_to_cflags=True) -- 1.7.11.7 From 798f1ab0677d44aca47f16a0a12f88b114a1aa40 Mon Sep 17 00:00:00 2001 From: Christian Ambach Date: Wed, 7 Nov 2012 18:40:07 +0100 Subject: [PATCH 2/2] build: add DMAPI configure option and checks the waf build was missing the --with-dmapi option and configure checks that are necessary to build the source3 parts that need DMAPI (e.g. vfs_tsmsm) Bug: https://bugzilla.samba.org/show_bug.cgi?id=9178 Signed-off-by: Christian Ambach --- source3/wscript | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++ source3/wscript_build | 2 +- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/source3/wscript b/source3/wscript index 96ab4de..92dcd18 100644 --- a/source3/wscript +++ b/source3/wscript @@ -41,6 +41,7 @@ def set_options(opt): opt.SAMBA3_ADD_OPTION('syslog') opt.SAMBA3_ADD_OPTION('automount') opt.SAMBA3_ADD_OPTION('aio-support') + opt.SAMBA3_ADD_OPTION('dmapi', default=False, help="build with DMAPI support") opt.SAMBA3_ADD_OPTION('profiling-data', default=False) opt.SAMBA3_ADD_OPTION('cluster-support', default=None) @@ -162,6 +163,69 @@ main() { }''', 'HAVE_KERNEL_SHARE_MODES', addmain=False, execute=True, msg="Checking for krenel share modes") + # check for DMAPI libs + Logs.info("Checking for DMAPI library existence") + conf.env['dmapi_lib'] = '' + samba_dmapi_lib = '' + if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dm'): + samba_dmapi_lib = 'dm' + else: + if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'jfsdm'): + samba_dmapi_lib = 'jfsdm' + else: + if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dmapi'): + samba_dmapi_lib = 'dmapi' + else: + if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'xdsm'): + samba_dmapi_lib = 'xdsm' + # only bother to test headers and compilation when a candidate + # library has been found + if Options.options.with_dmapi == True and samba_dmapi_lib == '': + conf.fatal('DMAPI support requested, but no suitable DMAPI library found') + else: + conf.CHECK_HEADERS('sys/dmi.h xfs/dmapi.h sys/jfsdmapi.h sys/dmapi.h dmapi.h') + conf.CHECK_CODE(''' +#include /* needed by Tru64 */ +#include /* needed by AIX */ +#ifdef HAVE_XFS_DMAPI_H +#include +#elif defined(HAVE_SYS_DMI_H) +#include +#elif defined(HAVE_SYS_JFSDMAPI_H) +#include +#elif defined(HAVE_SYS_DMAPI_H) +#include +#elif defined(HAVE_DMAPI_H) +#include +#endif + +/* This link test is designed to fail on IRI 6.4, but should + * succeed on Linux, IRIX 6.5 and AIX. + */ +int main(int argc, char **argv) +{ + char * version; + dm_eventset_t events; + /* This doesn't take an argument on IRIX 6.4. */ + dm_init_service(&version); + /* IRIX 6.4 expects events to be a pointer. */ + DMEV_ISSET(DM_EVENT_READ, events); + + return 0; +} +''', + 'USE_DMAPI', + addmain=False, + execute=False, + lib=samba_dmapi_lib, + msg='Checking whether DMAPI lib '+samba_dmapi_lib+' can be used') + + if conf.CONFIG_SET('USE_DMAPI'): + conf.env['dmapi_lib'] = samba_dmapi_lib + else: + if Options.options.with_dmapi == True: + conf.fatal('DMAPI support requested but not found'); + # Check for various members of the stat structure conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_blocks', define='HAVE_STAT_ST_BLOCKS', headers='sys/stat.h') diff --git a/source3/wscript_build b/source3/wscript_build index 0634b8d..351d22d 100755 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -980,7 +980,7 @@ bld.SAMBA3_LIBRARY('smbd_base', ccan-hash NDR_SMB_ACL netapi - ''', + ''' + bld.env['dmapi_lib'], private_library=True, vars=locals()) -- 1.7.11.7