[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha3-151-gfac3463

Jelmer Vernooij jelmer at samba.org
Mon Apr 14 23:53:55 GMT 2008


The branch, v4-0-test has been updated
       via  fac3463dd505404998b6b00526f1dad6ae47ba84 (commit)
       via  ecaa5bb83b5cf319718d15aff96152d70fa19f7f (commit)
       via  0239011ced6c864f85b47a342438228a8f6940ee (commit)
       via  7fd98e492e2bf71d111ea8fa3ca9108506f60264 (commit)
       via  1ef3830bb0d6e91e3b00e880784ca0741d9b4d49 (commit)
       via  8573e828d1b68c47b3c1754e9be230b2e78d9d52 (commit)
       via  1695e0e1ab3f2151490232462b0e3650eba96237 (commit)
       via  f64c1d53ba50bb50d32f819adf8727513468ccd7 (commit)
       via  92856d5054106894b65cd1a1b5119c0facfc4cff (commit)
       via  5628d58990144463fd87f8c847c9384ac2193681 (commit)
      from  799095b4e567f4495adf7d1d7bcb81dda6782959 (commit)

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


- Log -----------------------------------------------------------------
commit fac3463dd505404998b6b00526f1dad6ae47ba84
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Apr 15 01:52:55 2008 +0200

    Make sure init function sentinels are set for modules.

commit ecaa5bb83b5cf319718d15aff96152d70fa19f7f
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Apr 15 01:40:32 2008 +0200

    Fix the build.

commit 0239011ced6c864f85b47a342438228a8f6940ee
Merge: 7fd98e492e2bf71d111ea8fa3ca9108506f60264 799095b4e567f4495adf7d1d7bcb81dda6782959
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Apr 14 23:30:17 2008 +0200

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

commit 7fd98e492e2bf71d111ea8fa3ca9108506f60264
Merge: 1ef3830bb0d6e91e3b00e880784ca0741d9b4d49 5e988a34ded288660c6e543e59b566ec12d2fba7
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Apr 14 22:57:07 2008 +0200

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

commit 1ef3830bb0d6e91e3b00e880784ca0741d9b4d49
Merge: 8573e828d1b68c47b3c1754e9be230b2e78d9d52 0f0c8519b87481e3473a469cefd51c76b4a7632e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Apr 14 20:00:32 2008 +0200

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

commit 8573e828d1b68c47b3c1754e9be230b2e78d9d52
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Apr 14 20:00:04 2008 +0200

    Fix unresolved symbols.

commit 1695e0e1ab3f2151490232462b0e3650eba96237
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Apr 14 19:41:13 2008 +0200

    Explicitly specify the paths when installing pidl.

commit f64c1d53ba50bb50d32f819adf8727513468ccd7
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Apr 14 17:54:19 2008 +0200

    Fix order of variables in the makefile.

commit 92856d5054106894b65cd1a1b5119c0facfc4cff
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Apr 14 17:22:58 2008 +0200

    Use _OBJ_FILES variables in a couple more places.

commit 5628d58990144463fd87f8c847c9384ac2193681
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Apr 14 16:53:00 2008 +0200

    Move object files lists to makefile rather than smb_build.

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

Summary of changes:
 source/Makefile                         |    2 +
 source/auth/config.mk                   |   49 ++-
 source/auth/credentials/config.mk       |    9 +-
 source/auth/gensec/config.mk            |   24 +-
 source/auth/kerberos/config.mk          |   15 +-
 source/auth/ntlmssp/config.mk           |    9 +-
 source/build/m4/public.m4               |    8 +-
 source/build/make/python.mk             |    4 +
 source/build/smb_build/config_mk.pm     |   12 +-
 source/build/smb_build/header.pm        |    1 +
 source/build/smb_build/input.pm         |   12 +-
 source/build/smb_build/main.pl          |   11 +-
 source/build/smb_build/makefile.pm      |   41 +-
 source/build/smb_build/output.pm        |   61 +--
 source/cldap_server/config.mk           |   10 +-
 source/client/config.mk                 |    8 +-
 source/cluster/config.mk                |    5 +-
 source/cluster/ctdb/config.mk           |   14 +-
 source/dsdb/config.mk                   |   38 +-
 source/dsdb/samdb/ldb_modules/config.mk |  120 +++---
 source/dynconfig.mk                     |    3 +-
 source/heimdal_build/asn1_deps.pl       |    7 +-
 source/heimdal_build/config.mk          |  794 ++++++++++++++++---------------
 source/kdc/config.mk                    |   13 +-
 source/ldap_server/config.mk            |   12 +-
 source/lib/appweb/config.mk             |   16 +-
 source/lib/basic.mk                     |   13 +-
 source/lib/charset/config.mk            |    5 +-
 source/lib/cmdline/config.mk            |    9 +-
 source/lib/crypto/config.mk             |   21 +-
 source/lib/dbwrap/config.mk             |    6 +-
 source/lib/events/config.mk             |   16 +-
 source/lib/ldb-samba/config.mk          |    3 +-
 source/lib/ldb/config.mk                |   78 ++--
 source/lib/ldb/ldb_ildap/config.mk      |    3 +-
 source/lib/ldb/python.mk                |    2 +
 source/lib/ldb/tools/config.mk          |   28 +-
 source/lib/messaging/config.mk          |    5 +-
 source/lib/nss_wrapper/config.mk        |    3 +-
 source/lib/policy/config.mk             |    6 +-
 source/lib/popt/config.mk               |    8 +-
 source/lib/registry/config.mk           |   43 +-
 source/lib/samba3/config.mk             |    3 +-
 source/lib/socket/config.mk             |   21 +-
 source/lib/socket_wrapper/config.mk     |    3 +-
 source/lib/stream/config.mk             |    8 +-
 source/lib/talloc/config.mk             |    5 +-
 source/lib/tdb/config.mk                |   25 +-
 source/lib/tdb/python.mk                |    2 +
 source/lib/tdr/config.mk                |    3 +-
 source/lib/tls/config.mk                |   10 +-
 source/lib/util/config.mk               |   32 +-
 source/libcli/auth/config.mk            |    9 +-
 source/libcli/config.mk                 |  128 +++---
 source/libcli/ldap/config.mk            |   14 +-
 source/libcli/security/config.mk        |   13 +-
 source/libcli/smb2/config.mk            |   29 +-
 source/libcli/wbclient/config.mk        |    3 +-
 source/libnet/config.mk                 |   44 +--
 source/librpc/config.mk                 |  439 +++++++++++------
 source/nbt_server/config.mk             |   45 +-
 source/nsswitch/config.m4               |    3 +-
 source/nsswitch/config.mk               |   12 +-
 source/ntptr/config.mk                  |   11 +-
 source/ntvfs/common/config.mk           |   15 +-
 source/ntvfs/config.mk                  |   34 +-
 source/ntvfs/posix/config.mk            |   26 +-
 source/ntvfs/sysdep/config.mk           |   26 +-
 source/ntvfs/unixuid/config.mk          |    4 +-
 source/param/config.mk                  |   27 +-
 source/rpc_server/config.mk             |   76 ++--
 source/scripting/ejs/config.mk          |   57 ++-
 source/scripting/ejs/ejsnet/config.mk   |   14 +-
 source/scripting/python/config.mk       |   21 +-
 source/smb_server/config.mk             |   16 +-
 source/smb_server/smb/config.mk         |   14 +-
 source/smb_server/smb2/config.mk        |   14 +-
 source/smbd/config.mk                   |   26 +-
 source/smbd/process_model.mk            |   20 +-
 source/static_deps.mk                   |    1 -
 source/torture/config.mk                |  259 ++++------
 source/torture/local/config.mk          |   60 ++--
 source/torture/smb2/config.mk           |   14 +-
 source/torture/winbind/config.mk        |    6 +-
 source/utils/config.mk                  |   24 +-
 source/utils/net/config.mk              |   16 +-
 source/web_server/config.mk             |    5 +-
 source/winbind/config.mk                |   36 +-
 source/wrepl_server/config.mk           |   16 +-
 89 files changed, 1617 insertions(+), 1619 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/Makefile b/source/Makefile
index 98c45a3..f2567e6 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -51,6 +51,8 @@ include data.mk
 
 BINARIES += $(BIN_PROGS) $(SBIN_PROGS)
 
+pythonmods:: $(PYTHON_PYS) $(PYTHON_SO)
+
 DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \
 		   include/includes.d
 
diff --git a/source/auth/config.mk b/source/auth/config.mk
index 63aec09..7d4678b 100644
--- a/source/auth/config.mk
+++ b/source/auth/config.mk
@@ -5,27 +5,31 @@ mkinclude ntlmssp/config.mk
 mkinclude credentials/config.mk
 
 [SUBSYSTEM::auth_session]
-OBJ_FILES = session.o
 PRIVATE_PROTO_HEADER = session_proto.h
 PUBLIC_DEPENDENCIES = CREDENTIALS
 
 # PUBLIC_HEADERS += auth/session.h
 
+auth_session_OBJ_FILES = $(addprefix auth/, session.o)
+
 [SUBSYSTEM::auth_system_session]
-OBJ_FILES = system_session.o
 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)
