[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha3-1582-ga63f458

Jelmer Vernooij jelmer at samba.org
Sun May 18 21:41:40 GMT 2008


The branch, v4-0-test has been updated
       via  a63f458462d207d215a6e4ef8e480b0c8daedf6a (commit)
       via  a6b52119940a900fb0de3864b8bca94e2965cc24 (commit)
       via  f4a77b96f9c17d853348b70794026e5b9e384942 (commit)
       via  57b57b1ff9a2ddf087fc6cceaf6c9afb4f8f0135 (commit)
       via  5c961c0b41e0a41bd41705a103595af7405132a4 (commit)
       via  4876c4efbbafb4e0afa3554cd9f748ab591a2927 (commit)
       via  63fd551a159b3ad4e314f551d65b7d723bbe485a (commit)
       via  6b6b2196a8a8d9e741f5c399185ded7a16938da0 (commit)
       via  28f4a8bc2c9b4158e74e1284ff9df068388c3b3d (commit)
       via  c41bd3005f5f0b9cfd3709fc9217b4a401d265b4 (commit)
       via  2860a7db5968c7007522cdb300eba390da929ab8 (commit)
       via  56bb2907c67d55967f54ce74b029f05067a187c5 (commit)
       via  3a83d4ebd41908aa0f88eec5b05156112ea0ca7b (commit)
       via  f97bc5735803a73181030e6d7db2862ebc1b7f4b (commit)
       via  3cff5bc25ad894bef6ed65566d9d692968092760 (commit)
       via  16a04d9af4cc33daafe32bc45a404959924bd33e (commit)
       via  201da6d5d05ed624bd9f4bd535969077a3b8b3ba (commit)
       via  63f2b66f0e1120a516d3dfcd03b38db2e4aaddd0 (commit)
       via  ad58defe129d25ea2e8a598934800610189747e8 (commit)
       via  fb10a81b9484642099ecbe896eabe00a4417bc42 (commit)
       via  84c9fbe8466e013e501eecf9b2e7981c1df8232c (commit)
       via  d9770b651f61a0b70d6afa4610fadc7f199e1d98 (commit)
       via  8a4f030261d15ea78280d51877711ceea815885a (commit)
       via  f305c443db8e48efa80eeda8f83073b475dc3fee (commit)
       via  a38e473c9e382465ae30f3ca7ae12de500aec5f7 (commit)
       via  c4bfc0b8daf2e288a278936b279bb4f7848d78e9 (commit)
       via  7fee112d2b86b423c397118f0333065825ea3518 (commit)
       via  3ce8a4bb5568bb798c40034e3fa6a613ad2bf43b (commit)
       via  16dbbf75c7fa0f877659654a20bcab73b707e627 (commit)
       via  4c098e4c9f071592e134c979388891f5bf16452d (commit)
       via  9683f7434c7ea01631d8adae9d43274c77ff51de (commit)
       via  e83f7b11963f2996e3ced0251087a09eb55c347c (commit)
       via  b507109bb676715f7d9616e13b0e19305e9c2559 (commit)
       via  d3df51cd01e53383dcc05923d248db03bc6f62e9 (commit)
      from  91e9062265a68e3a1fe5e092503ec44ae5ea034e (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit a63f458462d207d215a6e4ef8e480b0c8daedf6a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 23:40:23 2008 +0200

    Fix a bunch of dependencies.

commit a6b52119940a900fb0de3864b8bca94e2965cc24
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 23:02:47 2008 +0200

    Fix a couple (well, little more than that..) of typos.

commit f4a77b96f9c17d853348b70794026e5b9e384942
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 22:30:08 2008 +0200

    Create prototype headers from Makefile directory, without smb_build in the middle.

commit 57b57b1ff9a2ddf087fc6cceaf6c9afb4f8f0135
Merge: 4876c4efbbafb4e0afa3554cd9f748ab591a2927 5c961c0b41e0a41bd41705a103595af7405132a4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 21:10:41 2008 +0200

    Merge branch 'v4-0-test' of /home/jelmer/samba34.git/samba4 into v4-0-test
    
    Conflicts:
    
    	source/build/smb_build/makefile.pm

commit 5c961c0b41e0a41bd41705a103595af7405132a4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 21:10:09 2008 +0200

    Typo, formatting fixes.

commit 4876c4efbbafb4e0afa3554cd9f748ab591a2927
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 21:09:04 2008 +0200

    Avoid smb_build for prototype headers in some places.

commit 63fd551a159b3ad4e314f551d65b7d723bbe485a
Merge: 3a83d4ebd41908aa0f88eec5b05156112ea0ca7b 6b6b2196a8a8d9e741f5c399185ded7a16938da0
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 20:35:01 2008 +0200

    Merge branch 'v4-0-test' of /home/jelmer/samba4 into v4-0-test

commit 6b6b2196a8a8d9e741f5c399185ded7a16938da0
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 20:30:46 2008 +0200

    Use variables for source directory in remaining subsystems.

commit 28f4a8bc2c9b4158e74e1284ff9df068388c3b3d
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:56:17 2008 +0200

    Use variables for source directory in a couple more places.

commit c41bd3005f5f0b9cfd3709fc9217b4a401d265b4
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:54:27 2008 +0200

    Use variables for source directory in a couple more places.

commit 2860a7db5968c7007522cdb300eba390da929ab8
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:46:09 2008 +0200

    Use variables for source directory in a couple more places.

commit 56bb2907c67d55967f54ce74b029f05067a187c5
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:41:33 2008 +0200

    Use variables for source directory in a couple more places.

commit 3a83d4ebd41908aa0f88eec5b05156112ea0ca7b
Merge: 3cff5bc25ad894bef6ed65566d9d692968092760 f97bc5735803a73181030e6d7db2862ebc1b7f4b
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:37:58 2008 +0200

    Merge branch 'v4-0-test' of /home/jelmer/samba4 into v4-0-test

commit f97bc5735803a73181030e6d7db2862ebc1b7f4b
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:37:24 2008 +0200

    Use variable for param src dir.

commit 3cff5bc25ad894bef6ed65566d9d692968092760
Merge: 201da6d5d05ed624bd9f4bd535969077a3b8b3ba 16a04d9af4cc33daafe32bc45a404959924bd33e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:12:00 2008 +0200

    Merge branch 'v4-0-test' of /home/jelmer/samba4 into v4-0-test

commit 16a04d9af4cc33daafe32bc45a404959924bd33e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:11:47 2008 +0200

    Build system doesn't do make variable expansion...

commit 201da6d5d05ed624bd9f4bd535969077a3b8b3ba
Merge: ad58defe129d25ea2e8a598934800610189747e8 63f2b66f0e1120a516d3dfcd03b38db2e4aaddd0
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:10:49 2008 +0200

    Merge branch 'v4-0-test' of /home/jelmer/samba4 into v4-0-test

commit 63f2b66f0e1120a516d3dfcd03b38db2e4aaddd0
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:10:37 2008 +0200

    Use src dir.

commit ad58defe129d25ea2e8a598934800610189747e8
Merge: 84c9fbe8466e013e501eecf9b2e7981c1df8232c fb10a81b9484642099ecbe896eabe00a4417bc42
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:07:17 2008 +0200

    Merge branch 'v4-0-test' of /home/jelmer/samba4 into v4-0-test

commit fb10a81b9484642099ecbe896eabe00a4417bc42
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 19:07:07 2008 +0200

    Use variables for source path in libnet/ and scripting/python.

commit 84c9fbe8466e013e501eecf9b2e7981c1df8232c
Merge: f305c443db8e48efa80eeda8f83073b475dc3fee d9770b651f61a0b70d6afa4610fadc7f199e1d98
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 18:55:38 2008 +0200

    Merge branch 'v4-0-test' of /home/jelmer/samba4 into v4-0-test

commit d9770b651f61a0b70d6afa4610fadc7f199e1d98
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 18:55:14 2008 +0200

    Move templates to a separate file.

commit 8a4f030261d15ea78280d51877711ceea815885a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 18:52:33 2008 +0200

    Avoid use of relative paths.

commit f305c443db8e48efa80eeda8f83073b475dc3fee
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 18:33:24 2008 +0200

    Simplify argument handling.

commit a38e473c9e382465ae30f3ca7ae12de500aec5f7
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 18:33:05 2008 +0200

    Fix --output argument.

commit c4bfc0b8daf2e288a278936b279bb4f7848d78e9
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 18:08:37 2008 +0200

    Allow specifying different input file to smb_build.

commit 7fee112d2b86b423c397118f0333065825ea3518
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 17:55:50 2008 +0200

    Move writing of data.mk file to m4 macro.

commit 3ce8a4bb5568bb798c40034e3fa6a613ad2bf43b
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 17:48:50 2008 +0200

    Move writing autoconf vars into files into m4 macros.

commit 16dbbf75c7fa0f877659654a20bcab73b707e627
Merge: 4c098e4c9f071592e134c979388891f5bf16452d 91e9062265a68e3a1fe5e092503ec44ae5ea034e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 18 17:35:16 2008 +0200

    Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into v4-0-test

commit 4c098e4c9f071592e134c979388891f5bf16452d
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Fri May 16 16:30:22 2008 +0200

    Install python modules by default.

commit 9683f7434c7ea01631d8adae9d43274c77ff51de
Merge: 2e8766145ad2e8c666ecdc6c39e97ba302b16e04 e83f7b11963f2996e3ced0251087a09eb55c347c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon May 12 03:54:53 2008 +0200

    Merge branch 'nosmbpython' into v4-0-test

commit e83f7b11963f2996e3ced0251087a09eb55c347c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 11 05:46:40 2008 +0200

    Remove smbpython.

commit b507109bb676715f7d9616e13b0e19305e9c2559
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 11 05:45:49 2008 +0200

    Set sys.path for running inside source tree.

commit d3df51cd01e53383dcc05923d248db03bc6f62e9
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun May 11 05:29:20 2008 +0200

    Use system python rather than smbpython.

-----------------------------------------------------------------------

Summary of changes:
 source/Makefile                       |    5 +-
 source/auth/config.mk                 |   24 +-
 source/auth/credentials/config.mk     |   10 +-
 source/auth/gensec/config.mk          |   28 +-
 source/auth/kerberos/config.mk        |    5 +-
 source/auth/ntlm/config.mk            |   23 +-
 source/auth/ntlmssp/config.mk         |   10 +-
 source/build/m4/public.m4             |   71 ++++
 source/build/make/rules.mk            |   99 +-----
 source/build/make/templates.mk        |  108 +++++
 source/build/smb_build/config_mk.pm   |   15 +-
 source/build/smb_build/main.pl        |   17 +-
 source/build/smb_build/makefile.pm    |    9 -
 source/cldap_server/config.mk         |    4 +-
 source/client/config.mk               |    4 +-
 source/cluster/config.mk              |    3 +-
 source/cluster/ctdb/config.mk         |    6 +-
 source/configure.ac                   |   55 +---
 source/dsdb/config.mk                 |   16 +-
 source/dynconfig.mk                   |   11 +-
 source/heimdal_build/config.mk        |  727 +++++++++++++++++----------------
 source/kdc/config.mk                  |    6 +-
 source/ldap_server/config.mk          |    4 +-
 source/lib/appweb/config.mk           |    6 +-
 source/lib/basic.mk                   |   34 +--
 source/lib/charset/config.mk          |    7 +-
 source/lib/cmdline/config.mk          |   14 +-
 source/lib/crypto/config.mk           |    6 +-
 source/lib/dbwrap/config.mk           |    2 +-
 source/lib/events/config.mk           |   14 +-
 source/lib/ldb-samba/config.mk        |    4 +-
 source/lib/ldb/tests/python/ldap.py   |    2 +
 source/lib/messaging/config.mk        |    3 +-
 source/lib/nss_wrapper/config.mk      |    2 +-
 source/lib/registry/config.mk         |   48 ++-
 source/lib/samba3/config.mk           |    5 +-
 source/lib/socket/config.mk           |   11 +-
 source/lib/socket_wrapper/config.mk   |    2 +-
 source/lib/stream/config.mk           |    2 +-
 source/lib/tdr/config.mk              |    7 +-
 source/lib/tls/config.mk              |    2 +-
 source/lib/torture/config.mk          |    6 +-
 source/lib/util/config.mk             |   23 +-
 source/libcli/auth/config.mk          |    6 +-
 source/libcli/config.mk               |   70 ++--
 source/libcli/ldap/config.mk          |    9 +-
 source/libcli/security/config.mk      |    6 +-
 source/libcli/smb2/config.mk          |    4 +-
 source/libcli/wbclient/config.mk      |    2 +-
 source/libnet/config.mk               |    7 +-
 source/librpc/config.mk               |  331 ++++++++--------
 source/main.mk                        |   64 +++
 source/nbt_server/config.mk           |   25 +-
 source/nsswitch/config.mk             |    6 +-
 source/ntptr/config.mk                |    9 +-
 source/ntvfs/common/config.mk         |    5 +-
 source/ntvfs/config.mk                |   28 +-
 source/ntvfs/posix/config.mk          |   11 +-
 source/ntvfs/sysdep/config.mk         |    8 +-
 source/ntvfs/unixuid/config.mk        |    2 +-
 source/param/config.mk                |   29 +-
 source/pidl/config.mk                 |   28 +-
 source/rpc_server/config.mk           |   50 ++-
 source/scripting/bin/minschema.py     |    4 +
 source/scripting/bin/rpcclient        |    4 +
 source/scripting/bin/samba3dump       |    5 +-
 source/scripting/bin/subunitrun       |    6 +-
 source/scripting/bin/winreg.py        |    4 +
 source/scripting/ejs/config.mk        |   31 +-
 source/scripting/ejs/ejsnet/config.mk |    4 +-
 source/scripting/python/config.m4     |    1 -
 source/scripting/python/config.mk     |   19 +-
 source/scripting/python/smbpython.c   |   34 --
 source/selftest/samba4_tests.sh       |    2 +-
 source/selftest/target/Samba4.pm      |    2 +-
 source/setup/newuser                  |    6 +-
 source/setup/provision                |    3 +
 source/setup/upgrade                  |    4 +
 source/smb_server/config.mk           |   10 +-
 source/smb_server/smb/config.mk       |    4 +-
 source/smb_server/smb2/config.mk      |    4 +-
 source/smbd/config.mk                 |   14 +-
 source/smbd/process_model.mk          |   13 +-
 source/static_deps.mk                 |    7 +-
 source/torture/config.mk              |   80 ++--
 source/torture/local/config.mk        |   10 +-
 source/torture/smb2/config.mk         |    6 +-
 source/torture/winbind/config.mk      |    6 +-
 source/utils/config.mk                |   16 +-
 source/utils/net/config.mk            |    7 +-
 source/web_server/config.mk           |    5 +-
 source/winbind/config.mk              |   15 +-
 source/wrepl_server/config.mk         |    4 +-
 93 files changed, 1307 insertions(+), 1183 deletions(-)
 create mode 100644 source/build/make/templates.mk
 delete mode 100644 source/scripting/python/smbpython.c


Changeset truncated at 500 lines:

diff --git a/source/Makefile b/source/Makefile
index f2567e6..540bb15 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -25,7 +25,7 @@ $(srcdir)/version.h: $(srcdir)/VERSION
 .DEFAULT_GOAL := all
 
 ifneq ($(automatic_dependencies),yes)
-ALL_PREDEP = proto
+ALL_PREDEP = basics
 .NOTPARALLEL:
 endif
 
@@ -41,7 +41,7 @@ pch:: clean_pch include/includes.h.gch
 .DEFAULT_GOAL := all
 
 ifneq ($(automatic_dependencies),yes)
-ALL_PREDEP = proto
+ALL_PREDEP = basics
 .NOTPARALLEL:
 endif
 
@@ -231,6 +231,7 @@ data.mk: config.status $(MK_FILES)
 
 testcov-html:: 
 
+pidldir := pidl
 include pidl/config.mk
 include selftest/config.mk
 
diff --git a/source/auth/config.mk b/source/auth/config.mk
index b13b8ab..7d31a6a 100644
--- a/source/auth/config.mk
+++ b/source/auth/config.mk
@@ -1,4 +1,5 @@
 # auth server subsystem
+gensecsrcdir := $(authsrcdir)/gensec
 mkinclude gensec/config.mk
 mkinclude kerberos/config.mk
 mkinclude ntlmssp/config.mk
@@ -6,35 +7,38 @@ mkinclude ntlm/config.mk
 mkinclude credentials/config.mk
 
 [SUBSYSTEM::auth_session]
-PRIVATE_PROTO_HEADER = session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 
-PUBLIC_HEADERS += auth/session.h
+PUBLIC_HEADERS += $(authsrcdir)/session.h
 
-auth_session_OBJ_FILES = $(addprefix auth/, session.o)
+auth_session_OBJ_FILES = $(addprefix $(authsrcdir)/, session.o)
+
+$(eval $(call proto_header_template,$(authsrcdir)/session_proto.h,$(auth_session_OBJ_FILES:.o=.c)))
 
 [SUBSYSTEM::auth_system_session]
-PRIVATE_PROTO_HEADER = system_session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 PRIVATE_DEPENDENCIES = auth_session LIBSAMBA-UTIL LIBSECURITY 
 
-auth_system_session_OBJ_FILES = $(addprefix auth/, system_session.o)
+auth_system_session_OBJ_FILES = $(addprefix $(authsrcdir)/, system_session.o)
+$(eval $(call proto_header_template,$(authsrcdir)/system_session_proto.h,$(auth_system_session_OBJ_FILES:.o=.c)))
 
 [SUBSYSTEM::auth_sam]
-PRIVATE_PROTO_HEADER = auth_sam.h
 PUBLIC_DEPENDENCIES = SAMDB UTIL_LDB LIBSECURITY
 PRIVATE_DEPENDENCIES = LDAP_ENCODE
 
-auth_sam_OBJ_FILES = $(addprefix auth/, sam.o)
+auth_sam_OBJ_FILES = $(addprefix $(authsrcdir)/, sam.o)
+
+$(eval $(call proto_header_template,$(authsrcdir)/auth_sam.h,$(auth_sam_OBJ_FILES:.o=.c)))
 
 [SUBSYSTEM::auth_sam_reply]
-PRIVATE_PROTO_HEADER = auth_sam_reply.h
 
-auth_sam_reply_OBJ_FILES = $(addprefix auth/, auth_sam_reply.o)
+auth_sam_reply_OBJ_FILES = $(addprefix $(authsrcdir)/, auth_sam_reply.o)
+
+$(eval $(call proto_header_template,$(authsrcdir)/auth_sam_reply.h,$(auth_sam_reply_OBJ_FILES:.o=.c)))
 
 [PYTHON::swig_auth]
 PUBLIC_DEPENDENCIES = auth_system_session
 PRIVATE_DEPENDENCIES = SAMDB 
 SWIG_FILE = auth.i
 
-swig_auth_OBJ_FILES = auth/auth_wrap.o
+swig_auth_OBJ_FILES = $(authsrcdir)/auth_wrap.o
diff --git a/source/auth/credentials/config.mk b/source/auth/credentials/config.mk
index 6f3ec39..d71a823 100644
--- a/source/auth/credentials/config.mk
+++ b/source/auth/credentials/config.mk
@@ -1,18 +1,20 @@
 #################################
 # Start SUBSYSTEM CREDENTIALS
 [SUBSYSTEM::CREDENTIALS]
-PRIVATE_PROTO_HEADER = credentials_proto.h
 PUBLIC_DEPENDENCIES = \
 		LIBCLI_AUTH SECRETS LIBCRYPTO KERBEROS UTIL_LDB HEIMDAL_GSSAPI 
 PRIVATE_DEPENDENCIES = \
 		SECRETS
 
-CREDENTIALS_OBJ_FILES = $(addprefix auth/credentials/, credentials.o credentials_files.o credentials_ntlm.o credentials_krb5.o ../kerberos/kerberos_util.o)
 
-PUBLIC_HEADERS += auth/credentials/credentials.h
+CREDENTIALS_OBJ_FILES = $(addprefix $(authsrcdir)/credentials/, credentials.o credentials_files.o credentials_ntlm.o credentials_krb5.o ../kerberos/kerberos_util.o)
+
+$(eval $(call proto_header_template,$(authsrcdir)/credentials/credentials_proto.h,$(CREDENTIALS_OBJ_FILES:.o=.c)))
+
+PUBLIC_HEADERS += $(authsrcdir)/credentials/credentials.h
 
 [PYTHON::swig_credentials]
 PUBLIC_DEPENDENCIES = CREDENTIALS LIBCMDLINE_CREDENTIALS
 SWIG_FILE = credentials.i
 
-swig_credentials_OBJ_FILES = auth/credentials/credentials_wrap.o
+swig_credentials_OBJ_FILES = $(authsrcdir)/credentials/credentials_wrap.o
diff --git a/source/auth/gensec/config.mk b/source/auth/gensec/config.mk
index 8b602e7..f08ff26 100644
--- a/source/auth/gensec/config.mk
+++ b/source/auth/gensec/config.mk
@@ -1,19 +1,20 @@
 #################################
 # Start SUBSYSTEM gensec
 [LIBRARY::gensec]
-PRIVATE_PROTO_HEADER = gensec_proto.h
 PUBLIC_DEPENDENCIES = \
 		CREDENTIALS LIBSAMBA-UTIL LIBCRYPTO ASN1_UTIL samba-socket LIBPACKET
 # End SUBSYSTEM gensec
 #################################
 
-PC_FILES += auth/gensec/gensec.pc
+PC_FILES += $(gensecsrcdir)/gensec.pc
 
 gensec_VERSION = 0.0.1
 gensec_SOVERSION = 0
-gensec_OBJ_FILES = $(addprefix auth/gensec/, gensec.o socket.o)
+gensec_OBJ_FILES = $(addprefix $(gensecsrcdir)/, gensec.o socket.o)
 
-PUBLIC_HEADERS += auth/gensec/gensec.h
+PUBLIC_HEADERS += $(gensecsrcdir)/gensec.h
+
+$(eval $(call proto_header_template,$(gensecsrcdir)/gensec_proto.h,$(gensec_OBJ_FILES:.o=.c)))
 
 ################################################
 # Start MODULE gensec_krb5
@@ -24,7 +25,7 @@ PRIVATE_DEPENDENCIES = CREDENTIALS KERBEROS auth_session auth_sam
 # End MODULE gensec_krb5
 ################################################
 
-gensec_krb5_OBJ_FILES = $(addprefix auth/gensec/, gensec_krb5.o)
+gensec_krb5_OBJ_FILES = $(addprefix $(gensecsrcdir)/, gensec_krb5.o)
 
 ################################################
 # Start MODULE gensec_gssapi
@@ -35,7 +36,7 @@ PRIVATE_DEPENDENCIES = HEIMDAL_GSSAPI CREDENTIALS KERBEROS
 # End MODULE gensec_gssapi
 ################################################
 
-gensec_gssapi_OBJ_FILES = $(addprefix auth/gensec/, gensec_gssapi.o)
+gensec_gssapi_OBJ_FILES = $(addprefix $(gensecsrcdir)/, gensec_gssapi.o)
 
 ################################################
 # Start MODULE cyrus_sasl
@@ -46,40 +47,41 @@ PRIVATE_DEPENDENCIES = CREDENTIALS SASL
 # End MODULE cyrus_sasl
 ################################################
 
-cyrus_sasl_OBJ_FILES = $(addprefix auth/gensec/, cyrus_sasl.o)
+cyrus_sasl_OBJ_FILES = $(addprefix $(gensecsrcdir)/, cyrus_sasl.o)
 
 ################################################
 # Start MODULE gensec_spnego
 [MODULE::gensec_spnego]
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_spnego_init
-PRIVATE_PROTO_HEADER = spnego_proto.h
 PRIVATE_DEPENDENCIES = ASN1_UTIL CREDENTIALS
 # End MODULE gensec_spnego
 ################################################
 
-gensec_spnego_OBJ_FILES = $(addprefix auth/gensec/, spnego.o spnego_parse.o)
+gensec_spnego_OBJ_FILES = $(addprefix $(gensecsrcdir)/, spnego.o spnego_parse.o)
+
+$(eval $(call proto_header_template,$(gensecsrcdir)/spnego_proto.h,$(gensec_spnego_OBJ_FILES:.o=.c)))
 
 ################################################
 # Start MODULE gensec_schannel
 [MODULE::gensec_schannel]
 SUBSYSTEM = gensec
-PRIVATE_PROTO_HEADER = schannel_proto.h
 INIT_FUNCTION = gensec_schannel_init
 PRIVATE_DEPENDENCIES = SCHANNELDB NDR_SCHANNEL CREDENTIALS LIBNDR
 OUTPUT_TYPE = MERGED_OBJ
 # End MODULE gensec_schannel
 ################################################
 
-gensec_schannel_OBJ_FILES = $(addprefix auth/gensec/, schannel.o schannel_sign.o)
+gensec_schannel_OBJ_FILES = $(addprefix $(gensecsrcdir)/, schannel.o schannel_sign.o)
+$(eval $(call proto_header_template,$(gensecsrcdir)/schannel_proto.h,$(gensec_schannel_OBJ_FILES:.o=.c)))
 
 ################################################
 # Start SUBSYSTEM SCHANNELDB
 [SUBSYSTEM::SCHANNELDB]
-PRIVATE_PROTO_HEADER = schannel_state.h
 PRIVATE_DEPENDENCIES = LDB_WRAP SAMDB
 # End SUBSYSTEM SCHANNELDB
 ################################################
 
-SCHANNELDB_OBJ_FILES = $(addprefix auth/gensec/, schannel_state.o)
+SCHANNELDB_OBJ_FILES = $(addprefix $(gensecsrcdir)/, schannel_state.o)
+$(eval $(call proto_header_template,$(gensecsrcdir)/schannel_state.h,$(SCHANNELDB_OBJ_FILES:.o=.c)))
 
diff --git a/source/auth/kerberos/config.mk b/source/auth/kerberos/config.mk
index 762d6f8..951e247 100644
--- a/source/auth/kerberos/config.mk
+++ b/source/auth/kerberos/config.mk
@@ -1,13 +1,12 @@
 #################################
 # Start SUBSYSTEM KERBEROS
 [SUBSYSTEM::KERBEROS]
-PRIVATE_PROTO_HEADER = proto.h
 PUBLIC_DEPENDENCIES = HEIMDAL_KRB5 NDR_KRB5PAC samba-socket LIBCLI_RESOLVE
 PRIVATE_DEPENDENCIES = ASN1_UTIL auth_sam_reply LIBPACKET LIBNDR
 # End SUBSYSTEM KERBEROS
 #################################
 
-KERBEROS_OBJ_FILES = $(addprefix auth/kerberos/, \
+KERBEROS_OBJ_FILES = $(addprefix $(authsrcdir)/kerberos/, \
 	kerberos.o \
 	clikrb5.o \
 	kerberos_heimdal.o \
@@ -15,3 +14,5 @@ KERBEROS_OBJ_FILES = $(addprefix auth/kerberos/, \
 	gssapi_parse.o \
 	krb5_init_context.o)
 
+$(eval $(call proto_header_template,$(authsrcdir)/kerberos/proto.h,$(KERBEROS_OBJ_FILES:.o=.c)))
+
diff --git a/source/auth/ntlm/config.mk b/source/auth/ntlm/config.mk
index 319aca7..d812816 100644
--- a/source/auth/ntlm/config.mk
+++ b/source/auth/ntlm/config.mk
@@ -3,7 +3,7 @@
 [SUBSYSTEM::ntlm_check]
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
 
-ntlm_check_OBJ_FILES = $(addprefix auth/ntlm/, ntlm_check.o)
+ntlm_check_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, ntlm_check.o)
 
 #######################
 # Start MODULE auth_sam
@@ -16,7 +16,7 @@ PRIVATE_DEPENDENCIES = \
 # End MODULE auth_sam
 #######################
 
-auth_sam_module_OBJ_FILES = $(addprefix auth/ntlm/, auth_sam.o)
+auth_sam_module_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_sam.o)
 
 #######################
 # Start MODULE auth_anonymous
@@ -26,7 +26,7 @@ SUBSYSTEM = auth
 # End MODULE auth_anonymous
 #######################
 
-auth_anonymous_OBJ_FILES = $(addprefix auth/ntlm/, auth_anonymous.o)
+auth_anonymous_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_anonymous.o)
 
 #######################
 # Start MODULE auth_anonymous
@@ -38,7 +38,7 @@ OUTPUT_TYPE = SHARED_LIBRARY
 # End MODULE auth_server
 #######################
 
-auth_server_OBJ_FILES = $(addprefix auth/ntlm/, auth_server.o)
+auth_server_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_server.o)
 
 #######################
 # Start MODULE auth_winbind
