registry: Implement recursive deletes for ldb-backed registry.
[samba.git] / source4 / smbd / process_model.m4
index a7f6fb0793107b96be7638a2d0523fde4df5c83d..6ee8dbf4d8fadf57d2134870d67927d28753b23e 100644 (file)
@@ -1,7 +1,6 @@
 dnl # Server process model subsystem
 
-SMB_MODULE(process_model_single,PROCESS_MODEL,STATIC,[smbd/process_single.o])
-SMB_MODULE(process_model_standard,PROCESS_MODEL,STATIC,[smbd/process_standard.o])
+SMB_ENABLE(process_model_thread,NO)
 
 #################################################
 # check for pthread support
@@ -11,7 +10,11 @@ AC_ARG_WITH(pthreads,
 [ case "$withval" in
        yes)
                AC_MSG_RESULT(yes)
-               SMB_MODULE_DEFAULT(process_model_thread,STATIC)
+               if test x"$ac_cv_func_pread" != x"yes" -o x"$ac_cv_func_pwrite" != x"yes";then
+                       AC_MSG_ERROR([You cannot enable threads when you don't have pread/pwrite!])
+               fi
+               SMB_ENABLE(process_model_thread,YES)
+               SMB_ENABLE(PTHREAD,YES)
        ;;
        *)
                AC_MSG_RESULT(no)
@@ -20,8 +23,38 @@ AC_ARG_WITH(pthreads,
 AC_MSG_RESULT(no)
 )
 
-SMB_MODULE(process_model_thread,PROCESS_MODEL,NOT,
-               [smbd/process_thread.o],[],[-lpthread])
+SMB_EXT_LIB(PTHREAD,[-lpthread])
 
-SMB_SUBSYSTEM(PROCESS_MODEL,smbd/process_model.o,
-               [],smbd/process_model_public_proto.h)
+AC_MSG_CHECKING(whether to search for setproctitle support)
+AC_ARG_WITH(setproctitle,
+[  --with-setproctitle          Search for setproctitle support (default=no)],
+[ case "$withval" in
+       yes)
+               AC_MSG_RESULT(yes)
+               AC_CHECK_HEADERS(setproctitle.h)
+               AC_CHECK_FUNC(setproctitle, [], [
+                  AC_CHECK_LIB_EXT(setproctitle, SETPROCTITLE_LIBS, setproctitle)
+               ])
+               AC_MSG_CHECKING(whether to use setproctitle)
+               if test x"$ac_cv_func_setproctitle" = x"yes" -o \
+                  \( x"$ac_cv_header_setproctitle_h" = x"yes" -a \
+                   x"$ac_cv_lib_ext_setproctitle_setproctitle" = x"yes" \) ; then
+                       AC_MSG_RESULT(yes)
+                       SMB_ENABLE(SETPROCTITLE, YES)
+                       AC_DEFINE(HAVE_SETPROCTITLE,1,[Whether setproctitle() is available])
+               else
+                       AC_MSG_RESULT(no)
+               fi
+       ;;
+       *)
+               AC_MSG_RESULT(no)
+       ;;
+  esac ],
+AC_MSG_RESULT(no)
+)
+
+SMB_EXT_LIB(SETPROCTITLE,
+       [${SETPROCTITLE_LIBS}],
+       [${SETPROCTITLE_CFLAGS}],
+       [${SETPROCTITLE_CPPFLAGS}],
+       [${SETPROCTITLE_LDFLAGS}])