summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-05-19 02:03:00 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-05-19 02:03:00 +0200
commit32dfdae009132ed2152f1c3ba242df630c0d9e22 (patch)
tree1fbbad81e8d8f9e5efd75c004ca240056d730739
parent60ae8f06574c74261643f469e6be2a945fd90880 (diff)
downloadsamba-32dfdae009132ed2152f1c3ba242df630c0d9e22.tar.gz
samba-32dfdae009132ed2152f1c3ba242df630c0d9e22.tar.bz2
samba-32dfdae009132ed2152f1c3ba242df630c0d9e22.zip
Move IDL build script to rpc directory, make various bits and pieces easier to use externally.
(This used to be commit 8328ff76416df5a6e05461d3a19f510b76f2e902)
-rw-r--r--source4/configure.ac2
-rw-r--r--source4/librpc/config.mk16
-rwxr-xr-xsource4/librpc/idl-deps.pl22
-rwxr-xr-xsource4/librpc/scripts/build_idl.sh (renamed from source4/script/build_idl.sh)16
-rw-r--r--source4/main.mk92
-rw-r--r--source4/pidl/config.mk15
-rw-r--r--source4/torture/local/config.mk50
7 files changed, 109 insertions, 104 deletions
diff --git a/source4/configure.ac b/source4/configure.ac
index 73d3ffd4d9..34657cf6f9 100644
--- a/source4/configure.ac
+++ b/source4/configure.ac
@@ -162,7 +162,7 @@ CPPFLAGS="$builddir_headers-I\$(srcdir)/include -I\$(srcdir) -I\$(srcdir)/lib -I
SMB_WRITE_PERLVARS(build/smb_build/config.pm)
-echo "configure: creating config.mk"
+../../source/echo "configure: creating config.mk"
cat >config.mk<<CEOF
# config.mk - Autogenerated by configure, DO NOT EDIT!
$SMB_INFO_EXT_LIBS
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index f25f90c96d..b9f79a51e6 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -359,7 +359,7 @@ include $(librpcsrcdir)/idl-deps
$(gen_ndrsrcdir)/tables.c: $(IDL_NDR_PARSE_H_FILES)
@echo Generating $@
- @$(PERL) $(srcdir)/$(librpcsrcdir)/tables.pl --output=$@ $^ > $(gen_ndrsrcdir)/tables.x
+ @$(PERL) $(librpcsrcdir)/tables.pl --output=$@ $^ > $(gen_ndrsrcdir)/tables.x
@mv $(gen_ndrsrcdir)/tables.x $@
[SUBSYSTEM::NDR_TABLE]
@@ -801,3 +801,17 @@ python_drsuapi_OBJ_FILES = $(gen_ndrsrcdir)/py_drsuapi.o
PRIVATE_DEPENDENCIES = PYTALLOC
python_dcerpc_security_OBJ_FILES = $(gen_ndrsrcdir)/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) \
+ $(IDL_NDR_SERVER_C_FILES) $(IDL_SWIG_FILES) \
+ $(IDL_NDR_EJS_C_FILES) $(IDL_NDR_EJS_H_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)/idl $(librpcsrcdir)/gen_ndr
+
+idl:: $(pidldir)/lib/Parse/Pidl/IDL.pm $(pidldir)/lib/Parse/Pidl/Expr.pm
+ @CPP="$(CPP)" PIDL="$(PIDL)" $(librpcsrcdir)/scripts/build_idl.sh PARTIAL $(librpcsrcdir)/idl $(librpcsrcdir)/gen_ndr
+
+
diff --git a/source4/librpc/idl-deps.pl b/source4/librpc/idl-deps.pl
index d5bfe0b2ec..e630ee4f61 100755
--- a/source4/librpc/idl-deps.pl
+++ b/source4/librpc/idl-deps.pl
@@ -6,17 +6,17 @@ my %vars = ();
foreach(@ARGV) {
push (@{$vars{IDL_FILES}}, $_);
my $b = $_; $b =~ s/.*\/(.*?).idl$/$1/;
- push (@{$vars{IDL_HEADER_FILES}}, "librpc/gen_ndr/$b.h");
- push (@{$vars{IDL_NDR_PARSE_H_FILES}}, "librpc/gen_ndr/ndr_$b.h");
- push (@{$vars{IDL_NDR_PARSE_C_FILES}}, "librpc/gen_ndr/ndr_$b.c");
- push (@{$vars{IDL_NDR_CLIENT_C_FILES}}, "librpc/gen_ndr/ndr_$b\_c.c");
- push (@{$vars{IDL_NDR_CLIENT_H_FILES}}, "librpc/gen_ndr/ndr_$b\_c.h");
- push (@{$vars{IDL_SWIG_FILES}}, "librpc/gen_ndr/$b.i");
- push (@{$vars{IDL_NDR_SERVER_C_FILES}}, "librpc/gen_ndr/ndr_$b\_s.c");
- push (@{$vars{IDL_NDR_EJS_C_FILES}}, "librpc/gen_ndr/ndr_$b\_ejs.c");
- push (@{$vars{IDL_NDR_EJS_H_FILES}}, "librpc/gen_ndr/ndr_$b\_ejs.h");
- push (@{$vars{IDL_NDR_PY_C_FILES}}, "librpc/gen_ndr/py_$b.c");
- push (@{$vars{IDL_NDR_PY_H_FILES}}, "librpc/gen_ndr/py_$b.h");
+ push (@{$vars{IDL_HEADER_FILES}}, "\$(librpcsrcdir)/gen_ndr/$b.h");
+ push (@{$vars{IDL_NDR_PARSE_H_FILES}}, "\$(librpcsrcdir)/gen_ndr/ndr_$b.h");
+ push (@{$vars{IDL_NDR_PARSE_C_FILES}}, "\$(librpcsrcdir)/gen_ndr/ndr_$b.c");
+ push (@{$vars{IDL_NDR_CLIENT_C_FILES}}, "\$(librpcsrcdir)/gen_ndr/ndr_$b\_c.c");
+ push (@{$vars{IDL_NDR_CLIENT_H_FILES}}, "\$(librpcsrcdir)/gen_ndr/ndr_$b\_c.h");
+ push (@{$vars{IDL_SWIG_FILES}}, "\$(librpcsrcdir)/gen_ndr/$b.i");
+ push (@{$vars{IDL_NDR_SERVER_C_FILES}}, "\$(librpcsrcdir)/gen_ndr/ndr_$b\_s.c");
+ push (@{$vars{IDL_NDR_EJS_C_FILES}}, "\$(librpcsrcdir)/gen_ndr/ndr_$b\_ejs.c");
+ push (@{$vars{IDL_NDR_EJS_H_FILES}}, "\$(librpcsrcdir)/gen_ndr/ndr_$b\_ejs.h");
+ push (@{$vars{IDL_NDR_PY_C_FILES}}, "\$(librpcsrcdir)/gen_ndr/py_$b.c");
+ push (@{$vars{IDL_NDR_PY_H_FILES}}, "\$(librpcsrcdir)/gen_ndr/py_$b.h");
}
foreach (keys %vars) {
diff --git a/source4/script/build_idl.sh b/source4/librpc/scripts/build_idl.sh
index ea0cb78b0e..5796f40c61 100755
--- a/source4/script/build_idl.sh
+++ b/source4/librpc/scripts/build_idl.sh
@@ -1,24 +1,26 @@
#!/bin/sh
FULLBUILD=$1
-shift 1
+IDLDIR=$2
+OUTDIR=$3
+shift 3
PIDL_EXTRA_ARGS="$*"
-[ -d librpc/gen_ndr ] || mkdir -p librpc/gen_ndr || exit 1
+[ -d $OUTDIR ] || mkdir -p $OUTDIR || exit 1
-PIDL="$PERL $srcdir/pidl/pidl --outputdir librpc/gen_ndr --header --ndr-parser --server --client --swig --ejs --python $PIDL_EXTRA_ARGS"
+PIDL="$PIDL --outputdir $OUTDIR --header --ndr-parser --server --client --swig --ejs --python $PIDL_EXTRA_ARGS"
if [ x$FULLBUILD = xFULL ]; then
- echo Rebuilding all idl files in librpc/idl
- $PIDL $srcdir/librpc/idl/*.idl || exit 1
+ echo Rebuilding all idl files in $IDLDIR
+ $PIDL $IDLDIR/*.idl || exit 1
exit 0
fi
list=""
-for f in $srcdir/librpc/idl/*.idl ; do
+for f in $IDLDIR/*.idl ; do
basename=`basename $f .idl`
- ndr="librpc/gen_ndr/ndr_$basename.c"
+ ndr="$OUTDIR/ndr_$basename.c"
# blergh - most shells don't have the -nt function
if [ -f $ndr ]; then
if [ x`find $f -newer $ndr -print` = x$f ]; then
diff --git a/source4/main.mk b/source4/main.mk
index 5e31044c09..4036d366f2 100644
--- a/source4/main.mk
+++ b/source4/main.mk
@@ -1,95 +1,95 @@
mkinclude dynconfig.mk
-heimdalsrcdir := heimdal
+heimdalsrcdir := $(srcdir)/../samba4/source/heimdal
mkinclude heimdal_build/config.mk
mkinclude config.mk
-dsdbsrcdir := dsdb
+dsdbsrcdir := $(srcdir)/../samba4/source/dsdb
mkinclude dsdb/config.mk
-smbdsrcdir := smbd
+smbdsrcdir := $(srcdir)/../samba4/source/smbd
mkinclude smbd/config.mk
-clustersrcdir := cluster
+clustersrcdir := $(srcdir)/../samba4/source/cluster
mkinclude cluster/config.mk
mkinclude smbd/process_model.mk
-libnetsrcdir := libnet
+libnetsrcdir := $(srcdir)/../samba4/source/libnet
mkinclude libnet/config.mk
-authsrcdir := auth
+authsrcdir := $(srcdir)/../samba4/source/auth
mkinclude auth/config.mk
-nsswitchsrcdir := nsswitch
+nsswitchsrcdir := $(srcdir)/../samba4/source/nsswitch
mkinclude nsswitch/config.mk
-libsrcdir := lib
+libsrcdir := $(srcdir)/../samba4/source/lib
mkinclude lib/samba3/config.mk
-libsocketsrcdir := lib/socket
+libsocketsrcdir := $(srcdir)/../samba4/source/lib/socket
mkinclude lib/socket/config.mk
-libcharsetsrcdir := lib/charset
+libcharsetsrcdir := $(srcdir)/../samba4/source/lib/charset
mkinclude lib/charset/config.mk
-ldb_sambasrcdir := lib/ldb-samba
+ldb_sambasrcdir := $(srcdir)/../samba4/source/lib/ldb-samba
mkinclude lib/ldb-samba/config.mk
-libtlssrcdir := lib/tls
+libtlssrcdir := $(srcdir)/../samba4/source/lib/tls
mkinclude lib/tls/config.mk
-libregistrysrcdir := lib/registry
+libregistrysrcdir := $(srcdir)/../samba4/source/lib/registry
mkinclude lib/registry/config.mk
-libmessagingsrcdir := lib/messaging
+libmessagingsrcdir := $(srcdir)/../samba4/source/lib/messaging
mkinclude lib/messaging/config.mk
-libeventssrcdir := lib/events
+libeventssrcdir := $(srcdir)/../samba4/source/lib/events
mkinclude lib/events/config.mk
-libcmdlinesrcdir := lib/cmdline
+libcmdlinesrcdir := $(srcdir)/../samba4/source/lib/cmdline
mkinclude lib/cmdline/config.mk
-socketwrappersrcdir := lib/socket_wrapper
+socketwrappersrcdir := $(srcdir)/../samba4/source/lib/socket_wrapper
mkinclude lib/socket_wrapper/config.mk
-nsswrappersrcdir := lib/nss_wrapper
+nsswrappersrcdir := $(srcdir)/../samba4/source/lib/nss_wrapper
mkinclude lib/nss_wrapper/config.mk
-appwebsrcdir := lib/appweb
+appwebsrcdir := $(srcdir)/../samba4/source/lib/appweb
mkinclude lib/appweb/config.mk
-libstreamsrcdir := lib/stream
+libstreamsrcdir := $(srcdir)/../samba4/source/lib/stream
mkinclude lib/stream/config.mk
-libutilsrcdir := lib/util
+libutilsrcdir := $(srcdir)/../samba4/source/lib/util
mkinclude lib/util/config.mk
-libtdrsrcdir := lib/tdr
+libtdrsrcdir := $(srcdir)/../samba4/source/lib/tdr
mkinclude lib/tdr/config.mk
-libdbwrapsrcdir := lib/dbwrap
+libdbwrapsrcdir := $(srcdir)/../samba4/source/lib/dbwrap
mkinclude lib/dbwrap/config.mk
-libcryptosrcdir := lib/crypto
+libcryptosrcdir := $(srcdir)/../samba4/source/lib/crypto
mkinclude lib/crypto/config.mk
-libtorturesrcdir := lib/torture
+libtorturesrcdir := $(srcdir)/../samba4/source/lib/torture
mkinclude lib/torture/config.mk
-libcompressionsrcdir := lib/compression
-libgencachesrcdir := lib
+libcompressionsrcdir := $(srcdir)/../samba4/source/lib/compression
+libgencachesrcdir := $(srcdir)/../samba4/source/lib
mkinclude lib/basic.mk
-paramsrcdir := param
+paramsrcdir := $(srcdir)/../samba4/source/param
mkinclude param/config.mk
-smb_serversrcdir := smb_server
+smb_serversrcdir := $(srcdir)/../samba4/source/smb_server
mkinclude smb_server/config.mk
-rpc_serversrcdir := rpc_server
+rpc_serversrcdir := $(srcdir)/../samba4/source/rpc_server
mkinclude rpc_server/config.mk
-ldap_serversrcdir := ldap_server
+ldap_serversrcdir := $(srcdir)/../samba4/source/ldap_server
mkinclude ldap_server/config.mk
-web_serversrcdir := web_server
+web_serversrcdir := $(srcdir)/../samba4/source/web_server
mkinclude web_server/config.mk
-winbindsrcdir := winbind
+winbindsrcdir := $(srcdir)/../samba4/source/winbind
mkinclude winbind/config.mk
-nbt_serversrcdir := nbt_server
+nbt_serversrcdir := $(srcdir)/../samba4/source/nbt_server
mkinclude nbt_server/config.mk
-wrepl_serversrcdir := wrepl_server
+wrepl_serversrcdir := $(srcdir)/../samba4/source/wrepl_server
mkinclude wrepl_server/config.mk
-cldap_serversrcdir := cldap_server
+cldap_serversrcdir := $(srcdir)/../samba4/source/cldap_server
mkinclude cldap_server/config.mk
-utilssrcdir := utils
+utilssrcdir := $(srcdir)/../samba4/source/utils
mkinclude utils/net/config.mk
mkinclude utils/config.mk
-ntvfssrcdir := ntvfs
+ntvfssrcdir := $(srcdir)/../samba4/source/ntvfs
mkinclude ntvfs/config.mk
-ntptrsrcdir := ntptr
+ntptrsrcdir := $(srcdir)/../samba4/source/ntptr
mkinclude ntptr/config.mk
-torturesrcdir := torture
+torturesrcdir := $(srcdir)/../samba4/source/torture
mkinclude torture/config.mk
-librpcsrcdir := librpc
+librpcsrcdir := $(srcdir)/../samba4/source/librpc
mkinclude librpc/config.mk
-clientsrcdir := client
+clientsrcdir := $(srcdir)/../samba4/source/client
mkinclude client/config.mk
-libclisrcdir := libcli
+libclisrcdir := $(srcdir)/../samba4/source/libcli
mkinclude libcli/config.mk
-ejsscriptsrcdir := scripting/ejs
+ejsscriptsrcdir := $(srcdir)/../samba4/source/scripting/ejs
mkinclude scripting/ejs/config.mk
-pyscriptsrcdir := scripting/python
+pyscriptsrcdir := $(srcdir)/../samba4/source/scripting/python
mkinclude scripting/python/config.mk
-kdcsrcdir := kdc
+kdcsrcdir := $(srcdir)/../samba4/source/kdc
mkinclude kdc/config.mk
diff --git a/source4/pidl/config.mk b/source4/pidl/config.mk
index 7cc56a58cc..07c8647ecd 100644
--- a/source4/pidl/config.mk
+++ b/source4/pidl/config.mk
@@ -1,3 +1,5 @@
+PIDL = $(PERL) $(pidldir)/pidl
+
$(pidldir)/Makefile: $(pidldir)/Makefile.PL
cd $(pidldir) && $(PERL) Makefile.PL PREFIX=$(prefix)
@@ -16,12 +18,6 @@ ifeq ($(HAVE_PERL_EXTUTILS_MAKEMAKER),1)
install:: installpidl
endif
-idl_full:: $(pidldir)/lib/Parse/Pidl/IDL.pm $(pidldir)/lib/Parse/Pidl/Expr.pm
- @CPP="$(CPP)" PERL="$(PERL)" srcdir=$(srcdir) $(srcdir)/script/build_idl.sh FULL
-
-idl:: $(pidldir)/lib/Parse/Pidl/IDL.pm $(pidldir)/lib/Parse/Pidl/Expr.pm
- @CPP="$(CPP)" PERL="$(PERL)" srcdir=$(srcdir) $(srcdir)/script/build_idl.sh PARTIAL
-
$(pidldir)/lib/Parse/Pidl/IDL.pm: $(pidldir)/idl.yp
-$(YAPP) -m 'Parse::Pidl::IDL' -o $(pidldir)/lib/Parse/Pidl/IDL.pm $(pidldir)/idl.yp ||\
touch $(pidldir)/lib/Parse/Pidl/IDL.pm
@@ -32,11 +28,4 @@ $(pidldir)/lib/Parse/Pidl/Expr.pm: $(pidldir)/idl.yp
testcov-html:: pidl-testcov
-$(IDL_HEADER_FILES) \
- $(IDL_NDR_PARSE_H_FILES) $(IDL_NDR_PARSE_C_FILES) \
- $(IDL_NDR_CLIENT_C_FILES) $(IDL_NDR_CLIENT_H_FILES) \
- $(IDL_NDR_SERVER_C_FILES) $(IDL_SWIG_FILES) \
- $(IDL_NDR_EJS_C_FILES) $(IDL_NDR_EJS_H_FILES) \
- $(IDL_NDR_PY_C_FILES) $(IDL_NDR_PY_H_FILES): idl
-
diff --git a/source4/torture/local/config.mk b/source4/torture/local/config.mk
index 3ec2ae5fae..cd1c7b1422 100644
--- a/source4/torture/local/config.mk
+++ b/source4/torture/local/config.mk
@@ -19,31 +19,31 @@ PRIVATE_DEPENDENCIES = \
#################################
TORTURE_LOCAL_OBJ_FILES = \
- lib/charset/tests/iconv.o \
- lib/talloc/testsuite.o \
- lib/replace/test/getifaddrs.o \
- lib/replace/test/os2_delete.o \
- lib/replace/test/strptime.o \
- lib/replace/test/testsuite.o \
- lib/messaging/tests/messaging.o \
- lib/messaging/tests/irpc.o \
- librpc/tests/binding_string.o \
- lib/util/tests/idtree.o \
- lib/socket/testsuite.o \
- lib/socket_wrapper/testsuite.o \
- libcli/resolve/testsuite.o \
- lib/util/tests/strlist.o \
- lib/util/tests/str.o \
- lib/util/tests/file.o \
- lib/util/tests/genrand.o \
- lib/compression/testsuite.o \
- lib/charset/tests/charset.o \
- libcli/security/tests/sddl.o \
- lib/tdr/testsuite.o \
- lib/events/testsuite.o \
- param/tests/share.o \
- param/tests/loadparm.o \
- auth/credentials/tests/simple.o \
+ $(torturesrcdir)/../lib/charset/tests/iconv.o \
+ $(torturesrcdir)/../lib/talloc/testsuite.o \
+ $(torturesrcdir)/../lib/replace/test/getifaddrs.o \
+ $(torturesrcdir)/../lib/replace/test/os2_delete.o \
+ $(torturesrcdir)/../lib/replace/test/strptime.o \
+ $(torturesrcdir)/../lib/replace/test/testsuite.o \
+ $(torturesrcdir)/../lib/messaging/tests/messaging.o \
+ $(torturesrcdir)/../lib/messaging/tests/irpc.o \
+ $(torturesrcdir)/../librpc/tests/binding_string.o \
+ $(torturesrcdir)/../lib/util/tests/idtree.o \
+ $(torturesrcdir)/../lib/socket/testsuite.o \
+ $(torturesrcdir)/../lib/socket_wrapper/testsuite.o \
+ $(torturesrcdir)/../libcli/resolve/testsuite.o \
+ $(torturesrcdir)/../lib/util/tests/strlist.o \
+ $(torturesrcdir)/../lib/util/tests/str.o \
+ $(torturesrcdir)/../lib/util/tests/file.o \
+ $(torturesrcdir)/../lib/util/tests/genrand.o \
+ $(torturesrcdir)/../lib/compression/testsuite.o \
+ $(torturesrcdir)/../lib/charset/tests/charset.o \
+ $(torturesrcdir)/../libcli/security/tests/sddl.o \
+ $(torturesrcdir)/../lib/tdr/testsuite.o \
+ $(torturesrcdir)/../lib/events/testsuite.o \
+ $(torturesrcdir)/../param/tests/share.o \
+ $(torturesrcdir)/../param/tests/loadparm.o \
+ $(torturesrcdir)/../auth/credentials/tests/simple.o \
$(torturesrcdir)/local/local.o \
$(torturesrcdir)/local/dbspeed.o \
$(torturesrcdir)/local/torture.o