+
 [SUBSYSTEM::auth_sam]
 PRIVATE_PROTO_HEADER = auth_sam.h
-OBJ_FILES = sam.o ntlm_check.o 
 PUBLIC_DEPENDENCIES = SAMDB UTIL_LDB LIBSECURITY
 PRIVATE_DEPENDENCIES = LDAP_ENCODE
 
+auth_sam_OBJ_FILES = $(addprefix auth/, sam.o ntlm_check.o)
+
 [SUBSYSTEM::auth_sam_reply]
 PRIVATE_PROTO_HEADER = auth_sam_reply.h
-OBJ_FILES = auth_sam_reply.o
+
+auth_sam_reply_OBJ_FILES = $(addprefix auth/, auth_sam_reply.o)
 
 #######################
 # Start MODULE auth_sam
@@ -33,64 +37,65 @@ OBJ_FILES = auth_sam_reply.o
 # gensec_krb5 and gensec_gssapi depend on it
 INIT_FUNCTION = auth_sam_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_sam.o
 PRIVATE_DEPENDENCIES = \
 		SAMDB auth_sam
 # End MODULE auth_sam
 #######################
 
+auth_sam_module_OBJ_FILES = $(addprefix auth/, auth_sam.o)
+
 #######################
 # Start MODULE auth_anonymous
 [MODULE::auth_anonymous]
 INIT_FUNCTION = auth_anonymous_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_anonymous.o
 # End MODULE auth_anonymous
 #######################
 
