r14497: Fix build with shared libraries
authorJelmer Vernooij <jelmer@samba.org>
Fri, 17 Mar 2006 00:45:52 +0000 (00:45 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:57:34 +0000 (13:57 -0500)
(This used to be commit c74fc55831ca24819ae7f5e0920d0351e2b46a08)

source4/auth/config.mk
source4/auth/gensec/config.mk
source4/build/smb_build/TODO
source4/build/smb_build/makefile.pm
source4/lib/tdr/config.mk
source4/librpc/config.mk
source4/scripting/ejs/smbcalls.c
source4/torture/config.mk
source4/torture/local/config.mk
source4/torture/rpc/rpc.c
source4/torture/torture.c

index 4f9ed1a52d4542c5cb6ec3e211e85f41e661c916..b594a38f9d38e82c10a87e5d4341151e6a5da102 100644 (file)
@@ -7,6 +7,8 @@ include credentials/config.mk
 #######################
 # Start MODULE auth_sam
 [MODULE::auth_sam]
+# gensec_krb5 and gensec_gssapi depend on it
+OUTPUT_TYPE = MERGEDOBJ
 PRIVATE_PROTO_HEADER = auth_sam.h
 INIT_FUNCTION = auth_sam_init
 SUBSYSTEM = auth
index 728e29a025d9b152b1cf7a6d0aee446c97d46d89..0e53f79c2dc4c8ee081c982a1d4f593864929faa 100644 (file)
@@ -8,7 +8,7 @@ PUBLIC_HEADERS = gensec.h spnego.h
 PUBLIC_PROTO_HEADER = gensec_proto.h
 OBJ_FILES = gensec.o
 REQUIRED_SUBSYSTEMS = \
-               CREDENTIALS
+               CREDENTIALS LIBBASIC
 # End SUBSYSTEM gensec
 #################################
 
@@ -18,7 +18,7 @@ REQUIRED_SUBSYSTEMS = \
 SUBSYSTEM = gensec
 INIT_FUNCTION = gensec_krb5_init
 OBJ_FILES = gensec_krb5.o 
-REQUIRED_SUBSYSTEMS = KERBEROS auth
+REQUIRED_SUBSYSTEMS = KERBEROS auth auth_sam
 # End MODULE gensec_krb5
 ################################################
 
index dae3fc6cfa5b888f6ae80d0dc38c25a37cd6dff5..80254b1eda93bd2170dfb07f18bdbf5375394f6f 100644 (file)
@@ -5,6 +5,7 @@
   - include line in Makefile
   - rule in Makefile
 - generate headermap.txt
+- fix handling of dynconfig.o (causes too much recompiles for asn1_compile)
 
 set of test scripts that check the code:
 - configure_check_unused.pl
index 7bb7dedb5399b0be401f00c891b29996400d9d2c..42ce3889ac55eb9c5f214b0ae397174fbc388a6b 100644 (file)
@@ -256,11 +256,16 @@ __EOD__
        }
 
        my $soarg = "";
+       my $soargdebug = "";
        if ($self->{config}->{SONAMEFLAG} ne "" and 
                defined($ctx->{LIBRARY_SONAME})) {
                $soarg = "$self->{config}->{SONAMEFLAG}$ctx->{LIBRARY_SONAME} ";
        }
 
+       if ($self->{config}->{SONAMEFLAG} ne "") {
+               $soargdebug = "$self->{config}->{SONAMEFLAG}$ctx->{LIBRARY_REALNAME} ";
+       }
+
        if ($self->{duplicate_build}) {
                $self->output(<< "__EOD__"
 #
@@ -269,7 +274,7 @@ $ctx->{TARGET}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->
        \@echo Linking \$\@
        \@mkdir -p $ctx->{DEBUGDIR}
        \@\$(SHLD) \$(SHLD_FLAGS) -o \$\@ \$(LOCAL_LINK_FLAGS) \\
-               \$($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS) $soarg \\
+               \$($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS) $soargdebug \\
                $init_obj \$($ctx->{TYPE}_$ctx->{NAME}_LINK_LIST)
 
 __EOD__
@@ -393,7 +398,7 @@ sub Binary($$)
 #
 bin/$ctx->{BINARY}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST) \$(builddir)/dynconfig-devel.o
        \@echo Linking \$\@
-       \@\$(CC) \$(LDFLAGS) -o \$\@ \$(LOCAL_LINK_FLAGS) \\
+       \@\$(CC) \$(LDFLAGS) -o \$\@ \$(LOCAL_LINK_FLAGS) \$(INSTALL_LINK_FLAGS) \\
                \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_LIST) \\
                \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS) \$(builddir)/dynconfig-devel.o
 
