summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/Makefile.in10
-rw-r--r--source4/aclocal.m441
-rw-r--r--source4/configure.in48
-rw-r--r--source4/ntvfs/config.m421
-rw-r--r--source4/rpc_server/config.m48
5 files changed, 57 insertions, 71 deletions
diff --git a/source4/Makefile.in b/source4/Makefile.in
index 4baa3f1078..887b9b24ea 100644
--- a/source4/Makefile.in
+++ b/source4/Makefile.in
@@ -201,16 +201,6 @@ AUTH_OBJ = auth/auth.o auth/auth_sam.o \
SMBD_OBJ_MAIN = smbd/server.o
-NTVFS_CSM_MAIN = ntvfs/tank/vfs_tank.o
-#we don't want these in main proto.h
-NTVFS_CSM_OBJ = ntvfs/tank/csm_init.o ntvfs/tank/csm_unlink.o \
- ntvfs/tank/csm_util.o ntvfs/tank/csm_error.o ntvfs/tank/csm_lookup.o \
- ntvfs/tank/csm_blockmap.o ntvfs/tank/csm_dir.o \
- ntvfs/tank/csm_fcntl.o ntvfs/tank/csm_io.o ntvfs/tank/csm_mkdir.o \
- ntvfs/tank/csm_open.o ntvfs/tank/csm_rename.o \
- ntvfs/tank/csm_attr.o ntvfs/tank/csm_truncate.o \
- ntvfs/tank/csm_fd.o
-
NTVFS_CIFS_OBJ = ntvfs/cifs/vfs_cifs.o
NTVFS_SIMPLE_OBJ = ntvfs/simple/vfs_simple.o ntvfs/simple/svfs_util.o
NTVFS_IPC_OBJ = ntvfs/ipc/vfs_ipc.o
diff --git a/source4/aclocal.m4 b/source4/aclocal.m4
index b80a44f50f..b40152a6ee 100644
--- a/source4/aclocal.m4
+++ b/source4/aclocal.m4
@@ -36,34 +36,55 @@ if test $ac_cv_dirent_d_off = yes; then
fi
])
+dnl Specify the default build method of this module
+dnl SMB_MODULE_DEFAULT(name,default_build)
+AC_DEFUN(SMB_MODULE_DEFAULT,
+[
+ dnl Fall back to static if dlopen() is not available
+ eval MODULE_DEFAULT_$1=$2
+
+ if test x"MODULE_DEFAULT_$1" = xSHARED -a x"$ac_cv_func_dlopen" != xyes; then
+ eval MODULE_DEFAULT_$1=STATIC
+ fi
+])
+
dnl Mark specified module as shared
-dnl SMB_MODULE(name,static_files,shared_files,subsystem,whatif-static,whatif-shared)
+dnl SMB_MODULE(name,default_build,static_files,shared_files,subsystem,whatif-static,whatif-shared,whatif-not)
AC_DEFUN(SMB_MODULE,
[
AC_MSG_CHECKING([how to build $1])
+ if test -z "$[MODULE_DEFAULT_][$1]"; then
+ eval MODULE_DEFAULT_$1=$2
+
+ if test x"MODULE_DEFAULT_$1" = xSHARED -a x"$ac_cv_func_dlopen" != xyes; then
+ eval MODULE_DEFAULT_$1=STATIC
+ fi
+ fi
+
if test "$[MODULE_][$1]"; then
DEST=$[MODULE_][$1]
- elif test "$[MODULE_]translit([$4], [A-Z], [a-z])" -a "$[MODULE_DEFAULT_][$1]"; then
- DEST=$[MODULE_]translit([$4], [A-Z], [a-z])
+ elif test "$[MODULE_]translit([$5], [A-Z], [a-z])" -a "$[MODULE_DEFAULT_][$1]"; then
+ DEST=$[MODULE_]translit([$5], [A-Z], [a-z])
else
DEST=$[MODULE_DEFAULT_][$1]
fi
if test x"$DEST" = xSHARED; then
AC_DEFINE([$1][_init], [init_module], [Whether to build $1 as shared module])
- $4_MODULES="$$4_MODULES $3"
+ $5_MODULES="$$5_MODULES $4"
AC_MSG_RESULT([shared])
- [$6]
+ [$7]
string_shared_modules="$string_shared_modules $1"
elif test x"$DEST" = xSTATIC; then
- [init_static_modules_]translit([$4], [A-Z], [a-z])="$[init_static_modules_]translit([$4], [A-Z], [a-z]) $1_init();"
+ [init_static_modules_]translit([$5], [A-Z], [a-z])="$[init_static_modules_]translit([$5], [A-Z], [a-z]) $1_init();"
string_static_modules="$string_static_modules $1"
- $4_STATIC="$$4_STATIC $2"
- AC_SUBST($4_STATIC)
- [$5]
+ $5_STATIC="$$5_STATIC $3"
+ AC_SUBST($5_STATIC)
+ [$6]
AC_MSG_RESULT([static])
else
- string_ignored_modules="$string_ignored_modules $1"
+ string_ignored_modules="$string_ignored_modules $1"
+ [$8]
AC_MSG_RESULT([not])
fi
])
diff --git a/source4/configure.in b/source4/configure.in
index 746fb9eb89..b0a8b950a4 100644
--- a/source4/configure.in
+++ b/source4/configure.in
@@ -229,18 +229,6 @@ AC_VALIDATE_CACHE_SYSTEM_TYPE
DYNEXP=
-dnl Add modules that have to be built by default here
-dnl These have to be built static:
-default_static_modules="ntvfs_ipc ntvfs_simple ntvfs_print ntvfs_cifs dcerpc_rpcecho dcerpc_epmapper dcerpc_remote"
-
-dnl These are preferably build shared, and static if dlopen() is not available
-default_shared_modules=""
-
-if test "x$developer" = xyes; then
- default_static_modules="$default_static_modules"
- default_shared_modules="$default_shared_modules"
-fi
-
#
# Config CPPFLAG settings for strange OS's that must be set
# before other tests.
@@ -2791,37 +2779,33 @@ samba_cv_HAVE_SENDFILEV=yes,samba_cv_HAVE_SENDFILEV=no)])
sinclude(nsswitch/config.m4)
sinclude(popt/config.m4)
-for i in `echo $default_static_modules | sed -e's/,/ /g'`
-do
- eval MODULE_DEFAULT_$i=STATIC
-done
-
-for i in `echo $default_shared_modules | sed -e's/,/ /g'`
-do
- dnl Fall back to static if dlopen() is not available
- eval MODULE_DEFAULT_$i=STATIC
-
- if test x"$ac_cv_func_dlopen" = xyes; then
- eval MODULE_DEFAULT_$i=SHARED
- fi
-done
-
-dnl Always built these modules static
-AC_ARG_WITH(static-modules,
-[ --with-static-modules=MODULES Comma-seperated list of names of modules to statically link in],
+dnl exclude these modules
+AC_ARG_WITH(exclude-modules,
+[ --with-exclude-modules=MODULES Comma-seperated list of names of modules to exclude from build],
[ if test $withval; then
for i in `echo $withval | sed -e's/,/ /g'`
do
- eval MODULE_$i=STATIC
+ eval MODULE_$i=NOT
done
fi ])
+dnl Always built these modules shared
AC_ARG_WITH(shared-modules,
[ --with-shared-modules=MODULES Comma-seperated list of names of modules to build shared],
[ if test $withval; then
for i in `echo $withval | sed -e's/,/ /g'`
do
- eval MODULE_$i=SHARED
+ eval MODULE_$i=SHARED
+ done
+fi ])
+
+dnl Always built these modules static
+AC_ARG_WITH(static-modules,
+[ --with-static-modules=MODULES Comma-seperated list of names of modules to statically link in],
+[ if test $withval; then
+ for i in `echo $withval | sed -e's/,/ /g'`
+ do
+ eval MODULE_$i=STATIC
done
fi ])
diff --git a/source4/ntvfs/config.m4 b/source4/ntvfs/config.m4
index 22ab6dadfa..b9d79e61de 100644
--- a/source4/ntvfs/config.m4
+++ b/source4/ntvfs/config.m4
@@ -1,18 +1,9 @@
-default_static_modules="$default_static_modules ntvfs_ipc ntvfs_simple ntvfs_print ntvfs_cifs"
+dnl # NTVFS Server subsystem
-SMB_MODULE(ntvfs_cifs, \$(NTVFS_CIFS_OBJ), "bin/cifs.$SHLIBEXT$", NTVFS)
-SMB_MODULE(ntvfs_simple, \$(NTVFS_SIMPLE_OBJ), "bin/ntvfs_simple.$SHLIBEXT$", NTVFS)
-SMB_MODULE(ntvfs_print, \$(NTVFS_PRINT_OBJ), "bin/ntvfs_print.$SHLIBEXT$", NTVFS)
-SMB_MODULE(ntvfs_ipc, \$(NTVFS_IPC_OBJ), "bin/ntvfs_ipc.$SHLIBEXT$", NTVFS)
-SMB_MODULE(ntvfs_posix, \$(NTVFS_POSIX_OBJ), "bin/ntvfs_posix.$SHLIBEXT$", NTVFS)
-
-# Tank FS
-SMB_MODULE(ntvfs_csm, \$(NTVFS_CSM_OBJ), "bin/ntvfs_csm.$SHLIBEXT$", NTVFS)
-STFS_ENABLED="#"
-if test "$MODULE_ntvfs_csm"; then
- SMBD_EXTRA_LIBS="$SMBD_EXTRA_LIBS \$\(STFS_LIBS\)"
- STFS_ENABLED=
-fi
-AC_SUBST(STFS_ENABLED)
+SMB_MODULE(ntvfs_cifs, STATIC, \$(NTVFS_CIFS_OBJ), "bin/cifs.$SHLIBEXT$", NTVFS)
+SMB_MODULE(ntvfs_simple, STATIC, \$(NTVFS_SIMPLE_OBJ), "bin/ntvfs_simple.$SHLIBEXT$", NTVFS)
+SMB_MODULE(ntvfs_print, STATIC, \$(NTVFS_PRINT_OBJ), "bin/ntvfs_print.$SHLIBEXT$", NTVFS)
+SMB_MODULE(ntvfs_ipc, STATIC, \$(NTVFS_IPC_OBJ), "bin/ntvfs_ipc.$SHLIBEXT$", NTVFS)
+SMB_MODULE(ntvfs_posix, NOT, \$(NTVFS_POSIX_OBJ), "bin/ntvfs_posix.$SHLIBEXT$", NTVFS)
SMB_SUBSYSTEM(NTVFS,ntvfs/ntvfs_base.o)
diff --git a/source4/rpc_server/config.m4 b/source4/rpc_server/config.m4
index cdc4f65186..570a5f7581 100644
--- a/source4/rpc_server/config.m4
+++ b/source4/rpc_server/config.m4
@@ -1,7 +1,7 @@
-default_static_modules="$default_static_modules dcerpc_rpcecho dcerpc_epmapper dcerpc_remote"
+dnl # DCERPC Server subsystem
-SMB_MODULE(dcerpc_rpcecho, \$(DCERPC_RPCECHO_OBJ), "bin/dcerpc_rpcecho.$SHLIBEXT$", DCERPC)
-SMB_MODULE(dcerpc_epmapper, \$(DCERPC_EPMAPPER_OBJ), "bin/dcerpc_epmapper.$SHLIBEXT$", DCERPC)
-SMB_MODULE(dcerpc_remote, \$(DCERPC_REMOTE_OBJ), "bin/dcerpc_remote.$SHLIBEXT$", DCERPC)
+SMB_MODULE(dcerpc_rpcecho, STATIC, \$(DCERPC_RPCECHO_OBJ), "bin/dcerpc_rpcecho.$SHLIBEXT$", DCERPC)
+SMB_MODULE(dcerpc_epmapper, STATIC, \$(DCERPC_EPMAPPER_OBJ), "bin/dcerpc_epmapper.$SHLIBEXT$", DCERPC)
+SMB_MODULE(dcerpc_remote, STATIC, \$(DCERPC_REMOTE_OBJ), "bin/dcerpc_remote.$SHLIBEXT$", DCERPC)
SMB_SUBSYSTEM(DCERPC,rpc_server/dcerpc_server.o)