+auth_anonymous_OBJ_FILES = $(addprefix auth/, auth_anonymous.o)
+
 #######################
 # Start MODULE auth_winbind
 [MODULE::auth_winbind]
 INIT_FUNCTION = auth_winbind_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_winbind.o
 PRIVATE_DEPENDENCIES = NDR_WINBIND MESSAGING LIBWINBIND-CLIENT
 # End MODULE auth_winbind
 #######################
 
+auth_winbind_OBJ_FILES = $(addprefix auth/, auth_winbind.o)
+
 #######################
 # Start MODULE auth_developer
 [MODULE::auth_developer]
 INIT_FUNCTION = auth_developer_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_developer.o
 # End MODULE auth_developer
 #######################
 
+auth_developer_OBJ_FILES = $(addprefix auth/, auth_developer.o)
+
 [MODULE::auth_unix]
 INIT_FUNCTION = auth_unix_init
 SUBSYSTEM = auth
-OBJ_FILES = auth_unix.o
 PRIVATE_DEPENDENCIES = CRYPT PAM PAM_ERRORS NSS_WRAPPER
 
+auth_unix_OBJ_FILES = $(addprefix auth/, auth_unix.o)
+
 [SUBSYSTEM::PAM_ERRORS]
 PRIVATE_PROTO_HEADER = pam_errors.h
-OBJ_FILES = pam_errors.o
 
-#######################
-# Start SUBSYSTEM auth
-[SUBSYSTEM::auth]
 #VERSION = 0.0.1
 #SO_VERSION = 0
