s3-librpc: Remove backup declaration of GSS_C_DCE_STYLE
[samba.git] / librpc / wscript_build
index fa838dad2ae6b39e226f8add7229a51aab3e8a2d..540050edb90352c0451b63b012513e9557673349 100644 (file)
 #!/usr/bin/env python
 
 bld.RECURSE('idl')
+bld.RECURSE('../lib/compression')
 
 bld.SAMBA_SUBSYSTEM('NDR_AUDIOSRV',
-       source='../librpc/gen_ndr/ndr_audiosrv.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_audiosrv.c',
+       public_deps='ndr'
+       )
+
+bld.SAMBA_SUBSYSTEM('NDR_AUTH',
+                    source='gen_ndr/ndr_auth.c ndr/ndr_auth.c',
+                    public_headers='gen_ndr/auth.h',
+                    header_path='gen_ndr',
+                    public_deps='ndr NDR_SECURITY ndr-krb5pac'
+                    )
+
+bld.SAMBA_SUBSYSTEM('NDR_ATSVC',
+       source='gen_ndr/ndr_atsvc.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_NAMED_PIPE_AUTH',
-       source='../librpc/gen_ndr/ndr_named_pipe_auth.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_named_pipe_auth.c',
+       public_deps='ndr NDR_AUTH'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DNSSERVER',
-       source='../librpc/gen_ndr/ndr_dnsserver.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_dnsserver.c ndr/ndr_dnsserver.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DNS',
-       source='../librpc/gen_ndr/ndr_dns.c ../librpc/ndr/ndr_dns.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_dns.c ndr/ndr_dns.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DSBACKUP',
-       source='../librpc/gen_ndr/ndr_dsbackup.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_dsbackup.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DFS',
-       source='../librpc/gen_ndr/ndr_dfs.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_dfs.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_WINREG',
-       source='../librpc/gen_ndr/ndr_winreg.c',
-       public_deps='LIBNDR NDR_SECURITY NDR_LSA'
+       source='gen_ndr/ndr_winreg.c',
+       public_deps='ndr NDR_SECURITY NDR_LSA'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_EFS',
-       source='../librpc/gen_ndr/ndr_efs.c',
-       public_deps='LIBNDR NDR_SECURITY'
+       source='gen_ndr/ndr_efs.c',
+       public_deps='ndr NDR_SECURITY'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_ROT',
-       source='../librpc/gen_ndr/ndr_rot.c',
-       public_deps='LIBNDR NDR_ORPC'
+       source='gen_ndr/ndr_rot.c',
+       public_deps='ndr NDR_ORPC'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_FRSRPC',
-       source='../librpc/ndr/ndr_frsrpc.c ../librpc/gen_ndr/ndr_frsrpc.c',
-       public_deps='LIBNDR'
+       source='ndr/ndr_frsrpc.c gen_ndr/ndr_frsrpc.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_FRSAPI',
-       source='../librpc/gen_ndr/ndr_frsapi.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_frsapi.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_FRSTRANS',
-       source='../librpc/gen_ndr/ndr_frstrans.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_frstrans.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DFSBLOBS',
-       source='../librpc/gen_ndr/ndr_dfsblobs.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_dfsblobs.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_POLICYAGENT',
-       source='../librpc/gen_ndr/ndr_policyagent.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_policyagent.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_UNIXINFO',
-       source='../librpc/gen_ndr/ndr_unixinfo.c',
-       public_deps='LIBNDR NDR_SECURITY'
+       source='gen_ndr/ndr_unixinfo.c',
+       public_deps='ndr NDR_SECURITY'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_SPOOLSS',
-       source='../librpc/gen_ndr/ndr_spoolss.c',
-       public_deps='LIBNDR NDR_SPOOLSS_BUF NDR_SECURITY'
+       source='gen_ndr/ndr_spoolss.c',
+       public_deps='ndr NDR_SPOOLSS_BUF NDR_SECURITY'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_SPOOLSS_BUF',
-       source='../librpc/ndr/ndr_spoolss_buf.c',
+       source='ndr/ndr_spoolss_buf.c',
         deps='talloc'
        )
 