index 7ecbab35d1a7dfcaf8a0efc3499f700d0ee53c1a..a55315c522a713fb2bdf22c81a1ed47223382919 100644 (file)
@@ -4,4 +4,5 @@ VERSION = 0.0.1
 SO_VERSION = 0
 DESCRIPTION = Simple marshall/unmarshall library
 PUBLIC_PROTO_HEADER = tdr_proto.h
+REQUIRED_SUBSYSTEMS = LIBTALLOC LIBBASIC
 OBJ_FILES = tdr.o
index 5b3e193905c94353f241e7d9b348ea7bf9e2b756..893920da275090b9d8ad11070358fe788c72b94a 100644 (file)
@@ -12,7 +12,7 @@ OBJ_FILES = \
                ndr/ndr_string.o \
                ndr/ndr_obfuscate.o \
                ndr/ndr_misc.o
-REQUIRED_SUBSYSTEMS = LIBCLI_UTILS LIBTALLOC 
+REQUIRED_SUBSYSTEMS = LIBCLI_UTILS LIBTALLOC LIBBASIC
 # End SUBSYSTEM LIBNDR
 ################################################
 
@@ -738,95 +738,95 @@ REQUIRED_SUBSYSTEMS = \
 INIT_FUNCTION = ejs_init_rpcecho
 OBJ_FILES = gen_ndr/ndr_echo_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_ECHO
+REQUIRED_SUBSYSTEMS = dcerpc NDR_ECHO EJSRPC
 
 [MODULE::RPC_EJS_MISC]
 INIT_FUNCTION = ejs_init_misc
 OBJ_FILES = gen_ndr/ndr_misc_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_MISC
+REQUIRED_SUBSYSTEMS = dcerpc NDR_MISC EJSRPC
 
 [MODULE::RPC_EJS_SAMR]
 INIT_FUNCTION = ejs_init_samr
 OBJ_FILES = gen_ndr/ndr_samr_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_SAMR
+REQUIRED_SUBSYSTEMS = dcerpc NDR_SAMR EJSRPC
 
 [MODULE::RPC_EJS_SECURITY]
 INIT_FUNCTION = ejs_init_security
 OBJ_FILES = gen_ndr/ndr_security_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_SECURITY
+REQUIRED_SUBSYSTEMS = dcerpc NDR_SECURITY EJSRPC
 
 [MODULE::RPC_EJS_LSA]
 INIT_FUNCTION = ejs_init_lsarpc
 OBJ_FILES = gen_ndr/ndr_lsa_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_LSA
+REQUIRED_SUBSYSTEMS = dcerpc NDR_LSA EJSRPC
 
 [MODULE::RPC_EJS_DFS]
 INIT_FUNCTION = ejs_init_netdfs
 OBJ_FILES = gen_ndr/ndr_dfs_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_DFS
+REQUIRED_SUBSYSTEMS = dcerpc NDR_DFS EJSRPC
 
 [MODULE::RPC_EJS_DRSUAPI]
 INIT_FUNCTION = ejs_init_drsuapi
 OBJ_FILES = gen_ndr/ndr_drsuapi_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_DRSUAPI
+REQUIRED_SUBSYSTEMS = dcerpc NDR_DRSUAPI EJSRPC
 
 [MODULE::RPC_EJS_SPOOLSS]
 INIT_FUNCTION = ejs_init_spoolss
 OBJ_FILES = gen_ndr/ndr_spoolss_ejs.o
 SUBSYSTEM = smbcalls
 ENABLE = NO
-REQUIRED_SUBSYSTEMS = dcerpc NDR_SPOOLSS
+REQUIRED_SUBSYSTEMS = dcerpc NDR_SPOOLSS EJSRPC
 
 [MODULE::RPC_EJS_WKSSVC]
 INIT_FUNCTION = ejs_init_wkssvc
 OBJ_FILES = gen_ndr/ndr_wkssvc_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_WKSSVC
+REQUIRED_SUBSYSTEMS = dcerpc NDR_WKSSVC EJSRPC
 
 [MODULE::RPC_EJS_SRVSVC]
 INIT_FUNCTION = ejs_init_srvsvc
 OBJ_FILES = gen_ndr/ndr_srvsvc_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_SRVSVC
+REQUIRED_SUBSYSTEMS = dcerpc NDR_SRVSVC EJSRPC
 
 [MODULE::RPC_EJS_EVENTLOG]
 INIT_FUNCTION = ejs_init_eventlog
 OBJ_FILES = gen_ndr/ndr_eventlog_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_EVENTLOG
+REQUIRED_SUBSYSTEMS = dcerpc NDR_EVENTLOG EJSRPC
 
 [MODULE::RPC_EJS_WINREG]
 INIT_FUNCTION = ejs_init_winreg
 OBJ_FILES = gen_ndr/ndr_winreg_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_WINREG