+PAM_ERRORS_OBJ_FILES = $(addprefix auth/, pam_errors.o)
+
+[MODULE::auth]
+INIT_FUNCTION = server_service_auth_init
+SUBSYSTEM = service
 PRIVATE_PROTO_HEADER = auth_proto.h
-OBJ_FILES = \
-		auth.o \
-		auth_util.o \
-		auth_simple.o
-PUBLIC_DEPENDENCIES = LIBSECURITY SAMDB CREDENTIALS
-PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
-# End SUBSYSTEM auth
-#######################
+PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBSECURITY SAMDB CREDENTIALS 
+
+auth_OBJ_FILES = $(addprefix auth/, auth.o auth_util.o auth_simple.o)
 
 # PUBLIC_HEADERS += auth/auth.h
 
@@ -98,3 +103,5 @@ PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
 PUBLIC_DEPENDENCIES = auth_system_session
 PRIVATE_DEPENDENCIES = SAMDB 
 SWIG_FILE = auth.i
+
+swig_auth_OBJ_FILES = auth/auth_wrap.o
diff --git a/source/auth/credentials/config.mk b/source/auth/credentials/config.mk
index 83f2f0d..6f3ec39 100644
--- a/source/auth/credentials/config.mk
+++ b/source/auth/credentials/config.mk
@@ -2,18 +2,17 @@
 # Start SUBSYSTEM CREDENTIALS
 [SUBSYSTEM::CREDENTIALS]
 PRIVATE_PROTO_HEADER = credentials_proto.h
-OBJ_FILES = credentials.o \
-		credentials_files.o \
-		credentials_ntlm.o \
-		credentials_krb5.o \
-		../kerberos/kerberos_util.o
 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
 
 [PYTHON::swig_credentials]
 PUBLIC_DEPENDENCIES = CREDENTIALS LIBCMDLINE_CREDENTIALS
 SWIG_FILE = credentials.i
+
+swig_credentials_OBJ_FILES = auth/credentials/credentials_wrap.o
diff --git a/source/auth/gensec/config.mk b/source/auth/gensec/config.mk
index 14864f7..7cb673c 100644
--- a/source/auth/gensec/config.mk
+++ b/source/auth/gensec/config.mk
@@ -5,12 +5,13 @@ PC_FILE = gensec.pc
 VERSION = 0.0.1
 SO_VERSION = 0
 PRIVATE_PROTO_HEADER = gensec_proto.h
-OBJ_FILES = gensec.o socket.o
 PUBLIC_DEPENDENCIES = \
 		CREDENTIALS LIBSAMBA-UTIL LIBCRYPTO ASN1_UTIL samba-socket LIBPACKET
 # End SUBSYSTEM gensec
 #################################
 
+gensec_OBJ_FILES = $(addprefix auth/gensec/, gensec.o socket.o)
+
 PUBLIC_HEADERS += auth/gensec/gensec.h
 
 ################################################
@@ -18,31 +19,34 @@ PUBLIC_HEADERS += auth/gensec/gensec.h
 [MODULE::gensec_krb5]
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_krb5_init
-OBJ_FILES = gensec_krb5.o 
 PRIVATE_DEPENDENCIES = CREDENTIALS KERBEROS auth auth_sam
 # End MODULE gensec_krb5
 ################################################
 
+gensec_krb5_OBJ_FILES = $(addprefix auth/gensec/, gensec_krb5.o)
+
 ################################################
 # Start MODULE gensec_gssapi
 [MODULE::gensec_gssapi]
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_gssapi_init
-OBJ_FILES = gensec_gssapi.o 
 PRIVATE_DEPENDENCIES = HEIMDAL_GSSAPI CREDENTIALS KERBEROS 
 # End MODULE gensec_gssapi
 ################################################
 
+gensec_gssapi_OBJ_FILES = $(addprefix auth/gensec/, gensec_gssapi.o)
+
 ################################################
 # Start MODULE cyrus_sasl
 [MODULE::cyrus_sasl]
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_sasl_init
-OBJ_FILES = cyrus_sasl.o 
 PRIVATE_DEPENDENCIES = CREDENTIALS SASL 
 # End MODULE cyrus_sasl
 ################################################
 