+bld.SAMBA_SUBSYSTEM('NDR_PRINTCAP',
+       source='gen_ndr/ndr_printcap.c',
+       public_deps='ndr'
+       )
+
 bld.SAMBA_SUBSYSTEM('NDR_EPMAPPER',
-       source='../librpc/gen_ndr/ndr_epmapper.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_epmapper.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DBGIDL',
-       source='../librpc/gen_ndr/ndr_dbgidl.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_dbgidl.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DSSETUP',
-       source='../librpc/gen_ndr/ndr_dssetup.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_dssetup.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_MSGSVC',
-       source='../librpc/gen_ndr/ndr_msgsvc.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_msgsvc.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_MGMT',
-       source='../librpc/gen_ndr/ndr_mgmt.c',
-       public_deps='LIBNDR'
-       )
-
-bld.SAMBA_SUBSYSTEM('NDR_PROTECTED_STORAGE',
-       source='../librpc/gen_ndr/ndr_protected_storage.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_mgmt.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_ORPC',
-       source='../librpc/ndr/ndr_orpc.c ../librpc/gen_ndr/ndr_orpc.c',
-       public_deps='LIBNDR'
+       source='ndr/ndr_orpc.c gen_ndr/ndr_orpc.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_OXIDRESOLVER',
-       source='../librpc/gen_ndr/ndr_oxidresolver.c',
-       public_deps='LIBNDR NDR_ORPC'
+       source='gen_ndr/ndr_oxidresolver.c',
+       public_deps='ndr NDR_ORPC'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_REMACT',
-       source='../librpc/gen_ndr/ndr_remact.c',
-       public_deps='LIBNDR NDR_ORPC'
+       source='gen_ndr/ndr_remact.c',
+       public_deps='ndr NDR_ORPC'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DCOM',
-       source='../librpc/gen_ndr/ndr_dcom.c',
-       public_deps='LIBNDR NDR_SECURITY NDR_ORPC'
+       source='gen_ndr/ndr_dcom.c',
+       public_deps='ndr NDR_SECURITY NDR_ORPC'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_WMI',
-       source='../librpc/ndr/ndr_wmi.c ../librpc/gen_ndr/ndr_wmi.c',
-       public_deps='LIBNDR NDR_SECURITY NDR_DCOM'
+       source='ndr/ndr_wmi.c gen_ndr/ndr_wmi.c',
+       public_deps='ndr NDR_SECURITY NDR_DCOM'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_WZCSVC',
-       source='../librpc/gen_ndr/ndr_wzcsvc.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_wzcsvc.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_BROWSER',
-       source='../librpc/gen_ndr/ndr_browser.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_browser.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_W32TIME',
-       source='../librpc/gen_ndr/ndr_w32time.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_w32time.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_SCERPC',
-       source='../librpc/gen_ndr/ndr_scerpc.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_scerpc.c',
+       public_deps='ndr'
+       )
+
+bld.SAMBA_SUBSYSTEM('NDR_SERVER_ID',
+       source='gen_ndr/ndr_server_id.c',
+       deps='ndr',
+       public_headers='gen_ndr/server_id.h',
+       header_path='gen_ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_TRKWKS',
-       source='../librpc/gen_ndr/ndr_trkwks.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_trkwks.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_KEYSVC',
-       source='../librpc/gen_ndr/ndr_keysvc.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_keysvc.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_RAP',
-       source='../librpc/gen_ndr/ndr_rap.c ../librpc/ndr/ndr_rap.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_rap.c ndr/ndr_rap.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_IDMAP',
-       source='../librpc/gen_ndr/ndr_idmap.c',
-       public_deps='LIBNDR NDR_STANDARD'
+       source='gen_ndr/ndr_idmap.c',
+       public_deps='ndr ndr-standard'
+       )
+
+bld.SAMBA_SUBSYSTEM('NDR_NOTIFY',
+       source='gen_ndr/ndr_notify.c',
+       public_deps='ndr ndr-standard NDR_SERVER_ID NDR_FILE_ID'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_NTLMSSP',
-       source='../librpc/ndr/ndr_ntlmssp.c ../librpc/gen_ndr/ndr_ntlmssp.c',
-       public_deps='LIBNDR NDR_STANDARD'
+       source='ndr/ndr_ntlmssp.c gen_ndr/ndr_ntlmssp.c',
+       public_deps='ndr ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DNSP',
-       source='../librpc/gen_ndr/ndr_dnsp.c ../librpc/ndr/ndr_dnsp.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_dnsp.c ndr/ndr_dnsp.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_NTPRINTING',
-       source='../librpc/gen_ndr/ndr_ntprinting.c ../librpc/ndr/ndr_ntprinting.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_ntprinting.c ndr/ndr_ntprinting.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_SAMR',
-       source='../librpc/gen_ndr/ndr_samr.c',
-       public_deps='LIBNDR NDR_SECURITY NDR_LSA'
+       source='gen_ndr/ndr_samr.c',
+       public_deps='ndr NDR_SECURITY NDR_LSA'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_LSA',
-       source='../librpc/gen_ndr/ndr_lsa.c',
-       public_deps='LIBNDR NDR_SECURITY'
+       source='gen_ndr/ndr_lsa.c',
+       public_deps='ndr NDR_SECURITY'
+       )
+
+bld.SAMBA_SUBSYSTEM('NDR_SECURITY',
+       source='gen_ndr/ndr_security.c ndr/ndr_sec_helper.c',
+       deps='ndr security',
+       public_headers='gen_ndr/security.h',
+       header_path='gen_ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_SVCCTL',
-       source='../librpc/gen_ndr/ndr_svcctl.c ../librpc/ndr/ndr_svcctl.c',
-       public_deps='LIBNDR NDR_SECURITY'
+       source='gen_ndr/ndr_svcctl.c ndr/ndr_svcctl.c',
+       public_deps='ndr NDR_SECURITY'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_SRVSVC',
-       source='../librpc/gen_ndr/ndr_srvsvc.c',
-       public_deps='LIBNDR NDR_SECURITY NDR_SVCCTL'
+       source='gen_ndr/ndr_srvsvc.c',
+       public_deps='ndr NDR_SECURITY NDR_SVCCTL'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_NETLOGON',
-       source='../librpc/gen_ndr/ndr_netlogon.c ../librpc/ndr/ndr_netlogon.c',
-       public_deps='LIBNDR NDR_SECURITY NDR_LSA NDR_SAMR NDR_NBT'
+       source='gen_ndr/ndr_netlogon.c ndr/ndr_netlogon.c',
+       public_deps='ndr NDR_SECURITY NDR_LSA NDR_SAMR ndr_nbt'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_EVENTLOG',
-       source='../librpc/gen_ndr/ndr_eventlog.c',
-       public_deps='LIBNDR NDR_SECURITY NDR_LSA'
+       source='gen_ndr/ndr_eventlog.c',
+       public_deps='ndr NDR_SECURITY NDR_LSA'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_NTSVCS',
-       source='../librpc/gen_ndr/ndr_ntsvcs.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_ntsvcs.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_WKSSVC',
-       source='../librpc/gen_ndr/ndr_wkssvc.c',
-       public_deps='LIBNDR NDR_SECURITY'
+       source='gen_ndr/ndr_wkssvc.c',
+       public_deps='ndr NDR_SECURITY'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_ECHO',
-       source='../librpc/gen_ndr/ndr_echo.c',
-       public_deps='LIBNDR'
+       source='gen_ndr/ndr_echo.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_INITSHUTDOWN',
-       source='../librpc/gen_ndr/ndr_initshutdown.c',
-       public_deps='LIBNDR NDR_LSA'
+       source='gen_ndr/ndr_initshutdown.c',
+       public_deps='ndr NDR_LSA'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_COMPRESSION',
-       source='../librpc/ndr/ndr_compression.c',
-       public_deps='libsamba-errors LIBNDR',
-       deps='ZLIB LZXPRESS'
+       source='ndr/ndr_compression.c',
+       public_deps='errors ndr',
+       deps='z LZXPRESS'
+       )
+
+bld.SAMBA_SUBSYSTEM('NDR_DCERPC',
+       source='gen_ndr/ndr_dcerpc.c',
+       public_deps='ndr',
+       public_headers='gen_ndr/ndr_dcerpc.h gen_ndr/dcerpc.h',
+       header_path= [ ('*gen_ndr*', 'gen_ndr') ],
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DRSUAPI',
-       source='../librpc/ndr/ndr_drsuapi.c ../librpc/gen_ndr/ndr_drsuapi.c',
-       public_deps='LIBNDR NDR_COMPRESSION NDR_SECURITY NDR_STANDARD ASN1_UTIL'
+       source='ndr/ndr_drsuapi.c gen_ndr/ndr_drsuapi.c',
+       public_deps='ndr NDR_COMPRESSION NDR_SECURITY ndr-standard asn1util',
+       public_headers='gen_ndr/ndr_drsuapi.h gen_ndr/drsuapi.h ndr/ndr_drsuapi.h',
+       header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_DRSBLOBS',
-       source='../librpc/ndr/ndr_drsblobs.c ../librpc/gen_ndr/ndr_drsblobs.c',
-       public_deps='LIBNDR NDR_DRSUAPI'
+       source='ndr/ndr_drsblobs.c gen_ndr/ndr_drsblobs.c',
+       public_deps='ndr NDR_DRSUAPI',
+       public_headers='gen_ndr/ndr_drsblobs.h gen_ndr/drsblobs.h ndr/ndr_drsblobs.h',
+       header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
+       )
+
+bld.SAMBA_LIBRARY('ndr-krb5pac',
+                    source='ndr/ndr_krb5pac.c gen_ndr/ndr_krb5pac.c',
+                    public_deps='ndr ndr-standard NDR_SECURITY',
+                    public_headers='gen_ndr/krb5pac.h gen_ndr/ndr_krb5pac.h',
+                    header_path='gen_ndr',
+                    pc_files='ndr_krb5pac.pc',
+                    vnum='0.0.1'
+                    )
+
+bld.SAMBA_LIBRARY('ndr-standard',
+       source='gen_ndr/ndr_eventlog6.c',
+       vnum='0.0.1',
+       pc_files='ndr_standard.pc',
+       deps='''NDR_SECURITY NDR_LSA NDR_SAMR NDR_NETLOGON NDR_EVENTLOG NDR_DFS
+       NDR_NTSVCS NDR_SVCCTL NDR_INITSHUTDOWN NDR_WKSSVC NDR_SRVSVC NDR_WINREG
+       NDR_ECHO security NDR_DNS NDR_ATSVC NDR_SPOOLSS NDR_DSSETUP
+        NDR_SERVER_ID NDR_NOTIFY''',
+       public_deps='ndr',
+       public_headers='gen_ndr/samr.h gen_ndr/ndr_samr.h gen_ndr/lsa.h gen_ndr/netlogon.h gen_ndr/atsvc.h gen_ndr/ndr_atsvc.h gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h',
+       header_path='gen_ndr'
        )
 
