s4:dsdb/common: add samdb_domain_guid() helper function
[samba.git] / nsswitch / wscript_build
index e367cc726cabb03a4173a078e968c10f2e3ad57b..a87e65833d74f0272c68d00b28ff05befc651ac5 100644 (file)
 #!/usr/bin/env python
+import Utils
+import sys
+host_os = sys.platform
 
-bld.SAMBA_LIBRARY('libwinbind-client',
-                  source='wb_common.c',
-                  deps='replace',
-                  cflags='-DSOCKET_WRAPPER_DISABLE=1 -DWINBINDD_SOCKET_DIR=\"%s\"' % bld.env.WINBINDD_SOCKET_DIR,
-                  private_library=True
-                  )
+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='LIBSAMBA-UTIL LIBSAMBA-HOSTCONFIG'
-       )
+                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 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='krb5_plugin/winbind_krb5_locator.c',
+                      deps='wbclient krb5 com_err',
+                      realname='winbind_krb5_locator.so',
+                      install_path='${MODULESDIR}/krb5')
+
+if bld.CONFIG_SET('HAVE_KRB5_LOCALAUTH_PLUGIN_H'):
+    bld.SAMBA_LIBRARY('winbind_krb5_localauth',
+                      source='krb5_plugin/winbind_krb5_localauth.c',
+                      deps='wbclient krb5 com_err',
+                      realname='winbind_krb5_localauth.so',
+                      install_path='${MODULESDIR}/krb5')
+
+bld.SAMBA_SUBSYSTEM('WB_REQTRANS',
+       source='wb_reqtrans.c',
+       deps='talloc tevent LIBASYNC_REQ'
+       )
 
 bld.SAMBA_BINARY('wbinfo',
        source='wbinfo.c',
-       deps='LIBSAMBA-UTIL LIBCLI_AUTH popt POPT_SAMBA libwinbind-client LIBWBCLIENT tevent UTIL_TEVENT LIBASYNC_REQ libsecurity LIBNDR NDR_SECURITY'
+       deps='samba-util LIBCLI_AUTH popt POPT_SAMBA wbclient LIBAFS_SETTOKEN'
        )
-
-bld.SAMBA_LIBRARY('nss_winbind',
-    source='../nsswitch/winbind_nss_linux.c',
-    deps='libwinbind-client',
-    realname='libnss_winbind.so.2',
-    vnum='2')
-
-if bld.CONFIG_SET('HAVE_PAM_START'):
-    bld.SAMBA_LIBRARY('pamwinbind',
-        source='../nsswitch/pam_winbind.c',
-        deps='talloc LIBWBCLIENT libwinbind-client LIBINIPARSER pam',
-        cflags='-DLOCALEDIR=\"%s/locale\"' % bld.env.DATADIR,
-        realname='pam_winbind.so',
-        )