s3/smbd: smb2 server implementation for query get/set info.
[vlendec/samba-autobuild/.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='-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                  install=False
18                  )
19
20 # The nss_wrapper code relies strictly on the linux implementation and
21 # name, so compile but do not install a copy under this name.
22 bld.SAMBA_LIBRARY('nss_wrapper_winbind',
23                   source='winbind_nss_linux.c',
24                   deps='winbind-client',
25                   realname='libnss_wrapper_winbind.so.2',
26                   install=False,
27                   vnum='2')
28
29 # FIXME: original was *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu)
30 # the search for .rfind('gnu') covers gnu* and *-gnu is that too broad?
31
32 if (Utils.unversioned_sys_platform() == 'linux' or (host_os.rfind('gnu') > -1)):
33     bld.SAMBA_LIBRARY('nss_winbind',
34               keep_underscore=True,
35               source='winbind_nss_linux.c',
36               deps='winbind-client',
37               public_headers=[],
38               public_headers_install=False,
39               pc_files=[],
40               vnum='2')
41
42     bld.SAMBA3_LIBRARY('nss_wins',
43                        keep_underscore=True,
44                        source='wins.c',
45                        deps='wbclient replace',
46                        public_headers=[],
47                        public_headers_install=False,
48                        pc_files=[],
49                        vnum='2')
50 elif (host_os.rfind('freebsd') > -1):
51         # FreeBSD winbind client is implemented as a wrapper around
52         # the Linux version.
53         bld.SAMBA_LIBRARY('nss_winbind',
54                           source='winbind_nss_linux.c winbind_nss_freebsd.c',
55                           deps='winbind-client',
56                           realname='nss_winbind.so.1',
57                           vnum='1')
58
59         bld.SAMBA3_LIBRARY('nss_wins',
60                           source='wins.c wins_freebsd.c',
61                           deps='''wbclient''',
62                           realname='nss_wins.so.1',
63                           vnum='1')
64
65 elif (host_os.rfind('netbsd') > -1):
66         # NetBSD winbind client is implemented as a wrapper
67         # around the Linux version. It needs getpwent_r() to
68         # indicate libc's use of the correct nsdispatch API.
69
70         if bld.CONFIG_SET("HAVE_GETPWENT_R"):
71                 bld.SAMBA_LIBRARY('nss_winbind',
72                                   source='winbind_nss_linux.c winbind_nss_netbsd.c',
73                                   deps='winbind-client', 
74                                   realname='libnss_winbind.so')
75 elif (host_os.rfind('irix') > -1):
76         bld.SAMBA_LIBRARY('ns_winbind',
77                           source='winbind_nss_irix.c',
78                           deps='winbind-client', 
79                           realname='libns_winbind.so')
80
81 elif Utils.unversioned_sys_platform() == 'sunos':
82         bld.SAMBA_LIBRARY('nss_winbind',
83                           source='winbind_nss_solaris.c winbind_nss_linux.c',
84                           deps='winbind-client',
85                           realname='nss_winbind.so.1',
86                           vnum='1')
87 elif (host_os.rfind('hpux') > -1):
88         bld.SAMBA_LIBRARY('nss_winbind',
89                           source='winbind_nss_linux.c',
90                           deps='winbind-client', 
91                           realname='libnss_winbind.so')
92 elif (host_os.rfind('aix') > -1):
93         bld.SAMBA_LIBRARY('nss_winbind',
94                           source='winbind_nss_aix.c',
95                           deps='winbind-client', 
96                           realname='WINBIND')
97
98 if bld.CONFIG_SET('WITH_PAM_MODULES') and bld.CONFIG_SET('HAVE_PAM_START'):
99         bld.SAMBA_LIBRARY('pamwinbind',
100                 source='pam_winbind.c',
101                 deps='talloc wbclient winbind-client tiniparser pam samba_intl',
102                 cflags='-DLOCALEDIR=\"%s/locale\"' % bld.env.DATADIR,
103                 realname='pam_winbind.so',
104                 install_path='${PAMMODULESDIR}'
105                 )
106
107 if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'):
108         bld.SAMBA_LIBRARY('winbind_krb5_locator',
109                 source='winbind_krb5_locator.c',
110                 deps='wbclient krb5 com_err',
111                 realname='winbind_krb5_locator.so')
112
113 if bld.CONFIG_SET('HAVE_KRB5_LOCALAUTH_PLUGIN_H'):
114     bld.SAMBA_LIBRARY('winbind_krb5_localauth',
115                       source='krb5_plugin/winbind_krb5_localauth.c',
116                       deps='wbclient krb5 com_err',
117                       realname='winbind-krb5-localauth.so')
118
119 bld.SAMBA_SUBSYSTEM('WB_REQTRANS',
120         source='wb_reqtrans.c',
121         deps='talloc tevent LIBASYNC_REQ'
122         )
123
124 bld.SAMBA_BINARY('wbinfo',
125         source='wbinfo.c',
126         deps='samba-util LIBCLI_AUTH popt POPT_SAMBA wbclient LIBAFS_SETTOKEN'
127         )