1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/nsswitch/wscript_build
Andreas Schneider d8a5565ae6 waf: Explicitly link against libnss_wins.so
If we do not specify replace as a depencency here, it will not link to
libreplace using an rpath.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12277

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Jim McDonough <jmcd@samba.org>

Autobuild-User(master): Jim McDonough <jmcd@samba.org>
Autobuild-Date(master): Tue Sep 20 08:00:08 CEST 2016 on sn-devel-144
2016-09-20 08:00:08 +02:00

122 lines
3.7 KiB
Python

#!/usr/bin/env python
import Utils
import sys
host_os = sys.platform
bld.SAMBA_LIBRARY('winbind-client',
source='wb_common.c',
deps='replace',
cflags='-DWINBINDD_SOCKET_DIR=\"%s\"' % bld.env.WINBINDD_SOCKET_DIR,
private_library=True
)
bld.SAMBA_BINARY('nsstest',
source='nsstest.c',
deps='replace dl',
install=False
)
# The nss_wrapper code relies strictly on the linux implementation and
# name, so compile but do not install a copy under this name.
bld.SAMBA_LIBRARY('nss_wrapper_winbind',
source='winbind_nss_linux.c',
deps='winbind-client',
realname='libnss_wrapper_winbind.so.2',
install=False,
vnum='2')
# FIXME: original was *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
# the search for .rfind('gnu') covers gnu* and *-gnu is that too broad?
if (Utils.unversioned_sys_platform() == 'linux' or (host_os.rfind('gnu') > -1)):
bld.SAMBA_LIBRARY('nss_winbind',
keep_underscore=True,
source='winbind_nss_linux.c',
deps='winbind-client',
public_headers=[],
public_headers_install=False,
pc_files=[],
vnum='2')
bld.SAMBA3_LIBRARY('nss_wins',
keep_underscore=True,
source='wins.c',
deps='wbclient replace',
public_headers=[],
public_headers_install=False,
pc_files=[],
vnum='2')
elif (host_os.rfind('freebsd') > -1):
# FreeBSD winbind client is implemented as a wrapper around
# the Linux version.
bld.SAMBA_LIBRARY('nss_winbind',
source='winbind_nss_linux.c winbind_nss_freebsd.c',
deps='winbind-client',
realname='nss_winbind.so.1',
vnum='1')
bld.SAMBA3_LIBRARY('nss_wins',
source='wins.c wins_freebsd.c',
deps='''wbclient''',
realname='nss_wins.so.1',
vnum='1')
elif (host_os.rfind('netbsd') > -1):
# NetBSD winbind client is implemented as a wrapper
# around the Linux version. It needs getpwent_r() to
# indicate libc's use of the correct nsdispatch API.
if bld.CONFIG_SET("HAVE_GETPWENT_R"):
bld.SAMBA_LIBRARY('nss_winbind',
source='winbind_nss_linux.c winbind_nss_netbsd.c',
deps='winbind-client',
realname='libnss_winbind.so')
elif (host_os.rfind('irix') > -1):
bld.SAMBA_LIBRARY('ns_winbind',
source='winbind_nss_irix.c',
deps='winbind-client',
realname='libns_winbind.so')
elif Utils.unversioned_sys_platform() == 'sunos':
bld.SAMBA_LIBRARY('nss_winbind',
source='winbind_nss_solaris.c winbind_nss_linux.c',
deps='winbind-client',
realname='nss_winbind.so.1',
vnum='1')
elif (host_os.rfind('hpux') > -1):
bld.SAMBA_LIBRARY('nss_winbind',
source='winbind_nss_linux.c',
deps='winbind-client',
realname='libnss_winbind.so')
elif (host_os.rfind('aix') > -1):
bld.SAMBA_LIBRARY('nss_winbind',
source='winbind_nss_aix.c',
deps='winbind-client',
realname='WINBIND')
if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'):
bld.SAMBA_LIBRARY('pamwinbind',
source='pam_winbind.c',
deps='talloc wbclient winbind-client tiniparser pam samba_intl',
cflags='-DLOCALEDIR=\"%s/locale\"' % bld.env.DATADIR,
realname='pam_winbind.so',
install_path='${PAMMODULESDIR}'
)
if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'):
bld.SAMBA_LIBRARY('winbind_krb5_locator',
source='winbind_krb5_locator.c',
deps='wbclient krb5 com_err',
realname='winbind_krb5_locator.so')
bld.SAMBA_SUBSYSTEM('WB_REQTRANS',
source='wb_reqtrans.c',
deps='talloc tevent LIBASYNC_REQ'
)
bld.SAMBA_BINARY('wbinfo',
source='wbinfo.c',
deps='samba-util LIBCLI_AUTH popt POPT_SAMBA wbclient LIBAFS_SETTOKEN'
)