mirror of
https://github.com/samba-team/samba.git
synced 2025-03-30 06:50:24 +03:00
s4-waf: cleanup use of LIBPOPT vs popt dependency
This commit is contained in:
parent
bfbf43cc36
commit
b9aa63887c
@ -42,15 +42,27 @@ def BUNDLED_EXTENSION_DEFAULT(opt, extension, noextenion=''):
|
||||
Options.Handler.BUNDLED_EXTENSION_DEFAULT = BUNDLED_EXTENSION_DEFAULT
|
||||
|
||||
|
||||
@runonce
|
||||
@conf
|
||||
def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0'):
|
||||
def CHECK_BUNDLED_SYSTEM(conf, libname, minversion='0.0.0',
|
||||
checkfunctions=None, headers=None):
|
||||
if 'ALL' in conf.env.BUNDLED_LIBS or libname in conf.env.BUNDLED_LIBS:
|
||||
return False
|
||||
found = 'FOUND_SYSTEMLIB_%s' % libname
|
||||
if found in conf.env:
|
||||
return conf.env[found]
|
||||
# try pkgconfig first
|
||||
if conf.check_cfg(package=libname,
|
||||
args='"%s >= %s" --cflags --libs' % (libname, minversion),
|
||||
msg='Checking for system %s >= %s' % (libname, minversion)):
|
||||
conf.SET_TARGET_TYPE(libname, 'SYSLIB')
|
||||
conf.env[found] = True
|
||||
return True
|
||||
if checkfunctions is not None:
|
||||
if conf.CHECK_FUNCS_IN(checkfunctions, libname, headers=headers):
|
||||
conf.env[found] = True
|
||||
return True
|
||||
conf.env[found] = False
|
||||
if 'NONE' in conf.env.BUNDLED_LIBS or '!'+libname in conf.env.BUNDLED_LIBS:
|
||||
print('ERROR: System library %s of version %s not found, and bundling disabled' % (libname, minversion))
|
||||
sys.exit(1)
|
||||
|
@ -2,23 +2,17 @@
|
||||
|
||||
import Options
|
||||
|
||||
def set_options(opt):
|
||||
opt.add_option('--with-included-popt',
|
||||
help=("use bundled popt library, not from system"),
|
||||
action="store_true", dest='INCLUDED_POPT', default=False)
|
||||
|
||||
def configure(conf):
|
||||
conf.CHECK_HEADERS('float.h')
|
||||
if not Options.options.INCLUDED_POPT:
|
||||
if conf.CHECK_FUNCS_IN('poptGetContext', 'popt', headers='popt.h'):
|
||||
conf.DEFINE('HAVE_SYSTEM_POPT', 1)
|
||||
|
||||
if conf.CHECK_BUNDLED_SYSTEM('popt', checkfunctions='poptGetContext', headers='popt.h'):
|
||||
conf.define('USING_SYSTEM_POPT', 1)
|
||||
|
||||
def build(bld):
|
||||
if not bld.CONFIG_SET('HAVE_SYSTEM_POPT'):
|
||||
bld.SAMBA_SUBSYSTEM('LIBPOPT',
|
||||
source='findme.c popt.c poptconfig.c popthelp.c poptparse.c',
|
||||
cflags='-DDBL_EPSILON=__DBL_EPSILON__'
|
||||
)
|
||||
bld.TARGET_ALIAS('LIBPOPT', 'popt')
|
||||
else:
|
||||
bld.TARGET_ALIAS('popt', 'LIBPOPT')
|
||||
if bld.CONFIG_SET('USING_SYSTEM_POPT'):
|
||||
return
|
||||
|
||||
bld.SAMBA_LIBRARY('popt',
|
||||
source='findme.c popt.c poptconfig.c popthelp.c poptparse.c',
|
||||
cflags='-DDBL_EPSILON=__DBL_EPSILON__'
|
||||
)
|
||||
|
@ -40,7 +40,7 @@ def configure(conf):
|
||||
conf.CHECK_HEADERS('windows.h winsock2.h ws2tcpip.h')
|
||||
conf.CHECK_HEADERS('libintl.h errno.h')
|
||||
conf.CHECK_HEADERS('gcrypt.h getopt.h iconv.h')
|
||||
conf.CHECK_HEADERS('sys/inotify.h memory.h nss.h popt.h sasl/sasl.h')
|
||||
conf.CHECK_HEADERS('sys/inotify.h memory.h nss.h sasl/sasl.h')
|
||||
conf.CHECK_HEADERS('security/pam_appl.h sys/inotify.h zlib.h asm/unistd.h')
|
||||
conf.CHECK_HEADERS('aio.h sys/unistd.h rpc/rpc.h rpc/nettype.h alloca.h float.h')
|
||||
|
||||
@ -127,7 +127,6 @@ def configure(conf):
|
||||
|
||||
conf.CHECK_FUNCS_IN('dlopen dlsym dlerror dlclose', 'dl',
|
||||
checklibc=True, headers='dlfcn.h dl.h')
|
||||
conf.CHECK_FUNCS_IN('poptGetContext', 'popt')
|
||||
|
||||
conf.CHECK_FUNCS_IN('fdatasync', 'rt', checklibc=True)
|
||||
|
||||
|
@ -20,7 +20,7 @@ bld.SAMBA_BINARY('nmblookup',
|
||||
source='tools/nmblookup.c',
|
||||
manpages='man/nmblookup.1',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBCLI_NBT LIBPOPT POPT_SAMBA LIBNETIF LIBCLI_RESOLVE'
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBCLI_NBT popt POPT_SAMBA LIBNETIF LIBCLI_RESOLVE'
|
||||
)
|
||||
|
||||
|
||||
|
@ -20,6 +20,6 @@ bld.SAMBA_BINARY('nsstest',
|
||||
bld.SAMBA_BINARY('wbinfo',
|
||||
source='wbinfo.c',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-UTIL LIBREPLACE_EXT LIBCLI_AUTH LIBPOPT POPT_SAMBA LIBWINBIND-CLIENT LIBWBCLIENT tevent UTIL_TEVENT LIBASYNC_REQ UID_WRAPPER'
|
||||
deps='LIBSAMBA-UTIL LIBREPLACE_EXT LIBCLI_AUTH popt POPT_SAMBA LIBWINBIND-CLIENT LIBWBCLIENT tevent UTIL_TEVENT LIBASYNC_REQ UID_WRAPPER'
|
||||
)
|
||||
|
||||
|
@ -3,13 +3,13 @@
|
||||
bld.SAMBA_BINARY('smbclient',
|
||||
source='client.c',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG SMBREADLINE LIBSAMBA-UTIL LIBCLI_SMB RPC_NDR_SRVSVC LIBCLI_LSA LIBPOPT POPT_SAMBA POPT_CREDENTIALS LIBCLI_RAW'
|
||||
deps='LIBSAMBA-HOSTCONFIG SMBREADLINE LIBSAMBA-UTIL LIBCLI_SMB RPC_NDR_SRVSVC LIBCLI_LSA popt POPT_SAMBA POPT_CREDENTIALS LIBCLI_RAW'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_BINARY('cifsdd',
|
||||
source='cifsdd.c cifsddio.c',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBCLI_SMB LIBPOPT POPT_SAMBA POPT_CREDENTIALS'
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBCLI_SMB popt POPT_SAMBA POPT_CREDENTIALS'
|
||||
)
|
||||
|
||||
|
@ -3,12 +3,12 @@
|
||||
bld.SAMBA_SUBSYSTEM('LIBCMDLINE_CREDENTIALS',
|
||||
source='credentials.c',
|
||||
autoproto='credentials.h',
|
||||
public_deps='CREDENTIALS LIBPOPT'
|
||||
public_deps='CREDENTIALS popt'
|
||||
)
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('POPT_SAMBA',
|
||||
source='popt_common.c',
|
||||
public_deps='LIBPOPT',
|
||||
public_deps='popt',
|
||||
public_headers='popt_common.h:popt.h',
|
||||
header_path='samba',
|
||||
deps='talloc'
|
||||
@ -18,7 +18,7 @@ bld.SAMBA_SUBSYSTEM('POPT_SAMBA',
|
||||
bld.SAMBA_SUBSYSTEM('POPT_CREDENTIALS',
|
||||
source='popt_credentials.c',
|
||||
autoproto='popt_credentials.h',
|
||||
public_deps='CREDENTIALS LIBCMDLINE_CREDENTIALS LIBPOPT',
|
||||
public_deps='CREDENTIALS LIBCMDLINE_CREDENTIALS popt',
|
||||
deps='LIBSAMBA-UTIL'
|
||||
)
|
||||
|
||||
|
@ -11,6 +11,7 @@ import wafsamba
|
||||
|
||||
LIBTDB_DIR= srcdir + '/lib/tdb'
|
||||
LIBTEVENT_DIR= srcdir + '/lib/tevent'
|
||||
LIBPOPT_DIR= srcdir + '/lib/popt'
|
||||
|
||||
def set_options(opt):
|
||||
opt.BUILTIN_DEFAULT('replace')
|
||||
@ -21,6 +22,7 @@ def set_options(opt):
|
||||
def configure(conf):
|
||||
conf.sub_config(LIBTDB_DIR)
|
||||
conf.sub_config(LIBTEVENT_DIR)
|
||||
conf.sub_config(LIBPOPT_DIR)
|
||||
# where does the default LIBDIR end up? in conf.env somewhere?
|
||||
#
|
||||
conf.CONFIG_PATH('LDB_MODULESDIR', conf.SUBST_ENV_VAR('MODULESDIR') + '/ldb')
|
||||
@ -39,6 +41,7 @@ def configure(conf):
|
||||
def build(bld):
|
||||
bld.BUILD_SUBDIR(LIBTDB_DIR)
|
||||
bld.BUILD_SUBDIR(LIBTEVENT_DIR)
|
||||
bld.BUILD_SUBDIR(LIBPOPT_DIR)
|
||||
|
||||
# in Samba4 we build some extra modules, and add extra
|
||||
# capabilities to the ldb cmdline tools
|
||||
|
@ -30,7 +30,7 @@ bld.SAMBA_BINARY('regdiff',
|
||||
source='tools/regdiff.c',
|
||||
manpages='man/regdiff.1',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG registry LIBPOPT POPT_SAMBA POPT_CREDENTIALS'
|
||||
deps='LIBSAMBA-HOSTCONFIG registry popt POPT_SAMBA POPT_CREDENTIALS'
|
||||
)
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ bld.SAMBA_BINARY('regpatch',
|
||||
source='tools/regpatch.c',
|
||||
manpages='man/regpatch.1',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG registry LIBPOPT POPT_SAMBA POPT_CREDENTIALS registry_common'
|
||||
deps='LIBSAMBA-HOSTCONFIG registry popt POPT_SAMBA POPT_CREDENTIALS registry_common'
|
||||
)
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ bld.SAMBA_BINARY('regshell',
|
||||
source='tools/regshell.c',
|
||||
manpages='man/regshell.1',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBPOPT registry POPT_SAMBA POPT_CREDENTIALS SMBREADLINE registry_common'
|
||||
deps='LIBSAMBA-HOSTCONFIG popt registry POPT_SAMBA POPT_CREDENTIALS SMBREADLINE registry_common'
|
||||
)
|
||||
|
||||
|
||||
@ -54,7 +54,7 @@ bld.SAMBA_BINARY('regtree',
|
||||
source='tools/regtree.c',
|
||||
manpages='man/regtree.1',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBPOPT registry POPT_SAMBA POPT_CREDENTIALS registry_common'
|
||||
deps='LIBSAMBA-HOSTCONFIG popt registry POPT_SAMBA POPT_CREDENTIALS registry_common'
|
||||
)
|
||||
|
||||
|
||||
|
@ -13,14 +13,14 @@ bld.SAMBA_SUBSYSTEM('WMI',
|
||||
bld.SAMBA_BINARY('wmic',
|
||||
source='tools/wmic.c',
|
||||
installdir='BINDIR',
|
||||
deps='POPT_SAMBA POPT_CREDENTIALS LIBPOPT WMI'
|
||||
deps='POPT_SAMBA POPT_CREDENTIALS popt WMI'
|
||||
)
|
||||
|
||||
|
||||
bld.SAMBA_BINARY('wmis',
|
||||
source='tools/wmis.c',
|
||||
installdir='BINDIR',
|
||||
deps='POPT_SAMBA POPT_CREDENTIALS LIBPOPT WMI'
|
||||
deps='POPT_SAMBA POPT_CREDENTIALS popt WMI'
|
||||
)
|
||||
|
||||
|
||||
|
@ -18,7 +18,7 @@ bld.SAMBA_BINARY('ndrdump',
|
||||
source='../../librpc/tools/ndrdump.c',
|
||||
manpages='../../librpc/tools/ndrdump.1',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBPOPT POPT_SAMBA NDR_TABLE LIBSAMBA-ERRORS'
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL popt POPT_SAMBA NDR_TABLE LIBSAMBA-ERRORS'
|
||||
)
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@ bld.SAMBA_BINARY('samba',
|
||||
installdir='SBINDIR',
|
||||
subsystem_name='service',
|
||||
deps='''LIBEVENTS process_model service LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL POPT_SAMBA PIDFILE
|
||||
LIBPOPT gensec registry ntptr ntvfs share CLUSTER DCESRV''',
|
||||
popt gensec registry ntptr ntvfs share CLUSTER DCESRV''',
|
||||
needs_python=True,
|
||||
install_path='${SBINDIR}'
|
||||
)
|
||||
|
@ -139,7 +139,7 @@ bld.SAMBA_BINARY('smbtorture',
|
||||
manpages='man/smbtorture.1',
|
||||
public_headers='smbtorture.h',
|
||||
installdir='BINDIR',
|
||||
deps='torture LIBPOPT POPT_SAMBA POPT_CREDENTIALS dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
|
||||
deps='torture popt POPT_SAMBA POPT_CREDENTIALS dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
|
||||
needs_python=True
|
||||
)
|
||||
|
||||
@ -148,7 +148,7 @@ bld.SAMBA_BINARY('gentest',
|
||||
source='gentest.c',
|
||||
manpages='man/gentest.1',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBPOPT POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB LIBCLI_RAW'
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL popt POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB LIBCLI_RAW'
|
||||
)
|
||||
|
||||
|
||||
@ -156,7 +156,7 @@ bld.SAMBA_BINARY('masktest',
|
||||
source='masktest.c',
|
||||
manpages='man/masktest.1',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBPOPT POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB'
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL popt POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB'
|
||||
)
|
||||
|
||||
|
||||
@ -167,7 +167,7 @@ bld.SAMBA_BINARY('locktest',
|
||||
#cflags='--coverage',
|
||||
# GCOV='1',
|
||||
manpages='man/locktest.1',
|
||||
deps='LIBPOPT POPT_SAMBA POPT_CREDENTIALS LIBSAMBA-UTIL LIBCLI_SMB LIBSAMBA-HOSTCONFIG',
|
||||
deps='popt POPT_SAMBA POPT_CREDENTIALS LIBSAMBA-UTIL LIBCLI_SMB LIBSAMBA-HOSTCONFIG',
|
||||
installdir='BINDIR'
|
||||
)
|
||||
|
||||
|
@ -13,7 +13,7 @@ bld.SAMBA_BINARY('net',
|
||||
source='net.c net_machinepw.c net_password.c net_time.c net_join.c net_vampire.c net_user.c net_export_keytab.c',
|
||||
autoproto='net_proto.h',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBSAMBA-NET LIBPOPT POPT_SAMBA POPT_CREDENTIALS net_drs',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBSAMBA-NET popt POPT_SAMBA POPT_CREDENTIALS net_drs',
|
||||
needs_python=True
|
||||
)
|
||||
|
||||
|
@ -8,7 +8,7 @@ bld.SAMBA_BINARY('ntlm_auth',
|
||||
source='ntlm_auth.c',
|
||||
manpages='man/ntlm_auth.1',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBPOPT POPT_SAMBA POPT_CREDENTIALS gensec LIBCLI_RESOLVE auth ntlm_check MESSAGING LIBEVENTS service',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL popt POPT_SAMBA POPT_CREDENTIALS gensec LIBCLI_RESOLVE auth ntlm_check MESSAGING LIBEVENTS service',
|
||||
needs_python=True
|
||||
)
|
||||
|
||||
@ -23,7 +23,7 @@ bld.SAMBA_BINARY('setnttoken',
|
||||
bld.SAMBA_BINARY('testparm',
|
||||
source='testparm.c',
|
||||
installdir='BINDIR',
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL LIBPOPT samba_socket POPT_SAMBA LIBCLI_RESOLVE CHARSET'
|
||||
deps='LIBSAMBA-HOSTCONFIG LIBSAMBA-UTIL popt samba_socket POPT_SAMBA LIBCLI_RESOLVE CHARSET'
|
||||
)
|
||||
|
||||
|
||||
|
@ -19,7 +19,6 @@ def set_options(opt):
|
||||
opt.recurse('../lib/nss_wrapper')
|
||||
opt.recurse('../lib/socket_wrapper')
|
||||
opt.recurse('../lib/uid_wrapper')
|
||||
opt.recurse('../lib/popt')
|
||||
opt.recurse('../pidl')
|
||||
|
||||
def configure(conf):
|
||||
|
Loading…
x
Reference in New Issue
Block a user