1 dnl configure.in for cvs
4 [Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
5 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
6 Free Software Foundation, Inc.
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.])
18 AC_INIT([Concurrent Versions System (CVS)],[1.12.13-MirDebian-7],
19 [bug-cvs@nongnu.org],[cvs])
20 AC_CONFIG_SRCDIR(src/cvs.h)
21 AC_CONFIG_AUX_DIR(build-aux)
22 AM_INIT_AUTOMAKE([gnu 1.9.2 dist-bzip2 no-define])
25 AC_PREFIX_PROGRAM(cvs)
26 AM_CONFIG_HEADER(config.h)
29 dnl This needs to be called to enable certain system extensions before calling
36 # Find the posix library needed on INTERACTIVE UNIX (ISC)
38 dnl From the Autoconf 2.53 manual (AC_ISC_POSIX):
40 dnl For INTERACTIVE UNIX (ISC), add `-lcposix' to output variable
41 dnl `LIBS' if necessary for POSIX facilities. Call this after
42 dnl `AC_PROG_CC' and before any other macros that use POSIX
43 dnl interfaces. INTERACTIVE UNIX is no longer sold, and Sun says that
44 dnl they will drop support for it on 2006-07-23, so this macro is
45 dnl becoming obsolescent.
47 AC_SEARCH_LIBS([strerror], [cposix])
50 dnl Autoconf stopped setting $ISC sometime before 2.53
52 dnl If this is still important, someone should come up with a generic test
53 dnl for whether _SYSV3 needs to be defined. Removed code below:
55 dnl if test "$ISC" = yes; then
56 dnl CFLAGS="$CFLAGS -D_SYSV3"
57 dnl # And I don't like this... In theory it should be found later if server is
58 dnl # enabled, but maybe something on INTERACTIVE UNIX (ISC) we didn't ask to
59 dnl # link with crypt tries? Anyhow, the autoconf manual says we can delete
60 dnl # this ISC stuff on or after 2006-07-23 when Sun discontinues support and
61 dnl # ISC becomes obsolescent, but I suppose that is probably a matter of
64 dnl # N.B. The reason for doing this is that some moron decided to put a stub
65 dnl # for crypt in libc that always returns NULL. Without this here, the later
66 dnl # check will find the stub instead of the real thing, resulting in a server
67 dnl # that can't process crypted passwords correctly.
69 dnl # again, if we have to try and reenable this for ISC, someone should come
70 dnl # up with a generic test that figures out whether crypt is good or not -
71 dnl # Is it always returning NULL?
72 dnl LIBS="-lcrypt $LIBS"
75 dnl FIXME - This has been broken for at least a few months anyhow, so I'm
76 dnl removing the crypt lib define above, but the correct fix would be to
77 dnl provide a CRYPT_WORKS macro or the like that gets called sometime after
78 dnl the AC_SEARCH_LIBS call that normally finds crypt, and if crypt doesn't
79 dnl work, the macro should be retried with LIBS="-lcrypt $LIBS" forced.
87 AC_PATH_PROG(PERL, perl, no)
88 AC_PATH_PROG(CSH, csh, no)
89 # for contrib/rcs2log.sh & src/cvsbug.in.
90 AC_PATH_PROG(MKTEMP, mktemp, mktemp)
91 if test x"$MKTEMP" = xmktemp; then
92 MKTEMP_SH_FUNCTION=$srcdir/mktemp.sh
94 MKTEMP_SH_FUNCTION=/dev/null
96 AC_SUBST_FILE(MKTEMP_SH_FUNCTION)
98 AC_PATH_PROG(SENDMAIL, sendmail, no, [$PATH:/usr/sbin:/usr/lib])
100 AC_PATH_PROG(PR, pr, no)
101 if test x"$PR" != xno; then
102 AC_DEFINE_UNQUOTED([PR_PROGRAM], ["$PR"], [Path to the pr utility])
105 dnl FIXME This is truly gross.
106 missing_dir=`cd $ac_aux_dir && pwd`
107 dnl FIXME I pulled this default list from sanity.sh. Perhaps these lists
108 dnl can be stored in one location?
110 dnl Yeah, put the value in a variable add it to the substitution list
111 dnl then have configure create sanity.sh from sanity.sh.in...
112 glocs="$PATH:/usr/local/bin:/usr/contrib/bin:/usr/gnu/bin:/local/bin:/local/gnu/bin:/gnu/bin"
113 AC_PATH_PROGS(ROFF, nroff gnroff groff roff, $missing_dir/missing roff, $glocs)
114 AC_PATH_PROG(PS2PDF, ps2pdf, $missing_dir/missing ps2pdf)
115 AC_PATH_PROG(TEXI2DVI, texi2dvi, $missing_dir/missing texi2dvi)
118 if test X"$ac_cv_sys_interpreter" != X"yes" ; then
119 # silly trick to avoid problems in AC macros...
120 ac_msg='perl scripts using #! may not be invoked properly'
124 # BSD's logo is a devil for a reason, hey?
125 AC_CACHE_CHECK(for BSD VPATH bug in make, ccvs_cv_bsd_make_vpath_bug,
126 [if test ! -d ac_test_dir ; then
127 AC_TRY_COMMAND([mkdir ac_test_dir])
129 cat >conftestmake <<EOF
131 ac_test_target: ac_test_dep
132 echo BSD VPATH bug present >&2
133 ac_test_dep: ac_test_dep_dep
135 touch ac_test_dir/ac_test_dep_dep
136 touch ac_test_dir/ac_test_dep
138 # Don't know why, but the following test doesn't work under FreeBSD 4.2
139 # without this sleep command
141 if AC_TRY_COMMAND([make -f conftestmake 2>&1 >/dev/null |grep ^BSD\ VPATH\ bug\ present\$ >/dev/null]) ; then
142 ccvs_cv_bsd_make_vpath_bug=yes
144 ccvs_cv_bsd_make_vpath_bug=no
146 AC_TRY_COMMAND([rm -rf ac_test_dir ac_test_target conftestmake])])
147 # We also don't need to worry about the bug when $srcdir = $builddir
148 AM_CONDITIONAL(MAKE_TARGETS_IN_VPATH, \
149 test $ccvs_cv_bsd_make_vpath_bug = no \
179 AC_CHECK_MEMBERS([struct stat.st_blksize])
180 AC_CHECK_MEMBERS([struct stat.st_rdev])
183 AC_CHECK_FUNC(fseeko)
184 if test $ac_cv_func_fseeko = no; then
189 # Replace functions with versions in lib/ when they can't be found.
195 # Special hack for a SunOS 5.7 (aka Solaris 7) select() problem.
200 # Begin GNULIB stuff.
203 # Look for functions from GNULIB and replace with versions in lib/ when
205 dnl This calls most of the GNULIB macros we need via the
206 dnl autogenerated m4/gnulib.m4.
208 dnl For one reason or another, the autogenerated m4/gnulib.m4 wants
209 dnl AM_GNU_GETTEXT([external]) called directly from here.
210 AM_GNU_GETTEXT([external])
211 AM_GNU_GETTEXT_VERSION dnl work around for autoconf-2.57 bug.
212 # The error module still poses merge problems.
214 dnl The following macros can be called by other GNULIB macros but are also
215 dnl used by the UNIQUE_*_TYPE stuff below. I don't want to rely on the GNULIB
216 dnl macros which call these to continue to do so, so use AC_REQUIRE, which can
217 dnl only be called from within another macro, to only call them only once.
218 AC_DEFUN([CCVS_CALL_GNULIB_MACROS_ONCE],
219 [AC_REQUIRE([gt_TYPE_LONGDOUBLE])
220 AC_REQUIRE([gt_TYPE_WCHAR_T])
221 AC_REQUIRE([gt_TYPE_WINT_T])
222 AC_REQUIRE([gl_AC_TYPE_INTMAX_T])
223 AC_REQUIRE([gl_FUNC_MMAP_ANON])
224 AC_REQUIRE([gl_AC_TYPE_LONG_LONG])])
225 CCVS_CALL_GNULIB_MACROS_ONCE()
226 dnl Until I persuade the GNULIB folks to integrate this module.
235 # Check for function existance.
265 dnl Find the sizes of various types and set a variable for some if they
266 dnl are "unique", meaning it does not share a size with a lower precedence
269 dnl also, I snagged this cross_compiling line from openldap's autoconf,
270 dnl because I can't figure out how to stop autoconf from giving cross compiler
271 dnl related warnings each time the AC_CHECK_SIZEOF function is run
273 if test $cross_compiling = yes ; then
274 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
276 AC_CHECK_SIZEOF(char)
277 AC_CACHE_CHECK(for uniquely sized char,
278 ccvs_cv_unique_int_type_char,
279 [if set |grep ^ccvs_cv_unique_int_type_ \
280 |grep "($ac_cv_sizeof_char)" >/dev/null ; then
281 ccvs_cv_unique_int_type_char=no
283 ccvs_cv_unique_int_type_char=yes\($ac_cv_sizeof_char\)
285 if test $ccvs_cv_unique_int_type_char != no ; then
286 AC_DEFINE( UNIQUE_INT_TYPE_CHAR, 1,
287 [Define if char is the first integer type
288 detected with its size.])
290 AC_CHECK_SIZEOF(short)
291 AC_CACHE_CHECK(for uniquely sized short,
292 ccvs_cv_unique_int_type_short,
293 [if set |grep ^ccvs_cv_unique_int_type_ \
294 |grep "($ac_cv_sizeof_short)" >/dev/null ; then
295 ccvs_cv_unique_int_type_short=no
297 ccvs_cv_unique_int_type_short=yes\($ac_cv_sizeof_short\)
299 if test $ccvs_cv_unique_int_type_short != no ; then
300 AC_DEFINE( UNIQUE_INT_TYPE_SHORT, 1,
301 [Define if short is the first integer type
302 detected with its size.])
305 AC_CACHE_CHECK(for uniquely sized int,
306 ccvs_cv_unique_int_type_int,
307 [if set |grep ^ccvs_cv_unique_int_type_ \
308 |grep "($ac_cv_sizeof_int)" >/dev/null ; then
309 ccvs_cv_unique_int_type_int=no
311 ccvs_cv_unique_int_type_int=yes\($ac_cv_sizeof_int\)
313 if test $ccvs_cv_unique_int_type_int != no ; then
314 AC_DEFINE( UNIQUE_INT_TYPE_INT, 1,
315 [Define if int is the first integer type
316 detected with its size.])
318 AC_CHECK_SIZEOF(long)
319 AC_CACHE_CHECK(for uniquely sized long,
320 ccvs_cv_unique_int_type_long,
321 [if set |grep ^ccvs_cv_unique_int_type_ \
322 |grep "($ac_cv_sizeof_long)" >/dev/null ; then
323 ccvs_cv_unique_int_type_long=no
325 ccvs_cv_unique_int_type_long=yes\($ac_cv_sizeof_long\)
327 if test $ccvs_cv_unique_int_type_long != no ; then
328 AC_DEFINE(UNIQUE_INT_TYPE_LONG, 1,
329 [Define if long int is the first integer type
330 detected with its size.])
332 if test $ac_cv_type_long_long != no; then
333 AC_CHECK_SIZEOF(long long)
334 AC_CACHE_CHECK(for uniquely sized long long,
335 ccvs_cv_unique_int_type_long_long,
336 [if set |grep ^ccvs_cv_unique_int_type_ \
337 |grep "($ac_cv_sizeof_long_long)" >/dev/null ; then
338 ccvs_cv_unique_int_type_long_long=no
340 ccvs_cv_unique_int_type_long_long=yes\($ac_cv_sizeof_long_long\)
342 if test $ccvs_cv_unique_int_type_long_long != no ; then
343 AC_DEFINE(UNIQUE_INT_TYPE_LONG_LONG, 1,
344 [Define if long long is the first integer type
345 detected with its size.])
348 AC_CHECK_SIZEOF(size_t)
349 AC_CACHE_CHECK(for uniquely sized size_t,
350 ccvs_cv_unique_int_type_size_t,
351 [if set |grep ^ccvs_cv_unique_int_type_ \
352 |grep "($ac_cv_sizeof_size_t)" >/dev/null ; then
353 ccvs_cv_unique_int_type_size_t=no
355 ccvs_cv_unique_int_type_size_t=yes\($ac_cv_sizeof_size_t\)
357 if test $ccvs_cv_unique_int_type_size_t != no ; then
358 AC_DEFINE(UNIQUE_INT_TYPE_SIZE_T, 1,
359 [Define if size_t is the first integer type
360 detected with its size.])
362 AC_CHECK_SIZEOF(ptrdiff_t)
363 AC_CACHE_CHECK(for uniquely sized ptrdiff_t,
364 ccvs_cv_unique_int_type_ptrdiff_t,
365 [if set |grep ^ccvs_cv_unique_int_type_ \
366 |grep "($ac_cv_sizeof_ptrdiff_t)" >/dev/null ; then
367 ccvs_cv_unique_int_type_ptrdiff_t=no
369 ccvs_cv_unique_int_type_ptrdiff_t=yes\($ac_cv_sizeof_ptrdiff_t\)
371 if test $ccvs_cv_unique_int_type_ptrdiff_t != no ; then
372 AC_DEFINE(UNIQUE_INT_TYPE_PTRDIFF_T, 1,
373 [Define if ptrdiff_t is the first integer type
374 detected with its size.])
376 if test $gt_cv_c_wint_t != no; then
377 AC_CHECK_SIZEOF(wint_t, [], [[#include <stdio.h>
380 AC_CACHE_CHECK(for uniquely sized wint_t,
381 ccvs_cv_unique_int_type_wint_t,
382 [if set |grep ^ccvs_cv_unique_int_type_ \
383 |grep "($ac_cv_sizeof_wint_t)" >/dev/null ; then
384 ccvs_cv_unique_int_type_wint_t=no
386 ccvs_cv_unique_int_type_wint_t=yes\($ac_cv_sizeof_wint_t\)
388 if test $ccvs_cv_unique_int_type_wint_t != no ; then
389 AC_DEFINE( UNIQUE_INT_TYPE_WINT_T, 1,
390 [Define if wint_t is the first integer type
391 detected with its size.])
394 if test $gt_cv_c_intmax_t != no; then
395 AC_CHECK_SIZEOF(intmax_t, [], [[#include <stdio.h>
396 #ifdef HAVE_INTTYPES_H
397 #include <inttypes.h>
404 AC_CACHE_CHECK(for uniquely sized intmax_t,
405 ccvs_cv_unique_int_type_intmax_t,
406 [if set |grep ^ccvs_cv_unique_int_type_ \
407 |grep "($ac_cv_sizeof_intmax_t)" >/dev/null ; then
408 ccvs_cv_unique_int_type_intmax_t=no
410 ccvs_cv_unique_int_type_intmax_t=yes\($ac_cv_sizeof_intmax_t\)
412 if test $ccvs_cv_unique_int_type_intmax_t != no ; then
413 AC_DEFINE( UNIQUE_INT_TYPE_INTMAX_T, 1,
414 [Define if intmax_t is the first integer type
415 detected with its size.])
420 dnl and the same for floats...
422 AC_CHECK_SIZEOF(float)
423 AC_CACHE_CHECK(for uniquely sized float,
424 ccvs_cv_unique_float_type_float,
425 [if set |grep ^ccvs_cv_unique_float_type_ \
426 |grep "($ac_cv_sizeof_float)" >/dev/null ; then
427 ccvs_cv_unique_float_type_float=no
429 ccvs_cv_unique_float_type_float=yes\($ac_cv_sizeof_float\)
431 if test $ccvs_cv_unique_float_type_float != no ; then
432 AC_DEFINE( UNIQUE_FLOAT_TYPE_FLOAT, 1,
433 [Define if float is the first floating point type
434 detected with its size.])
436 AC_CHECK_SIZEOF(double)
437 AC_CACHE_CHECK(for uniquely sized double,
438 ccvs_cv_unique_float_type_double,
439 [if set |grep ^ccvs_cv_unique_float_type_ \
440 |grep "($ac_cv_sizeof_double)" >/dev/null ; then
441 ccvs_cv_unique_float_type_double=no
443 ccvs_cv_unique_float_type_double=yes\($ac_cv_sizeof_double\)
445 if test $ccvs_cv_unique_float_type_double != no ; then
446 AC_DEFINE( UNIQUE_FLOAT_TYPE_DOUBLE, 1,
447 [Define if double is the first floating point type
448 detected with its size.])
450 if test $gt_cv_c_long_double != no; then
451 AC_CHECK_SIZEOF(long double)
452 AC_CACHE_CHECK(for uniquely sized long double,
453 ccvs_cv_unique_float_type_long_double,
454 [if set |grep ^ccvs_cv_unique_float_type_ \
455 |grep "($ac_cv_sizeof_long_double)" >/dev/null ; then
456 ccvs_cv_unique_float_type_long_double=no
458 ccvs_cv_unique_float_type_long_double=yes\($ac_cv_sizeof_long_double\)
460 if test $ccvs_cv_unique_float_type_long_double != no ; then
461 AC_DEFINE(UNIQUE_FLOAT_TYPE_LONG_DOUBLE, 1,
462 [Define if long double is the first floating point
463 type detected with its size.])
469 dnl The CVS coding standard (as specified in HACKING) is that if it exists
470 dnl in SunOS4 and ANSI, we use it. CVS itself, of course, therefore doesn't
471 dnl need HAVE_* defines for such functions, but diff wants them.
473 AC_DEFINE(HAVE_STRCHR, 1,
474 [Define if you have strchr (always for CVS).])
475 AC_DEFINE(HAVE_MEMCHR, 1,
476 [Define if you have memchr (always for CVS).])
479 dnl Force lib/regex.c to use malloc instead of messing around with alloca
480 dnl and define the old re_comp routines that we use.
482 AC_DEFINE(REGEX_MALLOC, 1,
483 [Define to force lib/regex.c to use malloc instead of alloca.])
484 AC_DEFINE(_REGEX_RE_COMP, 1,
485 [Define to force lib/regex.c to define re_comp et al.])
487 dnl AC_FUNC_FORK([]) is rather baroque. It seems to be rather more picky
488 dnl than, say, the Single Unix Specification (version 2), which simplifies
489 dnl a lot of cases by saying that the child process can't set any variables
490 dnl (thus avoiding problems with register allocation) or call any functions
491 dnl (thus avoiding problems with whether file descriptors are shared).
492 dnl It would be nice if we could just write to the Single Unix Specification.
493 dnl I think the only way to do redirection this way is by doing it in the
494 dnl parent, and then undoing it afterwards (analogous to windows-NT/run.c).
495 dnl That would appear to have a race condition if the user hits ^C (or
496 dnl some other signal) at the wrong time, as main_cleanup will try to use
497 dnl stdout/stderr. So maybe we are stuck with AC_FUNC_FORK([]).
500 AC_FUNC_CLOSEDIR_VOID
503 dnl Check for shadow password support.
505 dnl We used to try to determine whether shadow passwords were actually in
506 dnl use or not, but the code has been changed to work right reguardless,
507 dnl so we can go back to a simple check.
508 AC_SEARCH_LIBS(getspnam, sec gen, AC_DEFINE(HAVE_GETSPNAM, 1,
509 [Define if you have the getspnam function.]))
512 AC_SYS_LONG_FILE_NAMES
514 dnl for debugging code
517 # Try to find connect and gethostbyname.
518 AC_CHECK_LIB(nsl, main)
519 AC_SEARCH_LIBS(connect, xnet socket inet,
520 AC_DEFINE(HAVE_CONNECT, 1,
521 [Define if you have the connect function.]))
522 dnl no need to search nsl for gethostbyname here since we should have
523 dnl just added libnsl above if we found it.
524 AC_SEARCH_LIBS(gethostbyname, netinet)
526 AC_SUBST(cvs_client_objects)
534 dnl set $(KRB4) from --with-krb4=value -- WITH_KRB4
536 dnl If you change this, keep in mind that some systems have a bogus
537 dnl libkrb in the system libraries, so --with-krb4=value needs to
538 dnl override the system -lkrb.
546 [Kerberos 4 directory (default /usr/kerberos)]),
549 AC_MSG_CHECKING([for KRB4 in $KRB4])
555 AC_MSG_CHECKING([for krb.h])
556 if test "$cross_compiling" != yes && test -r $KRB4/include/krb.h; then
558 CFLAGS="$CFLAGS -I$KRB4/include"
559 AC_TRY_LINK([#include <krb.h>],[int i;],
560 [krb_h=yes krb_incdir=$KRB4/include],
562 AC_TRY_LINK([#include <krb.h>],[int i;],
563 [krb_h=yes krb_incdir=])])
566 AC_TRY_LINK([#include <krb.h>],[int i;],
567 [krb_h=yes krb_incdir=])
569 if test -z "$krb_h"; then
570 AC_TRY_LINK([#include <krb.h>],[int i;],
571 [krb_h=yes krb_incdir=],
572 [if test "$cross_compiling" != yes && test -r $KRB4/include/kerberosIV/krb.h; then
574 CFLAGS="$CFLAGS -I$KRB4/include/kerberosIV"
575 AC_TRY_LINK([#include <krb.h>],[int i;],
576 [krb_h=yes krb_incdir=$KRB4/include/kerberosIV])
580 AC_MSG_RESULT($krb_h)
582 if test -n "$krb_h"; then
584 if test "$cross_compiling" != yes && test -r $KRB4/lib/libkrb.a; then
585 hold_ldflags=$LDFLAGS
586 LDFLAGS="-L${KRB4}/lib $LDFLAGS"
587 AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=${KRB4}/lib],
588 [LDFLAGS=$hold_ldflags
589 # Using open here instead of printf so we don't
590 # get confused by the cached value for printf from above.
591 AC_CHECK_LIB(krb,open,[krb_lib=yes krb_libdir=])])
592 LDFLAGS=$hold_ldflags
594 AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=])
595 AC_CHECK_FUNC(krb_recvauth,[krb_lib=yes krb_libdir=])
597 if test -n "$krb_lib"; then
598 AC_DEFINE([HAVE_KERBEROS], 1,
599 [Define if you have MIT Kerberos version 4 available.])
600 cvs_client_objects="$cvs_client_objects kerberos4-client.o"
601 test -n "${krb_libdir}" && LIBS="${LIBS} -L${krb_libdir}"
602 # Put -L${krb_libdir} in LDFLAGS temporarily so that it appears before
603 # -ldes in the command line. Don't do it permanently so that we honor
604 # the user's setting for LDFLAGS
605 hold_ldflags=$LDFLAGS
606 test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
607 AC_CHECK_LIB(des,printf,[LIBS="${LIBS} -ldes"])
608 AC_CHECK_LIB(krb,krb_recvauth)
609 AC_CHECK_LIB(krb4,krb_recvauth)
610 LDFLAGS=$hold_ldflags
611 if test -n "$krb_incdir"; then
612 CPPFLAGS="$CPPFLAGS -I$krb_incdir"
616 AC_CHECK_FUNCS(krb_get_err_text)
620 dnl WITH_GSSAPI is external
622 dnl TODO - I tried to put these in alphabetical order, but ACX_WITH_GSSAPI
623 dnl fails unless called after the KRB4 stuff. I don't know why.
628 dnl WITH_EXTERNAL_ZLIB is external
630 ACX_WITH_EXTERNAL_ZLIB
635 dnl Many sites no longer desire the use of "rsh" as the default
636 dnl remote shell program. They typically favor "ssh" as the default
638 # What remote shell transport should our client cvs default to using?
643 [The default remote shell CVS will use for :ext: transport
645 [with_rsh="ssh rsh"])
647 if test no = "$with_rsh"; then
648 AC_MSG_WARN([Failed to find usable remote shell. Using 'rsh'.])
650 elif test yes = "$with_rsh"; then
651 # Make --with-rsh mean the same thing as --with-rsh=rsh
655 if echo $with_rsh |grep ^/ >/dev/null; then
656 # If $with_rsh is an absolute path, issue a warning if the executable
657 # doesn't exist or isn't usable, but then trust the user and use it
659 with_default_rsh=$with_rsh
660 AC_MSG_CHECKING([for a remote shell])
661 if ! test -f $with_rsh \
662 || ! test -x $with_rsh; then
663 # warn the user that they may encounter problems
664 AC_MSG_WARN([$with_rsh is not a path to an executable file])
667 # Search for a remote shell
668 AC_CHECK_PROGS([with_default_rsh], [$with_rsh], "rsh")
672 [RSH_DFLT], ["$with_default_rsh"],
673 [The default remote shell to use, if one does not specify the
674 CVS_RSH environment variable.])
675 RSH_DFLT=$with_default_rsh
677 dnl done with finding a default CVS_RSH value
683 dnl begin --with-editor
685 dnl Set the default editor to use for log messages
690 [The text editor CVS will use by default for log messages.])
692 # Let the confiscator request a specific editor
697 [The default text editor CVS should use for log messages
698 (default autoselects)]), ,
701 # If --with-editor was supplied with an argument, let it override $EDITOR from
702 # the user's environment. We need to unset EDITOR here because AC_CHECK_PROGS
703 # will let the value of EDITOR ride when it is set rather than searching. We
704 # ignore the --without-editor case since it will be caught below.
705 if test -n "$EDITOR" && test yes != $with_editor; then
709 # Set the default when --with-editor wasn't supplied or when it was supplied
710 # without an argument.
711 if test yes = $with_editor; then
712 with_editor="vim vi emacs nano pico edit"
715 if echo $with_editor |grep ^/ >/dev/null; then
716 # If $with_editor is an absolute path, issue a warning if the executable
717 # doesn't exist or isn't usable, but then trust the user and use it
720 AC_MSG_CHECKING([for an editor])
721 AC_MSG_RESULT([$EDITOR])
722 if ! test -f $with_editor \
723 || ! test -x $with_editor; then
724 # warn the user that they may encounter problems
725 AC_MSG_WARN([\`$with_editor' is not a path to an executable file])
727 elif test no != "${with_editor}"; then
728 # Search for an editor
729 AC_CHECK_PROGS([EDITOR], [$with_editor], [no])
730 if test no = "${EDITOR}"; then
732 Failed to find a text file editor. CVS cannot be compiled
733 without a default log message editor. Searched for
734 \`$with_editor'. Try \`configure --with-editor'.])
738 CVS cannot be compiled without a default log message editor.
739 Try \`configure --with-editor'.])
742 dnl FIXME - Using --without-editor will probably break a compile at
743 dnl the moment, but maybe it is reasonable for someone to want to
744 dnl compile a CVS executable that refuses to run if no $EDITOR,
745 dnl $CVS_EDITOR, or -e option is specified? Making a preliminary
746 dnl design decision in this direction, subject to discussion.
748 dnl Still don't know if the above would be useful, but we shouldn't
749 dnl be able to get here any longer without $EDITOR defined due to the
750 dnl error checking above.
752 [EDITOR_DFLT], ["$EDITOR"],
753 [The default editor to use, if one does not specify the "-e" option
754 to cvs, or does not have an EDITOR environment variable. If this
755 is not set to an absolute path to an executable, use the shell to
756 find where the editor actually is. This allows sites with
757 /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their
758 PATH is reasonable).])
761 dnl done finding an editor
763 dnl end --with-editor
769 dnl --with-hardcoded-pam-service-name
772 [hardcoded-pam-service-name],
774 [--with-hardcoded-pam-service-name],
775 [Use this to hard code a service name for PAM CVS authentication. The
776 special name, `program_name', will cause CVS to use whatever name it
777 was invoked as as the service name. (defaults to `cvs')]),,
778 [with_hardcoded_pam_service_name=cvs])
780 if test "x$with_hardcoded_pam_service_name" = xno ||
781 test "x$with_hardcoded_pam_service_name" = xprogram_name; then
782 AC_DEFINE([PAM_SERVICE_NAME], [program_name],
783 [Define to set a service name for PAM. This must be defined. Define to
784 `program_name', without the quotes, to use whatever name CVS was invoked
785 as. Otherwise, define to a double-quoted literal string, such as
788 if test x"$with_hardcoded_pam_service_name" = xyes; then
789 with_hardcoded_pam_service_name=cvs
791 AC_DEFINE_UNQUOTED([PAM_SERVICE_NAME], ["$with_hardcoded_pam_service_name"])
797 dnl Find a temporary directory
803 [The temporary directory CVS should use as a default
804 (default autoselects)]))
806 AC_MSG_CHECKING([for temporary directory])
807 if test -z "$with_tmpdir" || test yes = "$with_tmpdir"; then
808 for with_tmpdir in /tmp /var/tmp no; do
809 if test -d "$with_tmpdir" && test -x "$with_tmpdir" \
810 && test -w "$with_tmpdir" && test -r "$with_tmpdir"; then
814 if test no = "$with_tmpdir"; then
815 AC_MSG_WARN([Failed to find usable temporary directory. Using '/tmp'.])
818 AC_MSG_RESULT([$with_tmpdir])
819 elif ! echo "$with_tmpdir" |grep '^[[\\/]]'; then
820 AC_MSG_RESULT([$with_tmpdir])
821 AC_MSG_ERROR([--with-tmpdir requires an absolute path.])
822 elif ! test -d "$with_tmpdir" || ! test -x "$with_tmpdir" \
823 || ! test -w "$with_tmpdir" || ! test -r "$with_tmpdir"; then
824 AC_MSG_RESULT([$with_tmpdir])
826 [User supplied temporary directory ('$with_tmpdir') does not
827 exist or lacks sufficient permissions for read/write.])
831 [TMPDIR_DFLT], ["$with_tmpdir"],
832 [Directory used for storing temporary files, if not overridden by
833 environment variables or the -T global option. There should be little
834 need to change this (-T is a better mechanism if you need to use a
835 different directory for temporary files).])
838 dnl done finding tmpdir
843 dnl Get default umask
850 [Set the umask CVS will use by default in the repository (default 002)]))
852 if test -z "$with_umask" || test yes = "$with_umask"; then
854 elif test no = "$with_umask"; then
859 [UMASK_DFLT], [$with_umask],
860 [The default umask to use when creating or otherwise setting file or
861 directory permissions in the repository. Must be a value in the
862 range of 0 through 0777. For example, a value of 002 allows group
863 rwx access and world rx access; a value of 007 allows group rwx
864 access but no world access. This value is overridden by the value
865 of the CVSUMASK environment variable, which is interpreted as an
869 dnl Done setting default umask
873 dnl Set CVS Administrator Group
878 [--with-cvs-admin-group=GROUP],
879 [The CVS admin command is restricted to the members of this group.
880 If this group does not exist, all users are allowed to run CVS admin.
881 To disable the CVS admin command for all users, create an empty group
882 by specifying the --with-cvs-admin-group= option. To disable access
883 control for CVS admin, run configure with the --without-cvs-admin-group
884 option. (default 'cvsadmin')]), ,
885 [with_cvs_admin_group=cvsadmin])
887 if test yes = "$with_cvs_admin_group"; then
888 with_cvs_admin_group=cvsadmin
890 if test no != "$with_cvs_admin_group"; then
891 dnl FIXME We should warn if the group doesn't exist
893 [CVS_ADMIN_GROUP], ["$with_cvs_admin_group"],
894 [The CVS admin command is restricted to the members of the group
895 CVS_ADMIN_GROUP. If this group does not exist, all users are
896 allowed to run CVS admin. To disable the CVS admin command for
897 all users, create an empty CVS_ADMIN_GROUP by running configure
898 with the --with-cvs-admin-group= option. To disable access control
899 for CVS admin, run configure with the --without-cvs-admin-group
900 option in order to comment out the define below.])
904 dnl Done setting CVS Administrator Group
908 dnl Set the NDBM library to use.
910 dnl XXX - FIXME - FIXME - FIXME - XXX
912 dnl This is very bad. It should really autodetect an appropriate NDBM library
913 dnl and, if it doesn't find one, decide to use MY_NDBM. I'm am defining
914 dnl this here since this is no worse than it worked when it was in options.h
915 dnl and I am cleaning out options.h so that the Windows version of CVS will
916 dnl compile properly for the next release.
918 dnl That's why this option is in the --with-* section rather than the
919 dnl --enable-* section.
921 dnl XXX - FIXME - FIXME - FIXME - XXX
927 [Use the NDBM library distributed with CVS rather than attempting to use
928 a system NDBM library. Disabling this may not work. (default)]), ,
929 [enable_cvs_ndbm=yes])
930 if test no != "$enable_cvs_ndbm"; then
933 [By default, CVS stores its modules and other such items in flat
934 text files (MY_NDBM enables this). Turning off MY_NDBM causes CVS
935 to look for a system-supplied ndbm database library and use it
936 instead. That may speed things up, but the default setting
937 generally works fine too.])
941 dnl Done selecting NDBM library.
957 dnl begin --enable-client
960 # Check for options requesting client and server feature. If none are
961 # given and we have connect(), we want the full client & server arrangement.
966 [Include code for running as a remote client (default)]), ,
967 [enable_client=$ac_cv_search_connect])
968 if test no != "$enable_client"; then
970 [CLIENT_SUPPORT], [1],
971 [Define if you want CVS to be able to be a remote repository client.])
975 dnl end --enable-client
980 dnl begin --enable-password-authenticated-client
983 [password-authenticated-client],
985 [--enable-password-authenticated-client],
986 [Enable pserver as a remote access method in the CVS client
988 [enable_password_authenticated_client=$enable_client])
990 if test xno != "x$enable_password_authenticated_client"; then
991 if test xno != "x$enable_client"; then
993 [AUTH_CLIENT_SUPPORT], [1],
994 [Enable AUTH_CLIENT_SUPPORT to enable pserver as a remote access
995 method in the CVS client (default)])
998 [--enable-password-authenticated-client is meaningless with
999 the CVS client disabled (--disable-client)])
1004 dnl begin --enable-password-authenticated-client
1009 dnl begin --enable-server
1013 dnl Give the confiscator control over whether the server code is compiled
1019 [Include code for running as a server (default)]), ,
1020 [enable_server=$ac_cv_search_connect])
1022 if test no != "$enable_server"; then
1024 [SERVER_SUPPORT], [1],
1025 [Define if you want CVS to be able to serve repositories to remote
1029 dnl The auth server needs to be able to check passwords against passwd
1030 dnl file entries, so we only #define AUTH_SERVER_SUPPORT if we can
1031 dnl find the crypt function.
1037 [Define if you have the crypt function.])
1039 [AUTH_SERVER_SUPPORT], [1],
1040 [Define if you want to use the password authenticated server.])dnl
1041 ])dnl AC_SEARCH_LIBS
1044 dnl Allow the configurer to enable server flowcontrol. Read the help
1045 dnl strings below for a full explanation.
1048 [server-flow-control],
1050 [--enable-server-flow-control],
1051 [If you are working with a large remote repository and a 'cvs
1052 checkout' is swamping your network and memory, define these to
1053 enable flow control. You may optionally pass a low water mark
1054 in bytes and a high water mark in bytes, separated by commas.
1055 (default is enabled 1M,2M)]),
1056 [if test yes = $enable_server_flow_control; then
1057 enable_server_flow_control=1M,2M
1059 [enable_server_flow_control=1M,2M])
1060 if test no != $enable_server_flow_control; then
1061 ccvs_lwm=`expr "$enable_server_flow_control" : '\(.*\),'`
1062 ccvs_hwm=`expr "$enable_server_flow_control" : '.*,\(.*\)'`
1063 ccvs_lwm_E=`expr "$ccvs_lwm" : '[[0-9]][[0-9]]*\(.*\)'`
1064 ccvs_lwm=`expr "$ccvs_lwm" : '\([[0-9]][[0-9]]*\)'`
1065 test "" != "$ccvs_lwm" || ccvs_lwm_E="?"
1067 G) ccvs_lwm="$ccvs_lwm * 1024 * 1024 * 1024";;
1068 M) ccvs_lwm="$ccvs_lwm * 1024 * 1024";;
1069 k) ccvs_lwm="$ccvs_lwm * 1024";;
1071 *) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control
1072 ('$enable_server_flow_control') as <lwm>,<hwm>])
1074 ccvs_hwm_E=`expr "$ccvs_hwm" : '[[0-9]][[0-9]]*\(.*\)'`
1075 ccvs_hwm=`expr "$ccvs_hwm" : '\([[0-9]][[0-9]]*\).*'`
1076 test "" != "$ccvs_hwm" || ccvs_hwm_E="?"
1078 G) ccvs_hwm="$ccvs_hwm * 1024 * 1024 * 1024";;
1079 M) ccvs_hwm="$ccvs_hwm * 1024 * 1024";;
1080 k) ccvs_hwm="$ccvs_hwm * 1024";;
1081 b | '') ccvs_hwm="$ccvs_hwm";;
1082 *) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control
1083 ('$enable_server_flow_control') as <lwm>,<hwm>])
1087 [SERVER_FLOWCONTROL], [1],
1088 [If you are working with a large remote repository and a 'cvs
1089 checkout' is swamping your network and memory, define these to
1090 enable flow control. You will end up with even less probability of
1091 a consistent checkout (see Concurrency in cvs.texinfo), but CVS
1092 doesn't try to guarantee that anyway. The master server process
1093 will monitor how far it is getting behind, if it reaches the high
1094 water mark, it will signal the child process to stop generating
1095 data when convenient (ie: no locks are held, currently at the
1096 beginning of a new directory). Once the buffer has drained
1097 sufficiently to reach the low water mark, it will be signalled to
1100 [SERVER_LO_WATER], [($ccvs_lwm)],
1101 [The low water mark in bytes for server flow control. Required if
1102 SERVER_FLOWCONTROL is defined, and useless otherwise.])
1104 [SERVER_HI_WATER], [($ccvs_hwm)],
1105 [The high water mark in bytes for server flow control. Required if
1106 SERVER_FLOWCONTROL is defined, and useless otherwise.])
1107 fi # enable_server_flow_control
1111 dnl end --enable-server
1116 dnl begin --enable-proxy
1120 dnl Give the confiscator control over whether the proxy server code is compiled
1126 [Include code for running as a transparent proxy server. Disabling this
1127 may produce a slight performance gain on some systems, at the expense of
1128 write proxy support. (default)]), ,
1129 [if test xno != "x$enable_client" && test xno != "x$enable_server"; then
1135 if test no != "$enable_proxy"; then
1136 if test xno = "x$enable_client" || test xno = "x$enable_server"; then
1138 [--enable-proxy is meaningless when either the CVS client or the
1139 CVS server is disabled (--disable-client and --disable-server).])
1142 [PROXY_SUPPORT], [1],
1143 [Define if you want CVS to be able to serve as a transparent proxy for
1144 write operations. Disabling this may produce a slight performance gain
1145 on some systems, at the expense of write proxy support.])
1149 dnl end --enable-proxy
1154 dnl begin --enable-pam
1158 dnl Check if PAM authentication is enabled
1164 [Use to enable system authentication with PAM instead of using the
1165 simple getpwnam interface. This allows authentication (in theory)
1166 with any PAM module, e.g. on systems with shadow passwords or via LDAP]), ,
1170 if test yes = $enable_pam; then
1171 ac_pam_header_available=
1173 AC_CHECK_HEADER([security/pam_appl.h], [
1174 AC_DEFINE([HAVE_SECURITY_PAM_APPL_H], 1, [Define to 1 if security/pam_appl.h is available])
1175 ac_pam_header_available=1])
1177 if test -z "$ac_pam_header_available"; then
1178 AC_CHECK_HEADER([pam/pam_appl.h], [
1179 AC_DEFINE([HAVE_PAM_PAM_APPL_H], 1, [Define to 1 if pam/pam_appl.h is available])
1180 ac_pam_header_available=1])
1183 if test -z "$ac_pam_header_available"; then
1184 AC_MSG_ERROR([Could not find PAM headers])
1186 AC_DEFINE(HAVE_PAM, 1,
1187 [Define to enable system authentication with PAM instead of using the
1188 simple getpwnam interface. This allows authentication (in theory)
1189 with any PAM module, e.g. on systems with shadow passwords or via LDAP])
1190 AC_CHECK_LIB(pam, pam_start, [LIBS="${LIBS} -lpam"],
1191 AC_MSG_ERROR([Could not find PAM libraries but the headers exist.
1192 Give the --disable-pam option to compile without PAM support (or fix
1193 your broken configuration)])
1199 dnl end --enable-pam
1204 dnl begin --enable-case-sensitivity
1210 [--enable-case-sensitivity],
1211 [Force CVS to expect a case sensitive file system. Enabling this on a case
1212 insensitive system should have little effect on the server or client
1213 operation, though client users may ocassionally be suprised that the CVS
1214 server appears to be case sensitive. Disabling this for a case sensitive
1215 server disables server support for case insensitive clients, which can
1216 confuse all users of case insensitive clients contacting the server.
1217 Disabling this for a case sensitive client will cause the client to ask
1218 servers to behave case insensitively, which could cause confusion for
1219 users, but also probably no real harm. (default autoselects based on the
1220 case sensitivity of the file system containing the current working
1222 [case "$enable_case_sensitivity" in
1225 AC_MSG_ERROR([Unrecognized argument to --enable-case-sensitivity: \`$enable_case_sensitivity'. Acceptable values are \`yes', \`no', and \`auto'.])
1228 [enable_case_sensitivity=auto])
1230 acx_forced=' (forced)'
1231 AC_MSG_CHECKING([for a case sensitive file system])
1232 if test $enable_case_sensitivity = auto; then
1234 dnl Check for a case insensitive filesystem, like Mac OS X and Windows have.
1236 AC_CACHE_VAL([acx_cv_case_sensitive],
1237 [ rm -f ac_TEST_filenames_CASE_sensitive
1238 echo foo >ac_test_filenames_case_sensitive
1239 if test -f ac_TEST_filenames_CASE_sensitive; then
1240 acx_cv_case_sensitive=no
1242 acx_cv_case_sensitive=yes
1244 rm ac_test_filenames_case_sensitive
1246 enable_case_sensitivity=$acx_cv_case_sensitive
1249 AC_MSG_RESULT([$enable_case_sensitivity$acx_forced])
1250 if test $enable_case_sensitivity = no; then
1251 AC_DEFINE([FILENAMES_CASE_INSENSITIVE], [1],
1252 [Define if this executable will be running on case insensitive
1253 file systems. In the client case, this means that it will request
1254 that the server pretend to be case insensitive if it isn't
1256 dnl Compile fncase.c (containing fncase() & fncmp()) to handle file name
1257 dnl comparisons on case insensitive filesystems.
1262 dnl end --enable-case-sensitivity
1267 dnl begin --enable-encryption
1271 dnl Use --enable-encryption to turn on encryption support, but ignore this
1272 dnl option unless either client or server is enabled.
1277 [--enable-encryption],
1278 [Enable encryption support (disabled by default)]), ,
1279 [enable_encryption=no])
1280 if test "x$enable_encryption" = xyes; then
1281 if test xno = "x$with_client" && test xno = "x$with_server"; then
1283 [--enable-encryption is meaningless when neither the CVS client
1284 nor the CVS server is enabled (--disable-client and --disable-server).])
1288 [Define to enable encryption support.])
1293 dnl end --enable-encryption
1298 dnl begin --enable-force-editor
1304 [--enable-force-editor],
1305 [When committing or importing files, you must enter a log message.
1306 Normally, you can do this either via the -m flag on the command
1307 line, the -F flag on the command line, or an editor will be started
1308 for you. If you like to use logging templates (the rcsinfo file
1309 within the $CVSROOT/CVSROOT directory), you might want to force
1310 people to use the editor even if they specify a message with -m or
1311 -F. --enable-force-editor will cause the -m or -F message to be
1312 appended to the temp file when the editor is started. (disabled
1314 [enable_force_editor=no])
1316 if test yes = "$enable_force_editor"; then
1318 [FORCE_USE_EDITOR], [1],
1319 [When committing or importing files, you must enter a log message.
1320 Normally, you can do this either via the -m flag on the command
1321 line, the -F flag on the command line, or an editor will be started
1322 for you. If you like to use logging templates (the rcsinfo file
1323 within the $CVSROOT/CVSROOT directory), you might want to force
1324 people to use the editor even if they specify a message with -m or
1325 -F. Enabling FORCE_USE_EDITOR will cause the -m or -F message to be
1326 appended to the temp file when the editor is started.])
1330 dnl end --enable-force-editor
1335 dnl begin --enable-lock-compatibility
1338 # Check for options requesting client and server feature. If none are
1339 # given and we have connect(), we want the full client & server arrangement.
1341 [lock-compatibility],
1343 [--enable-lock-compatibility],
1344 [Include locking code which prevents versions of CVS earlier than 1.12.4
1345 directly accessing the same repositiory as this executable from ignoring
1346 this executable's promotable read locks. If only CVS versions 1.12.4 and
1347 later will be accessing your repository directly (as a server or locally),
1348 you can safely disable this option in return for fewer disk accesses and a
1349 small speed increase. Disabling this option when versions of CVS earlier
1350 than 1,12,4 _will_ be accessing your repository, however, is *VERY* *VERY*
1351 *VERY* dangerous and could result in data loss. (enabled by default)]),,
1352 [enable_lock_compatibility=yes])
1354 if test x$enable_lock_compatibility = xyes; then
1355 AC_DEFINE([LOCK_COMPATIBILITY], [1],
1356 [Define to include locking code which prevents versions of CVS earlier than
1357 1.12.4 directly accessing the same repositiory as this executable from
1358 ignoring this executable's promotable read locks. If only CVS versions
1359 1.12.4 and later will be accessing your repository directly (as a server
1360 or locally), you can safely disable this option in return for fewer disk
1361 accesses and a small speed increase. Disabling this option when versions
1362 of CVS earlier than 1,12,4 _will_ be accessing your repository, however,
1363 is *VERY* *VERY* *VERY* dangerous and could result in data loss.
1365 As such, by default, CVS is compiled with this code enabled. If you are
1366 sure you would like this code disabled, you can disable it by passing the
1367 "--disable-lock-compatibility" option to configure or by commenting out
1372 dnl end --enable-lock-compatibility
1377 dnl begin --enable-rootcommit
1381 dnl I don't like this here, but I don't really like options.h, either.
1382 dnl Besides, this is causing some problems currently when compiling under
1383 dnl Windows and moving it here should avoid the issue (the wrong options.h
1386 dnl I don't like making this a runtime option either. I think I just don't
1387 dnl like making it easy to get to, but putting it here goes along with the
1393 [--enable-rootcommit],
1394 [Allow the root user to commit files (disabled by default)]), ,
1395 [enable_rootcommit=no])
1396 if test "$enable_rootcommit" = no; then
1399 [When committing a permanent change, CVS and RCS make a log entry of
1400 who committed the change. If you are committing the change logged
1401 in as "root" (not under "su" or other root-priv giving program),
1402 CVS/RCS cannot determine who is actually making the change.
1404 As such, by default, CVS prohibits changes committed by users
1405 logged in as "root". You can disable checking by passing the
1406 "--enable-rootcommit" option to configure or by commenting out the
1411 dnl end --enable-rootcommit
1415 dnl begin --enable-old-info-support
1420 [--enable-old-info-format-support],
1421 [Enable support for the pre 1.12.1 *info scripting hook format strings.
1422 Disable this option for a smaller executable once your scripting
1423 hooks have been updated to use the new *info format strings (default).]), ,
1424 [enable_old_info_format_support=yes])
1425 if test "$enable_old_info_format_support" = yes; then
1427 [SUPPORT_OLD_INFO_FMT_STRINGS], [1],
1428 [Enable support for the pre 1.12.1 *info scripting hook format strings.
1429 Disable this option for a smaller executable once your scripting
1430 hooks have been updated to use the new *info format strings by passing
1431 "--disable-old-info-format-support" option to configure or by commenting
1432 out the line below.])
1436 dnl end --enable-old-info-support
1441 dnl begin --enable-config-override
1447 [--enable-config-override],
1448 [Set to a comma-separated list of paths to directories (designated by
1449 trailing `/') and files, specifies the path prefixes (for directories) and
1450 paths to files the CVS server commands will allow configuration to be read
1451 from. Specify `--enable-config-override=no' to disable config file
1452 overrides completely and `--enable-config-override=/' or simply
1453 `--enable-config-override' to allow all paths. (Defaults to
1454 `SYSCONFDIR/cvs.conf,SYSCONFDIR/cvs/')]),,
1455 [# $sysconfdir may still contain variable references. By default, this will
1456 # be to $prefix, and $prefix won't be set to its default value until later.
1457 # Compromise without setting $prefix for the rest of the file.
1458 cvs_save_prefix=$prefix
1459 if test "X$prefix" = XNONE; then
1460 prefix=$ac_prefix_default
1462 eval enable_config_override=`echo $sysconfdir/cvs.conf,$sysconfdir/cvs/`
1463 prefix=$cvs_save_prefix])
1465 if test x"$enable_config_override" = xyes; then
1466 enable_config_override=/
1469 if test x"$enable_config_override" = xno; then :; else
1473 for path in $enable_config_override; do
1476 [[\\/$]]* | ?:[[\\/]]* )
1477 arrayinit="$arrayinit\"$path\", "
1480 [expected comma separated list of absolute directory
1481 names for --enable-config-override, or \`no', not:
1482 \`$enable_config_override'
1483 (\`$path' invalid.)]);;
1486 arrayinit="${arrayinit}NULL"
1488 AC_DEFINE_UNQUOTED(ALLOW_CONFIG_OVERRIDE, [$arrayinit],
1489 [Define this to a NULL terminated list of allowed path prefixes (for
1490 directories) and paths to files the CVS server will allow configuration to
1491 be read from when specified from the command line.])
1495 dnl end --enable-config-override
1506 dnl For the moment we will assume that all systems which have
1507 dnl the unixyness to run configure are unixy enough to do the
1508 dnl PreservePermissions stuff. I have this sinking feeling that
1509 dnl things won't be that simple, before long.
1510 dnl AC_DEFINE(PRESERVE_PERMISSIONS_SUPPORT, 1,
1511 dnl [Define if this system supports chown(), link(), and friends.])
1513 dnl On cygwin32, we configure like a Unix system, but we need some support
1514 dnl libraries. We do this at the end so that the new libraries are added at
1515 dnl the end of LIBS.
1517 dnl FIXME: We should be trying to meet the autoconf ideal of checking for
1518 dnl the properties of the system rather than the name of the os here. In other
1519 dnl words, we should check the case sensitivty of the system and then for
1520 dnl the support functions we are using and which library we find them in.
1521 AC_CACHE_CHECK(for cygwin32, ccvs_cv_sys_cygwin32,
1522 [AC_TRY_COMPILE([], [return __CYGWIN32__;],
1523 ccvs_cv_sys_cygwin32=yes, ccvs_cv_sys_cygwin32=no)])
1524 if test $ccvs_cv_sys_cygwin32 = yes; then
1525 LIBS="$LIBS -ladvapi32"
1527 dnl On Windows you can only change file times if you can write to
1528 dnl the file. cygwin32 should really handle this for us, but as of
1529 dnl January 1998 it doesn't.
1530 AC_DEFINE(UTIME_EXPECTS_WRITABLE, 1,
1531 [Define if utime requires write access to the file (true on Windows,
1534 dnl On Windows we must use setmode to change between binary and text
1535 dnl mode. This probably doesn't really require two macro definitions
1536 AC_DEFINE(USE_SETMODE_STDOUT, 1,
1537 [Define if setmode is required when writing binary data to stdout.])
1538 AC_DEFINE(HAVE_SETMODE, 1,
1539 [Define if the diff library should use setmode for binary files.])
1542 dnl associate the setting of the execute bit with the individual scripts
1543 AC_CONFIG_FILES(contrib/validate_repo, [chmod +x contrib/validate_repo])
1544 AC_CONFIG_FILES(contrib/clmerge, [chmod +x contrib/clmerge])
1545 AC_CONFIG_FILES(contrib/cln_hist, [chmod +x contrib/cln_hist])
1546 AC_CONFIG_FILES(contrib/commit_prep, [chmod +x contrib/commit_prep])
1547 AC_CONFIG_FILES(contrib/cvs_acls, [chmod +x contrib/cvs_acls])
1548 AC_CONFIG_FILES(contrib/log, [chmod +x contrib/log])
1549 AC_CONFIG_FILES(contrib/log_accum, [chmod +x contrib/log_accum])
1550 AC_CONFIG_FILES(contrib/mfpipe, [chmod +x contrib/mfpipe])
1551 AC_CONFIG_FILES(contrib/pvcs2rcs, [chmod +x contrib/pvcs2rcs])
1552 AC_CONFIG_FILES(contrib/rcs2log:contrib/rcs2log.sh, [chmod +x contrib/rcs2log])
1553 AC_CONFIG_FILES(contrib/rcslock, [chmod +x contrib/rcslock])
1554 AC_CONFIG_FILES(contrib/sccs2rcs, [chmod +x contrib/sccs2rcs])
1555 AC_CONFIG_FILES(doc/mkman:doc/mkman.pl, [chmod +x doc/mkman])
1556 AC_CONFIG_FILES(src/cvsbug, [chmod +x src/cvsbug])
1559 AC_CONFIG_FILES([Makefile \
1561 contrib/pam/Makefile \
1566 doc/i18n/pt_BR/Makefile \
1569 maint-aux/Makefile \
1573 src/sanity.config.sh \
1576 windows-NT/Makefile \
1577 windows-NT/SCC/Makefile \
1585 # Report the state of this version of CVS if this is from dev.
1586 m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[0-9]*\.[0-9]*\.[0-9]*\.[0-9]],
1589 You are about to use an unreleased version of CVS. Be sure to
1590 read the relevant mailing lists, most importantly <info-cvs@nongnu.org>.
1592 Below you will find information on the status of this version of CVS.
1596 sed -n '/^\* Status/,$p' $srcdir/BUGS