+cyrus_sasl_OBJ_FILES = $(addprefix auth/gensec/, cyrus_sasl.o)
+
 ################################################
 # Start MODULE gensec_spnego
 [MODULE::gensec_spnego]
@@ -50,31 +54,31 @@ SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_spnego_init
 PRIVATE_PROTO_HEADER = spnego_proto.h
 PRIVATE_DEPENDENCIES = ASN1_UTIL CREDENTIALS
-OBJ_FILES = spnego.o spnego_parse.o
 # End MODULE gensec_spnego
 ################################################
 
+gensec_spnego_OBJ_FILES = $(addprefix auth/gensec/, spnego.o spnego_parse.o)
+
 ################################################
 # Start MODULE gensec_schannel
 [MODULE::gensec_schannel]
 SUBSYSTEM = gensec
 PRIVATE_PROTO_HEADER = schannel_proto.h
 INIT_FUNCTION = gensec_schannel_init
-OBJ_FILES = schannel.o \
-			schannel_sign.o
 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)
+
 ################################################
 # Start SUBSYSTEM SCHANNELDB
 [SUBSYSTEM::SCHANNELDB]
 PRIVATE_PROTO_HEADER = schannel_state.h
-OBJ_FILES = \
-		schannel_state.o
 PRIVATE_DEPENDENCIES = LDB_WRAP SAMDB
-#
 # End SUBSYSTEM SCHANNELDB
 ################################################
 
+SCHANNELDB_OBJ_FILES = $(addprefix auth/gensec/, schannel_state.o)
+
diff --git a/source/auth/kerberos/config.mk b/source/auth/kerberos/config.mk
index 7493a6d..762d6f8 100644
--- a/source/auth/kerberos/config.mk
+++ b/source/auth/kerberos/config.mk
@@ -2,13 +2,16 @@
 # Start SUBSYSTEM KERBEROS
 [SUBSYSTEM::KERBEROS]
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = kerberos.o \
-			clikrb5.o \
-			kerberos_heimdal.o \
-			kerberos_pac.o \
-			gssapi_parse.o \
-			krb5_init_context.o
 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.o \
+	clikrb5.o \
+	kerberos_heimdal.o \
+	kerberos_pac.o \
+	gssapi_parse.o \
+	krb5_init_context.o)
+
diff --git a/source/auth/ntlmssp/config.mk b/source/auth/ntlmssp/config.mk
index 9033384..f8e711f 100644
--- a/source/auth/ntlmssp/config.mk
+++ b/source/auth/ntlmssp/config.mk
@@ -1,6 +1,7 @@
 [SUBSYSTEM::MSRPC_PARSE]
 PRIVATE_PROTO_HEADER = msrpc_parse.h
-OBJ_FILES = ntlmssp_parse.o
+
+MSRPC_PARSE_OBJ_FILES = $(addprefix auth/ntlmssp/, ntlmssp_parse.o)
 
 ################################################
 # Start MODULE gensec_ntlmssp
@@ -8,11 +9,9 @@ OBJ_FILES = ntlmssp_parse.o
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_ntlmssp_init
 PRIVATE_PROTO_HEADER = proto.h
-OBJ_FILES = ntlmssp.o \
-		ntlmssp_sign.o \
-		ntlmssp_client.o \
-		ntlmssp_server.o
 PRIVATE_DEPENDENCIES = MSRPC_PARSE CREDENTIALS
 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) 
diff --git a/source/build/m4/public.m4 b/source/build/m4/public.m4
index eb67344..01bf565 100644
--- a/source/build/m4/public.m4
+++ b/source/build/m4/public.m4
@@ -4,8 +4,6 @@ dnl Copyright (C) 2004 Stefan Metzmacher
 dnl Copyright (C) 2004-2005 Jelmer Vernooij
 dnl Published under the GPL
 dnl