-bld.SAMBA_SUBSYSTEM('NDR_KRB5PAC',
-       source='../librpc/ndr/ndr_krb5pac.c ../librpc/gen_ndr/ndr_krb5pac.c',
-       public_deps='LIBNDR NDR_STANDARD NDR_SECURITY'
+bld.SAMBA_SUBSYSTEM('NDR_XATTR',
+       source='ndr/ndr_xattr.c gen_ndr/ndr_xattr.c',
+       public_deps='ndr NDR_SECURITY'
        )
 
+bld.SAMBA_SUBSYSTEM('NDR_SCHANNEL',
+       source='ndr/ndr_schannel.c gen_ndr/ndr_schannel.c',
+       public_deps='ndr ndr_nbt'
+       )
 
-bld.SAMBA_SUBSYSTEM('NDR_XATTR',
-       source='../librpc/ndr/ndr_xattr.c ../librpc/gen_ndr/ndr_xattr.c',
-       public_deps='LIBNDR NDR_SECURITY'
+bld.SAMBA_LIBRARY('ndr_nbt',
+       source='gen_ndr/ndr_nbt.c ndr/ndr_nbt.c',
+       public_deps='ndr NDR_NBT_BUF NDR_SECURITY',
+       public_headers='gen_ndr/nbt.h gen_ndr/ndr_nbt.h ndr/ndr_nbt.h',
+        header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')],
+        pc_files='ndr_nbt.pc',
+        vnum='0.0.1'
        )
 
-bld.SAMBA_SUBSYSTEM('NDR_SCHANNEL',
-       source='../librpc/ndr/ndr_schannel.c ../librpc/gen_ndr/ndr_schannel.c',
-       public_deps='LIBNDR NDR_NBT'
+bld.SAMBA_SUBSYSTEM('NDR_BACKUPKEY',
+       source='ndr/ndr_backupkey.c gen_ndr/ndr_backupkey.c',
+       public_deps='ndr'
        )
 
-bld.SAMBA_SUBSYSTEM('NDR_NBT',
-       source='../librpc/gen_ndr/ndr_nbt.c',
-       public_deps='LIBNDR NDR_NBT_BUF NDR_SECURITY NDR_STANDARD LIBCLI_NDR_NETLOGON',
-       public_headers='../librpc/gen_ndr/nbt.h',
-        header_path='gen_ndr'
+bld.SAMBA_SUBSYSTEM('NDR_PREG',
+       source='gen_ndr/ndr_preg.c ndr/ndr_preg.c',
+       public_deps='ndr'
+       )
+
+bld.SAMBA_SUBSYSTEM('NDR_FILE_ID',
+       source='gen_ndr/ndr_file_id.c',
+       public_deps='ndr'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_XATTR',
-       source='../librpc/gen_ndr/ndr_xattr_c.c',
-       public_deps='NDR_XATTR dcerpc'
+       source='gen_ndr/ndr_xattr_c.c',
+       public_deps='NDR_XATTR dcerpc-binding'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_ROT',
-       source='../librpc/gen_ndr/ndr_rot_c.c',
-       public_deps='NDR_ROT dcerpc'
+       source='gen_ndr/ndr_rot_c.c',
+       public_deps='NDR_ROT dcerpc-binding'
+       )
+
+bld.SAMBA_SUBSYSTEM('RPC_NDR_ATSVC',
+       source='gen_ndr/ndr_atsvc_c.c',
+       public_deps='dcerpc-binding NDR_ATSVC'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_AUDIOSRV',
-       source='../librpc/gen_ndr/ndr_audiosrv_c.c',
-       public_deps='NDR_AUDIOSRV dcerpc'
+       source='gen_ndr/ndr_audiosrv_c.c',
+       public_deps='NDR_AUDIOSRV dcerpc-binding'
+       )
+
+bld.SAMBA_SUBSYSTEM('RPC_NDR_DNS',
+       source='gen_ndr/ndr_dns_c.c',
+       public_deps='dcerpc-binding NDR_DNS'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_ECHO',
-       source='../librpc/gen_ndr/ndr_echo_c.c',
-       public_deps='dcerpc NDR_ECHO'
+       source='gen_ndr/ndr_echo_c.c',
+       public_deps='dcerpc-binding NDR_ECHO'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DSBACKUP',
-       source='../librpc/gen_ndr/ndr_dsbackup_c.c',
-       public_deps='dcerpc NDR_DSBACKUP'
+       source='gen_ndr/ndr_dsbackup_c.c',
+       public_deps='dcerpc-binding NDR_DSBACKUP'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_EFS',
-       source='../librpc/gen_ndr/ndr_efs_c.c',
-       public_deps='dcerpc NDR_EFS'
+       source='gen_ndr/ndr_efs_c.c',
+       public_deps='dcerpc-binding NDR_EFS'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_LSA',
-       source='../librpc/gen_ndr/ndr_lsa_c.c',
-       public_deps='dcerpc NDR_STANDARD'
+       source='gen_ndr/ndr_lsa_c.c',
+       public_deps='dcerpc-binding ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_SAMR',
-       source='../librpc/gen_ndr/ndr_samr_c.c',
-       public_deps='dcerpc NDR_SAMR'
+       source='gen_ndr/ndr_samr_c.c',
+       public_deps='dcerpc-binding NDR_SAMR'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DFS',
-       source='../librpc/gen_ndr/ndr_dfs_c.c',
-       public_deps='dcerpc NDR_STANDARD'
+       source='gen_ndr/ndr_dfs_c.c',
+       public_deps='dcerpc-binding ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_FRSAPI',
-       source='../librpc/gen_ndr/ndr_frsapi_c.c',
-       public_deps='dcerpc NDR_FRSAPI'
+       source='gen_ndr/ndr_frsapi_c.c',
+       public_deps='dcerpc-binding NDR_FRSAPI'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DRSUAPI',
-       source='../librpc/gen_ndr/ndr_drsuapi_c.c',
-       public_deps='dcerpc NDR_DRSUAPI'
+       source='gen_ndr/ndr_drsuapi_c.c',
+       public_deps='dcerpc-binding NDR_DRSUAPI'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DRSBLOBS',
-       source='../librpc/gen_ndr/ndr_drsblobs_c.c',
-       public_deps='dcerpc NDR_DRSBLOBS'
+       source='gen_ndr/ndr_drsblobs_c.c',
+       public_deps='dcerpc-binding NDR_DRSBLOBS'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_POLICYAGENT',
-       source='../librpc/gen_ndr/ndr_policyagent_c.c',
-       public_deps='dcerpc NDR_POLICYAGENT'
+       source='gen_ndr/ndr_policyagent_c.c',
+       public_deps='dcerpc-binding NDR_POLICYAGENT'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_UNIXINFO',
-       source='../librpc/gen_ndr/ndr_unixinfo_c.c',
-       public_deps='dcerpc NDR_UNIXINFO'
+       source='gen_ndr/ndr_unixinfo_c.c',
+       public_deps='dcerpc-binding NDR_UNIXINFO'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_BROWSER',
-       source='../librpc/gen_ndr/ndr_browser_c.c',
-       public_deps='dcerpc NDR_BROWSER'
+       source='gen_ndr/ndr_browser_c.c',
+       public_deps='dcerpc-binding NDR_BROWSER'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_SPOOLSS',
-       source='../librpc/gen_ndr/ndr_spoolss_c.c',
-       public_deps='dcerpc NDR_SPOOLSS'
+       source='gen_ndr/ndr_spoolss_c.c',
+       public_deps='dcerpc-binding NDR_SPOOLSS'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_NBT',
-       source='../librpc/gen_ndr/ndr_nbt_c.c',
-       public_deps='dcerpc NDR_NBT'
+       source='gen_ndr/ndr_nbt_c.c',
+       public_deps='dcerpc-binding ndr_nbt'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_WKSSVC',
-       source='../librpc/gen_ndr/ndr_wkssvc_c.c',
-       public_deps='dcerpc NDR_STANDARD'
+       source='gen_ndr/ndr_wkssvc_c.c',
+       public_deps='dcerpc-binding ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_SRVSVC',
-       source='../librpc/gen_ndr/ndr_srvsvc_c.c',
-       public_deps='dcerpc NDR_SRVSVC'
+       source='gen_ndr/ndr_srvsvc_c.c',
+       public_deps='dcerpc-binding NDR_SRVSVC'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_SVCCTL',
-       source='../librpc/gen_ndr/ndr_svcctl_c.c',
-       public_deps='dcerpc NDR_STANDARD',
-       public_headers='../librpc/gen_ndr/ndr_svcctl_c.h',
-        header_path='gen_ndr'
+       source='gen_ndr/ndr_svcctl_c.c',
+       public_deps='dcerpc-binding ndr-standard',
+       public_headers='gen_ndr/ndr_svcctl_c.h ndr/ndr_svcctl.h',
+        header_path=[ ('gen_ndr*', 'gen_ndr'), ('ndr*', 'ndr')]
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_EVENTLOG',
-       source='../librpc/gen_ndr/ndr_eventlog_c.c',
-       public_deps='dcerpc NDR_STANDARD'
+       source='gen_ndr/ndr_eventlog_c.c',
+       public_deps='dcerpc-binding ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_EPMAPPER',
-       source='../librpc/gen_ndr/ndr_epmapper_c.c',
+       source='gen_ndr/ndr_epmapper_c.c',
        public_deps='tevent NDR_EPMAPPER'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DBGIDL',
-       source='../librpc/gen_ndr/ndr_dbgidl_c.c',
-       public_deps='dcerpc NDR_DBGIDL'
+       source='gen_ndr/ndr_dbgidl_c.c',
+       public_deps='dcerpc-binding NDR_DBGIDL'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DSSETUP',
-       source='../librpc/gen_ndr/ndr_dssetup_c.c',
-       public_deps='dcerpc NDR_DSSETUP'
+       source='gen_ndr/ndr_dssetup_c.c',
+       public_deps='dcerpc-binding NDR_DSSETUP'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_MSGSVC',
-       source='../librpc/gen_ndr/ndr_msgsvc_c.c',
-       public_deps='dcerpc NDR_MSGSVC'
+       source='gen_ndr/ndr_msgsvc_c.c',
+       public_deps='dcerpc-binding NDR_MSGSVC'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_WINREG',
-       source='../librpc/gen_ndr/ndr_winreg_c.c',
-       public_deps='dcerpc NDR_STANDARD'
+       source='gen_ndr/ndr_winreg_c.c',
+       public_deps='dcerpc-binding ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_INITSHUTDOWN',
-       source='../librpc/gen_ndr/ndr_initshutdown_c.c',
-       public_deps='dcerpc NDR_STANDARD'
+       source='gen_ndr/ndr_initshutdown_c.c',
+       public_deps='dcerpc-binding ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_MGMT',
-       source='../librpc/gen_ndr/ndr_mgmt_c.c',
+       source='gen_ndr/ndr_mgmt_c.c',
        deps='tevent NDR_MGMT'
        )
 
-bld.SAMBA_SUBSYSTEM('RPC_NDR_PROTECTED_STORAGE',
-       source='../librpc/gen_ndr/ndr_protected_storage_c.c',
-       public_deps='dcerpc NDR_PROTECTED_STORAGE'
-       )
-
 bld.SAMBA_SUBSYSTEM('RPC_NDR_OXIDRESOLVER',
-       source='../librpc/gen_ndr/ndr_oxidresolver_c.c',
-       public_deps='dcerpc NDR_OXIDRESOLVER'
+       source='gen_ndr/ndr_oxidresolver_c.c',
+       public_deps='dcerpc-binding NDR_OXIDRESOLVER'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_REMACT',
-       source='../librpc/gen_ndr/ndr_remact_c.c',
-       public_deps='dcerpc NDR_REMACT'
+       source='gen_ndr/ndr_remact_c.c',
+       public_deps='dcerpc-binding NDR_REMACT'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_WZCSVC',
-       source='../librpc/gen_ndr/ndr_wzcsvc_c.c',
-       public_deps='dcerpc NDR_WZCSVC'
+       source='gen_ndr/ndr_wzcsvc_c.c',
+       public_deps='dcerpc-binding NDR_WZCSVC'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_W32TIME',
-       source='../librpc/gen_ndr/ndr_w32time_c.c',
-       public_deps='dcerpc NDR_W32TIME'
+       source='gen_ndr/ndr_w32time_c.c',
+       public_deps='dcerpc-binding NDR_W32TIME'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_SCERPC',
-       source='../librpc/gen_ndr/ndr_scerpc_c.c',
-       public_deps='dcerpc NDR_SCERPC'
+       source='gen_ndr/ndr_scerpc_c.c',
+       public_deps='dcerpc-binding NDR_SCERPC'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_NTSVCS',
-       source='../librpc/gen_ndr/ndr_ntsvcs_c.c',
-       public_deps='dcerpc NDR_STANDARD'
+       source='gen_ndr/ndr_ntsvcs_c.c',
+       public_deps='dcerpc-binding ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_NETLOGON',
-       source='../librpc/gen_ndr/ndr_netlogon_c.c',
-       public_deps='NDR_STANDARD tevent'
+       source='gen_ndr/ndr_netlogon_c.c',
+       public_deps='ndr-standard tevent'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_TRKWKS',
-       source='../librpc/gen_ndr/ndr_trkwks_c.c',
-       public_deps='dcerpc NDR_TRKWKS'
+       source='gen_ndr/ndr_trkwks_c.c',
+       public_deps='dcerpc-binding NDR_TRKWKS'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_KEYSVC',
-       source='../librpc/gen_ndr/ndr_keysvc_c.c',
-       public_deps='dcerpc NDR_KEYSVC'
+       source='gen_ndr/ndr_keysvc_c.c',
+       public_deps='dcerpc-binding NDR_KEYSVC'
+       )
+
+bld.SAMBA_SUBSYSTEM('RPC_NDR_BACKUPKEY',
+       source='gen_ndr/ndr_backupkey_c.c',
+       public_deps='dcerpc-binding NDR_BACKUPKEY'
+       )
+
+bld.SAMBA_SUBSYSTEM('RPC_NDR_DNSP',
+       source='gen_ndr/ndr_dnsp_c.c',
+       public_deps='dcerpc-binding NDR_DNSP'
+       )
+
+bld.SAMBA_SUBSYSTEM('RPC_NDR_DNSSERVER',
+       source='gen_ndr/ndr_dnsserver_c.c',
+       public_deps='dcerpc-binding ndr-standard'
+       )
+
+bld.SAMBA_SUBSYSTEM('NDR_IOCTL',
+       source='gen_ndr/ndr_ioctl.c',
+       public_deps='ndr'
        )
 
 # a grouping library for NDR subsystems that may be used by more than one target
-bld.SAMBA_LIBRARY('NDR_SAMBA',
-                  source=[],
-                  deps='NDR_DRSBLOBS NDR_DRSUAPI NDR_IDMAP NDR_NTLMSSP NDR_SCHANNEL NDR_MGMT NDR_KRB5PAC NDR_DNSP NDR_EPMAPPER NDR_XATTR NDR_UNIXINFO NDR_NAMED_PIPE_AUTH',
-                  private_library=True,
-                  grouping_library=True
-                  )
+bld.SAMBA_LIBRARY('ndr-samba',
+       source=[],
+       deps='NDR_DRSBLOBS NDR_DRSUAPI NDR_IDMAP NDR_NTLMSSP NDR_SCHANNEL NDR_MGMT NDR_DNSP NDR_EPMAPPER NDR_XATTR NDR_UNIXINFO NDR_NAMED_PIPE_AUTH NDR_DCOM NDR_NTPRINTING',
+       private_library=True,
+       grouping_library=True
+       )
 
 # a grouping library for RPC_NDR subsystems that may be used by more than one target
-bld.SAMBA_LIBRARY('RPC_NDR_SAMBA',
-                  source=[],
-                  deps='RPC_NDR_DRSUAPI RPC_NDR_LSA RPC_NDR_WINREG',
+bld.SAMBA_LIBRARY('dcerpc-samba',
+                  source='',
+                  deps='''RPC_NDR_LSA RPC_NDR_SAMR RPC_NDR_NETLOGON RPC_NDR_EVENTLOG RPC_NDR_DFS
+                 RPC_NDR_NTSVCS RPC_NDR_SVCCTL RPC_NDR_INITSHUTDOWN RPC_NDR_WKSSVC RPC_NDR_SRVSVC RPC_NDR_WINREG
+                 RPC_NDR_ECHO RPC_NDR_EPMAPPER RPC_NDR_ATSVC RPC_NDR_SPOOLSS RPC_NDR_DNS''',
+                  public_deps='ndr-standard',
                   private_library=True,
                   grouping_library=True
                   )
+
+bld.SAMBA_LIBRARY('ndr',
+       source='ndr/ndr_string.c ndr/ndr_basic.c ndr/uuid.c ndr/ndr.c ndr/ndr_misc.c gen_ndr/ndr_misc.c ndr/util.c',
+       pc_files='ndr.pc',
+       public_deps='errors talloc samba-util',
+       public_headers='gen_ndr/misc.h gen_ndr/ndr_misc.h ndr/libndr.h:ndr.h',
+       header_path= [ ( '*gen_ndr*', 'gen_ndr' ) ],
+       depends_on='PIDL_MISC',
+       vnum='0.0.1'
+       )
+
+bld.SAMBA_LIBRARY('dcerpc-binding',
+         source='rpc/dcerpc_error.c rpc/binding.c rpc/dcerpc_util.c rpc/binding_handle.c',
+         deps='ndr tevent NDR_DCERPC LIBTSOCKET tevent-util',
+         pc_files=[],
+         public_headers='rpc/rpc_common.h',
+         vnum='0.0.1')