The Samba-Bugzilla – Attachment 8167 Details for
Bug 9178
dmapi checks missing in waf
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
proposed patch
9178.patch (text/plain), 4.08 KB, created by
Christian Ambach
on 2012-11-08 13:56:51 UTC
(
hide
)
Description:
proposed patch
Filename:
MIME Type:
Creator:
Christian Ambach
Created:
2012-11-08 13:56:51 UTC
Size:
4.08 KB
patch
obsolete
>From ce7a7bd31842f48c7c360deb23435987f4a3d2a1 Mon Sep 17 00:00:00 2001 >From: Christian Ambach <ambi@samba.org> >Date: Wed, 7 Nov 2012 18:40:07 +0100 >Subject: [PATCH] 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 <ambi@samba.org> >--- > source3/wscript | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ > source3/wscript_build | 2 +- > 2 files changed, 67 insertions(+), 1 deletion(-) > >diff --git a/source3/wscript b/source3/wscript >index 96ab4de..66f7848 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,71 @@ main() { > }''', 'HAVE_KERNEL_SHARE_MODES', addmain=False, execute=True, > msg="Checking for krenel share modes") > >+ # check for DMAPI libs >+ if Options.options.with_dmapi == False: >+ conf.env['dmapi_lib'] = '' >+ else: >+ Logs.info("Checking for DMAPI library existance") >+ 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 samba_dmapi_lib == '': >+ Options.options.with_dmapi = False >+ 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 <time.h> /* needed by Tru64 */ >+#include <sys/types.h> /* needed by AIX */ >+#ifdef HAVE_XFS_DMAPI_H >+#include <xfs/dmapi.h> >+#elif defined(HAVE_SYS_DMI_H) >+#include <sys/dmi.h> >+#elif defined(HAVE_SYS_JFSDMAPI_H) >+#include <sys/jfsdmapi.h> >+#elif defined(HAVE_SYS_DMAPI_H) >+#include <sys/dmapi.h> >+#elif defined(HAVE_DMAPI_H) >+#include <dmapi.h> >+#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: >+ 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 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 9178
:
8167
|
8176