summaryrefslogtreecommitdiffstats
path: root/nsswitch/wscript_build
blob: cc17a2ef594dc46715b817cc950ed29bf1cbd781 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#!/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',
			  source='winbind_nss_linux.c',
			  deps='winbind-client',
			  realname='libnss_winbind.so.2',
			  soname='libnss_winbind.so',
			  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')

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='libnss_winbind.so')

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 iniparser 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'
	)