librpc: make NDR_KRB5PAC a shared library (libndr-krb5pac.so).
[samba.git] / librpc / wscript_build
index fa838dad2ae6b39e226f8add7229a51aab3e8a2d..60637fe5f88c7890a0a98a793eb90558ff4e662a 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',
+                    public_headers='gen_ndr/auth.h',
+                    header_path='gen_ndr',
+                    public_deps='ndr NDR_SECURITY ndr-krb5pac'
+                    )
+
 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',
+       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_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_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_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_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_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 ASN1_UTIL'
        )
 
 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'
        )
 
-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_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_SUBSYSTEM('NDR_XATTR',
-       source='../librpc/ndr/ndr_xattr.c ../librpc/gen_ndr/ndr_xattr.c',
-       public_deps='LIBNDR NDR_SECURITY'
+       source='ndr/ndr_xattr.c gen_ndr/ndr_xattr.c',
+       public_deps='ndr NDR_SECURITY'
        )
 
 bld.SAMBA_SUBSYSTEM('NDR_SCHANNEL',
-       source='../librpc/ndr/ndr_schannel.c ../librpc/gen_ndr/ndr_schannel.c',
-       public_deps='LIBNDR NDR_NBT'
+       source='ndr/ndr_schannel.c gen_ndr/ndr_schannel.c',
+       public_deps='ndr NDR_NBT'
        )
 
 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',
+       source='gen_ndr/ndr_nbt.c',
+       public_deps='ndr NDR_NBT_BUF NDR_SECURITY ndr-standard LIBCLI_NDR_NETLOGON',
+       public_headers='gen_ndr/nbt.h',
         header_path='gen_ndr'
        )
 
