From: Jelmer Vernooij Date: Fri, 17 Mar 2006 00:45:52 +0000 (+0000) Subject: r14497: Fix build with shared libraries X-Git-Tag: samba-4.0.0alpha6~801^3~6847 X-Git-Url: http://git.samba.org/samba.git/?p=bbaumbach%2Fsamba-autobuild%2F.git;a=commitdiff_plain;h=5c79bbadd5cfa921c8b4f87b5b4cafe5c488ebda r14497: Fix build with shared libraries (This used to be commit c74fc55831ca24819ae7f5e0920d0351e2b46a08) --- diff --git a/source4/auth/config.mk b/source4/auth/config.mk index 4f9ed1a52d4..b594a38f9d3 100644 --- a/source4/auth/config.mk +++ b/source4/auth/config.mk @@ -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 diff --git a/source4/auth/gensec/config.mk b/source4/auth/gensec/config.mk index 728e29a025d..0e53f79c2dc 100644 --- a/source4/auth/gensec/config.mk +++ b/source4/auth/gensec/config.mk @@ -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 ################################################ diff --git a/source4/build/smb_build/TODO b/source4/build/smb_build/TODO index dae3fc6cfa5..80254b1eda9 100644 --- a/source4/build/smb_build/TODO +++ b/source4/build/smb_build/TODO @@ -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 diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm index 7bb7dedb539..42ce3889ac5 100644 --- a/source4/build/smb_build/makefile.pm +++ b/source4/build/smb_build/makefile.pm @@ -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 diff --git a/source4/lib/tdr/config.mk b/source4/lib/tdr/config.mk index 7ecbab35d1a..a55315c522a 100644 --- a/source4/lib/tdr/config.mk +++ b/source4/lib/tdr/config.mk @@ -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 diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk index 5b3e193905c..893920da275 100644 --- a/source4/librpc/config.mk +++ b/source4/librpc/config.mk @@ -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 diff --git a/source4/scripting/ejs/smbcalls.c b/source4/scripting/ejs/smbcalls.c index 5aab8cf2c27..e010f3fdb14 100644 --- a/source4/scripting/ejs/smbcalls.c +++ b/source4/scripting/ejs/smbcalls.c @@ -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); diff --git a/source4/torture/config.mk b/source4/torture/config.mk index b6381af3f94..3b75135e6f5 100644 --- a/source4/torture/config.mk +++ b/source4/torture/config.mk @@ -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 = \ diff --git a/source4/torture/local/config.mk b/source4/torture/local/config.mk index 84d439e2162..40f0e973595 100644 --- a/source4/torture/local/config.mk +++ b/source4/torture/local/config.mk @@ -18,6 +18,7 @@ OBJ_FILES = \ sddl.o \ ndr.o REQUIRED_SUBSYSTEMS = \ + RPC_NDR_ECHO \ LIBSMB \ MESSAGING \ registry diff --git a/source4/torture/rpc/rpc.c b/source4/torture/rpc/rpc.c index 4fe35a5cf7d..1fadf4dca97 100644 --- a/source4/torture/rpc/rpc.c +++ b/source4/torture/rpc/rpc.c @@ -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); diff --git a/source4/torture/torture.c b/source4/torture/torture.c index aba6110acb0..e5785fe0b38 100644 --- a/source4/torture/torture.c +++ b/source4/torture/torture.c @@ -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); }