@@ -49,7 +49,7 @@ PRIVATE_DEPENDENCIES = NDR_WINBIND MESSAGING LIBWINBIND-CLIENT
 # End MODULE auth_winbind
 #######################
 
-auth_winbind_OBJ_FILES = $(addprefix auth/ntlm/, auth_winbind.o)
+auth_winbind_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_winbind.o)
 
 #######################
 # Start MODULE auth_developer
@@ -59,29 +59,30 @@ SUBSYSTEM = auth
 # End MODULE auth_developer
 #######################
 
-auth_developer_OBJ_FILES = $(addprefix auth/ntlm/, auth_developer.o)
+auth_developer_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_developer.o)
 
 [MODULE::auth_unix]
 INIT_FUNCTION = auth_unix_init
 SUBSYSTEM = auth
 PRIVATE_DEPENDENCIES = CRYPT PAM PAM_ERRORS NSS_WRAPPER
 
-auth_unix_OBJ_FILES = $(addprefix auth/ntlm/, auth_unix.o)
+auth_unix_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_unix.o)
 
 [SUBSYSTEM::PAM_ERRORS]
-PRIVATE_PROTO_HEADER = pam_errors.h
+
+$(eval $(call proto_header_template,$(authsrcdir)/ntlm/pam_errors.h,$(auth_unix_OBJ_FILES:.o=.c)))
 
 #VERSION = 0.0.1
 #SO_VERSION = 0