+bld.SAMBA_SUBSYSTEM('NDR_BACKUPKEY',
+       source='ndr/ndr_backupkey.c gen_ndr/ndr_backupkey.c',
+       public_deps='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',
+       source='gen_ndr/ndr_xattr_c.c',
        public_deps='NDR_XATTR dcerpc'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_ROT',
-       source='../librpc/gen_ndr/ndr_rot_c.c',
+       source='gen_ndr/ndr_rot_c.c',
        public_deps='NDR_ROT dcerpc'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_AUDIOSRV',
-       source='../librpc/gen_ndr/ndr_audiosrv_c.c',
+       source='gen_ndr/ndr_audiosrv_c.c',
        public_deps='NDR_AUDIOSRV dcerpc'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_ECHO',
-       source='../librpc/gen_ndr/ndr_echo_c.c',
+       source='gen_ndr/ndr_echo_c.c',
        public_deps='dcerpc NDR_ECHO'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DSBACKUP',
-       source='../librpc/gen_ndr/ndr_dsbackup_c.c',
+       source='gen_ndr/ndr_dsbackup_c.c',
        public_deps='dcerpc NDR_DSBACKUP'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_EFS',
-       source='../librpc/gen_ndr/ndr_efs_c.c',
+       source='gen_ndr/ndr_efs_c.c',
        public_deps='dcerpc 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 ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_SAMR',
-       source='../librpc/gen_ndr/ndr_samr_c.c',
+       source='gen_ndr/ndr_samr_c.c',
        public_deps='dcerpc 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 ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_FRSAPI',
-       source='../librpc/gen_ndr/ndr_frsapi_c.c',
+       source='gen_ndr/ndr_frsapi_c.c',
        public_deps='dcerpc NDR_FRSAPI'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DRSUAPI',
-       source='../librpc/gen_ndr/ndr_drsuapi_c.c',
+       source='gen_ndr/ndr_drsuapi_c.c',
        public_deps='dcerpc NDR_DRSUAPI'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DRSBLOBS',
-       source='../librpc/gen_ndr/ndr_drsblobs_c.c',
+       source='gen_ndr/ndr_drsblobs_c.c',
        public_deps='dcerpc NDR_DRSBLOBS'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_POLICYAGENT',
-       source='../librpc/gen_ndr/ndr_policyagent_c.c',
+       source='gen_ndr/ndr_policyagent_c.c',
        public_deps='dcerpc NDR_POLICYAGENT'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_UNIXINFO',
-       source='../librpc/gen_ndr/ndr_unixinfo_c.c',
+       source='gen_ndr/ndr_unixinfo_c.c',
        public_deps='dcerpc NDR_UNIXINFO'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_BROWSER',
-       source='../librpc/gen_ndr/ndr_browser_c.c',
+       source='gen_ndr/ndr_browser_c.c',
        public_deps='dcerpc NDR_BROWSER'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_SPOOLSS',
-       source='../librpc/gen_ndr/ndr_spoolss_c.c',
+       source='gen_ndr/ndr_spoolss_c.c',
        public_deps='dcerpc NDR_SPOOLSS'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_NBT',
-       source='../librpc/gen_ndr/ndr_nbt_c.c',
+       source='gen_ndr/ndr_nbt_c.c',
        public_deps='dcerpc 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 ndr-standard'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_SRVSVC',
-       source='../librpc/gen_ndr/ndr_srvsvc_c.c',
+       source='gen_ndr/ndr_srvsvc_c.c',
        public_deps='dcerpc 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',
+       source='gen_ndr/ndr_svcctl_c.c',
+       public_deps='dcerpc ndr-standard',
+       public_headers='gen_ndr/ndr_svcctl_c.h',
         header_path='gen_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 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',
+       source='gen_ndr/ndr_dbgidl_c.c',
        public_deps='dcerpc NDR_DBGIDL'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_DSSETUP',
-       source='../librpc/gen_ndr/ndr_dssetup_c.c',
+       source='gen_ndr/ndr_dssetup_c.c',
        public_deps='dcerpc NDR_DSSETUP'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_MSGSVC',
-       source='../librpc/gen_ndr/ndr_msgsvc_c.c',
+       source='gen_ndr/ndr_msgsvc_c.c',
        public_deps='dcerpc 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 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 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',
+       source='gen_ndr/ndr_oxidresolver_c.c',
        public_deps='dcerpc NDR_OXIDRESOLVER'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_REMACT',
-       source='../librpc/gen_ndr/ndr_remact_c.c',
+       source='gen_ndr/ndr_remact_c.c',
        public_deps='dcerpc NDR_REMACT'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_WZCSVC',
-       source='../librpc/gen_ndr/ndr_wzcsvc_c.c',
+       source='gen_ndr/ndr_wzcsvc_c.c',
        public_deps='dcerpc NDR_WZCSVC'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_W32TIME',
-       source='../librpc/gen_ndr/ndr_w32time_c.c',
+       source='gen_ndr/ndr_w32time_c.c',
        public_deps='dcerpc NDR_W32TIME'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_SCERPC',
-       source='../librpc/gen_ndr/ndr_scerpc_c.c',
+       source='gen_ndr/ndr_scerpc_c.c',
        public_deps='dcerpc 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 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',
+       source='gen_ndr/ndr_trkwks_c.c',
        public_deps='dcerpc NDR_TRKWKS'
        )
 
 bld.SAMBA_SUBSYSTEM('RPC_NDR_KEYSVC',
-       source='../librpc/gen_ndr/ndr_keysvc_c.c',
+       source='gen_ndr/ndr_keysvc_c.c',
        public_deps='dcerpc NDR_KEYSVC'
        )
 
+bld.SAMBA_SUBSYSTEM('RPC_NDR_BACKUPKEY',
+       source='gen_ndr/ndr_backupkey_c.c',
+       public_deps='dcerpc NDR_BACKUPKEY'
+       )
+
+bld.SAMBA_SUBSYSTEM('RPC_NDR_DNSP',
+       source='gen_ndr/ndr_dnsp_c.c',
+       public_deps='dcerpc NDR_DNSP'
+       )
+
 # 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',
+       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',
-                  private_library=True,
-                  grouping_library=True
-                  )
+bld.SAMBA_LIBRARY('dcerpc-samba',
+       source=[],
+       deps='RPC_NDR_DRSUAPI RPC_NDR_LSA RPC_NDR_WINREG',
+       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',
+       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'
+       )