8499c62eee373194d2cfc88e630dea3c0a903cd6
[obnox/samba/samba-obnox.git] / nsswitch / wscript_build
1 #!/usr/bin/env python
2 import Utils
3 import sys
4 host_os = sys.platform
5
6 bld.SAMBA_LIBRARY('winbind-client',
7         source='wb_common.c',
8         deps='replace',
9         cflags='-DSOCKET_WRAPPER_DISABLE=1 -DWINBINDD_SOCKET_DIR=\"%s\"' % bld.env.WINBINDD_SOCKET_DIR,
10         private_library=True
11         )
12
13
14 bld.SAMBA_BINARY('nsstest',
15         source='nsstest.c',
16         deps='replace dl'
17         )
18
19 # The nss_wrapper code relies strictly on the linux implementation and
20 # name, so compile but do not install a copy under this name.
21 bld.SAMBA_LIBRARY('nss_wrapper_winbind',
22                   source='winbind_nss_linux.c',
23                   deps='winbind-client',
24                   realname='libnss_wrapper_winbind.so.2',
25                   install=False,
26                   vnum='2')
27
28 # FIXME: original was *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
29 # the search for .rfind('gnu') covers gnu* and *-gnu is that too broad?
30
31 if (Utils.unversioned_sys_platform() == 'linux' or (host_os.rfind('gnu') > -1)):
32         bld.SAMBA_LIBRARY('nss_winbind',
33                           source='winbind_nss_linux.c',
34                           deps='winbind-client',
35                           realname='libnss_winbind.so.2',
36                           vnum='2')
37 elif (host_os.rfind('freebsd') > -1):
38         # FreeBSD winbind client is implemented as a wrapper around
39         # the Linux version.
40         bld.SAMBA_LIBRARY('nss_winbind',
41                           source='winbind_nss_linux.c winbind_nss_freebsd.c',
42                           deps='winbind-client',
43                           realname='libnss_winbind.so.1',
44                           vnum='1')
45
46 elif (host_os.rfind('netbsd') > -1):
47         # NetBSD winbind client is implemented as a wrapper
48         # around the Linux version. It needs getpwent_r() to
49         # indicate libc's use of the correct nsdispatch API.
50
51         if bld.CONFIG_SET("HAVE_GETPWENT_R"):
52                 bld.SAMBA_LIBRARY('nss_winbind',
53                                   source='winbind_nss_linux.c winbind_nss_netbsd.c',
54                                   deps='winbind-client', 
55                                   realname='libnss_winbind.so')
56 elif (host_os.rfind('irix') > -1):
57         bld.SAMBA_LIBRARY('ns_winbind',
58                           source='winbind_nss_irix.c',
59                           deps='winbind-client', 
60                           realname='libns_winbind.so')
61
62 elif Utils.unversioned_sys_platform() == 'sunos':
63         bld.SAMBA_LIBRARY('nss_winbind',
64                           source='winbind_nss_solaris.c winbind_nss_linux.c',
65                           deps='winbind-client',
66                           realname='nss_winbind.so.1',
67                           vnum='1')
68 elif (host_os.rfind('hpux') > -1):
69         bld.SAMBA_LIBRARY('nss_winbind',
70                           source='winbind_nss_linux.c',
71                           deps='winbind-client', 
72                           realname='libnss_winbind.so')
73 elif (host_os.rfind('aix') > -1):
74         bld.SAMBA_LIBRARY('nss_winbind',
75                           source='winbind_nss_aix.c',
76                           deps='winbind-client', 
77                           realname='libnss_winbind.so')
78
79 if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'):
80         bld.SAMBA_LIBRARY('pamwinbind',
81                 source='pam_winbind.c',
82                 deps='intl talloc wbclient winbind-client iniparser pam',
83                 cflags='-DLOCALEDIR=\"%s/locale\"' % bld.env.DATADIR,
84                 realname='pam_winbind.so',
85                 install_path='${PAMMODULESDIR}'
86                 )
87
88 if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'):
89         bld.SAMBA_LIBRARY('winbind_krb5_locator',
90                 source='winbind_krb5_locator.c',
91                 deps='wbclient krb5 com_err',
92                 realname='winbind_krb5_locator.so')
93
94 bld.SAMBA_SUBSYSTEM('WB_REQTRANS',
95         source='wb_reqtrans.c',
96         deps='talloc tevent LIBASYNC_REQ'
97         )
98
99 bld.SAMBA_BINARY('wbinfo',
100         source='wbinfo.c',
101         deps='samba-util LIBCLI_AUTH popt POPT_SAMBA wbclient LIBAFS_SETTOKEN'
102         )