+REQUIRED_SUBSYSTEMS = dcerpc NDR_WINREG EJSRPC
 
 [MODULE::RPC_EJS_INITSHUTDOWN]
 INIT_FUNCTION = ejs_init_initshutdown
 OBJ_FILES = gen_ndr/ndr_initshutdown_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_INITSHUTDOWN
+REQUIRED_SUBSYSTEMS = dcerpc NDR_INITSHUTDOWN EJSRPC
 
 [MODULE::RPC_EJS_NETLOGON]
 INIT_FUNCTION = ejs_init_netlogon
 OBJ_FILES = gen_ndr/ndr_netlogon_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_NETLOGON
+REQUIRED_SUBSYSTEMS = dcerpc NDR_NETLOGON EJSRPC
 
 [MODULE::RPC_EJS_SVCCTL]
 INIT_FUNCTION = ejs_init_svcctl
 OBJ_FILES = gen_ndr/ndr_svcctl_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_SVCCTL
+REQUIRED_SUBSYSTEMS = dcerpc NDR_SVCCTL EJSRPC
 
 [MODULE::RPC_EJS_IRPC]
 INIT_FUNCTION = ejs_init_irpc
 OBJ_FILES = gen_ndr/ndr_irpc_ejs.o
 SUBSYSTEM = smbcalls
-REQUIRED_SUBSYSTEMS = dcerpc NDR_IRPC
+REQUIRED_SUBSYSTEMS = dcerpc NDR_IRPC EJSRPC
index 5aab8cf2c27bad30c0c8a013166838d5ed785b05..e010f3fdb1470f86a59539a48d1e0778fca94196 100644 (file)
@@ -137,7 +137,7 @@ void smb_setup_ejs_functions(void)
        
        ejsnet_setup();
 
-       shared_init = load_samba_modules(NULL, "ejs");
+       shared_init = load_samba_modules(NULL, "smbcalls");
        
        run_init_functions(static_init);
        run_init_functions(shared_init);
index b6381af3f94a749121c0c2ef5834cf10f59c24c1..3b75135e6f54466db7e6d17f90efe6d7ae86a32f 100644 (file)
@@ -74,6 +74,8 @@ REQUIRED_SUBSYSTEMS = \
                com dcom
 
 [MODULE::torture_rpc]
+# TORTURE_NET and TORTURE_NBT use functions from torture_rpc...
+OUTPUT_TYPE = MERGEDOBJ
 SUBSYSTEM = smbtorture
 INIT_FUNCTION = torture_rpc_init
 PRIVATE_PROTO_HEADER = \
index 84d439e21627eb990a218ca114db351ea768eb35..40f0e9735952884e2c55c50335ea40e48d4dd040 100644 (file)
@@ -18,6 +18,7 @@ OBJ_FILES = \
                sddl.o \
                ndr.o
 REQUIRED_SUBSYSTEMS = \
+               RPC_NDR_ECHO \
                LIBSMB \
                MESSAGING \
                registry
index 4fe35a5cf7de148a857860f4821bbfb5ddaac6b8..1fadf4dca97b0c5b7afca7f03e4d3708c2a195f8 100644 (file)
@@ -24,6 +24,7 @@
 #include "lib/cmdline/popt_common.h"
 #include "torture/rpc/rpc.h"
 #include "torture/torture.h"
+#include "librpc/rpc/dcerpc_table.h"
 
 /* open a rpc connection to the chosen binding string */
 NTSTATUS torture_rpc_connection(TALLOC_CTX *parent_ctx, 
@@ -85,6 +86,10 @@ NTSTATUS torture_rpc_connection_transport(TALLOC_CTX *parent_ctx,
 
 NTSTATUS torture_rpc_init(void)
 {
+       dcerpc_init();
+
+       dcerpc_table_init();
+
     register_torture_op("RPC-LSA", torture_rpc_lsa, 0);
     register_torture_op("RPC-LSALOOKUP", torture_rpc_lsa_lookup, 0);
     register_torture_op("RPC-SECRETS", torture_rpc_lsa_secrets, 0);
index aba6110acb01f6bde29564eb035eb6636762c4b8..e5785fe0b38258cd2c13b80ac7c98ef1e4669440 100644 (file)
@@ -31,7 +31,6 @@
 #include "lib/events/events.h"
 #include "libcli/resolve/resolve.h"
 #include "auth/credentials/credentials.h"
-#include "librpc/rpc/dcerpc_table.h"
 #include "libcli/ldap/ldap_client.h"
 #include "librpc/gen_ndr/ndr_nbt.h"
 
@@ -2615,10 +2614,6 @@ static void max_runtime_handler(int sig)
 
        ldb_global_init();
 
-       dcerpc_init();
-
-       dcerpc_table_init();
-
        if (torture_seed == 0) {
                torture_seed = time(NULL);
        }