diff options
Diffstat (limited to 'contrib/cvs/configure.in')
-rw-r--r-- | contrib/cvs/configure.in | 1172 |
1 files changed, 0 insertions, 1172 deletions
diff --git a/contrib/cvs/configure.in b/contrib/cvs/configure.in deleted file mode 100644 index 8c83397..0000000 --- a/contrib/cvs/configure.in +++ /dev/null @@ -1,1172 +0,0 @@ -dnl configure.in for cvs -AC_INIT([Concurrent Versions System (CVS)],[1.11.22.1], - [bug-cvs@nongnu.org],[cvs]) -AC_CONFIG_SRCDIR(src/cvs.h) -AM_INIT_AUTOMAKE([gnu 1.7.9 dist-bzip2 no-define]) -AC_PREREQ(2.60) - -AC_PREFIX_PROGRAM(cvs) -AM_CONFIG_HEADER(config.h) -AM_MAINTAINER_MODE - -AC_PROG_CC -AM_PROG_CC_C_O - -dnl FIXME the next three calls should be avoided according to autoconf -dnl philosophy. for example, AC_CHECK_LIB should be used to look for crypt. -dnl -dnl These are here instead of later because they want to be called before -dnl anything that calls a C compiler. -AC_AIX -AC_MINIX - -# Find the posix library needed on INTERACTIVE UNIX (ISC) -dnl -dnl From the Autoconf 2.53 manual (AC_ISC_POSIX): -dnl -dnl For INTERACTIVE UNIX (ISC), add `-lcposix' to output variable -dnl `LIBS' if necessary for POSIX facilities. Call this after -dnl `AC_PROG_CC' and before any other macros that use POSIX -dnl interfaces. INTERACTIVE UNIX is no longer sold, and Sun says that -dnl they will drop support for it on 2006-07-23, so this macro is -dnl becoming obsolescent. -dnl -AC_SEARCH_LIBS([strerror], [cposix]) - -dnl -dnl Autoconf stopped setting $ISC sometime before 2.53 -dnl -dnl If this is still important, someone should come up with a generic test -dnl for whether _SYSV3 needs to be defined. Removed code below: -dnl -dnl if test "$ISC" = yes; then -dnl CFLAGS="$CFLAGS -D_SYSV3" -dnl # And I don't like this... In theory it should be found later if server is -dnl # enabled, but maybe something on INTERACTIVE UNIX (ISC) we didn't ask to -dnl # link with crypt tries? Anyhow, the autoconf manual says we can delete -dnl # this ISC stuff on or after 2006-07-23 when Sun discontinues support and -dnl # ISC becomes obsolescent, but I suppose that is probably a matter of -dnl # opinion. -dnl # -dnl # N.B. The reason for doing this is that some moron decided to put a stub -dnl # for crypt in libc that always returns NULL. Without this here, the later -dnl # check will find the stub instead of the real thing, resulting in a server -dnl # that can't process crypted passwords correctly. -dnl -dnl # again, if we have to try and reenable this for ISC, someone should come -dnl # up with a generic test that figures out whether crypt is good or not - -dnl # Is it always returning NULL? -dnl LIBS="-lcrypt $LIBS" -dnl fi -dnl -dnl FIXME - This has been broken for at least a few months anyhow, so I'm -dnl removing the crypt lib define above, but the correct fix would be to -dnl provide a CRYPT_WORKS macro or the like that gets called sometime after -dnl the AC_SEARCH_LIBS call that normally finds crypt, and if crypt doesn't -dnl work, the macro should be retried with LIBS="-lcrypt $LIBS" forced. -dnl - -AC_PROG_RANLIB -AC_PROG_YACC -AC_PROG_LN_S -AC_EXEEXT - -AC_PATH_PROG(PERL, perl, no) -AC_PATH_PROG(CSH, csh, no) -# for contrib/rcs2log.sh & src/cvsbug.in. -AC_PATH_PROG(MKTEMP, mktemp, mktemp) -if test x"$MKTEMP" = xmktemp; then - MKTEMP_SH_FUNCTION=$srcdir/mktemp.sh -else - MKTEMP_SH_FUNCTION=/dev/null -fi -AC_SUBST_FILE(MKTEMP_SH_FUNCTION) -# for src/cvsbug.in -AC_PATH_PROG(SENDMAIL, sendmail, no, [$PATH:/usr/sbin:/usr/lib]) -# For diff/util.c -AC_PATH_PROG(PR, pr, no) -if test x"$PR" != xno; then - AC_DEFINE_UNQUOTED([PR_PROGRAM], ["$PR"], [Path to the pr utility]) -fi - -dnl FIXME This is truly gross. -missing_dir=`cd $ac_aux_dir && pwd` -dnl FIXME I pulled this default list from sanity.sh. Perhaps these lists -dnl can be stored in one location? -dnl -dnl Yeah, put the value in a variable add it to the substitution list -dnl then have configure create sanity.sh from sanity.sh.in... -glocs="$PATH:/usr/local/bin:/usr/contrib/bin:/usr/gnu/bin:/local/bin:/local/gnu/bin:/gnu/bin" -AC_PATH_PROGS(ROFF, groff roff, $missing_dir/missing roff, $glocs) -AC_PATH_PROG(PS2PDF, ps2pdf, $missing_dir/missing ps2pdf) -AC_PATH_PROG(TEXI2DVI, texi2dvi, $missing_dir/missing texi2dvi) - -AC_SYS_INTERPRETER -if test X"$ac_cv_sys_interpreter" != X"yes" ; then - # silly trick to avoid problems in AC macros... - ac_msg='perl scripts using #! may not be invoked properly' - AC_MSG_WARN($ac_msg) -fi - -# BSD's logo is a devil for a reason, hey? -AC_CACHE_CHECK(for BSD VPATH bug in make, ccvs_cv_bsd_make_vpath_bug, -[if test ! -d ac_test_dir ; then - AC_TRY_COMMAND([mkdir ac_test_dir]) -fi -cat >conftestmake <<EOF -VPATH = ac_test_dir -ac_test_target: ac_test_dep - echo BSD VPATH bug present >&2 -ac_test_dep: ac_test_dep_dep -EOF -touch ac_test_dir/ac_test_dep_dep -touch ac_test_dir/ac_test_dep -touch ac_test_target -# Don't know why, but the following test doesn't work under FreeBSD 4.2 -# without this sleep command -sleep 1 -if AC_TRY_COMMAND([make -f conftestmake 2>&1 >/dev/null |grep ^BSD\ VPATH\ bug\ present\$ >/dev/null]) ; then - ccvs_cv_bsd_make_vpath_bug=yes -else - ccvs_cv_bsd_make_vpath_bug=no -fi -AC_TRY_COMMAND([rm -rf ac_test_dir ac_test_target conftestmake])]) -# We also don't need to worry about the bug when $srcdir = $builddir -AM_CONDITIONAL(MAKE_TARGETS_IN_VPATH, \ - test $ccvs_cv_bsd_make_vpath_bug = no \ - || test $srcdir = .) - -AC_HEADER_DIRENT -AC_HEADER_STDC -AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS(\ - errno.h \ - direct.h \ - fcntl.h \ - fnmatch.h \ - io.h \ - limits.h \ - memory.h \ - ndbm.h \ - string.h \ - syslog.h \ - sys/bsdtypes.h \ - sys/file.h \ - sys/param.h \ - sys/resource.h \ - sys/select.h \ - sys/time.h \ - sys/timeb.h \ - unistd.h \ - utime.h\ -) -AC_HEADER_STAT -AC_HEADER_TIME - -AC_C_CONST -AC_TYPE_UID_T -AC_TYPE_MODE_T -AC_TYPE_PID_T -AC_TYPE_SIZE_T -AC_TYPE_SIGNAL - -AC_CHECK_MEMBERS([struct stat.st_blksize]) -AC_CHECK_MEMBERS([struct stat.st_rdev]) - -AC_REPLACE_FUNCS(\ - dup2 \ - ftruncate \ - gethostname \ - memmove \ - mkdir \ - rename \ - strerror \ - strstr \ - strtoul\ - valloc \ - waitpid \ -) - - - -dnl -dnl Begin GNULIB stuff. -dnl -gl_XSIZE - -dnl We always want to use the GNULIB getpass, so define its name to something -dnl that won't conflict with system declarations. -AC_DEFINE([getpass], [cvs_getpass], - [We want to always use the GNULIB version of getpass which we have in lib, - so define getpass to something that won't conflict with any existing system - declarations.]) - -dnl -dnl End GNULIB stuff. -dnl - - - -AC_CHECK_FUNCS(\ - fchdir \ - fchmod \ - fsync \ - ftime \ - geteuid \ - getgroups \ - getopt \ - getpagesize \ - gettimeofday \ - initgroups \ - login \ - logout \ - mknod \ - mkstemp \ - mktemp \ - putenv \ - readlink \ - regcomp \ - regerror \ - regexec \ - regfree \ - sigaction \ - sigblock \ - sigprocmask \ - sigsetmask \ - sigvec \ - tempnam \ - timezone \ - tzset \ - vprintf \ - wait3 \ -) -# we only need one of the following -AC_CHECK_FUNCS([\ - nanosleep \ - usleep \ - select \ -], [break]) - -dnl -dnl The CVS coding standard (as specified in HACKING) is that if it exists -dnl in SunOS4 and ANSI, we use it. CVS itself, of course, therefore doesn't -dnl need HAVE_* defines for such functions, but diff wants them. -dnl -AC_DEFINE(HAVE_STRCHR, 1, -[Define if you have strchr (always for CVS).]) -AC_DEFINE(HAVE_MEMCHR, 1, -[Define if you have memchr (always for CVS).]) - -dnl -dnl Force lib/regex.c to use malloc instead of messing around with alloca -dnl and define the old re_comp routines that we use. -dnl -AC_DEFINE(REGEX_MALLOC, 1, -[Define to force lib/regex.c to use malloc instead of alloca.]) -AC_DEFINE(_REGEX_RE_COMP, 1, -[Define to force lib/regex.c to define re_comp et al.]) -dnl -dnl AC_FUNC_FORK([]) is rather baroque. It seems to be rather more picky -dnl than, say, the Single Unix Specification (version 2), which simplifies -dnl a lot of cases by saying that the child process can't set any variables -dnl (thus avoiding problems with register allocation) or call any functions -dnl (thus avoiding problems with whether file descriptors are shared). -dnl It would be nice if we could just write to the Single Unix Specification. -dnl I think the only way to do redirection this way is by doing it in the -dnl parent, and then undoing it afterwards (analogous to windows-NT/run.c). -dnl That would appear to have a race condition if the user hits ^C (or -dnl some other signal) at the wrong time, as main_cleanup will try to use -dnl stdout/stderr. So maybe we are stuck with AC_FUNC_FORK([]). -dnl -AC_FUNC_FORK([]) -AC_FUNC_CLOSEDIR_VOID - -dnl -dnl Check for shadow password support. -dnl -dnl We used to try to determine whether shadow passwords were actually in -dnl use or not, but the code has been changed to work right reguardless, -dnl so we can go back to a simple check. -AC_SEARCH_LIBS(getspnam, sec gen, AC_DEFINE(HAVE_GETSPNAM, 1, -[Define if you have the getspnam function.])) - -AC_FUNC_UTIME_NULL -AC_SYS_LONG_FILE_NAMES - -AC_FUNC_FNMATCH -if test "$ac_cv_func_fnmatch_works" = no; then - AC_LIBOBJ(fnmatch) - AC_CONFIG_LINKS(lib/fnmatch.h:lib/fnmatch.h.in) - AC_LIBSOURCE(fnmatch.h.in) -fi - -# Try to find connect and gethostbyname. -AC_CHECK_LIB(nsl, main) -AC_SEARCH_LIBS(connect, xnet socket inet, - AC_DEFINE(HAVE_CONNECT, 1, -[Define if you have the connect function.])) -dnl no need to search nsl for gethostbyname here since we should have -dnl just added libnsl above if we found it. -AC_SEARCH_LIBS(gethostbyname, netinet) - - -dnl -dnl begin --with-* -dnl - -dnl -dnl set $(KRB4) from --with-krb4=value -- WITH_KRB4 -dnl -dnl If you change this, keep in mind that some systems have a bogus -dnl libkrb in the system libraries, so --with-krb4=value needs to -dnl override the system -lkrb. -dnl -KRB4=/usr/kerberos -define(WITH_KRB4,[ -AC_ARG_WITH( - [krb4], - AC_HELP_STRING( - [--with-krb4], - [Kerberos 4 directory (default /usr/kerberos)]), - [KRB4=$with_krb4], -)dnl -AC_MSG_CHECKING([for KRB4 in $KRB4]) -AC_MSG_RESULT([]) -AC_SUBST(KRB4)])dnl -WITH_KRB4 - -krb_h= -AC_MSG_CHECKING([for krb.h]) -if test "$cross_compiling" != yes && test -r $KRB4/include/krb.h; then - hold_cflags=$CFLAGS - CFLAGS="$CFLAGS -I$KRB4/include" - AC_TRY_LINK([#include <krb.h>],[int i;], - [krb_h=yes krb_incdir=$KRB4/include], - [CFLAGS=$hold_cflags - AC_TRY_LINK([#include <krb.h>],[int i;], - [krb_h=yes krb_incdir=])]) - CFLAGS=$hold_cflags -else - AC_TRY_LINK([#include <krb.h>],[int i;], - [krb_h=yes krb_incdir=]) -fi -if test -z "$krb_h"; then - AC_TRY_LINK([#include <krb.h>],[int i;], - [krb_h=yes krb_incdir=], - [if test "$cross_compiling" != yes && test -r $KRB4/include/kerberosIV/krb.h; then - hold_cflags=$CFLAGS - CFLAGS="$CFLAGS -I$KRB4/include/kerberosIV" - AC_TRY_LINK([#include <krb.h>],[int i;], - [krb_h=yes krb_incdir=$KRB4/include/kerberosIV]) - CFLAGS=$hold_cflags - fi]) -fi -AC_MSG_RESULT($krb_h) - -includeopt= -AC_SUBST(includeopt) -if test -n "$krb_h"; then - krb_lib= - if test "$cross_compiling" != yes && test -r $KRB4/lib/libkrb.a; then - hold_ldflags=$LDFLAGS - LDFLAGS="-L${KRB4}/lib $LDFLAGS" - AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=${KRB4}/lib], - [LDFLAGS=$hold_ldflags - # Using open here instead of printf so we don't - # get confused by the cached value for printf from above. - AC_CHECK_LIB(krb,open,[krb_lib=yes krb_libdir=])]) - LDFLAGS=$hold_ldflags - else - AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=]) - AC_CHECK_FUNC(krb_recvauth,[krb_lib=yes krb_libdir=]) - fi - if test -n "$krb_lib"; then - AC_DEFINE([HAVE_KERBEROS], 1, - [Define if you have MIT Kerberos version 4 available.]) - test -n "${krb_libdir}" && LIBS="${LIBS} -L${krb_libdir}" - # Put -L${krb_libdir} in LDFLAGS temporarily so that it appears before - # -ldes in the command line. Don't do it permanently so that we honor - # the user's setting for LDFLAGS - hold_ldflags=$LDFLAGS - test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}" - AC_CHECK_LIB(des,printf,[LIBS="${LIBS} -ldes"]) - AC_CHECK_LIB(krb,krb_recvauth) - AC_CHECK_LIB(krb4,krb_recvauth) - LDFLAGS=$hold_ldflags - if test -n "$krb_incdir"; then - includeopt="${includeopt} -I$krb_incdir" - fi - fi -fi -AC_CHECK_FUNCS(krb_get_err_text) - - -dnl -dnl WITH_GSSAPI is external -dnl -dnl TODO - I tried to put these in alphabetical order, but ACX_WITH_GSSAPI -dnl fails unless called after the KRB4 stuff. I don't know why. -dnl -ACX_WITH_GSSAPI - - -dnl -dnl begin --with-editor -dnl -dnl Set the default editor to use for log messages -dnl - -AC_ARG_VAR( - [EDITOR], - [The text editor CVS will use by default for log messages.]) - -# Let the confiscator request a specific editor -AC_ARG_WITH( - [editor], - AC_HELP_STRING( - [--with-editor], - [The default text editor CVS should use for log messages - (default autoselects)]), , - [with_editor=yes]) - -# If --with-editor was supplied with an argument, let it override $EDITOR from -# the user's environment. We need to unset EDITOR here because AC_CHECK_PROGS -# will let the value of EDITOR ride when it is set rather than searching. We -# ignore the --without-editor case since it will be caught below. -if test -n "$EDITOR" && test yes != $with_editor; then - AS_UNSET([EDITOR]) -fi - -# Set the default when --with-editor wasn't supplied or when it was supplied -# without an argument. -if test yes = $with_editor; then - with_editor="vim vi emacs nano pico edit" -fi - -if echo $with_editor |grep ^/ >/dev/null; then - # If $with_editor is an absolute path, issue a warning if the executable - # doesn't exist or isn't usable, but then trust the user and use it - # regardless - EDITOR=$with_editor - AC_MSG_CHECKING([for an editor]) - AC_MSG_RESULT([$EDITOR]) - if ! test -f $with_editor \ - || ! test -x $with_editor; then - # warn the user that they may encounter problems - AC_MSG_WARN([\`$with_editor' is not a path to an executable file]) - fi -elif test no != "${with_editor}"; then - # Search for an editor - AC_CHECK_PROGS([EDITOR], [$with_editor], [no]) - if test no = "${EDITOR}"; then - AC_MSG_ERROR([ - Failed to find a text file editor. CVS cannot be compiled - without a default log message editor. Searched for - \`$with_editor'. Try \`configure --with-editor'.]) - fi -else - AC_MSG_ERROR([ - CVS cannot be compiled without a default log message editor. - Try \`configure --with-editor'.]) -fi - -dnl FIXME - Using --without-editor will probably break a compile at -dnl the moment, but maybe it is reasonable for someone to want to -dnl compile a CVS executable that refuses to run if no $EDITOR, -dnl $CVS_EDITOR, or -e option is specified? Making a preliminary -dnl design decision in this direction, subject to discussion. -dnl -dnl Still don't know if the above would be useful, but we shouldn't -dnl be able to get here any longer without $EDITOR defined due to the -dnl error checking above. -AC_DEFINE_UNQUOTED( - [EDITOR_DFLT], ["$EDITOR"], - [The default editor to use, if one does not specify the "-e" option - to cvs, or does not have an EDITOR environment variable. If this - is not set to an absolute path to an executable, use the shell to - find where the editor actually is. This allows sites with - /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their - PATH is reasonable).]) - -dnl -dnl done finding an editor -dnl -dnl end --with-editor -dnl - -dnl -dnl begin --with-ssh -dnl - -# What remote shell transport should the :extssh: client cvs default to using? -AC_ARG_WITH( - [ssh], - AC_HELP_STRING( - [--with-ssh], - [The default remote shell CVS will use for :extssh: transport - (default autodetects)]), , - [with_ssh="ssh lshc ssh2"]) - -if test no = "$with_ssh"; then - AC_MSG_WARN([Failed to find usable remote shell. Using 'ssh'.]) - with_ssh=ssh -elif test yes = "$with_ssh"; then - # Make --with-ssh mean the same thing as --with-ssh=ssh - with_ssh=ssh -fi - -if echo $with_ssh |grep ^/ >/dev/null; then - # If $with_ssh is an absolute path, issue a warning if the executable - # doesn't exist or isn't usable, but then trust the user and use it - # regardless - with_default_ssh=$with_ssh - AC_MSG_CHECKING([for a remote shell]) - if ! test -f $with_ssh \ - || ! test -x $with_ssh; then - # warn the user that they may encounter problems - AC_MSG_WARN([$with_ssh is not a path to an executable file]) - fi -else - # Search for a remote shell - AC_CHECK_PROGS([with_default_ssh], [$with_ssh], "ssh") -fi - -AC_DEFINE_UNQUOTED( - [SSH_DFLT], ["$with_default_ssh"], - [The default remote shell to use, if one does not specify the - CVS_SSH environment variable.]) -dnl done with finding a default CVS_SSH value -dnl -dnl end --with-ssh -dnl - - -dnl -dnl begin --with-rsh -dnl -dnl Many sites no longer desire the use of "rsh" as the default -dnl remote shell program. They typically favor "ssh" as the default - -# What remote shell transport should our client cvs default to using? -AC_ARG_WITH( - [rsh], - AC_HELP_STRING( - [--with-rsh], - [The default remote shell CVS will use for :ext: transport - (default autodetects)]), , - dnl `remsh' is only useful on HP-UX, where `rsh' is the `restricted shell' - dnl and `remsh' is the remote shell, but look for it first since it - dnl probably won't exist on any platform where it shouldn't be preferred - dnl to `rsh'. - [with_rsh="remsh rsh ssh lshc ssh2"]) - -if test no = "$with_rsh"; then - AC_MSG_WARN([Failed to find usable remote shell. Using 'rsh'.]) - with_rsh=rsh -elif test yes = "$with_rsh"; then - # Make --with-rsh mean the same thing as --with-rsh=rsh - with_rsh=rsh -fi - -if echo $with_rsh |grep ^/ >/dev/null; then - # If $with_rsh is an absolute path, issue a warning if the executable - # doesn't exist or isn't usable, but then trust the user and use it - # regardless - with_default_rsh=$with_rsh - AC_MSG_CHECKING([for a remote shell]) - if ! test -f $with_rsh \ - || ! test -x $with_rsh; then - # warn the user that they may encounter problems - AC_MSG_WARN([$with_rsh is not a path to an executable file]) - fi -else - # Search for a remote shell - AC_CHECK_PROGS([with_default_rsh], [$with_rsh], "rsh") -fi - -AC_DEFINE_UNQUOTED( - [RSH_DFLT], ["$with_default_rsh"], - [The default remote shell to use, if one does not specify the - CVS_RSH environment variable.]) -dnl done with finding a default CVS_RSH value -dnl -dnl end --with-rsh -dnl - - -dnl -dnl Find a temporary directory -dnl -AC_ARG_WITH( - [tmpdir], - AC_HELP_STRING( - [--with-tmpdir], - [The temporary directory CVS should use as a default - (default autoselects)])) - -AC_MSG_CHECKING([for temporary directory]) -if test -z "$with_tmpdir" || test yes = "$with_tmpdir"; then - for with_tmpdir in /tmp /var/tmp no; do - if test -d "$with_tmpdir" && test -x "$with_tmpdir" \ - && test -w "$with_tmpdir" && test -r "$with_tmpdir"; then - break - fi - done - if test no = "$with_tmpdir"; then - AC_MSG_WARN([Failed to find usable temporary directory. Using '/tmp'.]) - with_tmpdir=/tmp - fi - AC_MSG_RESULT([$with_tmpdir]) -elif ! echo "$with_tmpdir" |grep '^[[\\/]]'; then - AC_MSG_RESULT([$with_tmpdir]) - AC_MSG_ERROR([--with-tmpdir requires an absolute path.]) -elif ! test -d "$with_tmpdir" || ! test -x "$with_tmpdir" \ - || ! test -w "$with_tmpdir" || ! test -r "$with_tmpdir"; then - AC_MSG_RESULT([$with_tmpdir]) - AC_MSG_WARN( - [User supplied temporary directory ('$with_tmpdir') does not - exist or lacks sufficient permissions for read/write.]) -fi - -AC_DEFINE_UNQUOTED( - [TMPDIR_DFLT], ["$with_tmpdir"], - [Directory used for storing temporary files, if not overridden by - environment variables or the -T global option. There should be little - need to change this (-T is a better mechanism if you need to use a - different directory for temporary files).]) - -dnl -dnl done finding tmpdir -dnl - - -dnl -dnl Get default umask -dnl - -AC_ARG_WITH( - [umask], - AC_HELP_STRING( - [--with-umask], - [Set the umask CVS will use by default in the repository (default 002)])) - -if test -z "$with_umask" || test yes = "$with_umask"; then - with_umask=002 -elif test no = "$with_umask"; then - with_umask=000 -fi - -AC_DEFINE_UNQUOTED( - [UMASK_DFLT], [$with_umask], - [The default umask to use when creating or otherwise setting file or - directory permissions in the repository. Must be a value in the - range of 0 through 0777. For example, a value of 002 allows group - rwx access and world rx access; a value of 007 allows group rwx - access but no world access. This value is overridden by the value - of the CVSUMASK environment variable, which is interpreted as an - octal number.]) - -dnl -dnl Done setting default umask -dnl - -dnl -dnl Set CVS Administrator Group -dnl -AC_ARG_WITH( - [cvs-admin-group], - AC_HELP_STRING( - [--with-cvs-admin-group=GROUP], - [The CVS admin command is restricted to the members of this group. - If this group does not exist, all users are allowed to run CVS admin. - To disable the CVS admin command for all users, create an empty group - by specifying the --with-cvs-admin-group= option. To disable access - control for CVS admin, run configure with the --without-cvs-admin-group - option. (default 'cvsadmin')]), , - [with_cvs_admin_group=cvsadmin]) - -if test yes = "$with_cvs_admin_group"; then - with_cvs_admin_group=cvsadmin -fi -if test no != "$with_cvs_admin_group"; then - dnl FIXME We should warn if the group doesn't exist - AC_DEFINE_UNQUOTED( - [CVS_ADMIN_GROUP], ["$with_cvs_admin_group"], - [The CVS admin command is restricted to the members of the group - CVS_ADMIN_GROUP. If this group does not exist, all users are - allowed to run CVS admin. To disable the CVS admin command for - all users, create an empty CVS_ADMIN_GROUP by running configure - with the --with-cvs-admin-group= option. To disable access control - for CVS admin, run configure with the --without-cvs-admin-group - option in order to comment out the define below.]) -fi - -dnl -dnl Done setting CVS Administrator Group -dnl - -dnl -dnl end --with-* -dnl - - -dnl -dnl Set the NDBM library to use. -dnl -dnl XXX - FIXME - FIXME - FIXME - XXX -dnl -dnl This is very bad. It should really autodetect an appropriate NDBM library -dnl and, if it doesn't find one, decide to use MY_NDBM. I'm am defining -dnl this here since this is no worse than it worked when it was in options.h -dnl and I am cleaning out options.h so that the Windows version of CVS will -dnl compile properly for the next release. -dnl -dnl That's why this option is in the --with-* section rather than the -dnl --enable-* section. -dnl -dnl XXX - FIXME - FIXME - FIXME - XXX -dnl -AC_ARG_ENABLE( - [cvs-ndbm], - AC_HELP_STRING( - [--enable-cvs-ndbm], - [Use the NDBM library distributed with CVS rather than attempting to use - a system NDBM library. Disabling this may not work. (default)]), , - [enable_cvs_ndbm=yes]) -if test no != "$enable_cvs_ndbm"; then - AC_DEFINE( - [MY_NDBM], [1], - [By default, CVS stores its modules and other such items in flat - text files (MY_NDBM enables this). Turning off MY_NDBM causes CVS - to look for a system-supplied ndbm database library and use it - instead. That may speed things up, but the default setting - generally works fine too.]) -fi - -dnl -dnl Done selecting NDBM library. -dnl - - -dnl -dnl begin --enables -dnl - - -dnl Allow mmap for the buffer routine replacements to be disabled in -dnl case of problems. - -AC_ARG_ENABLE( - [mmap], - AC_HELP_STRING( - [--disable-mmap], - [Don't mmap RCS files])) - -if test no != "$enable_mmap"; then - AC_FUNC_MMAP -fi - -# Check for options requesting client and server feature. If none are -# given and we have connect(), we want the full client & server arrangement. -AC_ARG_ENABLE( - [client], - AC_HELP_STRING( - [--enable-client], - [Include code for running as a remote client (default)]), , - [if test "$ac_cv_search_connect" != no; then - enable_client=yes - fi]) -if test no != "$enable_client"; then - AC_DEFINE( - [CLIENT_SUPPORT], [1], - [Define if you want CVS to be able to be a remote repository client.]) -fi - -AC_ARG_ENABLE( - [password-authenticated-client], - AC_HELP_STRING( - [--enable-password-authenticated-client], - [Enable pserver as a remote access method in the CVS client - (default)])) - -if test no != "$enable_password_authenticated_client"; then - if test no != "$enable_client"; then - AC_DEFINE( - [AUTH_CLIENT_SUPPORT], [1], - [Enable AUTH_CLIENT_SUPPORT to enable pserver as a remote access - method in the CVS client (default)]) - else - AC_MSG_WARN( - [--enable-password-authenticated-client is meaningless with - the CVS client disabled (--disable-client)]) - fi -fi - - -dnl -dnl Give the confiscator control over whether the server code is compiled -dnl -AC_ARG_ENABLE( - [server], - AC_HELP_STRING( - [--enable-server], - [Include code for running as a server (default)]), , - [if test "$ac_cv_search_connect" != no; then - enable_server=yes - fi]) - -if test no != "$enable_server"; then - AC_DEFINE( - [SERVER_SUPPORT], [1], - [Define if you want CVS to be able to serve repositories to remote - clients.]) - - dnl - dnl The auth server needs to be able to check passwords against passwd - dnl file entries, so we only #define AUTH_SERVER_SUPPORT if we can - dnl find the crypt function. - dnl - AC_SEARCH_LIBS( - [crypt], [crypt], - [AC_DEFINE( - [HAVE_CRYPT], [1], - [Define if you have the crypt function.]) - AC_DEFINE( - [AUTH_SERVER_SUPPORT], [1], - [Define if you want to use the password authenticated server.])dnl - ])dnl AC_SEARCH_LIBS - - dnl - dnl Allow the configurer to enable server flowcontrol. Read the help - dnl strings below for a full explanation. - dnl - AC_ARG_ENABLE( - [server-flow-control], - AC_HELP_STRING( - [--enable-server-flow-control], - [If you are working with a large remote repository and a 'cvs - checkout' is swamping your network and memory, define these to - enable flow control. You may optionally pass a low water mark - in bytes and a high water mark in bytes, separated by commas. - (default is enabled 1M,2M)]), - [if test yes = $enable_server_flow_control; then - enable_server_flow_control=1M,2M - fi], - [enable_server_flow_control=1M,2M]) - if test no != $enable_server_flow_control; then - ccvs_lwm=`expr "$enable_server_flow_control" : '\(.*\),'` - ccvs_hwm=`expr "$enable_server_flow_control" : '.*,\(.*\)'` - ccvs_lwm_E=`expr "$ccvs_lwm" : '[[0-9]][[0-9]]*\(.*\)'` - ccvs_lwm=`expr "$ccvs_lwm" : '\([[0-9]][[0-9]]*\)'` - test "" != "$ccvs_lwm" || ccvs_lwm_E="?" - case $ccvs_lwm_E in - G) ccvs_lwm="$ccvs_lwm * 1024 * 1024 * 1024";; - M) ccvs_lwm="$ccvs_lwm * 1024 * 1024";; - k) ccvs_lwm="$ccvs_lwm * 1024";; - b | '') ;; - *) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control - ('$enable_server_flow_control') as <lwm>,<hwm>]) - esac - ccvs_hwm_E=`expr "$ccvs_hwm" : '[[0-9]][[0-9]]*\(.*\)'` - ccvs_hwm=`expr "$ccvs_hwm" : '\([[0-9]][[0-9]]*\).*'` - test "" != "$ccvs_hwm" || ccvs_hwm_E="?" - case $ccvs_hwm_E in - G) ccvs_hwm="$ccvs_hwm * 1024 * 1024 * 1024";; - M) ccvs_hwm="$ccvs_hwm * 1024 * 1024";; - k) ccvs_hwm="$ccvs_hwm * 1024";; - b | '') ccvs_hwm="$ccvs_hwm";; - *) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control - ('$enable_server_flow_control') as <lwm>,<hwm>]) - esac - - AC_DEFINE( - [SERVER_FLOWCONTROL], [1], - [If you are working with a large remote repository and a 'cvs - checkout' is swamping your network and memory, define these to - enable flow control. You will end up with even less probability of - a consistent checkout (see Concurrency in cvs.texinfo), but CVS - doesn't try to guarantee that anyway. The master server process - will monitor how far it is getting behind, if it reaches the high - water mark, it will signal the child process to stop generating - data when convenient (ie: no locks are held, currently at the - beginning of a new directory). Once the buffer has drained - sufficiently to reach the low water mark, it will be signalled to - start again.]) - AC_DEFINE_UNQUOTED( - [SERVER_LO_WATER], [($ccvs_lwm)], - [The low water mark in bytes for server flow control. Required if - SERVER_FLOWCONTROL is defined, and useless otherwise.]) - AC_DEFINE_UNQUOTED( - [SERVER_HI_WATER], [($ccvs_hwm)], - [The high water mark in bytes for server flow control. Required if - SERVER_FLOWCONTROL is defined, and useless otherwise.]) - fi # enable_server_flow_control -fi # enable_server - - -dnl -dnl begin --enable-case-sensitivity -dnl - -AC_ARG_ENABLE( - [case-sensitivity], - AC_HELP_STRING( - [--enable-case-sensitivity], - [Force CVS to expect a case sensitive file system. Enabling this on a case - insensitive system should have little effect on the server or client - operation, though client users may ocassionally be suprised that the CVS - server appears to be case sensitive. Disabling this for a case sensitive - server disables server support for case insensitive clients, which can - confuse all users of case insensitive clients contacting the server. - Disabling this for a case sensitive client will cause the client to ask - servers to behave case insensitively, which could cause confusion for - users, but also probably no real harm. (default autoselects based on the - case sensitivity of the file system containing the current working - directory)]), - [case "$enable_case_sensitivity" in - yes | no | auto) ;; - *) - AC_MSG_ERROR([Unrecognized argument to --enable-case-sensitivity: \`$enable_case_sensitivity'. Acceptable values are \`yes', \`no', and \`auto'.]) - ;; - esac], - [enable_case_sensitivity=auto]) - -acx_forced=' (forced)' -AC_MSG_CHECKING([for a case sensitive file system]) -if test $enable_case_sensitivity = auto; then - dnl - dnl Check for a case insensitive filesystem, like Mac OS X and Windows have. - dnl - AC_CACHE_VAL([acx_cv_case_sensitive], - [ rm -f ac_TEST_filenames_CASE_sensitive - echo foo >ac_test_filenames_case_sensitive - if test -f ac_TEST_filenames_CASE_sensitive; then - acx_cv_case_sensitive=no - else - acx_cv_case_sensitive=yes - fi - rm ac_test_filenames_case_sensitive - ]) - enable_case_sensitivity=$acx_cv_case_sensitive - acx_forced= -fi -AC_MSG_RESULT([$enable_case_sensitivity$acx_forced]) -if test $enable_case_sensitivity = no; then - AC_DEFINE([FILENAMES_CASE_INSENSITIVE], [1], - [Define if this executable will be running on case insensitive - file systems. In the client case, this means that it will request - that the server pretend to be case insensitive if it isn't - already.]) - dnl Compile fncase.c (containing fncase() & fncmp()) to handle file name - dnl comparisons on case insensitive filesystems. - AC_LIBOBJ(fncase) -fi - -dnl -dnl end --enable-case-sensitivity -dnl - - -dnl -dnl begin --enable-encryption -dnl - -dnl -dnl Use --enable-encryption to turn on encryption support, but ignore this -dnl option unless either client or server is enabled. -dnl -AC_ARG_ENABLE( - [encryption], - AC_HELP_STRING( - [--enable-encryption], - [Enable encryption support (disabled by default)]), , - [enable_encryption=no]) -if test "$enable_encryption" = yes; then - if test no != "$with_client" || test no != "$with_server"; then - AC_DEFINE( - [ENCRYPTION], [1], - [Define to enable encryption support.]) - else - AC_MSG_WARN( - [--enable-encryption is meaningless when neither the CVS client - nor the CVS server is enabled (--disable-client and --disable-server).]) - fi -fi - -dnl -dnl end --enable-encryption -dnl - - -dnl -dnl begin --enable-force-editor -dnl - -AC_ARG_ENABLE( - [force-editor], - AC_HELP_STRING( - [--enable-force-editor], - [When committing or importing files, you must enter a log message. - Normally, you can do this either via the -m flag on the command - line, the -F flag on the command line, or an editor will be started - for you. If you like to use logging templates (the rcsinfo file - within the $CVSROOT/CVSROOT directory), you might want to force - people to use the editor even if they specify a message with -m or - -F. --enable-force-editor will cause the -m or -F message to be - appended to the temp file when the editor is started. (disabled - by default)]), , - [enable_force_editor=no]) - -if test yes = "$enable_force_editor"; then - AC_DEFINE( - [FORCE_USE_EDITOR], [1], - [When committing or importing files, you must enter a log message. - Normally, you can do this either via the -m flag on the command - line, the -F flag on the command line, or an editor will be started - for you. If you like to use logging templates (the rcsinfo file - within the $CVSROOT/CVSROOT directory), you might want to force - people to use the editor even if they specify a message with -m or - -F. Enabling FORCE_USE_EDITOR will cause the -m or -F message to be - appended to the temp file when the editor is started.]) -fi - -dnl -dnl end --enable-force-editor -dnl - - -dnl -dnl begin --enable-rootcommit -dnl - -dnl -dnl I don't like this here, but I don't really like options.h, either. -dnl Besides, this is causing some problems currently when compiling under -dnl Windows and moving it here should avoid the issue (the wrong options.h -dnl is being used). -dnl -dnl I don't like making this a runtime option either. I think I just don't -dnl like making it easy to get to, but putting it here goes along with the -dnl Autoconf ideal. -dnl -AC_ARG_ENABLE( - [rootcommit], - AC_HELP_STRING( - [--enable-rootcommit], - [Allow the root user to commit files (disabled by default)]), , - [enable_rootcommit=no]) -if test "$enable_rootcommit" = no; then - AC_DEFINE( - [CVS_BADROOT], [1], - [When committing a permanent change, CVS and RCS make a log entry of - who committed the change. If you are committing the change logged - in as "root" (not under "su" or other root-priv giving program), - CVS/RCS cannot determine who is actually making the change. - - As such, by default, CVS prohibits changes committed by users - logged in as "root". You can disable checking by passing the - "--enable-rootcommit" option to configure or by commenting out the - lines below.]) -fi - -dnl -dnl end --enable-rootcommit -dnl - - - -dnl -dnl end --enable-* -dnl - - - -dnl For the moment we will assume that all systems which have -dnl the unixyness to run configure are unixy enough to do the -dnl PreservePermissions stuff. I have this sinking feeling that -dnl things won't be that simple, before long. -dnl AC_DEFINE(PRESERVE_PERMISSIONS_SUPPORT, 1, -dnl [Define if this system supports chown(), link(), and friends.]) - -dnl On cygwin32, we configure like a Unix system, but we need some support -dnl libraries. We do this at the end so that the new libraries are added at -dnl the end of LIBS. -dnl -dnl FIXME: We should be trying to meet the autoconf ideal of checking for -dnl the properties of the system rather than the name of the os here. In other -dnl words, we should check the case sensitivty of the system and then for -dnl the support functions we are using and which library we find them in. -AC_CACHE_CHECK(for cygwin32, ccvs_cv_sys_cygwin32, -[AC_TRY_COMPILE([], [return __CYGWIN32__;], -ccvs_cv_sys_cygwin32=yes, ccvs_cv_sys_cygwin32=no)]) -if test $ccvs_cv_sys_cygwin32 = yes; then - LIBS="$LIBS -ladvapi32" - - dnl On Windows you can only change file times if you can write to - dnl the file. cygwin32 should really handle this for us, but as of - dnl January 1998 it doesn't. - AC_DEFINE(UTIME_EXPECTS_WRITABLE, 1, -[Define if utime requires write access to the file (true on Windows, -but not Unix).]) - - dnl On Windows we must use setmode to change between binary and text - dnl mode. This probably doesn't really require two macro definitions - AC_DEFINE(USE_SETMODE_STDOUT, 1, -[Define if setmode is required when writing binary data to stdout.]) - AC_DEFINE(HAVE_SETMODE, 1, -[Define if the diff library should use setmode for binary files.]) -fi - -dnl associate the setting of the execute bit with the individual scripts -AC_CONFIG_FILES(contrib/check_cvs, [chmod +x contrib/check_cvs]) -AC_CONFIG_FILES(contrib/clmerge, [chmod +x contrib/clmerge]) -AC_CONFIG_FILES(contrib/cln_hist, [chmod +x contrib/cln_hist]) -AC_CONFIG_FILES(contrib/commit_prep, [chmod +x contrib/commit_prep]) -AC_CONFIG_FILES(contrib/cvs_acls, [chmod +x contrib/cvs_acls]) -AC_CONFIG_FILES(contrib/log, [chmod +x contrib/log]) -AC_CONFIG_FILES(contrib/log_accum, [chmod +x contrib/log_accum]) -AC_CONFIG_FILES(contrib/mfpipe, [chmod +x contrib/mfpipe]) -AC_CONFIG_FILES(contrib/pvcs2rcs, [chmod +x contrib/pvcs2rcs]) -AC_CONFIG_FILES(contrib/rcs2log:contrib/rcs2log.sh, [chmod +x contrib/rcs2log]) -AC_CONFIG_FILES(contrib/rcslock, [chmod +x contrib/rcslock]) -AC_CONFIG_FILES(contrib/sccs2rcs, [chmod +x contrib/sccs2rcs]) -AC_CONFIG_FILES(doc/mkman:doc/mkman.pl, [chmod +x doc/mkman]) -AC_CONFIG_FILES(src/cvsbug, [chmod +x src/cvsbug]) -AC_CONFIG_FILES(windows-NT/fix-msvc-mak:windows-NT/fix-msvc-mak-head.pl:windows-NT/fix-msvc-mak.pl, - [chmod +x windows-NT/fix-msvc-mak]) - -dnl the bulk files -AC_CONFIG_FILES([Makefile \ - contrib/Makefile \ - cvs.spec \ - diff/Makefile \ - doc/Makefile \ - emx/Makefile \ - lib/Makefile \ - man/Makefile \ - os2/Makefile \ - src/Makefile \ - tools/Makefile \ - vms/Makefile \ - windows-NT/Makefile \ - windows-NT/SCC/Makefile \ - zlib/Makefile]) - -dnl and we're done -AC_OUTPUT - - - -# Report the state of this version of CVS if this is from dev. -m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[0-9]*\.[0-9]*\.[0-9]*\.[0-9]], -[ cat <<EOF - -You are about to use an unreleased version of CVS. Be sure to -read the relevant mailing lists, most importantly <info-cvs@nongnu.org>. - -Below you will find information on the status of this version of CVS. - - -EOF - sed -n '/^\* Status/,$p' $srcdir/BUGS -]) |