diff --git a/configure.ac b/configure.ac index f27e33806..36486e26a 100644 --- a/configure.ac +++ b/configure.ac @@ -545,7 +545,7 @@ AM_CONDITIONAL(USE_VFS, [test "x$use_vfs" = xyes]) AM_CONDITIONAL(USE_VFS_NET, [test x"$use_net_code" = xtrue]) AM_CONDITIONAL(USE_UNDEL_FS, [test -n "$use_undelfs"]) AM_CONDITIONAL(USE_SAMBA_FS, [test -n "$use_smbfs"]) -AM_CONDITIONAL(ENABLE_VFS_MCFS, [test -n "$use_mcfs"]) +AM_CONDITIONAL(ENABLE_MCSERVER, [test x"$enable_mcserver" = "xyes"]) AM_CONDITIONAL(CHARSET, [test -n "$have_charset"]) AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"]) diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am index 81593a7a6..50a1a258c 100644 --- a/doc/man/Makefile.am +++ b/doc/man/Makefile.am @@ -1,7 +1,7 @@ DIST_SUBDIRS = es hu it pl ru sr SUBDIRS = $(DOC_LINGUAS) -if ENABLE_VFS_MCFS +if ENABLE_MCSERVER man_MANS = mc.1 mcedit.1 mcview.1 mcserv.8 else man_MANS = mc.1 mcedit.1 mcview.1 diff --git a/doc/man/sr/Makefile.am b/doc/man/sr/Makefile.am index bda0922fc..7ec49ceb9 100644 --- a/doc/man/sr/Makefile.am +++ b/doc/man/sr/Makefile.am @@ -1,6 +1,6 @@ LANG=sr mandir = @mandir@/$(LANG) -if ENABLE_VFS_MCFS +if ENABLE_MCSERVER man_MANS = mc.1 mcserv.8 else man_MANS = mc.1 diff --git a/m4.include/mc-mcserver.m4 b/m4.include/mc-mcserver.m4 index cde8794c7..2d15c574d 100644 --- a/m4.include/mc-mcserver.m4 +++ b/m4.include/mc-mcserver.m4 @@ -6,49 +6,64 @@ dnl If PAM is found, other methods are not checked. AC_DEFUN([MC_MCSERVER_CHECKS], [ - dnl Check if PAM can be used for mcserv - AC_CHECK_LIB(dl, dlopen, [LIB_DL="-ldl"]) - AC_CHECK_LIB(pam, pam_start, [ - AC_DEFINE(HAVE_PAM, 1, - [Define if PAM (Pluggable Authentication Modules) is available]) - MCSERVLIBS="-lpam $LIB_DL" - mcserv_pam=yes], [], [$LIB_DL]) + dnl + dnl mcfs support + dnl + AC_ARG_ENABLE([mcserver], + [ --enable-mcserver Support mc-specific networking file system server [[no]]], + [if test "x$enableval" != "xno"; then + AC_DEFINE(ENABLE_MCSERVER, 1, [Define to enable mc-specific networking file system server]) + AC_MC_VFS_ADDNAME([mcfs]) + enable_mcserver=yes + fi] + ) - dnl Check for crypt() - needed for both /etc/shadow and /etc/passwd. - if test -z "$mcserv_pam"; then + if test x"$enable_mcserver" = "xyes"; then + AC_MC_VFS_MCFS_SET - dnl Check for pwdauth() - used on SunOS. - AC_CHECK_FUNCS([pwdauth]) + dnl Check if PAM can be used for mcserv + AC_CHECK_LIB(dl, dlopen, [LIB_DL="-ldl"]) + AC_CHECK_LIB(pam, pam_start, [ + AC_DEFINE(HAVE_PAM, 1, + [Define if PAM (Pluggable Authentication Modules) is available]) + MCSERVLIBS="-lpam $LIB_DL" + mcserv_pam=yes], [], [$LIB_DL]) - dnl Check for crypt() - AC_CHECK_HEADERS([crypt.h], [crypt_header=yes]) - if test -n "$crypt_header"; then - save_LIBS="$LIBS" - LIBS= - AC_SEARCH_LIBS(crypt, [crypt crypt_i], [mcserv_auth=crypt]) - MCSERVLIBS="$LIBS" - LIBS="$save_LIBS" - if test -n "$mcserv_auth"; then - AC_DEFINE(HAVE_CRYPT, 1, - [Define to use crypt function in mcserv]) + dnl Check for crypt() - needed for both /etc/shadow and /etc/passwd. + if test -z "$mcserv_pam"; then - dnl Check for shadow passwords - AC_CHECK_HEADERS([shadow.h shadow/shadow.h], - [shadow_header=yes; break]) - if test -n "$shadow_header"; then - save_LIBS="$LIBS" - LIBS="$MCSERVLIBS" - AC_SEARCH_LIBS(getspnam, [shadow], [mcserv_auth=shadow]) - MCSERVLIBS="$LIBS" - LIBS="$save_LIBS" - if test -n "$mcserv_auth"; then - AC_DEFINE(HAVE_SHADOW, 1, - [Define to use shadow passwords for mcserv]) - fi - fi - fi - fi + dnl Check for pwdauth() - used on SunOS. + AC_CHECK_FUNCS([pwdauth]) + + dnl Check for crypt() + AC_CHECK_HEADERS([crypt.h], [crypt_header=yes]) + if test -n "$crypt_header"; then + save_LIBS="$LIBS" + LIBS= + AC_SEARCH_LIBS(crypt, [crypt crypt_i], [mcserv_auth=crypt]) + MCSERVLIBS="$LIBS" + LIBS="$save_LIBS" + if test -n "$mcserv_auth"; then + AC_DEFINE(HAVE_CRYPT, 1, + [Define to use crypt function in mcserv]) + + dnl Check for shadow passwords + AC_CHECK_HEADERS([shadow.h shadow/shadow.h], + [shadow_header=yes; break]) + if test -n "$shadow_header"; then + save_LIBS="$LIBS" + LIBS="$MCSERVLIBS" + AC_SEARCH_LIBS(getspnam, [shadow], [mcserv_auth=shadow]) + MCSERVLIBS="$LIBS" + LIBS="$save_LIBS" + if test -n "$mcserv_auth"; then + AC_DEFINE(HAVE_SHADOW, 1, + [Define to use shadow passwords for mcserv]) + fi + fi + fi + fi + fi fi - AC_SUBST(MCSERVLIBS) ]) diff --git a/m4.include/mc-vfs.m4 b/m4.include/mc-vfs.m4 index e44e81a4f..7b749aa74 100644 --- a/m4.include/mc-vfs.m4 +++ b/m4.include/mc-vfs.m4 @@ -49,18 +49,8 @@ AC_DEFUN([MC_WITH_VFS], AC_CHECK_RPC AC_REQUIRE_SOCKET - dnl - dnl mcfs support - dnl - AC_ARG_WITH(mcfs, - [ --with-mcfs Support mc-specific networking file system [[no]]], - [if test "x$withval" != "xno"; then - AC_DEFINE(ENABLE_VFS_MCFS, 1, [Define to enable mc-specific networking file system]) - AC_MC_VFS_ADDNAME([mcfs]) - use_mcfs=yes - MC_MCSERVER_CHECKS - fi] - ) + MC_MCSERVER_CHECKS + use_net_code=true fi fi diff --git a/m4.include/vfs/mc-vfs-mcfs.m4 b/m4.include/vfs/mc-vfs-mcfs.m4 index 670d1f86e..ae7fc490d 100644 --- a/m4.include/vfs/mc-vfs-mcfs.m4 +++ b/m4.include/vfs/mc-vfs-mcfs.m4 @@ -1,14 +1,17 @@ +AC_DEFUN([AC_MC_VFS_MCFS_SET], +[ + AC_REQUIRE_SOCKET + AC_CHECK_RPC + AC_DEFINE(ENABLE_VFS_MCFS, 1, [Define to enable mc-specific networking file system]) + AC_MC_VFS_ADDNAME([mcfs]) + use_net_code=true +]) + AC_DEFUN([AC_MC_VFS_MCFS], [ AC_ARG_ENABLE([vfs-mcfs], [ --enable-vfs-mcfs Enable Support MCFS (mc's network filesystem)]) if test "$enable_vfs_mcfs" = "yes" ; then - AC_REQUIRE_SOCKET - AC_CHECK_RPC - AC_DEFINE(ENABLE_VFS_MCFS, 1, [Define to enable mc-specific networking file system]) - AC_MC_VFS_ADDNAME([mcfs]) - use_mcfs=yes - MC_MCSERVER_CHECKS - use_net_code=true + AC_MC_VFS_MCFS_SET fi ]) diff --git a/vfs/Makefile.am b/vfs/Makefile.am index b37aebd56..5f30ddabb 100644 --- a/vfs/Makefile.am +++ b/vfs/Makefile.am @@ -87,13 +87,12 @@ else libvfs_mc_a_SOURCES = $(NONETFILES) endif -if ENABLE_VFS_MCFS +if ENABLE_MCSERVER sbin_PROGRAMS = mcserv +mcserv_SOURCES = mcserv.c mcfsutil.c +mcserv_LDADD = $(MCSERVLIBS) endif -mcserv_SOURCES = mcserv.c mcfsutil.c - -mcserv_LDADD = $(MCSERVLIBS) SAMBA_DIST = \ Makefile.in \