-PAM_ERRORS_OBJ_FILES = $(addprefix auth/ntlm/, pam_errors.o)
+PAM_ERRORS_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, pam_errors.o)
 
 [MODULE::auth]
 INIT_FUNCTION = server_service_auth_init
 SUBSYSTEM = service
-PRIVATE_PROTO_HEADER = auth_proto.h
 PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBSECURITY SAMDB CREDENTIALS 
 
-auth_OBJ_FILES = $(addprefix auth/ntlm/, auth.o auth_util.o auth_simple.o)
+auth_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth.o auth_util.o auth_simple.o)
+$(eval $(call proto_header_template,$(authsrcdir)/auth_proto.h,$(auth_OBJ_FILES:.o=.c)))
 
 # PUBLIC_HEADERS += auth/auth.h
 
diff --git a/source/auth/ntlmssp/config.mk b/source/auth/ntlmssp/config.mk
index 849448f..ca58e28 100644
--- a/source/auth/ntlmssp/config.mk
+++ b/source/auth/ntlmssp/config.mk
@@ -1,17 +1,19 @@
 [SUBSYSTEM::MSRPC_PARSE]
-PRIVATE_PROTO_HEADER = msrpc_parse.h
 
-MSRPC_PARSE_OBJ_FILES = $(addprefix auth/ntlmssp/, ntlmssp_parse.o)
+MSRPC_PARSE_OBJ_FILES = $(addprefix $(authsrcdir)/ntlmssp/, ntlmssp_parse.o)
+
+$(eval $(call proto_header_template,$(authsrcdir)/ntlmssp/msrpc_parse.h,$(MSRPC_PARSE_OBJ_FILES)))
 
 ################################################
 # Start MODULE gensec_ntlmssp
 [MODULE::gensec_ntlmssp]
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_ntlmssp_init
-PRIVATE_PROTO_HEADER = proto.h
 PRIVATE_DEPENDENCIES = MSRPC_PARSE CREDENTIALS auth
 OUTPUT_TYPE = MERGED_OBJ
 # End MODULE gensec_ntlmssp
 ################################################
 
