opt.SAMBA3_ADD_OPTION('utmp')
opt.SAMBA3_ADD_OPTION('pthreadpool', with_name="enable", without_name="disable")
opt.SAMBA3_ADD_OPTION('avahi', with_name="enable", without_name="disable")
+ opt.SAMBA3_ADD_OPTION('iconv')
def configure(conf):
conf.RECURSE('../lib/socket_wrapper')
conf.RECURSE('../lib/zlib')
- conf.CHECK_HEADERS('execinfo.h libexc.h libunwind.h')
+ conf.CHECK_HEADERS('execinfo.h libexc.h libunwind.h netdb.h')
conf.CHECK_FUNCS('getcwd fchown chmod fchmod mknod mknod64')
conf.CHECK_FUNCS('strtol strchr strupr chflags')
conf.CHECK_FUNCS('getrlimit fsync fdatasync setpgid')
conf.CHECK_FUNCS('setsid glob strpbrk crypt16 getauthuid')
- conf.CHECK_FUNCS('sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent')
+ conf.CHECK_FUNCS('sigprocmask sigblock sigaction sigset innetgr')
conf.CHECK_FUNCS('initgroups select poll rdchk getgrnam getgrent pathconf')
conf.CHECK_FUNCS('setpriv setgidx setuidx setgroups sysconf stat64 fstat64')
conf.CHECK_FUNCS('lstat64 fopen64 atexit grantpt lseek64 ftruncate64 posix_fallocate posix_fallocate64')
attropen attr_remove attr_removef attr_set attr_setf backtrace_symbols
bindtextdomain _chdir __chdir chflags chmod _close __close _closedir
__closedir closedir64 creat64 crypt16 delproplist devnm dgettext dirfd
-DNSServiceRegister _dup __dup _dup2 __dup2 endmntent endnetgrent execl
+DNSServiceRegister _dup __dup _dup2 __dup2 endmntent execl
extattr_delete_fd extattr_delete_link extattr_get_fd extattr_get_file
extattr_get_link extattr_list_fd extattr_list_file extattr_list_link
extattr_set_fd extattr_set_file extattr_set_link _facl __facl _fchdir
fsetproplist fsetxattr _fstat __fstat fstat64 _fstat64 __fstat64 fsync
ftell64 ftello64 ftruncate64 futimens futimes __fxstat getauthuid
getcwd _getcwd __getcwd getdents __getdents getdents64 getdirentries
-getgrent getgrnam getgrouplist getmntent getnetgrent getpagesize
+getgrent getgrnam getgrouplist getmntent getpagesize
getproplist get_proplist_entry getpwanam getpwent_r getrlimit gettext
glob grantpt hstrerror initgroups innetgr
inotify_init lgetea lgetxattr listea listxattr llistea llistxattr
__pwrite64 rdchk _read __read _readdir __readdir readdir64 _readdir64
__readdir64 removeea removexattr rewinddir64 _seekdir __seekdir
seekdir64 select setea setenv setgidx setgroups setlocale setluid
-setmntent setnetgrent setpgid setpriv setproplist setsid setuidx
+setmntent setpgid setpriv setproplist setsid setuidx
setxattr shmget shm_open sigaction sigblock sigprocmask sigset
sizeof_proplist_entry _stat __stat stat64 _stat64 __stat64 statvfs
strcasecmp strchr strpbrk strsignal strtol strupr sysconf sysctlbyname
conf.env[shared_env] = []
if p in static_list:
decl_list=""
- for entry in static_list[p]:
- decl_list += "extern NTSTATUS %s_init(void); " % entry
- conf.env[static_env].append('%s' % entry.upper())
- decl_list = decl_list.rstrip()
- conf.DEFINE('static_decl_%s' % p, decl_list)
- conf.DEFINE('static_init_%s' % p, '{ %s_init(); }' % '_init(); '.join(static_list[p]))
+ if p == "rpc":
+ for entry in static_list[p]:
+ decl_list += "extern NTSTATUS %s_init(const struct rpc_srv_callbacks *rpc_srv_cb); " % entry
+ conf.env[static_env].append('%s' % entry.upper())
+ decl_list = decl_list.rstrip()
+ conf.DEFINE('static_decl_%s' % p, decl_list)
+ conf.DEFINE('static_init_%s' % p, '{ %s_init(NULL); }' % '_init(NULL); '.join(static_list[p]))
+ else:
+ for entry in static_list[p]:
+ decl_list += "extern NTSTATUS %s_init(void); " % entry
+ conf.env[static_env].append('%s' % entry.upper())
+ decl_list = decl_list.rstrip()
+ conf.DEFINE('static_decl_%s' % p, decl_list)
+ conf.DEFINE('static_init_%s' % p, '{ %s_init(); }' % '_init(); '.join(static_list[p]))
else:
conf.DEFINE('static_decl_%s' % p, '')
conf.DEFINE('static_init_%s' % p, '{}')
msg="Checking whether xattr interface takes additional options",
headers='sys/types.h attr/xattr.h sys/xattr.h')
+ conf.CHECK_HEADERS('asm/types.h')
+
+ conf.CHECK_CODE('dev_t dev; int i = major(dev); return 0', "HAVE_DEVICE_MAJOR_FN",
+ headers='unistd.h sys/types.h',
+ msg="Checking for major macro")
+
+ conf.CHECK_CODE('dev_t dev; int i = minor(dev); return 0', "HAVE_DEVICE_MINOR_FN",
+ headers='unistd.h sys/types.h',
+ msg="Checking for minor macro")
+
+ conf.CHECK_STRUCTURE_MEMBER('struct dirent', 'd_off',
+ headers='unistd.h sys/types.h dirent.h',
+ define='HAVE_DIRENT_D_OFF')
+
+ conf.CHECK_FUNCS('setnetgrent getnetgrent endnetgrent')
+ conf.CHECK_CODE('setnetgrent("foo")', 'HAVE_SETNETGRENT_PROTOTYPE',
+ msg="Checking for setnetgrent prototype",
+ headers='netdb.h netgroup.h',
+ cflags="-Werror-implicit-function-declaration")
+ conf.CHECK_CODE('getnetgrent', 'HAVE_GETNETGRENT_PROTOTYPE',
+ msg="Checking for getnetgrent prototype",
+ headers='netdb.h netgroup.h',
+ cflags="-Werror-implicit-function-declaration")
+ conf.CHECK_CODE('endnetgrent', 'HAVE_ENDNETGRENT_PROTOTYPE',
+ msg="Checking for endnetgrent prototype",
+ headers='netdb.h netgroup.h',
+ cflags="-Werror-implicit-function-declaration")
+
#FIXME: Should just be set when krb5 and ldap requirements are fulfilled
if Options.options.with_ads:
conf.DEFINE('WITH_ADS', '1')
conf.SET_TARGET_TYPE('avahi-common', 'EMPTY')
conf.SET_TARGET_TYPE('avahi-client', 'EMPTY')
+ if Options.options.with_iconv:
+ conf.env.with_iconv = True
+ if not conf.CHECK_FUNCS_IN('iconv_open', 'iconv', headers='iconv.h'):
+ conf.env.with_iconv = False
+ if conf.env.with_iconv:
+ conf.DEFINE('HAVE_ICONV', 1)
+
# FIXME: these should be tests for features, but the old build system just
# checks for OSes.
import sys