s3-waf: add check for fcntl locking.
[ira/wip.git] / source3 / wscript
index cbc7cd325dcd4193e2d87c011df607f7f8f25f8a..8ce2a129ce487ab5617fa17978a36a673fa64a9a 100644 (file)
@@ -520,11 +520,12 @@ msg.msg_acctrightslen = sizeof(fd);
            conf.check_cfg(path=conf.env.CUPS_CONFIG, args="--cflags --ldflags --libs",
                            package="", uselib_store="cups")
         conf.CHECK_HEADERS('cups/cups.h cups/language.h', lib='cups')
-        conf.CHECK_FUNCS_IN('httpConnect httpConnectEncrypt', 'cups')
+        conf.CHECK_FUNCS_IN('httpConnect httpConnectEncrypt', conf.env.LIB_cups)
         if conf.CONFIG_SET('HAVE_CUPS_CUPS_H') and conf.CONFIG_SET('HAVE_CUPS_LANGUAGE_H'):
             conf.DEFINE('HAVE_CUPS', '1')
         else:
             conf.undefine('HAVE_CUPS')
+            conf.SET_TARGET_TYPE('cups', 'EMPTY')
     else:
         # define an empty subsystem for cups, to allow it to be used as an empty dependency
         conf.SET_TARGET_TYPE('cups', 'EMPTY')
@@ -572,8 +573,7 @@ msg.msg_acctrightslen = sizeof(fd);
         if conf.CONFIG_SET('HAVE_LDAP_INIT'):
             conf.DEFINE('HAVE_LDAP', '1')
             conf.DEFINE('LDAP_DEPRECATED', '1')
-            conf.env['SMBLDAP'] = 'lib/smbldap.c'
-            conf.env['SMBLDAPUTIL'] = 'lib/smbldap_util.c'
+            conf.env['HAVE_LDAP'] = '1'
     else:
         conf.SET_TARGET_TYPE('ldap', 'EMPTY')
         conf.SET_TARGET_TYPE('lber', 'EMPTY')
@@ -1001,6 +1001,18 @@ int i; i = PAM_RADIO_TYPE;
 ''',
                'HAVE_LINUX_RTNETLINK_H',
                msg='Checking whether Linux rtnetlink is available')
+    if conf.CHECK_TYPE('struct dirent64', headers='sys/types.h dirent.h') and conf.CONFIG_SET('HAVE_READDIR64'):
+        conf.DEFINE('HAVE_STRUCT_DIRENT64', '1')
+    else:
+        conf.undefine('HAVE_STRUCT_DIRENT64')
+
+    conf.CHECK_CODE('''
+#include "../tests/fcntl_lock.c"
+''',
+               'HAVE_FCNTL_LOCK',
+               addmain=False,
+               execute=True,
+               msg='Checking whether fcntl locking is available')
 
     default_static_modules=TO_LIST('''pdb_smbpasswd pdb_tdbsam pdb_wbc_sam
                                       auth_sam auth_unix auth_winbind auth_wbc auth_server