-gensec_ntlmssp_OBJ_FILES = $(addprefix auth/ntlmssp/, ntlmssp.o ntlmssp_sign.o ntlmssp_client.o ntlmssp_server.o) 
+gensec_ntlmssp_OBJ_FILES = $(addprefix $(authsrcdir)/ntlmssp/, ntlmssp.o ntlmssp_sign.o ntlmssp_client.o ntlmssp_server.o) 
+
+$(eval $(call proto_header_template,$(authsrcdir)/ntlmssp/proto.h,$(gensec_ntlmssp_OBJ_FILES:.o=.c)))
diff --git a/source/build/m4/public.m4 b/source/build/m4/public.m4
index ba8251e..d932f09 100644
--- a/source/build/m4/public.m4
+++ b/source/build/m4/public.m4
@@ -12,6 +12,10 @@ dnl SMB_ENABLE(name,default_build)
 dnl
 dnl SMB_INCLUDE_MK(file)
 dnl
+dnl SMB_WRITE_MAKEVARS(file)
+dnl
+dnl SMB_WRITE_PERLVARS(file)
+dnl
 dnl #######################################################
 dnl ### And now the implementation			###
 dnl #######################################################
@@ -150,3 +154,70 @@ $1_ENABLE = $2
 SMB_INFO_ENABLES="$SMB_INFO_ENABLES
 \$enabled{$1} = \"$2\";"
 ])
