summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2006-03-17 00:45:52 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:57:34 -0500
commit5c79bbadd5cfa921c8b4f87b5b4cafe5c488ebda (patch)
treed3eb0f99fa809a88990b7fb0bf24ec76905e0f9b /source4
parent132310b5bf173d398243991bce5b1fb4c5dc5f96 (diff)
downloadsamba-5c79bbadd5cfa921c8b4f87b5b4cafe5c488ebda.tar.gz
samba-5c79bbadd5cfa921c8b4f87b5b4cafe5c488ebda.tar.bz2
samba-5c79bbadd5cfa921c8b4f87b5b4cafe5c488ebda.zip
r14497: Fix build with shared libraries
(This used to be commit c74fc55831ca24819ae7f5e0920d0351e2b46a08)
Diffstat (limited to 'source4')
-rw-r--r--source4/auth/config.mk2
-rw-r--r--source4/auth/gensec/config.mk4
-rw-r--r--source4/build/smb_build/TODO1
-rw-r--r--source4/build/smb_build/makefile.pm9
-rw-r--r--source4/lib/tdr/config.mk1
-rw-r--r--source4/librpc/config.mk34
-rw-r--r--source4/scripting/ejs/smbcalls.c2
-rw-r--r--source4/torture/config.mk2
-rw-r--r--source4/torture/local/config.mk1
-rw-r--r--source4/torture/rpc/rpc.c5
-rw-r--r--source4/torture/torture.c5
11 files changed, 39 insertions, 27 deletions
diff --git a/source4/auth/config.mk b/source4/auth/config.mk
index 4f9ed1a52d..b594a38f9d 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 728e29a025..0e53f79c2d 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 dae3fc6cfa..80254b1eda 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 7bb7dedb53..42ce3889ac 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 7ecbab35d1..a55315c522 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 5b3e193905..893920da27 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 5aab8cf2c2..e010f3fdb1 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 b6381af3f9..3b75135e6f 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 84d439e216..40f0e97359 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 4fe35a5cf7..1fadf4dca9 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 aba6110acb..e5785fe0b3 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);
}