-dnl SMB_SUBSYSTEM(name,obj_files,required_subsystems)
-dnl
 dnl SMB_EXT_LIB_FROM_PKGCONFIG(name,pkg-config name,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
 dnl
 dnl SMB_EXT_LIB(name,libs,cflags,cppflags,ldflags)
@@ -22,16 +20,15 @@ dnl SMB_SUBSYSTEM(name,obj_files,required_subsystems,cflags)
 AC_DEFUN([SMB_SUBSYSTEM],
 [
 MAKE_SETTINGS="$MAKE_SETTINGS
-$1_OBJ_FILES = $2
 $1_CFLAGS = $4
 $1_ENABLE = YES
+$1_OBJ_FILES = $2
 "
 
 SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS
 ###################################
 # Start Subsystem $1
 @<:@SUBSYSTEM::$1@:>@
-OBJ_FILES = \$($1_OBJ_FILES)
 PRIVATE_DEPENDENCIES = $3
 CFLAGS = \$($1_CFLAGS)
 ENABLE = YES
@@ -44,17 +41,16 @@ dnl SMB_LIBRARY(name,obj_files,required_subsystems,version,so_version,cflags,ldf
 AC_DEFUN([SMB_LIBRARY],
 [
 MAKE_SETTINGS="$MAKE_SETTINGS
-$1_OBJ_FILES = $2
 $1_CFLAGS = $6
 $1_LDFLAGS = $7
 $1_ENABLE = YES
+$1_OBJ_FILES = $2
 "
 
 SMB_INFO_LIBRARIES="$SMB_INFO_LIBRARIES
 ###################################
 # Start Library $1
 @<:@LIBRARY::$1@:>@
-OBJ_FILES = \$($1_OBJ_FILES)
 PRIVATE_DEPENDENCIES = $3
 VERSION = $4
 SO_VERSION = $5 
diff --git a/source/build/make/python.mk b/source/build/make/python.mk
index 57bf016..6c17982 100644
--- a/source/build/make/python.mk
+++ b/source/build/make/python.mk
@@ -56,3 +56,7 @@ clean::
 
 pydoctor:: pythonmods
 	LD_LIBRARY_PATH=bin/shared PYTHONPATH=$(pythonbuilddir) pydoctor --project-name=Samba --project-url=http://www.samba.org --make-html --docformat=restructuredtext --add-package $(pythonbuilddir)/samba
+
+bin/python/%.py: 
+	mkdir -p $(@D)
+	cp $< $@
diff --git a/source/build/smb_build/config_mk.pm b/source/build/smb_build/config_mk.pm
index d8ec646..de786dd 100644
--- a/source/build/smb_build/config_mk.pm
+++ b/source/build/smb_build/config_mk.pm
@@ -23,14 +23,11 @@ my $section_types = {
 		SWIG_FILE => "string",
 		"PRIVATE_DEPENDENCIES"	=> "list",
 		"PUBLIC_DEPENDENCIES"	=> "list",
-		"OBJ_FILES" => "list",
 		"ENABLE"		=> "bool",
 		"LDFLAGS"		=> "list",
 		"CFLAGS"		=> "list",
 	},
 	"SUBSYSTEM" => {
-		"OBJ_FILES"		=> "list",
-
 		"PRIVATE_DEPENDENCIES"	=> "list",
 		"PUBLIC_DEPENDENCIES"	=> "list",
 
@@ -47,7 +44,6 @@ my $section_types = {
 		"SUBSYSTEM"		=> "string",
 
 		"INIT_FUNCTION"		=> "string",
-		"OBJ_FILES"		=> "list",
 
 		"PRIVATE_DEPENDENCIES"	=> "list",
 
@@ -62,7 +58,6 @@ my $section_types = {
 		"CFLAGS"		=> "list"
 		},
 	"BINARY" => {
-		"OBJ_FILES"		=> "list",
 
 		"PRIVATE_DEPENDENCIES"	=> "list",
 
@@ -88,8 +83,6 @@ my $section_types = {
 		"INIT_FUNCTION_SENTINEL" => "string",
 		"OUTPUT_TYPE"		=> "list",
 
-		"OBJ_FILES"		=> "list",
-
 		"PRIVATE_DEPENDENCIES"	=> "list",
 		"PUBLIC_DEPENDENCIES"	=> "list",
 
@@ -223,6 +216,9 @@ sub run_config_mk($$$$)
 		{
 			$section = $1;
 			$infragment = 0;
+
+			$result->{$section}{EXISTS}{KEY} = "EXISTS";
+			$result->{$section}{EXISTS}{VAL} = 1;
 			next;
 		}
 
@@ -233,6 +229,7 @@ sub run_config_mk($$$$)
 			$subdir =~ s/^\.$//g;
 			$subdir =~ s/^\.\///g;
 			$subdir .= "/" if ($subdir ne "");
+			$makefile .= "basedir := $subdir\n";
 			$makefile .= run_config_mk($input, $srcdir, $builddir, $subdir.$subfile);
 			next;
 		}
@@ -280,6 +277,7 @@ sub run_config_mk($$$$)
 		$input->{$name}{BASEDIR} = $basedir;
 
 		foreach my $key (values %{$result->{$section}}) {
+			next if ($key->{KEY} eq "EXISTS");
 			$key->{VAL} = smb_build::input::strtrim($key->{VAL});
 			my $vartype = $sectype->{$key->{KEY}};
 			if (not defined($vartype)) {
diff --git a/source/build/smb_build/header.pm b/source/build/smb_build/header.pm
index ffac5e2..dfb7c62 100644
--- a/source/build/smb_build/header.pm
+++ b/source/build/smb_build/header.pm
@@ -44,6 +44,7 @@ sub _prepare_build_h($)
 			$DEFINE->{VAL} .= "\t$_, \\\n";
 		}
 
+		die("Invalid sentinel") unless ($key->{INIT_FUNCTION_SENTINEL});
 		$DEFINE->{VAL} .= "\t$key->{INIT_FUNCTION_SENTINEL} \n";
 
 		push(@defines,$DEFINE);
diff --git a/source/build/smb_build/input.pm b/source/build/smb_build/input.pm
index 948f265..bb6a120 100644
--- a/source/build/smb_build/input.pm
+++ b/source/build/smb_build/input.pm
@@ -84,13 +84,19 @@ sub check_module($$$)
 
 	return if ($mod->{ENABLE} ne "YES");
 
+
 	if (exists($INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTION_TYPE})) {
 		$mod->{INIT_FUNCTION_TYPE} = $INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTION_TYPE};
 	} else {
 		$mod->{INIT_FUNCTION_TYPE} = "NTSTATUS (*) (void)";
 	}
 
+	unless (defined($mod->{INIT_FUNCTION_SENTINEL})) { $mod->{INIT_FUNCTION_SENTINEL} = "NULL"; }
+
 	if (not defined($mod->{OUTPUT_TYPE})) {
+		if (not defined($INPUT->{$mod->{SUBSYSTEM}}->{TYPE})) {
+			die("Invalid type for subsystem $mod->{SUBSYSTEM}");
+		}
 		if ($INPUT->{$mod->{SUBSYSTEM}}->{TYPE} eq "EXT_LIB") {
 			$mod->{OUTPUT_TYPE} = undef;
 		} else {
@@ -107,7 +113,7 @@ sub check_module($$$)
 	} 
 	if (grep(/MERGED_OBJ/, @{$mod->{OUTPUT_TYPE}})) {
 		push (@{$INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTIONS}}, $mod->{INIT_FUNCTION}) if defined($mod->{INIT_FUNCTION});
-		unshift (@{$INPUT->{$mod->{SUBSYSTEM}}{PRIVATE_DEPENDENCIES}}, $mod->{NAME});
+		push (@{$INPUT->{$mod->{SUBSYSTEM}}{PRIVATE_DEPENDENCIES}}, $mod->{NAME});
 	}
 }
 
@@ -151,7 +157,6 @@ sub check_python($$$)
 		$dirname .= "/" unless $dirname =~ /\/$/;
 		$dirname = "" if $dirname eq "./";
 
-		$python->{OBJ_FILES} = ["$dirname$basename\_wrap.o"];


-- 
Samba Shared Repository


More information about the samba-cvs mailing list