+
+dnl SMB_WRITE_MAKEVARS(path)
+AC_DEFUN([SMB_WRITE_MAKEVARS],
+[
+echo "configure: creating $1"
+cat >$1<<CEOF
+# $1 - Autogenerated by configure, DO NOT EDIT!
+AC_FOREACH([AC_Var], m4_defn([_AC_SUBST_VARS]), [
+AC_Var = $AC_Var])
+$MAKE_SETTINGS
+CEOF
+])
+
+dnl SMB_WRITE_PERLVARS(path)
+AC_DEFUN([SMB_WRITE_PERLVARS],
+[
+echo "configure: creating $1"
+cat >$1<<CEOF
+# config.pm - Autogenerate by configure. DO NOT EDIT!
+
+package config;
+require Exporter;
+ at ISA = qw(Exporter);
+ at EXPORT_OK = qw(%enabled %config);
+use strict;
+
+use vars qw(%enabled %config);
+
+%config = (AC_FOREACH([AC_Var], m4_defn([_AC_SUBST_VARS]), [
+	AC_Var => '$AC_Var',])
+);
+
+$SMB_INFO_ENABLES
+1;
+CEOF
+])
+
+dnl SMB_BUILD_RUN(OUTPUT_FILE)
+AC_DEFUN([SMB_BUILD_RUN],
+[
+AC_OUTPUT_COMMANDS(
+[
+test "x$ac_abs_srcdir" != "x$ac_abs_builddir" && (
+	cd $builddir;
+	# NOTE: We *must* use -R so we don't follow symlinks (at least on BSD
+	# systems).
+	test -d heimdal || cp -R $srcdir/heimdal $builddir/
+	test -d heimdal_build || cp -R $srcdir/heimdal_build $builddir/
+	test -d build || builddir="$builddir" \
+			srcdir="$srcdir" \
+			$PERL ${srcdir}/script/buildtree.pl
+ )
+
+$PERL -I${builddir} -I${builddir}/build \
+    -I${srcdir} -I${srcdir}/build \
+    ${srcdir}/build/smb_build/main.pl --output=$1 main.mk || exit $?
+],
+[
+srcdir="$srcdir"
+builddir="$builddir"
+PERL="$PERL"
+
+export PERL
+export srcdir
+export builddir
+])
+])
diff --git a/source/build/make/rules.mk b/source/build/make/rules.mk
index c0359a8..176e67a 100644
--- a/source/build/make/rules.mk
+++ b/source/build/make/rules.mk
@@ -56,8 +56,6 @@ clean:: clean_pch
 	@echo Removing generated files
 	@-rm -f bin/*_init_module.c
 	@-rm -rf librpc/gen_* 
-	@echo Removing proto headers
-	@-rm -f $(PROTO_HEADERS)
 
 distclean:: clean
 	-rm -f include/config.h include/config_tmp.h include/build.h
@@ -88,102 +86,7 @@ unused_macros:
 	@mkdir -p $(@D)
 	@$(STLD) $(STLD_FLAGS) $@ $^
 
-###############################################################################
-# Templates
-###############################################################################
-
-# Partially link
-# Arguments: target object file, source object files
-define partial_link_template 
-$(1): $(2) ;
-	@echo Partially linking $$@
-	@mkdir -p $$(@D)
-	$$(PARTLINK) -o $$@ $$^
-endef
-
-# Link a binary
-# Arguments: target file, depends, flags
-define binary_link_template
-$(1): $(2) ;
-	@echo Linking $$@
-	@$$(BNLD) $$(BNLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
-endef
-
-# Link a host-machine binary
-# Arguments: target file, depends, flags
-define host_binary_link_template
-$(1): $(2) ;
-	@echo Linking $$@
-	@$$(HOSTLD) $$(HOSTLD_FLAGS) -L$${builddir}/bin/static -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
-endef
-
-# Create a prototype header
-# Arguments: header file, c files
-define proto_header_template
-$(1): $(2) ;
-	@echo "Creating $$@"
-	@$$(PERL) $$(srcdir)/script/mkproto.pl --srcdir=$$(srcdir) --builddir=$$(builddir) --public=/dev/null --private=$$@ $$^
-endef
-
-# Shared module
-# Arguments: Target, dependencies, objects
-define shared_module_template
-
-$(1): $(2) ;
-	@echo Linking $$@
-	@mkdir -p $$(@D)


-- 
Samba Shared Repository


More information about the samba-cvs mailing list