Fix missing symbols issues when building with shared libraries.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 22 Dec 2008 20:03:09 +0000 (21:03 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 22 Dec 2008 20:03:09 +0000 (21:03 +0100)
20 files changed:
lib/crypto/config.mk
source4/build/smb_build/makefile.pm
source4/cldap_server/config.mk
source4/dsdb/config.mk
source4/nbt_server/config.mk
source4/ntp_signd/config.mk
source4/param/pyparam.c
source4/param/pyparam.h
source4/rpc_server/config.mk
source4/smb_server/config.mk
source4/smbd/config.mk
source4/smbd/process_model.mk
source4/smbd/server.c
source4/torture/config.mk
source4/torture/local/config.mk
source4/torture/smb2/config.mk
source4/torture/torture.c
source4/torture/winbind/config.mk
source4/web_server/config.mk
source4/winbind/config.mk

index ee111bd08825c2e51416e76bc79ba5b15cb03931..e39f06dcaeb9763c7ce745185983df9535cdb893 100644 (file)
@@ -8,8 +8,7 @@ LIBCRYPTO_OBJ_FILES = $(addprefix $(libcryptosrcdir)/, \
                                         crc32.o md5.o hmacmd5.o md4.o \
                                         arcfour.o sha256.o hmacsha256.o)
 
-[MODULE::TORTURE_LIBCRYPTO]
-SUBSYSTEM = smbtorture
+[SUBSYSTEM::TORTURE_LIBCRYPTO]
 PRIVATE_DEPENDENCIES = LIBCRYPTO
 
 TORTURE_LIBCRYPTO_OBJ_FILES = $(addprefix $(libcryptosrcdir)/, \
index d9cbca061400fda1da25f8b6cd941c500efa966e..a80d10733bab8f93a1a28ed5819bd864374aad60 100644 (file)
@@ -128,7 +128,7 @@ sub SharedModule($$)
        $self->_prepare_list($ctx, "LINK_FLAGS");
 
        if (defined($ctx->{INIT_FUNCTION}) and $ctx->{INIT_FUNCTION_TYPE} =~ /\(\*\)/ and not ($ctx->{INIT_FUNCTION} =~ /\(/)) {
-               $self->output("\$($ctx->{NAME}_OBJ_FILES): CFLAGS+=-D$ctx->{INIT_FUNCTION}=init_module\n");
+               $self->output("\$($ctx->{NAME}_OBJ_FILES): CFLAGS+=-D$ctx->{INIT_FUNCTION}=samba_init_module\n");
        }
 
        $self->output("\$(eval \$(call shared_module_template,$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}, \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}\_FULL_OBJ_LIST) \$($ctx->{NAME}_LINK_FLAGS)))\n");
index baf2620f32edd1420a9714e924da921a208869ab..045fca3fd0087634c7bcde93e65473fab43bbc5e 100644 (file)
@@ -4,7 +4,7 @@
 # Start SUBSYSTEM CLDAPD
 [MODULE::CLDAPD]
 INIT_FUNCTION = server_service_cldapd_init
-SUBSYSTEM = samba
+SUBSYSTEM = service
 PRIVATE_DEPENDENCIES = \
                LIBCLI_CLDAP LIBNETIF process_model
 # End SUBSYSTEM CLDAPD
index bd188192a0546ba6b2ad7cc3b5c2dbf6b054d1a1..2ca4e4ca6d7005db9ddd50464da7a3b300b251f9 100644 (file)
@@ -46,7 +46,7 @@ $(eval $(call proto_header_template,$(dsdbsrcdir)/schema/proto.h,$(SAMDB_SCHEMA_
 # Start SUBSYSTEM DREPL_SRV
 [MODULE::DREPL_SRV]
 INIT_FUNCTION = server_service_drepl_init
-SUBSYSTEM = samba
+SUBSYSTEM = service
 PRIVATE_DEPENDENCIES = \
                SAMDB \
                process_model 
index 951949a43f9ff3222b58c7b68e1185dd6e49ada4..b6db2090d25fa8c7e0a80cb64d382f1abcae3c81 100644 (file)
@@ -70,7 +70,7 @@ $(eval $(call proto_header_template,$(nbt_serversrcdir)/nbt_server_proto.h,$(NBT
 
 [MODULE::service_nbtd]
 INIT_FUNCTION = server_service_nbtd_init
-SUBSYSTEM = samba
+SUBSYSTEM = service
 PRIVATE_DEPENDENCIES = NBT_SERVER process_model
 
 service_nbtd_OBJ_FILES = \
index 3b52a200ce4c3feb03dfdb884dd9d55dff351288..07c404d82262f91cbf1dc92d4f0b3c19ab6a6815 100644 (file)
@@ -4,7 +4,7 @@
 # Start SUBSYSTEM NTP_signd
 [MODULE::NTP_SIGND]
 INIT_FUNCTION = server_service_ntp_signd_init
-SUBSYSTEM = samba
+SUBSYSTEM = service
 PRIVATE_DEPENDENCIES = \
                SAMDB NDR_NTP_SIGND
 # End SUBSYSTEM NTP_SIGND
index 0cf651dd7c66bc77f6b711c77fb68ef46ba24ef0..acadcc08b07f14605b95eef86b9f3a2d5497c72c 100644 (file)
@@ -310,7 +310,7 @@ PyTypeObject PyLoadparmService = {
        .tp_flags = Py_TPFLAGS_DEFAULT,
 };
 
-struct loadparm_context *lp_from_py_object(PyObject *py_obj)
+_PUBLIC_ struct loadparm_context *lp_from_py_object(PyObject *py_obj)
 {
     struct loadparm_context *lp_ctx;
     if (PyString_Check(py_obj)) {
index 4d7e32d9082f32f4a4aebcc865e98dee47b05d2b..1cda8f1dba48ecc2544dae9213d85963d5d9da16 100644 (file)
@@ -20,6 +20,6 @@
 #ifndef _PYPARAM_H_
 #define _PYPARAM_H_
 
-struct loadparm_context *lp_from_py_object(PyObject *py_obj);
+_PUBLIC_ struct loadparm_context *lp_from_py_object(PyObject *py_obj);
 
 #endif /* _PYPARAM_H_ */
index f7b3812b06cbc412ba4d9f199903447742fb8688..f00c975ccafcf22331201e4f2c5f48ea18b44c1a 100644 (file)
@@ -219,7 +219,7 @@ PUBLIC_HEADERS += $(rpc_serversrcdir)/dcerpc_server.h
 
 [MODULE::DCESRV]
 INIT_FUNCTION = server_service_rpc_init
-SUBSYSTEM = samba
+SUBSYSTEM = service
 PRIVATE_DEPENDENCIES = dcerpc_server
 
 DCESRV_OBJ_FILES = $(rpc_serversrcdir)/service_rpc.o
index cabfedc0ee74bdeb5d9078d3f6a79c610042e412..8031c4eb1f12832e7d6ad58a670d7fbc6cc2a4a2 100644 (file)
@@ -13,7 +13,7 @@ $(eval $(call proto_header_template,$(smb_serversrcdir)/service_smb_proto.h,$(SE
 #
 [MODULE::SERVICE_SAMBA3_SMB]
 INIT_FUNCTION = server_service_samba3_smb_init
-SUBSYSTEM = samba
+SUBSYSTEM = service
 
 SERVICE_SAMBA3_SMB_OBJ_FILES = $(smb_serversrcdir)/smb_samba3.o
 
index a5f5aab65e64e947fc938970b24ddbb1da54b1a9..26b2c447d5583e462fa88d8d9317299ab8c090f2 100644 (file)
@@ -36,5 +36,6 @@ PRIVATE_DEPENDENCIES = \
                CLUSTER
 
 samba_OBJ_FILES = $(smbdsrcdir)/server.o
+$(samba_OBJ_FILES): CFLAGS+=-DSTATIC_service_MODULES="$(service_INIT_FUNCTIONS)NULL"
 
 MANPAGES += $(smbdsrcdir)/samba.8
index d2ef048f4096eb0d2d38cb023d3e24b65a47f530..d216edd40174726c90b29df77eaf0430e37714a7 100644 (file)
@@ -4,6 +4,7 @@
 # Start MODULE process_model_single
 [MODULE::process_model_single]
 INIT_FUNCTION = process_model_single_init 
+OUTPUT_TYPE = MERGED_OBJ
 SUBSYSTEM = process_model
 # End MODULE process_model_single
 ################################################
index fd4b21b17f9b789b0187c068eb366dad6ec12b2f..0f6d248d822a8e74a1cdf53e5abb45e8e1149a31 100644 (file)
@@ -200,7 +200,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[
        extern NTSTATUS server_service_rpc_init(void);
        extern NTSTATUS server_service_ntp_signd_init(void);
        extern NTSTATUS server_service_samba3_smb_init(void);
-       init_module_fn static_init[] = { STATIC_samba_MODULES };
+       init_module_fn static_init[] = { STATIC_service_MODULES };
        init_module_fn *shared_init;
        struct event_context *event_ctx;
        uint16_t stdin_event_flags;
index 71fa391003d7c5c611f194164c5b940bd03783d7..895fef617452aa24a8a9486510c87e9227b911c9 100644 (file)
@@ -9,6 +9,7 @@ TORTURE_UTIL_OBJ_FILES = $(addprefix $(torturesrcdir)/, util_smb.o)
 [MODULE::TORTURE_BASIC]
 SUBSYSTEM = smbtorture
 INIT_FUNCTION = torture_base_init
+OUTPUT_TYPE = MERGED_OBJ
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB POPT_CREDENTIALS \
                TORTURE_UTIL LIBCLI_RAW \
@@ -41,6 +42,7 @@ $(eval $(call proto_header_template,$(torturesrcdir)/basic/proto.h,$(TORTURE_BAS
 #################################
 # Start SUBSYSTEM TORTURE_RAW
 [MODULE::TORTURE_RAW]
+OUTPUT_TYPE = MERGED_OBJ
 SUBSYSTEM = smbtorture
 INIT_FUNCTION = torture_raw_init
 PRIVATE_DEPENDENCIES = \
@@ -89,13 +91,14 @@ mkinclude smb2/config.mk
 mkinclude winbind/config.mk
 
 [SUBSYSTEM::TORTURE_NDR]
-PRIVATE_DEPENDENCIES = torture
+PRIVATE_DEPENDENCIES = torture SERVICE_SMB
 
 TORTURE_NDR_OBJ_FILES = $(addprefix $(torturesrcdir)/ndr/, ndr.o winreg.o atsvc.o lsa.o epmap.o dfs.o netlogon.o drsuapi.o spoolss.o samr.o)
 
 $(eval $(call proto_header_template,$(torturesrcdir)/ndr/proto.h,$(TORTURE_NDR_OBJ_FILES:.o=.c)))
 
 [MODULE::torture_rpc]
+OUTPUT_TYPE = MERGED_OBJ
 # TORTURE_NET and TORTURE_NBT use functions from torture_rpc...
 #OUTPUT_TYPE = MERGED_OBJ
 SUBSYSTEM = smbtorture
@@ -124,6 +127,7 @@ $(eval $(call proto_header_template,$(torturesrcdir)/rpc/proto.h,$(torture_rpc_O
 #################################
 # Start SUBSYSTEM TORTURE_RAP
 [MODULE::TORTURE_RAP]
+OUTPUT_TYPE = MERGED_OBJ
 SUBSYSTEM = smbtorture
 INIT_FUNCTION = torture_rap_init
 PRIVATE_DEPENDENCIES = TORTURE_UTIL LIBCLI_SMB
@@ -137,6 +141,7 @@ $(eval $(call proto_header_template,$(torturesrcdir)/rap/proto.h,$(TORTURE_RAP_O
 #################################
 # Start SUBSYSTEM TORTURE_AUTH
 [MODULE::TORTURE_AUTH]
+OUTPUT_TYPE = MERGED_OBJ
 SUBSYSTEM = smbtorture
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB gensec auth KERBEROS \
@@ -153,6 +158,7 @@ mkinclude local/config.mk
 #################################
 # Start MODULE TORTURE_NBENCH
 [MODULE::TORTURE_NBENCH]
+OUTPUT_TYPE = MERGED_OBJ
 SUBSYSTEM = smbtorture
 INIT_FUNCTION = torture_nbench_init
 PRIVATE_DEPENDENCIES = TORTURE_UTIL 
@@ -167,6 +173,7 @@ $(eval $(call proto_header_template,$(torturesrcdir)/nbench/proto.h,$(TORTURE_NB
 # Start MODULE TORTURE_UNIX
 [MODULE::TORTURE_UNIX]
 SUBSYSTEM = smbtorture
+OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = torture_unix_init
 PRIVATE_DEPENDENCIES = TORTURE_UTIL 
 # End MODULE TORTURE_UNIX
@@ -180,6 +187,7 @@ $(eval $(call proto_header_template,$(torturesrcdir)/unix/proto.h,$(TORTURE_UNIX
 # Start SUBSYSTEM TORTURE_LDAP
 [MODULE::TORTURE_LDAP]
 SUBSYSTEM = smbtorture
+OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = torture_ldap_init
 PRIVATE_DEPENDENCIES = \
                LIBCLI_LDAP LIBCLI_CLDAP SAMDB POPT_CREDENTIALS torture
@@ -194,6 +202,7 @@ $(eval $(call proto_header_template,$(torturesrcdir)/ldap/proto.h,$(TORTURE_LDAP
 # Start SUBSYSTEM TORTURE_LDB
 [MODULE::TORTURE_LDB]
 SUBSYSTEM = smbtorture
+OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = torture_ldb_init
 PRIVATE_DEPENDENCIES = \
                LDB_WRAP
@@ -208,6 +217,7 @@ $(eval $(call proto_header_template,$(torturesrcdir)/ldb/proto.h,$(TORTURE_LDB_O
 # Start SUBSYSTEM TORTURE_NBT
 [MODULE::TORTURE_NBT]
 SUBSYSTEM = smbtorture
+OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = torture_nbt_init
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB LIBCLI_NBT LIBCLI_DGRAM LIBCLI_WREPL torture_rpc
@@ -223,6 +233,7 @@ $(eval $(call proto_header_template,$(torturesrcdir)/nbt/proto.h,$(TORTURE_NBT_O
 # Start SUBSYSTEM TORTURE_NET
 [MODULE::TORTURE_NET]
 SUBSYSTEM = smbtorture
+OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = torture_net_init
 PRIVATE_DEPENDENCIES = \
                LIBSAMBA-NET \
index 60cbf25edadde0a57648c4b7a631feed742d33dc..36f4f08072a3fcde5a2586b183bb9494724baefa 100644 (file)
@@ -2,6 +2,7 @@
 # Start SUBSYSTEM TORTURE_LOCAL
 [MODULE::TORTURE_LOCAL]
 SUBSYSTEM = smbtorture
+OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = torture_local_init
 PRIVATE_DEPENDENCIES = \
                RPC_NDR_ECHO \
@@ -13,6 +14,7 @@ PRIVATE_DEPENDENCIES = \
                TORTURE_AUTH \
                TORTURE_UTIL \
                TORTURE_NDR \
+               TORTURE_LIBCRYPTO \
                share \
                torture_registry \
                PROVISION
index 3a1ac5e06cd49dc5d1fdc6a50d840077fd6edc06..e0fc29f2789559579698f448715f1139e99f57b9 100644 (file)
@@ -3,6 +3,7 @@
 # Start SUBSYSTEM TORTURE_SMB2
 [MODULE::TORTURE_SMB2]
 SUBSYSTEM = smbtorture
+OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = torture_smb2_init
 PRIVATE_DEPENDENCIES = \
                LIBCLI_SMB2 POPT_CREDENTIALS torture
index 3f9a6607cf57acd03c5e5167233e92bdca9db7ab..deae65c26598ea10c99f5537777e0d10f90a047c 100644 (file)
@@ -62,7 +62,7 @@ _PUBLIC_ int torture_init(void)
        extern NTSTATUS torture_unix_init(void);
        extern NTSTATUS torture_winbind_init(void);
        init_module_fn static_init[] = { STATIC_smbtorture_MODULES };
-       init_module_fn *shared_init = load_samba_modules(NULL, cmdline_lp_ctx, "torture");
+       init_module_fn *shared_init = load_samba_modules(NULL, cmdline_lp_ctx, "smbtorture");
 
        run_init_functions(static_init);
        run_init_functions(shared_init);
index 9648a7472b26e6efec530b7dcc9cc4d0086b940b..d2c57e9c979746eb849eb3ef35ac7acda1cb32e2 100644 (file)
@@ -3,9 +3,10 @@
 # Start SUBSYSTEM TORTURE_WINBIND
 [MODULE::TORTURE_WINBIND]
 SUBSYSTEM = smbtorture
+OUTPUT_TYPE = MERGED_OBJ
 INIT_FUNCTION = torture_winbind_init
 PRIVATE_DEPENDENCIES = \
-               LIBWINBIND-CLIENT torture
+               LIBWINBIND-CLIENT torture PAM_ERRORS
 # End SUBSYSTEM TORTURE_WINBIND
 #################################
 
index e034590111d094ab686280f291c69d57c9b11f47..ff587508fc4be30a8b37b4fab92935fe5f0988e9 100644 (file)
@@ -4,7 +4,7 @@
 # Start SUBSYSTEM WEB
 [MODULE::WEB]
 INIT_FUNCTION = server_service_web_init
-SUBSYSTEM = samba
+SUBSYSTEM = service
 PRIVATE_DEPENDENCIES = LIBTLS smbcalls process_model LIBPYTHON
 # End SUBSYSTEM WEB
 #######################
index 865ff90567a22243eeb2c5491d29a947a601b1f9..7be4e3d213181c8d20ce4dea59933c0e7f8c7bcf 100644 (file)
@@ -4,7 +4,7 @@
 # Start SUBSYSTEM WINBIND
 [MODULE::WINBIND]
 INIT_FUNCTION = server_service_winbind_init
-SUBSYSTEM = samba
+SUBSYSTEM = service
 PRIVATE_DEPENDENCIES = \
                WB_HELPER \
                IDMAP \