diff options
-rwxr-xr-x | librpc/build_idl.sh | 55 | ||||
-rw-r--r-- | librpc/idl/remact.idl | 2 | ||||
-rw-r--r-- | librpc/idl/scerpc.idl (renamed from source4/librpc/idl/scerpc.idl) | 0 | ||||
-rw-r--r-- | source3/Makefile.in | 11 | ||||
-rw-r--r-- | source3/librpc/gen_ndr/tables.c | 330 | ||||
-rw-r--r-- | source3/samba4.mk | 4 | ||||
-rw-r--r-- | source4/librpc/config.mk | 222 | ||||
-rw-r--r--[-rwxr-xr-x] | source4/librpc/idl-deps.pl | 30 | ||||
-rwxr-xr-x | source4/librpc/scripts/build_idl.sh | 2 |
9 files changed, 522 insertions, 134 deletions
diff --git a/librpc/build_idl.sh b/librpc/build_idl.sh new file mode 100755 index 0000000000..bd0e74e556 --- /dev/null +++ b/librpc/build_idl.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +if [ "$1" = "--full" ]; then + FULL=1 + shift 1 +else + FULL=0 +fi + +ARGS="--outputdir $PIDL_OUTPUTDIR --header --ndr-parser --samba3-ndr-server --samba3-ndr-client --server --client --python --dcom-proxy --com-header $PIDL_ARGS --" +IDL_FILES="$*" + +oldpwd=`pwd` +cd ${srcdir} + +[ -d $PIDL_OUTPUTDIR ] || mkdir -p $PIDL_OUTPUTDIR || exit 1 + +PIDL="$PIDL $ARGS" + +if [ $FULL = 1 ]; then + echo "Rebuilding all idl files" + $PIDL $IDL_FILES || exit 1 + exit 0 +fi + +## +## Find newer files rather than rebuild all of them +## + +list="" +for f in ${IDL_FILES}; do + basename=`basename $f .idl` + ndr="$PIDL_OUTPUTDIR/ndr_$basename.c" + + if [ -f $ndr ]; then + if [ "x`find $f -newer $ndr -print`" = "x$f" ]; then + list="$list $f" + fi + else + list="$list $f" + fi +done + +## +## generate the ndr stubs +## + +if [ "x$list" != x ]; then + # echo "${PIDL} ${list}" + $PIDL $list || exit 1 +fi + +cd ${oldpwd} + +exit 0 diff --git a/librpc/idl/remact.idl b/librpc/idl/remact.idl index 2165ecfc81..14fd6cedcf 100644 --- a/librpc/idl/remact.idl +++ b/librpc/idl/remact.idl @@ -23,7 +23,7 @@ interface IRemoteActivation const uint32 MODE_GET_CLASS_OBJECT = 0xffffffff; WERROR RemoteActivation ( - [in] ORPCTHIS this, + [in] ORPCTHIS this_object, [out,ref] ORPCTHAT *that, [in] GUID Clsid, [in] [string,charset(UTF16)] uint16 *pwszObjectName, diff --git a/source4/librpc/idl/scerpc.idl b/librpc/idl/scerpc.idl index 2c3c4f865f..2c3c4f865f 100644 --- a/source4/librpc/idl/scerpc.idl +++ b/librpc/idl/scerpc.idl diff --git a/source3/Makefile.in b/source3/Makefile.in index d33a719f36..1c77fd4a29 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -1228,16 +1228,7 @@ modules:: SHOWFLAGS $(MODULES) ## Perl IDL Compiler samba3-idl:: @PIDL_OUTPUTDIR="../librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \ - srcdir="$(srcdir)" ../librpc/build_idl.sh ../librpc/idl/lsa.idl \ - ../librpc/idl/dfs.idl ../librpc/idl/echo.idl ../librpc/idl/winreg.idl \ - ../librpc/idl/initshutdown.idl ../librpc/idl/srvsvc.idl ../librpc/idl/svcctl.idl \ - ../librpc/idl/eventlog.idl ../librpc/idl/wkssvc.idl ../librpc/idl/netlogon.idl \ - ../librpc/idl/epmapper.idl \ - ../librpc/idl/xattr.idl ../librpc/idl/misc.idl ../librpc/idl/samr.idl \ - ../librpc/idl/security.idl ../librpc/idl/dssetup.idl ../librpc/idl/krb5pac.idl \ - ../librpc/idl/ntsvcs.idl ../librpc/idl/drsuapi.idl \ - ../librpc/idl/drsblobs.idl ../librpc/idl/nbt.idl \ - ../librpc/idl/named_pipe_auth.idl + srcdir="$(srcdir)" ../librpc/build_idl.sh ../librpc/idl/*.idl @PIDL_OUTPUTDIR="librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \ srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh \ librpc/idl/messaging.idl librpc/idl/libnetapi.idl librpc/idl/notify.idl diff --git a/source3/librpc/gen_ndr/tables.c b/source3/librpc/gen_ndr/tables.c index 09071f96d6..06127b135a 100644 --- a/source3/librpc/gen_ndr/tables.c +++ b/source3/librpc/gen_ndr/tables.c @@ -4,51 +4,213 @@ #include "includes.h" #include "librpc/ndr/libndr.h" #include "librpc/ndr/ndr_table.h" +#include "../librpc/gen_ndr/ndr_atsvc_c.h" +#include "../librpc/gen_ndr/ndr_atsvc.h" +#include "../librpc/gen_ndr/ndr_audiosrv_c.h" +#include "../librpc/gen_ndr/ndr_audiosrv.h" +#include "../librpc/gen_ndr/ndr_browser_c.h" +#include "../librpc/gen_ndr/ndr_browser.h" +#include "../librpc/gen_ndr/ndr_dbgidl_c.h" +#include "../librpc/gen_ndr/ndr_dbgidl.h" +#include "../librpc/gen_ndr/ndr_dcom_c.h" +#include "../librpc/gen_ndr/ndr_dcom.h" #include "../librpc/gen_ndr/ndr_dfs_c.h" #include "../librpc/gen_ndr/ndr_dfs.h" +#include "../librpc/gen_ndr/ndr_dnsserver_c.h" +#include "../librpc/gen_ndr/ndr_dnsserver.h" #include "../librpc/gen_ndr/ndr_drsblobs_c.h" #include "../librpc/gen_ndr/ndr_drsblobs.h" #include "../librpc/gen_ndr/ndr_drsuapi_c.h" #include "../librpc/gen_ndr/ndr_drsuapi.h" +#include "../librpc/gen_ndr/ndr_dsbackup_c.h" +#include "../librpc/gen_ndr/ndr_dsbackup.h" #include "../librpc/gen_ndr/ndr_dssetup_c.h" #include "../librpc/gen_ndr/ndr_dssetup.h" #include "../librpc/gen_ndr/ndr_echo_c.h" #include "../librpc/gen_ndr/ndr_echo.h" +#include "../librpc/gen_ndr/ndr_efs_c.h" +#include "../librpc/gen_ndr/ndr_efs.h" #include "../librpc/gen_ndr/ndr_epmapper_c.h" #include "../librpc/gen_ndr/ndr_epmapper.h" #include "../librpc/gen_ndr/ndr_eventlog_c.h" #include "../librpc/gen_ndr/ndr_eventlog.h" +#include "../librpc/gen_ndr/ndr_frsapi_c.h" +#include "../librpc/gen_ndr/ndr_frsapi.h" +#include "../librpc/gen_ndr/ndr_frsrpc_c.h" +#include "../librpc/gen_ndr/ndr_frsrpc.h" #include "../librpc/gen_ndr/ndr_initshutdown_c.h" #include "../librpc/gen_ndr/ndr_initshutdown.h" +#include "../librpc/gen_ndr/ndr_keysvc_c.h" +#include "../librpc/gen_ndr/ndr_keysvc.h" #include "../librpc/gen_ndr/ndr_krb5pac_c.h" #include "../librpc/gen_ndr/ndr_krb5pac.h" #include "../librpc/gen_ndr/ndr_lsa_c.h" #include "../librpc/gen_ndr/ndr_lsa.h" +#include "../librpc/gen_ndr/ndr_mgmt_c.h" +#include "../librpc/gen_ndr/ndr_mgmt.h" +#include "../librpc/gen_ndr/ndr_msgsvc_c.h" +#include "../librpc/gen_ndr/ndr_msgsvc.h" #include "../librpc/gen_ndr/ndr_netlogon_c.h" #include "../librpc/gen_ndr/ndr_netlogon.h" #include "../librpc/gen_ndr/ndr_ntsvcs_c.h" #include "../librpc/gen_ndr/ndr_ntsvcs.h" +#include "../librpc/gen_ndr/ndr_oxidresolver_c.h" +#include "../librpc/gen_ndr/ndr_oxidresolver.h" +#include "../librpc/gen_ndr/ndr_policyagent_c.h" +#include "../librpc/gen_ndr/ndr_policyagent.h" +#include "../librpc/gen_ndr/ndr_protected_storage_c.h" +#include "../librpc/gen_ndr/ndr_protected_storage.h" +#include "../librpc/gen_ndr/ndr_remact_c.h" +#include "../librpc/gen_ndr/ndr_remact.h" +#include "../librpc/gen_ndr/ndr_rot_c.h" +#include "../librpc/gen_ndr/ndr_rot.h" #include "../librpc/gen_ndr/ndr_samr_c.h" #include "../librpc/gen_ndr/ndr_samr.h" +#include "../librpc/gen_ndr/ndr_spoolss_c.h" +#include "../librpc/gen_ndr/ndr_spoolss.h" #include "../librpc/gen_ndr/ndr_srvsvc_c.h" #include "../librpc/gen_ndr/ndr_srvsvc.h" #include "../librpc/gen_ndr/ndr_svcctl_c.h" #include "../librpc/gen_ndr/ndr_svcctl.h" +#include "../librpc/gen_ndr/ndr_trkwks_c.h" +#include "../librpc/gen_ndr/ndr_trkwks.h" +#include "../librpc/gen_ndr/ndr_unixinfo_c.h" +#include "../librpc/gen_ndr/ndr_unixinfo.h" +#include "../librpc/gen_ndr/ndr_w32time_c.h" +#include "../librpc/gen_ndr/ndr_w32time.h" #include "../librpc/gen_ndr/ndr_winreg_c.h" #include "../librpc/gen_ndr/ndr_winreg.h" #include "../librpc/gen_ndr/ndr_wkssvc_c.h" #include "../librpc/gen_ndr/ndr_wkssvc.h" +#include "../librpc/gen_ndr/ndr_wmi_c.h" +#include "../librpc/gen_ndr/ndr_wmi.h" +#include "../librpc/gen_ndr/ndr_wzcsvc_c.h" +#include "../librpc/gen_ndr/ndr_wzcsvc.h" NTSTATUS ndr_table_register_builtin_tables(void) { NTSTATUS status; + status = ndr_table_register(&ndr_table_atsvc); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_atsvc); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_audiosrv); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_audiosrv); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_browser); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_browser); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_dbgidl); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_dbgidl); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_dcom_Unknown); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IUnknown); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IClassFactory); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IRemUnknown); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IClassActivator); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ISCMLocalActivator); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IMachineLocalActivator); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ILocalObjectExporter); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ISystemActivator); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IRemUnknown2); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IDispatch); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IMarshal); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ICoffeeMachine); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IStream); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_dcom_Unknown); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IUnknown); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IClassFactory); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IRemUnknown); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IClassActivator); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ISCMLocalActivator); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IMachineLocalActivator); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ILocalObjectExporter); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ISystemActivator); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IRemUnknown2); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IDispatch); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IMarshal); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ICoffeeMachine); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IStream); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_netdfs); if (NT_STATUS_IS_ERR(status)) return status; status = ndr_table_register(&ndr_table_netdfs); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_dnsserver); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_dnsserver); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_drsblobs); if (NT_STATUS_IS_ERR(status)) return status; @@ -61,6 +223,18 @@ NTSTATUS ndr_table_register_builtin_tables(void) status = ndr_table_register(&ndr_table_drsuapi); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_ad_backup); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ad_restore); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ad_backup); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_ad_restore); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_dssetup); if (NT_STATUS_IS_ERR(status)) return status; @@ -73,6 +247,12 @@ NTSTATUS ndr_table_register_builtin_tables(void) status = ndr_table_register(&ndr_table_rpcecho); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_efs); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_efs); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_epmapper); if (NT_STATUS_IS_ERR(status)) return status; @@ -85,12 +265,30 @@ NTSTATUS ndr_table_register_builtin_tables(void) status = ndr_table_register(&ndr_table_eventlog); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_frsapi); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_frsapi); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_frsrpc); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_frsrpc); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_initshutdown); if (NT_STATUS_IS_ERR(status)) return status; status = ndr_table_register(&ndr_table_initshutdown); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_keysvc); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_keysvc); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_krb5pac); if (NT_STATUS_IS_ERR(status)) return status; @@ -103,6 +301,24 @@ NTSTATUS ndr_table_register_builtin_tables(void) status = ndr_table_register(&ndr_table_lsarpc); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_mgmt); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_mgmt); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_msgsvc); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_msgsvcsend); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_msgsvc); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_msgsvcsend); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_netlogon); if (NT_STATUS_IS_ERR(status)) return status; @@ -115,12 +331,48 @@ NTSTATUS ndr_table_register_builtin_tables(void) status = ndr_table_register(&ndr_table_ntsvcs); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_IOXIDResolver); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IOXIDResolver); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_policyagent); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_policyagent); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_protected_storage); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_protected_storage); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IRemoteActivation); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IRemoteActivation); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_rot); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_rot); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_samr); if (NT_STATUS_IS_ERR(status)) return status; status = ndr_table_register(&ndr_table_samr); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_spoolss); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_spoolss); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_srvsvc); if (NT_STATUS_IS_ERR(status)) return status; @@ -133,6 +385,24 @@ NTSTATUS ndr_table_register_builtin_tables(void) status = ndr_table_register(&ndr_table_svcctl); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_trkwks); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_trkwks); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_unixinfo); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_unixinfo); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_w32time); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_w32time); + if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_winreg); if (NT_STATUS_IS_ERR(status)) return status; @@ -145,6 +415,66 @@ NTSTATUS ndr_table_register_builtin_tables(void) status = ndr_table_register(&ndr_table_wkssvc); if (NT_STATUS_IS_ERR(status)) return status; + status = ndr_table_register(&ndr_table_IWbemClassObject); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemServices); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IEnumWbemClassObject); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemContext); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemLevel1Login); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemWCOSmartEnum); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemFetchSmartEnum); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemCallResult); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemObjectSink); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemClassObject); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemServices); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IEnumWbemClassObject); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemContext); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemLevel1Login); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemWCOSmartEnum); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemFetchSmartEnum); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemCallResult); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_IWbemObjectSink); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_wzcsvc); + if (NT_STATUS_IS_ERR(status)) return status; + + status = ndr_table_register(&ndr_table_wzcsvc); + if (NT_STATUS_IS_ERR(status)) return status; + return NT_STATUS_OK; diff --git a/source3/samba4.mk b/source3/samba4.mk index 18f7541333..8962d6b5de 100644 --- a/source3/samba4.mk +++ b/source3/samba4.mk @@ -36,6 +36,8 @@ SAMBA4_CFLAGS = -I.. -I$(samba4srcdir) -I$(samba4srcdir)/include \ # overrides are not specified first. ifeq ($(MAKE_VERSION),3.81) %.o: CFLAGS+=$(FLAGS) +../librpc/gen_ndr/%_c.o: CFLAGS=$(SAMBA4_CFLAGS) +../librpc/gen_ndr/py_%.o: CFLAGS=$(SAMBA4_CFLAGS) $(samba4srcdir)/%.o: CFLAGS=$(SAMBA4_CFLAGS) $(samba4srcdir)/%.ho: CFLAGS=$(SAMBA4_CFLAGS) $(heimdalsrcdir)/%.o: CFLAGS=-I$(heimdalbuildsrcdir) $(SAMBA4_CFLAGS) -I$(srcdir) @@ -45,6 +47,8 @@ $(heimdalsrcdir)/%.o: CFLAGS=-I$(heimdalbuildsrcdir) $(SAMBA4_CFLAGS) -I$(srcdir $(heimdalsrcdir)/%.ho: CFLAGS=-I$(heimdalbuildsrcdir) $(SAMBA4_CFLAGS) -I$(srcdir) $(samba4srcdir)/%.o: CFLAGS=$(SAMBA4_CFLAGS) $(samba4srcdir)/%.ho: CFLAGS=$(SAMBA4_CFLAGS) +../librpc/gen_ndr/%_c.o: CFLAGS=$(SAMBA4_CFLAGS) +../librpc/gen_ndr/py_%.o: CFLAGS=$(SAMBA4_CFLAGS) %.o: CFLAGS+=$(FLAGS) endif diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index 902312542a..475d14ec4d 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -8,7 +8,7 @@ dcerpcsrcdir = $(librpcsrcdir)/rpc PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBTALLOC LIBSAMBA-UTIL CHARSET \ LIBSAMBA-HOSTCONFIG -LIBNDR_OBJ_FILES = $(addprefix $(ndrsrcdir)/, ndr_string.o) ../librpc/ndr/ndr_basic.o ../librpc/ndr/uuid.o ../librpc/ndr/ndr.o $(gen_ndrsrcdir)/ndr_misc.o ../librpc/ndr/ndr_misc.o +LIBNDR_OBJ_FILES = $(addprefix $(ndrsrcdir)/, ndr_string.o) ../librpc/ndr/ndr_basic.o ../librpc/ndr/uuid.o ../librpc/ndr/ndr.o ../librpc/gen_ndr/ndr_misc.o ../librpc/ndr/ndr_misc.o PC_FILES += ../librpc/ndr.pc LIBNDR_VERSION = 0.0.1 @@ -18,7 +18,7 @@ LIBNDR_SOVERSION = 0 ################################################ PUBLIC_HEADERS += ../librpc/ndr/libndr.h -PUBLIC_HEADERS += $(gen_ndrsrcdir)/misc.h $(gen_ndrsrcdir)/ndr_misc.h +PUBLIC_HEADERS += ../librpc/gen_ndr/misc.h ../librpc/gen_ndr/ndr_misc.h ################################# # Start BINARY ndrdump @@ -52,27 +52,27 @@ NDR_COMPRESSION_OBJ_FILES = ../librpc/ndr/ndr_compression.o [SUBSYSTEM::NDR_SECURITY] PUBLIC_DEPENDENCIES = LIBNDR LIBSECURITY -NDR_SECURITY_OBJ_FILES = $(gen_ndrsrcdir)/ndr_security.o \ +NDR_SECURITY_OBJ_FILES = ../librpc/gen_ndr/ndr_security.o \ ../librpc/ndr/ndr_sec_helper.o \ $(gen_ndrsrcdir)/ndr_server_id.o -PUBLIC_HEADERS += $(addprefix $(gen_ndrsrcdir)/, security.h) +PUBLIC_HEADERS += ../librpc/gen_ndr/security.h) [SUBSYSTEM::NDR_AUDIOSRV] PUBLIC_DEPENDENCIES = LIBNDR -NDR_AUDIOSRV_OBJ_FILES = $(gen_ndrsrcdir)/ndr_audiosrv.o +NDR_AUDIOSRV_OBJ_FILES = ../librpc/gen_ndr/ndr_audiosrv.o [SUBSYSTEM::NDR_NAMED_PIPE_AUTH] PUBLIC_DEPENDENCIES = LIBNDR -NDR_NAMED_PIPE_AUTH_OBJ_FILES = $(gen_ndrsrcdir)/ndr_named_pipe_auth.o +NDR_NAMED_PIPE_AUTH_OBJ_FILES = ../librpc/gen_ndr/ndr_named_pipe_auth.o [SUBSYSTEM::NDR_DNSSERVER] PUBLIC_DEPENDENCIES = LIBNDR -NDR_DNSSERVER_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dnsserver.o +NDR_DNSSERVER_OBJ_FILES = ../librpc/gen_ndr/ndr_dnsserver.o [SUBSYSTEM::NDR_WINSTATION] PUBLIC_DEPENDENCIES = LIBNDR @@ -82,7 +82,7 @@ NDR_WINSTATION_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winstation.o [SUBSYSTEM::NDR_ECHO] PUBLIC_DEPENDENCIES = LIBNDR -NDR_ECHO_OBJ_FILES = $(gen_ndrsrcdir)/ndr_echo.o +NDR_ECHO_OBJ_FILES = ../librpc/gen_ndr/ndr_echo.o [SUBSYSTEM::NDR_IRPC] PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY NDR_NBT @@ -92,59 +92,59 @@ NDR_IRPC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_irpc.o [SUBSYSTEM::NDR_DCOM] PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY NDR_ORPC -NDR_DCOM_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dcom.o +NDR_DCOM_OBJ_FILES = ../librpc/gen_ndr/ndr_dcom.o [SUBSYSTEM::NDR_WMI] PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY NDR_DCOM -NDR_WMI_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wmi.o ../librpc/ndr/ndr_wmi.o +NDR_WMI_OBJ_FILES = ../librpc/gen_ndr/ndr_wmi.o ../librpc/ndr/ndr_wmi.o [SUBSYSTEM::NDR_DSBACKUP] PUBLIC_DEPENDENCIES = LIBNDR -NDR_DSBACKUP_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dsbackup.o +NDR_DSBACKUP_OBJ_FILES = ../librpc/gen_ndr/ndr_dsbackup.o [SUBSYSTEM::NDR_EFS] PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY -NDR_EFS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_efs.o +NDR_EFS_OBJ_FILES = ../librpc/gen_ndr/ndr_efs.o [SUBSYSTEM::NDR_ROT] PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC -NDR_ROT_OBJ_FILES = $(gen_ndrsrcdir)/ndr_rot.o +NDR_ROT_OBJ_FILES = ../librpc/gen_ndr/ndr_rot.o [SUBSYSTEM::NDR_LSA] PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY -NDR_LSA_OBJ_FILES = $(gen_ndrsrcdir)/ndr_lsa.o +NDR_LSA_OBJ_FILES = ../librpc/gen_ndr/ndr_lsa.o -PUBLIC_HEADERS += $(gen_ndrsrcdir)/lsa.h +PUBLIC_HEADERS += ../librpc/gen_ndr/lsa.h [SUBSYSTEM::NDR_DFS] PUBLIC_DEPENDENCIES = LIBNDR -NDR_DFS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dfs.o +NDR_DFS_OBJ_FILES = ../librpc/gen_ndr/ndr_dfs.o [SUBSYSTEM::NDR_FRSRPC] PUBLIC_DEPENDENCIES = LIBNDR -NDR_FRSRPC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_frsrpc.o +NDR_FRSRPC_OBJ_FILES = ../librpc/gen_ndr/ndr_frsrpc.o [SUBSYSTEM::NDR_FRSAPI] PUBLIC_DEPENDENCIES = LIBNDR -NDR_FRSAPI_OBJ_FILES = $(gen_ndrsrcdir)/ndr_frsapi.o +NDR_FRSAPI_OBJ_FILES = ../librpc/gen_ndr/ndr_frsapi.o [SUBSYSTEM::NDR_DRSUAPI] PUBLIC_DEPENDENCIES = LIBNDR NDR_COMPRESSION NDR_SECURITY NDR_SAMR ASN1_UTIL -NDR_DRSUAPI_OBJ_FILES = $(gen_ndrsrcdir)/ndr_drsuapi.o ../librpc/ndr/ndr_drsuapi.o +NDR_DRSUAPI_OBJ_FILES = ../librpc/gen_ndr/ndr_drsuapi.o ../librpc/ndr/ndr_drsuapi.o [SUBSYSTEM::NDR_DRSBLOBS] PUBLIC_DEPENDENCIES = LIBNDR NDR_DRSUAPI -NDR_DRSBLOBS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_drsblobs.o ../librpc/ndr/ndr_drsblobs.o +NDR_DRSBLOBS_OBJ_FILES = ../librpc/gen_ndr/ndr_drsblobs.o ../librpc/ndr/ndr_drsblobs.o [SUBSYSTEM::NDR_SASL_HELPERS] PUBLIC_DEPENDENCIES = LIBNDR @@ -154,17 +154,17 @@ NDR_SASL_HELPERS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_sasl_helpers.o [SUBSYSTEM::NDR_POLICYAGENT] PUBLIC_DEPENDENCIES = LIBNDR -NDR_POLICYAGENT_OBJ_FILES = $(gen_ndrsrcdir)/ndr_policyagent.o +NDR_POLICYAGENT_OBJ_FILES = ../librpc/gen_ndr/ndr_policyagent.o [SUBSYSTEM::NDR_UNIXINFO] PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY -NDR_UNIXINFO_OBJ_FILES = $(gen_ndrsrcdir)/ndr_unixinfo.o +NDR_UNIXINFO_OBJ_FILES = ../librpc/gen_ndr/ndr_unixinfo.o [SUBSYSTEM::NDR_SAMR] PUBLIC_DEPENDENCIES = LIBNDR NDR_LSA NDR_SECURITY -NDR_SAMR_OBJ_FILES = $(gen_ndrsrcdir)/ndr_samr.o +NDR_SAMR_OBJ_FILES = ../librpc/gen_ndr/ndr_samr.o PUBLIC_HEADERS += $(addprefix $(librpcsrcdir)/, gen_ndr/samr.h gen_ndr/ndr_samr.h gen_ndr/ndr_samr_c.h) @@ -176,7 +176,7 @@ NDR_NFS4ACL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_nfs4acl.o [SUBSYSTEM::NDR_SPOOLSS] PUBLIC_DEPENDENCIES = LIBNDR NDR_SPOOLSS_BUF NDR_SECURITY -NDR_SPOOLSS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_spoolss.o +NDR_SPOOLSS_OBJ_FILES = ../librpc/gen_ndr/ndr_spoolss.o [SUBSYSTEM::NDR_SPOOLSS_BUF] @@ -187,51 +187,51 @@ $(eval $(call proto_header_template,$(ndrsrcdir)/ndr_spoolss_buf.h,$(NDR_SPOOLSS [SUBSYSTEM::NDR_WKSSVC] PUBLIC_DEPENDENCIES = LIBNDR NDR_SRVSVC NDR_SECURITY -NDR_WKSSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wkssvc.o +NDR_WKSSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_wkssvc.o [SUBSYSTEM::NDR_SRVSVC] PUBLIC_DEPENDENCIES = LIBNDR NDR_SVCCTL NDR_SECURITY -NDR_SRVSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_srvsvc.o +NDR_SRVSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_srvsvc.o [SUBSYSTEM::NDR_SVCCTL] PUBLIC_DEPENDENCIES = LIBNDR -NDR_SVCCTL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_svcctl.o +NDR_SVCCTL_OBJ_FILES = ../librpc/gen_ndr/ndr_svcctl.o PUBLIC_HEADERS += $(addprefix $(librpcsrcdir)/, gen_ndr/ndr_svcctl.h gen_ndr/svcctl.h) [SUBSYSTEM::NDR_ATSVC] PUBLIC_DEPENDENCIES = LIBNDR -NDR_ATSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_atsvc.o +NDR_ATSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_atsvc.o -PUBLIC_HEADERS += $(addprefix $(librpcsrcdir)/, gen_ndr/atsvc.h gen_ndr/ndr_atsvc.h) +PUBLIC_HEADERS += $(addprefix ../librpc/gen_ndr, atsvc.h ndr_atsvc.h) [SUBSYSTEM::NDR_EVENTLOG] PUBLIC_DEPENDENCIES = LIBNDR NDR_LSA -NDR_EVENTLOG_OBJ_FILES = $(gen_ndrsrcdir)/ndr_eventlog.o +NDR_EVENTLOG_OBJ_FILES = ../librpc/gen_ndr/ndr_eventlog.o [SUBSYSTEM::NDR_EPMAPPER] PUBLIC_DEPENDENCIES = LIBNDR -NDR_EPMAPPER_OBJ_FILES = $(gen_ndrsrcdir)/ndr_epmapper.o +NDR_EPMAPPER_OBJ_FILES = ../librpc/gen_ndr/ndr_epmapper.o [SUBSYSTEM::NDR_DBGIDL] PUBLIC_DEPENDENCIES = LIBNDR -NDR_DBGIDL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dbgidl.o +NDR_DBGIDL_OBJ_FILES = ../librpc/gen_ndr/ndr_dbgidl.o [SUBSYSTEM::NDR_DSSETUP] PUBLIC_DEPENDENCIES = LIBNDR -NDR_DSSETUP_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dssetup.o +NDR_DSSETUP_OBJ_FILES = ../librpc/gen_ndr/ndr_dssetup.o [SUBSYSTEM::NDR_MSGSVC] PUBLIC_DEPENDENCIES = LIBNDR -NDR_MSGSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_msgsvc.o +NDR_MSGSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_msgsvc.o [SUBSYSTEM::NDR_WINS] PUBLIC_DEPENDENCIES = LIBNDR @@ -241,89 +241,89 @@ NDR_WINS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wins.o [SUBSYSTEM::NDR_WINREG] PUBLIC_DEPENDENCIES = LIBNDR NDR_INITSHUTDOWN NDR_SECURITY -NDR_WINREG_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winreg.o +NDR_WINREG_OBJ_FILES = ../librpc/gen_ndr/ndr_winreg.o [SUBSYSTEM::NDR_INITSHUTDOWN] PUBLIC_DEPENDENCIES = LIBNDR -NDR_INITSHUTDOWN_OBJ_FILES = $(gen_ndrsrcdir)/ndr_initshutdown.o +NDR_INITSHUTDOWN_OBJ_FILES = ../librpc/gen_ndr/ndr_initshutdown.o [SUBSYSTEM::NDR_MGMT] PUBLIC_DEPENDENCIES = LIBNDR -NDR_MGMT_OBJ_FILES = $(gen_ndrsrcdir)/ndr_mgmt.o +NDR_MGMT_OBJ_FILES = ../librpc/gen_ndr/ndr_mgmt.o [SUBSYSTEM::NDR_PROTECTED_STORAGE] PUBLIC_DEPENDENCIES = LIBNDR -NDR_PROTECTED_STORAGE_OBJ_FILES = $(gen_ndrsrcdir)/ndr_protected_storage.o +NDR_PROTECTED_STORAGE_OBJ_FILES = ../librpc/gen_ndr/ndr_protected_storage.o [SUBSYSTEM::NDR_ORPC] PUBLIC_DEPENDENCIES = LIBNDR -NDR_ORPC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_orpc.o ../librpc/ndr/ndr_orpc.o +NDR_ORPC_OBJ_FILES = ../librpc/gen_ndr/ndr_orpc.o ../librpc/ndr/ndr_orpc.o [SUBSYSTEM::NDR_OXIDRESOLVER] PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC -NDR_OXIDRESOLVER_OBJ_FILES = $(gen_ndrsrcdir)/ndr_oxidresolver.o +NDR_OXIDRESOLVER_OBJ_FILES = ../librpc/gen_ndr/ndr_oxidresolver.o [SUBSYSTEM::NDR_REMACT] PUBLIC_DEPENDENCIES = LIBNDR NDR_ORPC -NDR_REMACT_OBJ_FILES = $(gen_ndrsrcdir)/ndr_remact.o +NDR_REMACT_OBJ_FILES = ../librpc/gen_ndr/ndr_remact.o [SUBSYSTEM::NDR_WZCSVC] PUBLIC_DEPENDENCIES = LIBNDR -NDR_WZCSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wzcsvc.o +NDR_WZCSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_wzcsvc.o [SUBSYSTEM::NDR_BROWSER] PUBLIC_DEPENDENCIES = LIBNDR -NDR_BROWSER_OBJ_FILES = $(gen_ndrsrcdir)/ndr_browser.o +NDR_BROWSER_OBJ_FILES = ../librpc/gen_ndr/ndr_browser.o [SUBSYSTEM::NDR_W32TIME] PUBLIC_DEPENDENCIES = LIBNDR -NDR_W32TIME_OBJ_FILES = $(gen_ndrsrcdir)/ndr_w32time.o +NDR_W32TIME_OBJ_FILES = ../librpc/gen_ndr/ndr_w32time.o [SUBSYSTEM::NDR_SCERPC] PUBLIC_DEPENDENCIES = LIBNDR -NDR_SCERPC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_scerpc.o +NDR_SCERPC_OBJ_FILES = ../librpc/gen_ndr/ndr_scerpc.o [SUBSYSTEM::NDR_NTSVCS] PUBLIC_DEPENDENCIES = LIBNDR -NDR_NTSVCS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_ntsvcs.o +NDR_NTSVCS_OBJ_FILES = ../librpc/gen_ndr/ndr_ntsvcs.o [SUBSYSTEM::NDR_NETLOGON] PUBLIC_DEPENDENCIES = LIBNDR NDR_SAMR NDR_LSA NDR_SECURITY -NDR_NETLOGON_OBJ_FILES = $(gen_ndrsrcdir)/ndr_netlogon.o ../librpc/ndr/ndr_netlogon.o +NDR_NETLOGON_OBJ_FILES = ../librpc/gen_ndr/ndr_netlogon.o ../librpc/ndr/ndr_netlogon.o -PUBLIC_HEADERS += $(addprefix $(librpcsrcdir)/, gen_ndr/netlogon.h) +PUBLIC_HEADERS += ../librpc/gen_ndr/netlogon.h [SUBSYSTEM::NDR_TRKWKS] PUBLIC_DEPENDENCIES = LIBNDR -NDR_TRKWKS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_trkwks.o +NDR_TRKWKS_OBJ_FILES = ../librpc/gen_ndr/ndr_trkwks.o [SUBSYSTEM::NDR_KEYSVC] PUBLIC_DEPENDENCIES = LIBNDR -NDR_KEYSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_keysvc.o +NDR_KEYSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_keysvc.o [SUBSYSTEM::NDR_KRB5PAC] PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON NDR_SECURITY -NDR_KRB5PAC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_krb5pac.o ../librpc/ndr/ndr_krb5pac.o +NDR_KRB5PAC_OBJ_FILES = ../librpc/gen_ndr/ndr_krb5pac.o ../librpc/ndr/ndr_krb5pac.o [SUBSYSTEM::NDR_XATTR] PUBLIC_DEPENDENCIES = LIBNDR NDR_SECURITY -NDR_XATTR_OBJ_FILES = $(gen_ndrsrcdir)/ndr_xattr.o +NDR_XATTR_OBJ_FILES = ../librpc/gen_ndr/ndr_xattr.o [SUBSYSTEM::NDR_OPENDB] PUBLIC_DEPENDENCIES = LIBNDR @@ -343,9 +343,9 @@ NDR_SCHANNEL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_schannel.o [SUBSYSTEM::NDR_NBT] PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT_BUF NDR_SVCCTL NDR_SECURITY NDR_SAMR LIBCLI_NDR_NETLOGON -NDR_NBT_OBJ_FILES = $(gen_ndrsrcdir)/ndr_nbt.o +NDR_NBT_OBJ_FILES = ../librpc/gen_ndr/ndr_nbt.o -PUBLIC_HEADERS += $(gen_ndrsrcdir)/nbt.h +PUBLIC_HEADERS += ../librpc/gen_ndr/nbt.h [SUBSYSTEM::NDR_NTP_SIGND] PUBLIC_DEPENDENCIES = LIBNDR @@ -395,62 +395,62 @@ NDR_TABLE_OBJ_FILES = ../librpc/ndr/ndr_table.o $(gen_ndrsrcdir)/tables.o [SUBSYSTEM::RPC_NDR_ROT] PUBLIC_DEPENDENCIES = NDR_ROT dcerpc -RPC_NDR_ROT_OBJ_FILES = $(gen_ndrsrcdir)/ndr_rot_c.o +RPC_NDR_ROT_OBJ_FILES = ../librpc/gen_ndr/ndr_rot_c.o [SUBSYSTEM::RPC_NDR_AUDIOSRV] PUBLIC_DEPENDENCIES = NDR_AUDIOSRV dcerpc -RPC_NDR_AUDIOSRV_OBJ_FILES = $(gen_ndrsrcdir)/ndr_audiosrv_c.o +RPC_NDR_AUDIOSRV_OBJ_FILES = ../librpc/gen_ndr/ndr_audiosrv_c.o [SUBSYSTEM::RPC_NDR_ECHO] PUBLIC_DEPENDENCIES = dcerpc NDR_ECHO -RPC_NDR_ECHO_OBJ_FILES = $(gen_ndrsrcdir)/ndr_echo_c.o +RPC_NDR_ECHO_OBJ_FILES = ../librpc/gen_ndr/ndr_echo_c.o [SUBSYSTEM::RPC_NDR_DSBACKUP] PUBLIC_DEPENDENCIES = dcerpc NDR_DSBACKUP -RPC_NDR_DSBACKUP_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dsbackup_c.o +RPC_NDR_DSBACKUP_OBJ_FILES = ../librpc/gen_ndr/ndr_dsbackup_c.o [SUBSYSTEM::RPC_NDR_EFS] PUBLIC_DEPENDENCIES = dcerpc NDR_EFS -RPC_NDR_EFS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_efs_c.o +RPC_NDR_EFS_OBJ_FILES = ../librpc/gen_ndr/ndr_efs_c.o [SUBSYSTEM::RPC_NDR_LSA] PUBLIC_DEPENDENCIES = dcerpc NDR_LSA -RPC_NDR_LSA_OBJ_FILES = $(gen_ndrsrcdir)/ndr_lsa_c.o +RPC_NDR_LSA_OBJ_FILES = ../librpc/gen_ndr/ndr_lsa_c.o [SUBSYSTEM::RPC_NDR_DFS] PUBLIC_DEPENDENCIES = dcerpc NDR_DFS -RPC_NDR_DFS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dfs_c.o +RPC_NDR_DFS_OBJ_FILES = ../librpc/gen_ndr/ndr_dfs_c.o [SUBSYSTEM::RPC_NDR_FRSAPI] PUBLIC_DEPENDENCIES = dcerpc NDR_FRSAPI -RPC_NDR_FRSAPI_OBJ_FILES = $(gen_ndrsrcdir)/ndr_frsapi_c.o +RPC_NDR_FRSAPI_OBJ_FILES = ../librpc/gen_ndr/ndr_frsapi_c.o [SUBSYSTEM::RPC_NDR_DRSUAPI] PUBLIC_DEPENDENCIES = dcerpc NDR_DRSUAPI -RPC_NDR_DRSUAPI_OBJ_FILES = $(gen_ndrsrcdir)/ndr_drsuapi_c.o +RPC_NDR_DRSUAPI_OBJ_FILES = ../librpc/gen_ndr/ndr_drsuapi_c.o [SUBSYSTEM::RPC_NDR_POLICYAGENT] PUBLIC_DEPENDENCIES = dcerpc NDR_POLICYAGENT -RPC_NDR_POLICYAGENT_OBJ_FILES = $(gen_ndrsrcdir)/ndr_policyagent_c.o +RPC_NDR_POLICYAGENT_OBJ_FILES = ../librpc/gen_ndr/ndr_policyagent_c.o [SUBSYSTEM::RPC_NDR_UNIXINFO] PUBLIC_DEPENDENCIES = dcerpc NDR_UNIXINFO -RPC_NDR_UNIXINFO_OBJ_FILES = $(gen_ndrsrcdir)/ndr_unixinfo_c.o +RPC_NDR_UNIXINFO_OBJ_FILES = ../librpc/gen_ndr/ndr_unixinfo_c.o [SUBSYSTEM::RPC_NDR_BROWSER] PUBLIC_DEPENDENCIES = dcerpc NDR_BROWSER -RPC_NDR_BROWSER_OBJ_FILES = $(gen_ndrsrcdir)/ndr_browser_c.o +RPC_NDR_BROWSER_OBJ_FILES = ../librpc/gen_ndr/ndr_browser_c.o [SUBSYSTEM::RPC_NDR_IRPC] PUBLIC_DEPENDENCIES = dcerpc NDR_IRPC @@ -464,29 +464,29 @@ PC_FILES += $(librpcsrcdir)/dcerpc_samr.pc dcerpc_samr_VERSION = 0.0.1 dcerpc_samr_SOVERSION = 0 -dcerpc_samr_OBJ_FILES = $(gen_ndrsrcdir)/ndr_samr_c.o +dcerpc_samr_OBJ_FILES = ../librpc/gen_ndr/ndr_samr_c.o [SUBSYSTEM::RPC_NDR_SPOOLSS] PUBLIC_DEPENDENCIES = dcerpc NDR_SPOOLSS -RPC_NDR_SPOOLSS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_spoolss_c.o +RPC_NDR_SPOOLSS_OBJ_FILES = ../librpc/gen_ndr/ndr_spoolss_c.o [SUBSYSTEM::RPC_NDR_WKSSVC] PUBLIC_DEPENDENCIES = dcerpc NDR_WKSSVC -RPC_NDR_WKSSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wkssvc_c.o +RPC_NDR_WKSSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_wkssvc_c.o [SUBSYSTEM::RPC_NDR_SRVSVC] PUBLIC_DEPENDENCIES = dcerpc NDR_SRVSVC -RPC_NDR_SRVSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_srvsvc_c.o +RPC_NDR_SRVSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_srvsvc_c.o [SUBSYSTEM::RPC_NDR_SVCCTL] PUBLIC_DEPENDENCIES = dcerpc NDR_SVCCTL -RPC_NDR_SVCCTL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_svcctl_c.o +RPC_NDR_SVCCTL_OBJ_FILES = ../librpc/gen_ndr/ndr_svcctl_c.o -PUBLIC_HEADERS += $(gen_ndrsrcdir)/ndr_svcctl_c.h +PUBLIC_HEADERS += ../librpc/gen_ndr/ndr_svcctl_c.h [LIBRARY::dcerpc_atsvc] PUBLIC_DEPENDENCIES = dcerpc NDR_ATSVC @@ -494,35 +494,35 @@ PUBLIC_DEPENDENCIES = dcerpc NDR_ATSVC dcerpc_atsvc_VERSION = 0.0.1 dcerpc_atsvc_SOVERSION = 0 -dcerpc_atsvc_OBJ_FILES = $(gen_ndrsrcdir)/ndr_atsvc_c.o +dcerpc_atsvc_OBJ_FILES = ../librpc/gen_ndr/ndr_atsvc_c.o PC_FILES += $(librpcsrcdir)/dcerpc_atsvc.pc -PUBLIC_HEADERS += $(gen_ndrsrcdir)/ndr_atsvc_c.h +PUBLIC_HEADERS += ../librpc/gen_ndr/ndr_atsvc_c.h [SUBSYSTEM::RPC_NDR_EVENTLOG] PUBLIC_DEPENDENCIES = dcerpc NDR_EVENTLOG -RPC_NDR_EVENTLOG_OBJ_FILES = $(gen_ndrsrcdir)/ndr_eventlog_c.o +RPC_NDR_EVENTLOG_OBJ_FILES = ../librpc/gen_ndr/ndr_eventlog_c.o [SUBSYSTEM::RPC_NDR_EPMAPPER] PUBLIC_DEPENDENCIES = NDR_EPMAPPER -RPC_NDR_EPMAPPER_OBJ_FILES = $(gen_ndrsrcdir)/ndr_epmapper_c.o +RPC_NDR_EPMAPPER_OBJ_FILES = ../librpc/gen_ndr/ndr_epmapper_c.o [SUBSYSTEM::RPC_NDR_DBGIDL] PUBLIC_DEPENDENCIES = dcerpc NDR_DBGIDL -RPC_NDR_DBGIDL_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dbgidl_c.o +RPC_NDR_DBGIDL_OBJ_FILES = ../librpc/gen_ndr/ndr_dbgidl_c.o [SUBSYSTEM::RPC_NDR_DSSETUP] PUBLIC_DEPENDENCIES = dcerpc NDR_DSSETUP -RPC_NDR_DSSETUP_OBJ_FILES = $(gen_ndrsrcdir)/ndr_dssetup_c.o +RPC_NDR_DSSETUP_OBJ_FILES = ../librpc/gen_ndr/ndr_dssetup_c.o [SUBSYSTEM::RPC_NDR_MSGSVC] PUBLIC_DEPENDENCIES = dcerpc NDR_MSGSVC -RPC_NDR_MSGSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_msgsvc_c.o +RPC_NDR_MSGSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_msgsvc_c.o [SUBSYSTEM::RPC_NDR_WINS] PUBLIC_DEPENDENCIES = dcerpc NDR_WINS @@ -532,67 +532,67 @@ RPC_NDR_WINS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wins_c.o [SUBSYSTEM::RPC_NDR_WINREG] PUBLIC_DEPENDENCIES = dcerpc NDR_WINREG -RPC_NDR_WINREG_OBJ_FILES = $(gen_ndrsrcdir)/ndr_winreg_c.o +RPC_NDR_WINREG_OBJ_FILES = ../librpc/gen_ndr/ndr_winreg_c.o [SUBSYSTEM::RPC_NDR_INITSHUTDOWN] PUBLIC_DEPENDENCIES = dcerpc NDR_INITSHUTDOWN -RPC_NDR_INITSHUTDOWN_OBJ_FILES = $(gen_ndrsrcdir)/ndr_initshutdown_c.o +RPC_NDR_INITSHUTDOWN_OBJ_FILES = ../librpc/gen_ndr/ndr_initshutdown_c.o [SUBSYSTEM::RPC_NDR_MGMT] PRIVATE_DEPENDENCIES = NDR_MGMT -RPC_NDR_MGMT_OBJ_FILES = $(gen_ndrsrcdir)/ndr_mgmt_c.o +RPC_NDR_MGMT_OBJ_FILES = ../librpc/gen_ndr/ndr_mgmt_c.o [SUBSYSTEM::RPC_NDR_PROTECTED_STORAGE] PUBLIC_DEPENDENCIES = dcerpc NDR_PROTECTED_STORAGE -RPC_NDR_PROTECTED_STORAGE_OBJ_FILES = $(gen_ndrsrcdir)/ndr_protected_storage_c.o +RPC_NDR_PROTECTED_STORAGE_OBJ_FILES = ../librpc/gen_ndr/ndr_protected_storage_c.o [SUBSYSTEM::RPC_NDR_OXIDRESOLVER] PUBLIC_DEPENDENCIES = dcerpc NDR_OXIDRESOLVER -RPC_NDR_OXIDRESOLVER_OBJ_FILES = $(gen_ndrsrcdir)/ndr_oxidresolver_c.o +RPC_NDR_OXIDRESOLVER_OBJ_FILES = ../librpc/gen_ndr/ndr_oxidresolver_c.o [SUBSYSTEM::RPC_NDR_REMACT] PUBLIC_DEPENDENCIES = dcerpc NDR_REMACT -RPC_NDR_REMACT_OBJ_FILES = $(gen_ndrsrcdir)/ndr_remact_c.o +RPC_NDR_REMACT_OBJ_FILES = ../librpc/gen_ndr/ndr_remact_c.o [SUBSYSTEM::RPC_NDR_WZCSVC] PUBLIC_DEPENDENCIES = dcerpc NDR_WZCSVC -RPC_NDR_WZCSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_wzcsvc_c.o +RPC_NDR_WZCSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_wzcsvc_c.o [SUBSYSTEM::RPC_NDR_W32TIME] PUBLIC_DEPENDENCIES = dcerpc NDR_W32TIME -RPC_NDR_W32TIME_OBJ_FILES = $(gen_ndrsrcdir)/ndr_w32time_c.o +RPC_NDR_W32TIME_OBJ_FILES = ../librpc/gen_ndr/ndr_w32time_c.o [SUBSYSTEM::RPC_NDR_SCERPC] PUBLIC_DEPENDENCIES = dcerpc NDR_SCERPC -RPC_NDR_SCERPC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_scerpc_c.o +RPC_NDR_SCERPC_OBJ_FILES = ../librpc/gen_ndr/ndr_scerpc_c.o [SUBSYSTEM::RPC_NDR_NTSVCS] PUBLIC_DEPENDENCIES = dcerpc NDR_NTSVCS -RPC_NDR_NTSVCS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_ntsvcs_c.o +RPC_NDR_NTSVCS_OBJ_FILES = ../librpc/gen_ndr/ndr_ntsvcs_c.o [SUBSYSTEM::RPC_NDR_NETLOGON] PUBLIC_DEPENDENCIES = NDR_NETLOGON -RPC_NDR_NETLOGON_OBJ_FILES = $(gen_ndrsrcdir)/ndr_netlogon_c.o +RPC_NDR_NETLOGON_OBJ_FILES = ../librpc/gen_ndr/ndr_netlogon_c.o [SUBSYSTEM::RPC_NDR_TRKWKS] PUBLIC_DEPENDENCIES = dcerpc NDR_TRKWKS -RPC_NDR_TRKWKS_OBJ_FILES = $(gen_ndrsrcdir)/ndr_trkwks_c.o +RPC_NDR_TRKWKS_OBJ_FILES = ../librpc/gen_ndr/ndr_trkwks_c.o [SUBSYSTEM::RPC_NDR_KEYSVC] PUBLIC_DEPENDENCIES = dcerpc NDR_KEYSVC -RPC_NDR_KEYSVC_OBJ_FILES = $(gen_ndrsrcdir)/ndr_keysvc_c.o +RPC_NDR_KEYSVC_OBJ_FILES = ../librpc/gen_ndr/ndr_keysvc_c.o [SUBSYSTEM::NDR_DCERPC] PUBLIC_DEPENDENCIES = LIBNDR @@ -644,85 +644,85 @@ $(eval $(call python_py_module_template,samba/dcerpc/__init__.py,$(dcerpcsrcdir) LIBRARY_REALNAME = samba/dcerpc/echo.$(SHLIBEXT) PRIVATE_DEPENDENCIES = RPC_NDR_ECHO PYTALLOC param swig_credentials python_dcerpc -python_echo_OBJ_FILES = $(gen_ndrsrcdir)/py_echo.o +python_echo_OBJ_FILES = ../librpc/gen_ndr/py_echo.o [PYTHON::python_winreg] LIBRARY_REALNAME = samba/dcerpc/winreg.$(SHLIBEXT) PRIVATE_DEPENDENCIES = RPC_NDR_WINREG python_misc PYTALLOC param swig_credentials python_dcerpc_misc python_lsa python_dcerpc -python_winreg_OBJ_FILES = $(gen_ndrsrcdir)/py_winreg.o +python_winreg_OBJ_FILES = ../librpc/gen_ndr/py_winreg.o [PYTHON::python_dcerpc_misc] LIBRARY_REALNAME = samba/dcerpc/misc.$(SHLIBEXT) PRIVATE_DEPENDENCIES = PYTALLOC python_dcerpc -python_dcerpc_misc_OBJ_FILES = $(gen_ndrsrcdir)/py_misc.o +python_dcerpc_misc_OBJ_FILES = ../librpc/gen_ndr/py_misc.o [PYTHON::python_initshutdown] LIBRARY_REALNAME = samba/dcerpc/initshutdown.$(SHLIBEXT) PRIVATE_DEPENDENCIES = RPC_NDR_INITSHUTDOWN PYTALLOC param swig_credentials python_lsa python_dcerpc_security python_dcerpc -python_initshutdown_OBJ_FILES = $(gen_ndrsrcdir)/py_initshutdown.o +python_initshutdown_OBJ_FILES = ../librpc/gen_ndr/py_initshutdown.o [PYTHON::python_epmapper] LIBRARY_REALNAME = samba/dcerpc/epmapper.$(SHLIBEXT) PRIVATE_DEPENDENCIES = dcerpc PYTALLOC param swig_credentials python_dcerpc_misc python_dcerpc -python_epmapper_OBJ_FILES = $(gen_ndrsrcdir)/py_epmapper.o +python_epmapper_OBJ_FILES = ../librpc/gen_ndr/py_epmapper.o [PYTHON::python_mgmt] LIBRARY_REALNAME = samba/dcerpc/mgmt.$(SHLIBEXT) PRIVATE_DEPENDENCIES = PYTALLOC param swig_credentials dcerpc python_dcerpc_misc python_dcerpc -python_mgmt_OBJ_FILES = $(gen_ndrsrcdir)/py_mgmt.o +python_mgmt_OBJ_FILES = ../librpc/gen_ndr/py_mgmt.o [PYTHON::python_atsvc] LIBRARY_REALNAME = samba/dcerpc/atsvc.$(SHLIBEXT) PRIVATE_DEPENDENCIES = dcerpc_atsvc PYTALLOC param swig_credentials python_dcerpc -python_atsvc_OBJ_FILES = $(gen_ndrsrcdir)/py_atsvc.o +python_atsvc_OBJ_FILES = ../librpc/gen_ndr/py_atsvc.o [PYTHON::python_dcerpc_nbt] LIBRARY_REALNAME = samba/nbt.$(SHLIBEXT) PRIVATE_DEPENDENCIES = NDR_NBT PYTALLOC param swig_credentials python_dcerpc python_dcerpc_misc python_dcerpc_security -python_dcerpc_nbt_OBJ_FILES = $(gen_ndrsrcdir)/py_nbt.o +python_dcerpc_nbt_OBJ_FILES = ../librpc/gen_ndr/py_nbt.o [PYTHON::python_samr] LIBRARY_REALNAME = samba/dcerpc/samr.$(SHLIBEXT) PRIVATE_DEPENDENCIES = dcerpc_samr PYTALLOC python_dcerpc_security python_lsa python_dcerpc_misc swig_credentials param python_dcerpc -python_samr_OBJ_FILES = $(gen_ndrsrcdir)/py_samr.o +python_samr_OBJ_FILES = ../librpc/gen_ndr/py_samr.o [PYTHON::python_svcctl] LIBRARY_REALNAME = samba/dcerpc/svcctl.$(SHLIBEXT) PRIVATE_DEPENDENCIES = RPC_NDR_SVCCTL PYTALLOC param swig_credentials python_dcerpc_misc python_dcerpc -python_svcctl_OBJ_FILES = $(gen_ndrsrcdir)/py_svcctl.o +python_svcctl_OBJ_FILES = ../librpc/gen_ndr/py_svcctl.o [PYTHON::python_lsa] LIBRARY_REALNAME = samba/dcerpc/lsa.$(SHLIBEXT) PRIVATE_DEPENDENCIES = RPC_NDR_LSA PYTALLOC param swig_credentials python_dcerpc_security python_dcerpc -python_lsa_OBJ_FILES = $(gen_ndrsrcdir)/py_lsa.o +python_lsa_OBJ_FILES = ../librpc/gen_ndr/py_lsa.o [PYTHON::python_wkssvc] LIBRARY_REALNAME = samba/dcerpc/wkssvc.$(SHLIBEXT) PRIVATE_DEPENDENCIES = RPC_NDR_WKSSVC PYTALLOC param swig_credentials python_lsa python_dcerpc_security python_dcerpc -python_wkssvc_OBJ_FILES = $(gen_ndrsrcdir)/py_wkssvc.o +python_wkssvc_OBJ_FILES = ../librpc/gen_ndr/py_wkssvc.o [PYTHON::python_dfs] LIBRARY_REALNAME = samba/dcerpc/dfs.$(SHLIBEXT) PRIVATE_DEPENDENCIES = RPC_NDR_DFS PYTALLOC param swig_credentials python_dcerpc_misc python_dcerpc -python_dfs_OBJ_FILES = $(gen_ndrsrcdir)/py_dfs.o +python_dfs_OBJ_FILES = ../librpc/gen_ndr/py_dfs.o [PYTHON::python_unixinfo] LIBRARY_REALNAME = samba/dcerpc/unixinfo.$(SHLIBEXT) PRIVATE_DEPENDENCIES = RPC_NDR_UNIXINFO PYTALLOC param swig_credentials python_dcerpc_security python_dcerpc_misc python_dcerpc -python_unixinfo_OBJ_FILES = $(gen_ndrsrcdir)/py_unixinfo.o +python_unixinfo_OBJ_FILES = ../librpc/gen_ndr/py_unixinfo.o [PYTHON::python_irpc] LIBRARY_REALNAME = samba/irpc.$(SHLIBEXT) @@ -734,13 +734,13 @@ python_irpc_OBJ_FILES = $(gen_ndrsrcdir)/py_irpc.o LIBRARY_REALNAME = samba/dcerpc/drsuapi.$(SHLIBEXT) PRIVATE_DEPENDENCIES = RPC_NDR_DRSUAPI PYTALLOC param swig_credentials python_dcerpc_misc python_dcerpc_security python_dcerpc -python_drsuapi_OBJ_FILES = $(gen_ndrsrcdir)/py_drsuapi.o +python_drsuapi_OBJ_FILES = ../librpc/gen_ndr/py_drsuapi.o [PYTHON::python_dcerpc_security] LIBRARY_REALNAME = samba/dcerpc/security.$(SHLIBEXT) PRIVATE_DEPENDENCIES = PYTALLOC python_dcerpc_misc python_dcerpc -python_dcerpc_security_OBJ_FILES = $(gen_ndrsrcdir)/py_security.o +python_dcerpc_security_OBJ_FILES = ../librpc/gen_ndr/py_security.o $(IDL_HEADER_FILES) $(IDL_NDR_PARSE_H_FILES) $(IDL_NDR_PARSE_C_FILES) \ $(IDL_NDR_CLIENT_C_FILES) $(IDL_NDR_CLIENT_H_FILES) \ @@ -748,9 +748,11 @@ $(IDL_HEADER_FILES) $(IDL_NDR_PARSE_H_FILES) $(IDL_NDR_PARSE_C_FILES) \ $(IDL_NDR_PY_C_FILES) $(IDL_NDR_PY_H_FILES): idl idl_full:: $(pidldir)/lib/Parse/Pidl/IDL.pm $(pidldir)/lib/Parse/Pidl/Expr.pm - @CPP="$(CPP)" PIDL="$(PIDL)" $(librpcsrcdir)/scripts/build_idl.sh FULL $(librpcsrcdir)/gen_ndr $(IDL_FILES) + @PIDL_OUTPUTDIR="../librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" srcdir="$(srcdir)" PIDL="$(PIDL)" ../librpc/build_idl.sh --full ../librpc/idl/*.idl + @CPP="$(CPP)" PIDL="$(PIDL)" $(librpcsrcdir)/scripts/build_idl.sh FULL $(librpcsrcdir)/gen_ndr $(librpcsrcdir)/idl/*.idl idl:: $(pidldir)/lib/Parse/Pidl/IDL.pm $(pidldir)/lib/Parse/Pidl/Expr.pm - @CPP="$(CPP)" PIDL="$(PIDL)" $(librpcsrcdir)/scripts/build_idl.sh PARTIAL $(librpcsrcdir)/gen_ndr $(IDL_FILES) + @PIDL_OUTPUTDIR="../librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" srcdir="$(srcdir)" PIDL="$(PIDL)" ../librpc/build_idl.sh ../librpc/idl/*.idl + @CPP="$(CPP)" PIDL="$(PIDL)" $(librpcsrcdir)/scripts/build_idl.sh PARTIAL $(librpcsrcdir)/gen_ndr $(librpcsrcdir)/idl/*.idl diff --git a/source4/librpc/idl-deps.pl b/source4/librpc/idl-deps.pl index 856a0e2ded..4d97139fc5 100755..100644 --- a/source4/librpc/idl-deps.pl +++ b/source4/librpc/idl-deps.pl @@ -1,5 +1,6 @@ #!/usr/bin/perl use strict; +use File::Basename; sub add($$) { @@ -12,20 +13,25 @@ my %vars = (); foreach(@ARGV) { my $f = $_; - my $b = $_; $b =~ s/.*\/(.*?).idl$/$1/; + my $b = basename($f); + + $b =~ s/\.idl//; + + my $gen_ndr = dirname($f); + $gen_ndr =~ s/\/idl$/\/gen_ndr/; print "# $f\n"; add("IDL_FILES", $f); - add("IDL_HEADER_FILES", "\$(librpcsrcdir)/gen_ndr/$b.h"); - add("IDL_NDR_PARSE_H_FILES", "\$(librpcsrcdir)/gen_ndr/ndr_$b.h"); - add("IDL_NDR_PARSE_C_FILES", "\$(librpcsrcdir)/gen_ndr/ndr_$b.c"); - add("IDL_NDR_CLIENT_C_FILES", "\$(librpcsrcdir)/gen_ndr/ndr_$b\_c.c"); - add("IDL_NDR_CLIENT_H_FILES", "\$(librpcsrcdir)/gen_ndr/ndr_$b\_c.h"); - add("IDL_SWIG_FILES", "\$(librpcsrcdir)/gen_ndr/$b.i"); - add("IDL_NDR_SERVER_C_FILES", "\$(librpcsrcdir)/gen_ndr/ndr_$b\_s.c"); - add("IDL_NDR_EJS_C_FILES", "\$(librpcsrcdir)/gen_ndr/ndr_$b\_ejs.c"); - add("IDL_NDR_EJS_H_FILES", "\$(librpcsrcdir)/gen_ndr/ndr_$b\_ejs.h"); - add("IDL_NDR_PY_C_FILES", "\$(librpcsrcdir)/gen_ndr/py_$b.c"); - add("IDL_NDR_PY_H_FILES", "\$(librpcsrcdir)/gen_ndr/py_$b.h"); + add("IDL_HEADER_FILES", "$gen_ndr/$b.h"); + add("IDL_NDR_PARSE_H_FILES", "$gen_ndr/ndr_$b.h"); + add("IDL_NDR_PARSE_C_FILES", "$gen_ndr/ndr_$b.c"); + add("IDL_NDR_CLIENT_C_FILES", "$gen_ndr/ndr_$b\_c.c"); + add("IDL_NDR_CLIENT_H_FILES", "$gen_ndr/ndr_$b\_c.h"); + add("IDL_SWIG_FILES", "$gen_ndr/$b.i"); + add("IDL_NDR_SERVER_C_FILES", "$gen_ndr/ndr_$b\_s.c"); + add("IDL_NDR_EJS_C_FILES", "$gen_ndr/ndr_$b\_ejs.c"); + add("IDL_NDR_EJS_H_FILES", "$gen_ndr/ndr_$b\_ejs.h"); + add("IDL_NDR_PY_C_FILES", "$gen_ndr/py_$b.c"); + add("IDL_NDR_PY_H_FILES", "$gen_ndr/py_$b.h"); print "\n"; } diff --git a/source4/librpc/scripts/build_idl.sh b/source4/librpc/scripts/build_idl.sh index 230939bb48..714f6d1f6a 100755 --- a/source4/librpc/scripts/build_idl.sh +++ b/source4/librpc/scripts/build_idl.sh @@ -7,7 +7,7 @@ IDL_FILES="$*" [ -d $OUTDIR ] || mkdir -p $OUTDIR || exit 1 -PIDL="$PIDL --outputdir $OUTDIR --header --ndr-parser --server --client --swig --python --dcom-proxy --com-header --includedir ../librpc/idl -- " +PIDL="$PIDL --outputdir $OUTDIR --header --ndr-parser --server --client --python --dcom-proxy --com-header --includedir ../librpc/idl -- " if [ x$FULLBUILD = xFULL ]; then echo Rebuilding all idl files in $IDLDIR |