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-11],
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])
23 AM_GNU_GETTEXT_VERSION([0.14.4])
26 AC_PREFIX_PROGRAM(cvs)
27 AM_CONFIG_HEADER(config.h)
30 dnl This needs to be called to enable certain system extensions before calling
37 # Find the posix library needed on INTERACTIVE UNIX (ISC)
39 dnl From the Autoconf 2.53 manual (AC_ISC_POSIX):
41 dnl For INTERACTIVE UNIX (ISC), add `-lcposix' to output variable
42 dnl `LIBS' if necessary for POSIX facilities. Call this after
43 dnl `AC_PROG_CC' and before any other macros that use POSIX
44 dnl interfaces. INTERACTIVE UNIX is no longer sold, and Sun says that
45 dnl they will drop support for it on 2006-07-23, so this macro is
46 dnl becoming obsolescent.
48 AC_SEARCH_LIBS([strerror], [cposix])
51 dnl Autoconf stopped setting $ISC sometime before 2.53
53 dnl If this is still important, someone should come up with a generic test
54 dnl for whether _SYSV3 needs to be defined. Removed code below:
56 dnl if test "$ISC" = yes; then
57 dnl CFLAGS="$CFLAGS -D_SYSV3"
58 dnl # And I don't like this... In theory it should be found later if server is
59 dnl # enabled, but maybe something on INTERACTIVE UNIX (ISC) we didn't ask to
60 dnl # link with crypt tries? Anyhow, the autoconf manual says we can delete
61 dnl # this ISC stuff on or after 2006-07-23 when Sun discontinues support and
62 dnl # ISC becomes obsolescent, but I suppose that is probably a matter of
65 dnl # N.B. The reason for doing this is that some moron decided to put a stub
66 dnl # for crypt in libc that always returns NULL. Without this here, the later
67 dnl # check will find the stub instead of the real thing, resulting in a server
68 dnl # that can't process crypted passwords correctly.
70 dnl # again, if we have to try and reenable this for ISC, someone should come
71 dnl # up with a generic test that figures out whether crypt is good or not -
72 dnl # Is it always returning NULL?
73 dnl LIBS="-lcrypt $LIBS"
76 dnl FIXME - This has been broken for at least a few months anyhow, so I'm
77 dnl removing the crypt lib define above, but the correct fix would be to
78 dnl provide a CRYPT_WORKS macro or the like that gets called sometime after
79 dnl the AC_SEARCH_LIBS call that normally finds crypt, and if crypt doesn't
80 dnl work, the macro should be retried with LIBS="-lcrypt $LIBS" forced.
88 AC_PATH_PROG(PERL, perl, no)
89 AC_PATH_PROG(CSH, csh, no)
90 # for contrib/rcs2log.sh & src/cvsbug.in.
91 AC_PATH_PROG(MKTEMP, mktemp, mktemp)
92 if test x"$MKTEMP" = xmktemp; then
93 MKTEMP_SH_FUNCTION=$srcdir/mktemp.sh
95 MKTEMP_SH_FUNCTION=/dev/null
97 AC_SUBST_FILE(MKTEMP_SH_FUNCTION)
99 AC_PATH_PROG(SENDMAIL, sendmail, no, [$PATH:/usr/sbin:/usr/lib])
101 AC_PATH_PROG(PR, pr, no)
102 if test x"$PR" != xno; then
103 AC_DEFINE_UNQUOTED([PR_PROGRAM], ["$PR"], [Path to the pr utility])
106 dnl FIXME This is truly gross.
107 missing_dir=`cd $ac_aux_dir && pwd`
108 dnl FIXME I pulled this default list from sanity.sh. Perhaps these lists
109 dnl can be stored in one location?
111 dnl Yeah, put the value in a variable add it to the substitution list
112 dnl then have configure create sanity.sh from sanity.sh.in...
113 glocs="$PATH:/usr/local/bin:/usr/contrib/bin:/usr/gnu/bin:/local/bin:/local/gnu/bin:/gnu/bin"
114 AC_PATH_PROGS(ROFF, nroff gnroff groff roff, $missing_dir/missing roff, $glocs)
115 AC_PATH_PROG(PS2PDF, ps2pdf, $missing_dir/missing ps2pdf)
116 AC_PATH_PROG(TEXI2DVI, texi2dvi, $missing_dir/missing texi2dvi)
119 if test X"$ac_cv_sys_interpreter" != X"yes" ; then
120 # silly trick to avoid problems in AC macros...
121 ac_msg='perl scripts using #! may not be invoked properly'
125 # BSD's logo is a devil for a reason, hey?
126 AC_CACHE_CHECK(for BSD VPATH bug in make, ccvs_cv_bsd_make_vpath_bug,
127 [if test ! -d ac_test_dir ; then
128 AC_TRY_COMMAND([mkdir ac_test_dir])
130 cat >conftestmake <<EOF
132 ac_test_target: ac_test_dep
133 echo BSD VPATH bug present >&2
134 ac_test_dep: ac_test_dep_dep
136 touch ac_test_dir/ac_test_dep_dep
137 touch ac_test_dir/ac_test_dep
139 # Don't know why, but the following test doesn't work under FreeBSD 4.2
140 # without this sleep command
142 if AC_TRY_COMMAND([make -f conftestmake 2>&1 >/dev/null |grep ^BSD\ VPATH\ bug\ present\$ >/dev/null]) ; then
143 ccvs_cv_bsd_make_vpath_bug=yes
145 ccvs_cv_bsd_make_vpath_bug=no
147 AC_TRY_COMMAND([rm -rf ac_test_dir ac_test_target conftestmake])])
148 # We also don't need to worry about the bug when $srcdir = $builddir
149 AM_CONDITIONAL(MAKE_TARGETS_IN_VPATH, \
150 test $ccvs_cv_bsd_make_vpath_bug = no \
180 AC_CHECK_MEMBERS([struct stat.st_blksize])
181 AC_CHECK_MEMBERS([struct stat.st_rdev])
184 AC_CHECK_FUNC(fseeko)
185 if test $ac_cv_func_fseeko = no; then
190 # Replace functions with versions in lib/ when they can't be found.
196 # Special hack for a SunOS 5.7 (aka Solaris 7) select() problem.
201 # Begin GNULIB stuff.
204 # Look for functions from GNULIB and replace with versions in lib/ when
206 dnl This calls most of the GNULIB macros we need via the
207 dnl autogenerated m4/gnulib.m4.
209 dnl For one reason or another, the autogenerated m4/gnulib.m4 wants
210 dnl AM_GNU_GETTEXT([external]) called directly from here.
211 AM_GNU_GETTEXT([external])
212 AM_GNU_GETTEXT_VERSION dnl work around for autoconf-2.57 bug.
213 # The error module still poses merge problems.
215 dnl The following macros can be called by other GNULIB macros but are also
216 dnl used by the UNIQUE_*_TYPE stuff below. I don't want to rely on the GNULIB
217 dnl macros which call these to continue to do so, so use AC_REQUIRE, which can
218 dnl only be called from within another macro, to only call them only once.
219 AC_DEFUN([CCVS_CALL_GNULIB_MACROS_ONCE],
220 [AC_REQUIRE([gt_TYPE_LONGDOUBLE])
221 AC_REQUIRE([gt_TYPE_WCHAR_T])
222 AC_REQUIRE([gt_TYPE_WINT_T])
223 AC_REQUIRE([gl_AC_TYPE_INTMAX_T])
224 AC_REQUIRE([gl_FUNC_MMAP_ANON])
225 AC_REQUIRE([gl_AC_TYPE_LONG_LONG])])
226 CCVS_CALL_GNULIB_MACROS_ONCE()
227 dnl Until I persuade the GNULIB folks to integrate this module.
236 # Check for function existance.
266 dnl Find the sizes of various types and set a variable for some if they
267 dnl are "unique", meaning it does not share a size with a lower precedence
270 dnl also, I snagged this cross_compiling line from openldap's autoconf,
271 dnl because I can't figure out how to stop autoconf from giving cross compiler
272 dnl related warnings each time the AC_CHECK_SIZEOF function is run
274 if test $cross_compiling = yes ; then
275 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
277 AC_CHECK_SIZEOF(char)
278 AC_CACHE_CHECK(for uniquely sized char,
279 ccvs_cv_unique_int_type_char,
280 [if set |grep ^ccvs_cv_unique_int_type_ \
281 |grep "($ac_cv_sizeof_char)" >/dev/null ; then
282 ccvs_cv_unique_int_type_char=no
284 ccvs_cv_unique_int_type_char=yes\($ac_cv_sizeof_char\)
286 if test $ccvs_cv_unique_int_type_char != no ; then
287 AC_DEFINE( UNIQUE_INT_TYPE_CHAR, 1,
288 [Define if char is the first integer type
289 detected with its size.])
291 AC_CHECK_SIZEOF(short)
292 AC_CACHE_CHECK(for uniquely sized short,
293 ccvs_cv_unique_int_type_short,
294 [if set |grep ^ccvs_cv_unique_int_type_ \
295 |grep "($ac_cv_sizeof_short)" >/dev/null ; then
296 ccvs_cv_unique_int_type_short=no
298 ccvs_cv_unique_int_type_short=yes\($ac_cv_sizeof_short\)
300 if test $ccvs_cv_unique_int_type_short != no ; then
301 AC_DEFINE( UNIQUE_INT_TYPE_SHORT, 1,
302 [Define if short is the first integer type
303 detected with its size.])
306 AC_CACHE_CHECK(for uniquely sized int,
307 ccvs_cv_unique_int_type_int,
308 [if set |grep ^ccvs_cv_unique_int_type_ \
309 |grep "($ac_cv_sizeof_int)" >/dev/null ; then
310 ccvs_cv_unique_int_type_int=no
312 ccvs_cv_unique_int_type_int=yes\($ac_cv_sizeof_int\)
314 if test $ccvs_cv_unique_int_type_int != no ; then
315 AC_DEFINE( UNIQUE_INT_TYPE_INT, 1,
316 [Define if int is the first integer type
317 detected with its size.])
319 AC_CHECK_SIZEOF(long)
320 AC_CACHE_CHECK(for uniquely sized long,
321 ccvs_cv_unique_int_type_long,
322 [if set |grep ^ccvs_cv_unique_int_type_ \
323 |grep "($ac_cv_sizeof_long)" >/dev/null ; then
324 ccvs_cv_unique_int_type_long=no
326 ccvs_cv_unique_int_type_long=yes\($ac_cv_sizeof_long\)
328 if test $ccvs_cv_unique_int_type_long != no ; then
329 AC_DEFINE(UNIQUE_INT_TYPE_LONG, 1,
330 [Define if long int is the first integer type
331 detected with its size.])
333 if test $ac_cv_type_long_long != no; then
334 AC_CHECK_SIZEOF(long long)
335 AC_CACHE_CHECK(for uniquely sized long long,
336 ccvs_cv_unique_int_type_long_long,
337 [if set |grep ^ccvs_cv_unique_int_type_ \
338 |grep "($ac_cv_sizeof_long_long)" >/dev/null ; then
339 ccvs_cv_unique_int_type_long_long=no
341 ccvs_cv_unique_int_type_long_long=yes\($ac_cv_sizeof_long_long\)
343 if test $ccvs_cv_unique_int_type_long_long != no ; then
344 AC_DEFINE(UNIQUE_INT_TYPE_LONG_LONG, 1,
345 [Define if long long is the first integer type
346 detected with its size.])
349 AC_CHECK_SIZEOF(size_t)
350 AC_CACHE_CHECK(for uniquely sized size_t,
351 ccvs_cv_unique_int_type_size_t,
352 [if set |grep ^ccvs_cv_unique_int_type_ \
353 |grep "($ac_cv_sizeof_size_t)" >/dev/null ; then
354 ccvs_cv_unique_int_type_size_t=no
356 ccvs_cv_unique_int_type_size_t=yes\($ac_cv_sizeof_size_t\)
358 if test $ccvs_cv_unique_int_type_size_t != no ; then
359 AC_DEFINE(UNIQUE_INT_TYPE_SIZE_T, 1,
360 [Define if size_t is the first integer type
361 detected with its size.])
363 AC_CHECK_SIZEOF(ptrdiff_t)
364 AC_CACHE_CHECK(for uniquely sized ptrdiff_t,
365 ccvs_cv_unique_int_type_ptrdiff_t,
366 [if set |grep ^ccvs_cv_unique_int_type_ \
367 |grep "($ac_cv_sizeof_ptrdiff_t)" >/dev/null ; then
368 ccvs_cv_unique_int_type_ptrdiff_t=no
370 ccvs_cv_unique_int_type_ptrdiff_t=yes\($ac_cv_sizeof_ptrdiff_t\)
372 if test $ccvs_cv_unique_int_type_ptrdiff_t != no ; then
373 AC_DEFINE(UNIQUE_INT_TYPE_PTRDIFF_T, 1,
374 [Define if ptrdiff_t is the first integer type
375 detected with its size.])
377 if test $gt_cv_c_wint_t != no; then
378 AC_CHECK_SIZEOF(wint_t, [], [[#include <stdio.h>
381 AC_CACHE_CHECK(for uniquely sized wint_t,
382 ccvs_cv_unique_int_type_wint_t,
383 [if set |grep ^ccvs_cv_unique_int_type_ \
384 |grep "($ac_cv_sizeof_wint_t)" >/dev/null ; then
385 ccvs_cv_unique_int_type_wint_t=no
387 ccvs_cv_unique_int_type_wint_t=yes\($ac_cv_sizeof_wint_t\)
389 if test $ccvs_cv_unique_int_type_wint_t != no ; then
390 AC_DEFINE( UNIQUE_INT_TYPE_WINT_T, 1,
391 [Define if wint_t is the first integer type
392 detected with its size.])
395 if test $gt_cv_c_intmax_t != no; then
396 AC_CHECK_SIZEOF(intmax_t, [], [[#include <stdio.h>
397 #ifdef HAVE_INTTYPES_H
398 #include <inttypes.h>
405 AC_CACHE_CHECK(for uniquely sized intmax_t,
406 ccvs_cv_unique_int_type_intmax_t,
407 [if set |grep ^ccvs_cv_unique_int_type_ \
408 |grep "($ac_cv_sizeof_intmax_t)" >/dev/null ; then
409 ccvs_cv_unique_int_type_intmax_t=no
411 ccvs_cv_unique_int_type_intmax_t=yes\($ac_cv_sizeof_intmax_t\)
413 if test $ccvs_cv_unique_int_type_intmax_t != no ; then
414 AC_DEFINE( UNIQUE_INT_TYPE_INTMAX_T, 1,
415 [Define if intmax_t is the first integer type
416 detected with its size.])
421 dnl and the same for floats...
423 AC_CHECK_SIZEOF(float)
424 AC_CACHE_CHECK(for uniquely sized float,
425 ccvs_cv_unique_float_type_float,
426 [if set |grep ^ccvs_cv_unique_float_type_ \
427 |grep "($ac_cv_sizeof_float)" >/dev/null ; then
428 ccvs_cv_unique_float_type_float=no
430 ccvs_cv_unique_float_type_float=yes\($ac_cv_sizeof_float\)
432 if test $ccvs_cv_unique_float_type_float != no ; then
433 AC_DEFINE( UNIQUE_FLOAT_TYPE_FLOAT, 1,
434 [Define if float is the first floating point type
435 detected with its size.])
437 AC_CHECK_SIZEOF(double)
438 AC_CACHE_CHECK(for uniquely sized double,
439 ccvs_cv_unique_float_type_double,
440 [if set |grep ^ccvs_cv_unique_float_type_ \
441 |grep "($ac_cv_sizeof_double)" >/dev/null ; then
442 ccvs_cv_unique_float_type_double=no
444 ccvs_cv_unique_float_type_double=yes\($ac_cv_sizeof_double\)
446 if test $ccvs_cv_unique_float_type_double != no ; then
447 AC_DEFINE( UNIQUE_FLOAT_TYPE_DOUBLE, 1,
448 [Define if double is the first floating point type
449 detected with its size.])
451 if test $gt_cv_c_long_double != no; then
452 AC_CHECK_SIZEOF(long double)
453 AC_CACHE_CHECK(for uniquely sized long double,
454 ccvs_cv_unique_float_type_long_double,
455 [if set |grep ^ccvs_cv_unique_float_type_ \
456 |grep "($ac_cv_sizeof_long_double)" >/dev/null ; then
457 ccvs_cv_unique_float_type_long_double=no
459 ccvs_cv_unique_float_type_long_double=yes\($ac_cv_sizeof_long_double\)
461 if test $ccvs_cv_unique_float_type_long_double != no ; then
462 AC_DEFINE(UNIQUE_FLOAT_TYPE_LONG_DOUBLE, 1,
463 [Define if long double is the first floating point
464 type detected with its size.])
470 dnl The CVS coding standard (as specified in HACKING) is that if it exists
471 dnl in SunOS4 and ANSI, we use it. CVS itself, of course, therefore doesn't
472 dnl need HAVE_* defines for such functions, but diff wants them.
474 AC_DEFINE(HAVE_STRCHR, 1,
475 [Define if you have strchr (always for CVS).])
476 AC_DEFINE(HAVE_MEMCHR, 1,
477 [Define if you have memchr (always for CVS).])
480 dnl Force lib/regex.c to use malloc instead of messing around with alloca
481 dnl and define the old re_comp routines that we use.
483 AC_DEFINE(REGEX_MALLOC, 1,
484 [Define to force lib/regex.c to use malloc instead of alloca.])
485 AC_DEFINE(_REGEX_RE_COMP, 1,
486 [Define to force lib/regex.c to define re_comp et al.])
488 dnl AC_FUNC_FORK([]) is rather baroque. It seems to be rather more picky
489 dnl than, say, the Single Unix Specification (version 2), which simplifies
490 dnl a lot of cases by saying that the child process can't set any variables
491 dnl (thus avoiding problems with register allocation) or call any functions
492 dnl (thus avoiding problems with whether file descriptors are shared).
493 dnl It would be nice if we could just write to the Single Unix Specification.
494 dnl I think the only way to do redirection this way is by doing it in the
495 dnl parent, and then undoing it afterwards (analogous to windows-NT/run.c).
496 dnl That would appear to have a race condition if the user hits ^C (or
497 dnl some other signal) at the wrong time, as main_cleanup will try to use
498 dnl stdout/stderr. So maybe we are stuck with AC_FUNC_FORK([]).
501 AC_FUNC_CLOSEDIR_VOID
504 dnl Check for shadow password support.
506 dnl We used to try to determine whether shadow passwords were actually in
507 dnl use or not, but the code has been changed to work right reguardless,
508 dnl so we can go back to a simple check.
509 AC_SEARCH_LIBS(getspnam, sec gen, AC_DEFINE(HAVE_GETSPNAM, 1,
510 [Define if you have the getspnam function.]))
513 AC_SYS_LONG_FILE_NAMES
515 dnl for debugging code
518 # Try to find connect and gethostbyname.
519 AC_CHECK_LIB(nsl, main)
520 AC_SEARCH_LIBS(connect, xnet socket inet,
521 AC_DEFINE(HAVE_CONNECT, 1,
522 [Define if you have the connect function.]))
523 dnl no need to search nsl for gethostbyname here since we should have
524 dnl just added libnsl above if we found it.
525 AC_SEARCH_LIBS(gethostbyname, netinet)
527 AC_SUBST(cvs_client_objects)
535 dnl set $(KRB4) from --with-krb4=value -- WITH_KRB4
537 dnl If you change this, keep in mind that some systems have a bogus
538 dnl libkrb in the system libraries, so --with-krb4=value needs to
539 dnl override the system -lkrb.
547 [Kerberos 4 directory (default /usr/kerberos)]),
550 AC_MSG_CHECKING([for KRB4 in $KRB4])
556 AC_MSG_CHECKING([for krb.h])
557 if test "$cross_compiling" != yes && test -r $KRB4/include/krb.h; then
559 CFLAGS="$CFLAGS -I$KRB4/include"
560 AC_TRY_LINK([#include <krb.h>],[int i;],
561 [krb_h=yes krb_incdir=$KRB4/include],
563 AC_TRY_LINK([#include <krb.h>],[int i;],
564 [krb_h=yes krb_incdir=])])
567 AC_TRY_LINK([#include <krb.h>],[int i;],
568 [krb_h=yes krb_incdir=])
570 if test -z "$krb_h"; then
571 AC_TRY_LINK([#include <krb.h>],[int i;],
572 [krb_h=yes krb_incdir=],
573 [if test "$cross_compiling" != yes && test -r $KRB4/include/kerberosIV/krb.h; then
575 CFLAGS="$CFLAGS -I$KRB4/include/kerberosIV"
576 AC_TRY_LINK([#include <krb.h>],[int i;],
577 [krb_h=yes krb_incdir=$KRB4/include/kerberosIV])
581 AC_MSG_RESULT($krb_h)
583 if test -n "$krb_h"; then
585 if test "$cross_compiling" != yes && test -r $KRB4/lib/libkrb.a; then
586 hold_ldflags=$LDFLAGS
587 LDFLAGS="-L${KRB4}/lib $LDFLAGS"
588 AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=${KRB4}/lib],
589 [LDFLAGS=$hold_ldflags
590 # Using open here instead of printf so we don't
591 # get confused by the cached value for printf from above.
592 AC_CHECK_LIB(krb,open,[krb_lib=yes krb_libdir=])])
593 LDFLAGS=$hold_ldflags
595 AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=])
596 AC_CHECK_FUNC(krb_recvauth,[krb_lib=yes krb_libdir=])
598 if test -n "$krb_lib"; then
599 AC_DEFINE([HAVE_KERBEROS], 1,
600 [Define if you have MIT Kerberos version 4 available.])
601 cvs_client_objects="$cvs_client_objects kerberos4-client.o"
602 test -n "${krb_libdir}" && LIBS="${LIBS} -L${krb_libdir}"
603 # Put -L${krb_libdir} in LDFLAGS temporarily so that it appears before
604 # -ldes in the command line. Don't do it permanently so that we honor
605 # the user's setting for LDFLAGS
606 hold_ldflags=$LDFLAGS
607 test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
608 AC_CHECK_LIB(des,printf,[LIBS="${LIBS} -ldes"])
609 AC_CHECK_LIB(krb,krb_recvauth)
610 AC_CHECK_LIB(krb4,krb_recvauth)
611 LDFLAGS=$hold_ldflags
612 if test -n "$krb_incdir"; then
613 CPPFLAGS="$CPPFLAGS -I$krb_incdir"
617 AC_CHECK_FUNCS(krb_get_err_text)
621 dnl WITH_GSSAPI is external
623 dnl TODO - I tried to put these in alphabetical order, but ACX_WITH_GSSAPI
624 dnl fails unless called after the KRB4 stuff. I don't know why.
629 dnl WITH_EXTERNAL_ZLIB is external
631 ACX_WITH_EXTERNAL_ZLIB
636 dnl Many sites no longer desire the use of "rsh" as the default
637 dnl remote shell program. They typically favor "ssh" as the default
639 # What remote shell transport should our client cvs default to using?
644 [The default remote shell CVS will use for :ext: transport
646 [with_rsh="ssh rsh"])
648 if test no = "$with_rsh"; then
649 AC_MSG_WARN([Failed to find usable remote shell. Using 'rsh'.])
651 elif test yes = "$with_rsh"; then
652 # Make --with-rsh mean the same thing as --with-rsh=rsh
656 if echo $with_rsh |grep ^/ >/dev/null; then
657 # If $with_rsh is an absolute path, issue a warning if the executable
658 # doesn't exist or isn't usable, but then trust the user and use it
660 with_default_rsh=$with_rsh
661 AC_MSG_CHECKING([for a remote shell])
662 if ! test -f $with_rsh \
663 || ! test -x $with_rsh; then
664 # warn the user that they may encounter problems
665 AC_MSG_WARN([$with_rsh is not a path to an executable file])
668 # Search for a remote shell
669 AC_CHECK_PROGS([with_default_rsh], [$with_rsh], "rsh")
673 [RSH_DFLT], ["$with_default_rsh"],
674 [The default remote shell to use, if one does not specify the
675 CVS_RSH environment variable.])
676 RSH_DFLT=$with_default_rsh
678 dnl done with finding a default CVS_RSH value
684 dnl begin --with-editor
686 dnl Set the default editor to use for log messages
691 [The text editor CVS will use by default for log messages.])
693 # Let the confiscator request a specific editor
698 [The default text editor CVS should use for log messages
699 (default autoselects)]), ,
702 # If --with-editor was supplied with an argument, let it override $EDITOR from
703 # the user's environment. We need to unset EDITOR here because AC_CHECK_PROGS
704 # will let the value of EDITOR ride when it is set rather than searching. We
705 # ignore the --without-editor case since it will be caught below.
706 if test -n "$EDITOR" && test yes != $with_editor; then
710 # Set the default when --with-editor wasn't supplied or when it was supplied
711 # without an argument.
712 if test yes = $with_editor; then
713 with_editor="vim vi emacs nano pico edit"
716 if echo $with_editor |grep ^/ >/dev/null; then
717 # If $with_editor is an absolute path, issue a warning if the executable
718 # doesn't exist or isn't usable, but then trust the user and use it
721 AC_MSG_CHECKING([for an editor])
722 AC_MSG_RESULT([$EDITOR])
723 if ! test -f $with_editor \
724 || ! test -x $with_editor; then
725 # warn the user that they may encounter problems
726 AC_MSG_WARN([\`$with_editor' is not a path to an executable file])
728 elif test no != "${with_editor}"; then
729 # Search for an editor
730 AC_CHECK_PROGS([EDITOR], [$with_editor], [no])
731 if test no = "${EDITOR}"; then
733 Failed to find a text file editor. CVS cannot be compiled
734 without a default log message editor. Searched for
735 \`$with_editor'. Try \`configure --with-editor'.])
739 CVS cannot be compiled without a default log message editor.
740 Try \`configure --with-editor'.])
743 dnl FIXME - Using --without-editor will probably break a compile at
744 dnl the moment, but maybe it is reasonable for someone to want to
745 dnl compile a CVS executable that refuses to run if no $EDITOR,
746 dnl $CVS_EDITOR, or -e option is specified? Making a preliminary
747 dnl design decision in this direction, subject to discussion.
749 dnl Still don't know if the above would be useful, but we shouldn't
750 dnl be able to get here any longer without $EDITOR defined due to the
751 dnl error checking above.
753 [EDITOR_DFLT], ["$EDITOR"],
754 [The default editor to use, if one does not specify the "-e" option
755 to cvs, or does not have an EDITOR environment variable. If this
756 is not set to an absolute path to an executable, use the shell to
757 find where the editor actually is. This allows sites with
758 /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their
759 PATH is reasonable).])
762 dnl done finding an editor
764 dnl end --with-editor
770 dnl --with-hardcoded-pam-service-name
773 [hardcoded-pam-service-name],
775 [--with-hardcoded-pam-service-name],
776 [Use this to hard code a service name for PAM CVS authentication. The
777 special name, `program_name', will cause CVS to use whatever name it
778 was invoked as as the service name. (defaults to `cvs')]),,
779 [with_hardcoded_pam_service_name=cvs])
781 if test "x$with_hardcoded_pam_service_name" = xno ||
782 test "x$with_hardcoded_pam_service_name" = xprogram_name; then
783 AC_DEFINE([PAM_SERVICE_NAME], [program_name],
784 [Define to set a service name for PAM. This must be defined. Define to
785 `program_name', without the quotes, to use whatever name CVS was invoked
786 as. Otherwise, define to a double-quoted literal string, such as
789 if test x"$with_hardcoded_pam_service_name" = xyes; then
790 with_hardcoded_pam_service_name=cvs
792 AC_DEFINE_UNQUOTED([PAM_SERVICE_NAME], ["$with_hardcoded_pam_service_name"])
798 dnl Find a temporary directory
804 [The temporary directory CVS should use as a default
805 (default autoselects)]))
807 AC_MSG_CHECKING([for temporary directory])
808 if test -z "$with_tmpdir" || test yes = "$with_tmpdir"; then
809 for with_tmpdir in /tmp /var/tmp no; do
810 if test -d "$with_tmpdir" && test -x "$with_tmpdir" \
811 && test -w "$with_tmpdir" && test -r "$with_tmpdir"; then
815 if test no = "$with_tmpdir"; then
816 AC_MSG_WARN([Failed to find usable temporary directory. Using '/tmp'.])
819 AC_MSG_RESULT([$with_tmpdir])
820 elif ! echo "$with_tmpdir" |grep '^[[\\/]]'; then
821 AC_MSG_RESULT([$with_tmpdir])
822 AC_MSG_ERROR([--with-tmpdir requires an absolute path.])
823 elif ! test -d "$with_tmpdir" || ! test -x "$with_tmpdir" \
824 || ! test -w "$with_tmpdir" || ! test -r "$with_tmpdir"; then
825 AC_MSG_RESULT([$with_tmpdir])
827 [User supplied temporary directory ('$with_tmpdir') does not
828 exist or lacks sufficient permissions for read/write.])
832 [TMPDIR_DFLT], ["$with_tmpdir"],
833 [Directory used for storing temporary files, if not overridden by
834 environment variables or the -T global option. There should be little
835 need to change this (-T is a better mechanism if you need to use a
836 different directory for temporary files).])
839 dnl done finding tmpdir
844 dnl Get default umask
851 [Set the umask CVS will use by default in the repository (default 002)]))
853 if test -z "$with_umask" || test yes = "$with_umask"; then
855 elif test no = "$with_umask"; then
860 [UMASK_DFLT], [$with_umask],
861 [The default umask to use when creating or otherwise setting file or
862 directory permissions in the repository. Must be a value in the
863 range of 0 through 0777. For example, a value of 002 allows group
864 rwx access and world rx access; a value of 007 allows group rwx
865 access but no world access. This value is overridden by the value
866 of the CVSUMASK environment variable, which is interpreted as an
870 dnl Done setting default umask
874 dnl Set CVS Administrator Group
879 [--with-cvs-admin-group=GROUP],
880 [The CVS admin command is restricted to the members of this group.
881 If this group does not exist, all users are allowed to run CVS admin.
882 To disable the CVS admin command for all users, create an empty group
883 by specifying the --with-cvs-admin-group= option. To disable access
884 control for CVS admin, run configure with the --without-cvs-admin-group
885 option. (default 'cvsadmin')]), ,
886 [with_cvs_admin_group=cvsadmin])
888 if test yes = "$with_cvs_admin_group"; then
889 with_cvs_admin_group=cvsadmin
891 if test no != "$with_cvs_admin_group"; then
892 dnl FIXME We should warn if the group doesn't exist
894 [CVS_ADMIN_GROUP], ["$with_cvs_admin_group"],
895 [The CVS admin command is restricted to the members of the group
896 CVS_ADMIN_GROUP. If this group does not exist, all users are
897 allowed to run CVS admin. To disable the CVS admin command for
898 all users, create an empty CVS_ADMIN_GROUP by running configure
899 with the --with-cvs-admin-group= option. To disable access control
900 for CVS admin, run configure with the --without-cvs-admin-group
901 option in order to comment out the define below.])
905 dnl Done setting CVS Administrator Group
909 dnl Set the NDBM library to use.
911 dnl XXX - FIXME - FIXME - FIXME - XXX
913 dnl This is very bad. It should really autodetect an appropriate NDBM library
914 dnl and, if it doesn't find one, decide to use MY_NDBM. I'm am defining
915 dnl this here since this is no worse than it worked when it was in options.h
916 dnl and I am cleaning out options.h so that the Windows version of CVS will
917 dnl compile properly for the next release.
919 dnl That's why this option is in the --with-* section rather than the
920 dnl --enable-* section.
922 dnl XXX - FIXME - FIXME - FIXME - XXX
928 [Use the NDBM library distributed with CVS rather than attempting to use
929 a system NDBM library. Disabling this may not work. (default)]), ,
930 [enable_cvs_ndbm=yes])
931 if test no != "$enable_cvs_ndbm"; then
934 [By default, CVS stores its modules and other such items in flat
935 text files (MY_NDBM enables this). Turning off MY_NDBM causes CVS
936 to look for a system-supplied ndbm database library and use it
937 instead. That may speed things up, but the default setting
938 generally works fine too.])
942 dnl Done selecting NDBM library.
958 dnl begin --enable-client
961 # Check for options requesting client and server feature. If none are
962 # given and we have connect(), we want the full client & server arrangement.
967 [Include code for running as a remote client (default)]), ,
968 [enable_client=$ac_cv_search_connect])
969 if test no != "$enable_client"; then
971 [CLIENT_SUPPORT], [1],
972 [Define if you want CVS to be able to be a remote repository client.])
976 dnl end --enable-client
981 dnl begin --enable-password-authenticated-client
984 [password-authenticated-client],
986 [--enable-password-authenticated-client],
987 [Enable pserver as a remote access method in the CVS client
989 [enable_password_authenticated_client=$enable_client])
991 if test xno != "x$enable_password_authenticated_client"; then
992 if test xno != "x$enable_client"; then
994 [AUTH_CLIENT_SUPPORT], [1],
995 [Enable AUTH_CLIENT_SUPPORT to enable pserver as a remote access
996 method in the CVS client (default)])
999 [--enable-password-authenticated-client is meaningless with
1000 the CVS client disabled (--disable-client)])
1005 dnl begin --enable-password-authenticated-client
1010 dnl begin --enable-server
1014 dnl Give the confiscator control over whether the server code is compiled
1020 [Include code for running as a server (default)]), ,
1021 [enable_server=$ac_cv_search_connect])
1023 if test no != "$enable_server"; then
1025 [SERVER_SUPPORT], [1],
1026 [Define if you want CVS to be able to serve repositories to remote
1030 dnl The auth server needs to be able to check passwords against passwd
1031 dnl file entries, so we only #define AUTH_SERVER_SUPPORT if we can
1032 dnl find the crypt function.
1038 [Define if you have the crypt function.])
1040 [AUTH_SERVER_SUPPORT], [1],
1041 [Define if you want to use the password authenticated server.])dnl
1042 ])dnl AC_SEARCH_LIBS
1045 dnl Allow the configurer to enable server flowcontrol. Read the help
1046 dnl strings below for a full explanation.
1049 [server-flow-control],
1051 [--enable-server-flow-control],
1052 [If you are working with a large remote repository and a 'cvs
1053 checkout' is swamping your network and memory, define these to
1054 enable flow control. You may optionally pass a low water mark
1055 in bytes and a high water mark in bytes, separated by commas.
1056 (default is enabled 1M,2M)]),
1057 [if test yes = $enable_server_flow_control; then
1058 enable_server_flow_control=1M,2M
1060 [enable_server_flow_control=1M,2M])
1061 if test no != $enable_server_flow_control; then
1062 ccvs_lwm=`expr "$enable_server_flow_control" : '\(.*\),'`
1063 ccvs_hwm=`expr "$enable_server_flow_control" : '.*,\(.*\)'`
1064 ccvs_lwm_E=`expr "$ccvs_lwm" : '[[0-9]][[0-9]]*\(.*\)'`
1065 ccvs_lwm=`expr "$ccvs_lwm" : '\([[0-9]][[0-9]]*\)'`
1066 test "" != "$ccvs_lwm" || ccvs_lwm_E="?"
1068 G) ccvs_lwm="$ccvs_lwm * 1024 * 1024 * 1024";;
1069 M) ccvs_lwm="$ccvs_lwm * 1024 * 1024";;
1070 k) ccvs_lwm="$ccvs_lwm * 1024";;
1072 *) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control
1073 ('$enable_server_flow_control') as <lwm>,<hwm>])
1075 ccvs_hwm_E=`expr "$ccvs_hwm" : '[[0-9]][[0-9]]*\(.*\)'`
1076 ccvs_hwm=`expr "$ccvs_hwm" : '\([[0-9]][[0-9]]*\).*'`
1077 test "" != "$ccvs_hwm" || ccvs_hwm_E="?"
1079 G) ccvs_hwm="$ccvs_hwm * 1024 * 1024 * 1024";;
1080 M) ccvs_hwm="$ccvs_hwm * 1024 * 1024";;
1081 k) ccvs_hwm="$ccvs_hwm * 1024";;
1082 b | '') ccvs_hwm="$ccvs_hwm";;
1083 *) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control
1084 ('$enable_server_flow_control') as <lwm>,<hwm>])
1088 [SERVER_FLOWCONTROL], [1],
1089 [If you are working with a large remote repository and a 'cvs
1090 checkout' is swamping your network and memory, define these to
1091 enable flow control. You will end up with even less probability of
1092 a consistent checkout (see Concurrency in cvs.texinfo), but CVS
1093 doesn't try to guarantee that anyway. The master server process
1094 will monitor how far it is getting behind, if it reaches the high
1095 water mark, it will signal the child process to stop generating
1096 data when convenient (ie: no locks are held, currently at the
1097 beginning of a new directory). Once the buffer has drained
1098 sufficiently to reach the low water mark, it will be signalled to
1101 [SERVER_LO_WATER], [($ccvs_lwm)],
1102 [The low water mark in bytes for server flow control. Required if
1103 SERVER_FLOWCONTROL is defined, and useless otherwise.])
1105 [SERVER_HI_WATER], [($ccvs_hwm)],
1106 [The high water mark in bytes for server flow control. Required if
1107 SERVER_FLOWCONTROL is defined, and useless otherwise.])
1108 fi # enable_server_flow_control
1112 dnl end --enable-server
1117 dnl begin --enable-proxy
1121 dnl Give the confiscator control over whether the proxy server code is compiled
1127 [Include code for running as a transparent proxy server. Disabling this
1128 may produce a slight performance gain on some systems, at the expense of
1129 write proxy support. (default)]), ,
1130 [if test xno != "x$enable_client" && test xno != "x$enable_server"; then
1136 if test no != "$enable_proxy"; then
1137 if test xno = "x$enable_client" || test xno = "x$enable_server"; then
1139 [--enable-proxy is meaningless when either the CVS client or the
1140 CVS server is disabled (--disable-client and --disable-server).])
1143 [PROXY_SUPPORT], [1],
1144 [Define if you want CVS to be able to serve as a transparent proxy for
1145 write operations. Disabling this may produce a slight performance gain
1146 on some systems, at the expense of write proxy support.])
1150 dnl end --enable-proxy
1155 dnl begin --enable-pam
1159 dnl Check if PAM authentication is enabled
1165 [Use to enable system authentication with PAM instead of using the
1166 simple getpwnam interface. This allows authentication (in theory)
1167 with any PAM module, e.g. on systems with shadow passwords or via LDAP]), ,
1171 if test yes = $enable_pam; then
1172 ac_pam_header_available=
1174 AC_CHECK_HEADER([security/pam_appl.h], [
1175 AC_DEFINE([HAVE_SECURITY_PAM_APPL_H], 1, [Define to 1 if security/pam_appl.h is available])
1176 ac_pam_header_available=1])
1178 if test -z "$ac_pam_header_available"; then
1179 AC_CHECK_HEADER([pam/pam_appl.h], [
1180 AC_DEFINE([HAVE_PAM_PAM_APPL_H], 1, [Define to 1 if pam/pam_appl.h is available])
1181 ac_pam_header_available=1])
1184 if test -z "$ac_pam_header_available"; then
1185 AC_MSG_ERROR([Could not find PAM headers])
1187 AC_DEFINE(HAVE_PAM, 1,
1188 [Define to enable system authentication with PAM instead of using the
1189 simple getpwnam interface. This allows authentication (in theory)
1190 with any PAM module, e.g. on systems with shadow passwords or via LDAP])
1191 AC_CHECK_LIB(pam, pam_start, [LIBS="${LIBS} -lpam"],
1192 AC_MSG_ERROR([Could not find PAM libraries but the headers exist.
1193 Give the --disable-pam option to compile without PAM support (or fix
1194 your broken configuration)])
1200 dnl end --enable-pam
1205 dnl begin --enable-case-sensitivity
1211 [--enable-case-sensitivity],
1212 [Force CVS to expect a case sensitive file system. Enabling this on a case
1213 insensitive system should have little effect on the server or client
1214 operation, though client users may ocassionally be suprised that the CVS
1215 server appears to be case sensitive. Disabling this for a case sensitive
1216 server disables server support for case insensitive clients, which can
1217 confuse all users of case insensitive clients contacting the server.
1218 Disabling this for a case sensitive client will cause the client to ask
1219 servers to behave case insensitively, which could cause confusion for
1220 users, but also probably no real harm. (default autoselects based on the
1221 case sensitivity of the file system containing the current working
1223 [case "$enable_case_sensitivity" in
1226 AC_MSG_ERROR([Unrecognized argument to --enable-case-sensitivity: \`$enable_case_sensitivity'. Acceptable values are \`yes', \`no', and \`auto'.])
1229 [enable_case_sensitivity=auto])
1231 acx_forced=' (forced)'
1232 AC_MSG_CHECKING([for a case sensitive file system])
1233 if test $enable_case_sensitivity = auto; then
1235 dnl Check for a case insensitive filesystem, like Mac OS X and Windows have.
1237 AC_CACHE_VAL([acx_cv_case_sensitive],
1238 [ rm -f ac_TEST_filenames_CASE_sensitive
1239 echo foo >ac_test_filenames_case_sensitive
1240 if test -f ac_TEST_filenames_CASE_sensitive; then
1241 acx_cv_case_sensitive=no
1243 acx_cv_case_sensitive=yes
1245 rm ac_test_filenames_case_sensitive
1247 enable_case_sensitivity=$acx_cv_case_sensitive
1250 AC_MSG_RESULT([$enable_case_sensitivity$acx_forced])
1251 if test $enable_case_sensitivity = no; then
1252 AC_DEFINE([FILENAMES_CASE_INSENSITIVE], [1],
1253 [Define if this executable will be running on case insensitive
1254 file systems. In the client case, this means that it will request
1255 that the server pretend to be case insensitive if it isn't
1257 dnl Compile fncase.c (containing fncase() & fncmp()) to handle file name
1258 dnl comparisons on case insensitive filesystems.
1263 dnl end --enable-case-sensitivity
1268 dnl begin --enable-encryption
1272 dnl Use --enable-encryption to turn on encryption support, but ignore this
1273 dnl option unless either client or server is enabled.
1278 [--enable-encryption],
1279 [Enable encryption support (disabled by default)]), ,
1280 [enable_encryption=no])
1281 if test "x$enable_encryption" = xyes; then
1282 if test xno = "x$with_client" && test xno = "x$with_server"; then
1284 [--enable-encryption is meaningless when neither the CVS client
1285 nor the CVS server is enabled (--disable-client and --disable-server).])
1289 [Define to enable encryption support.])
1294 dnl end --enable-encryption
1299 dnl begin --enable-force-editor
1305 [--enable-force-editor],
1306 [When committing or importing files, you must enter a log message.
1307 Normally, you can do this either via the -m flag on the command
1308 line, the -F flag on the command line, or an editor will be started
1309 for you. If you like to use logging templates (the rcsinfo file
1310 within the $CVSROOT/CVSROOT directory), you might want to force
1311 people to use the editor even if they specify a message with -m or
1312 -F. --enable-force-editor will cause the -m or -F message to be
1313 appended to the temp file when the editor is started. (disabled
1315 [enable_force_editor=no])
1317 if test yes = "$enable_force_editor"; then
1319 [FORCE_USE_EDITOR], [1],
1320 [When committing or importing files, you must enter a log message.
1321 Normally, you can do this either via the -m flag on the command
1322 line, the -F flag on the command line, or an editor will be started
1323 for you. If you like to use logging templates (the rcsinfo file
1324 within the $CVSROOT/CVSROOT directory), you might want to force
1325 people to use the editor even if they specify a message with -m or
1326 -F. Enabling FORCE_USE_EDITOR will cause the -m or -F message to be
1327 appended to the temp file when the editor is started.])
1331 dnl end --enable-force-editor
1336 dnl begin --enable-lock-compatibility
1339 # Check for options requesting client and server feature. If none are
1340 # given and we have connect(), we want the full client & server arrangement.
1342 [lock-compatibility],
1344 [--enable-lock-compatibility],
1345 [Include locking code which prevents versions of CVS earlier than 1.12.4
1346 directly accessing the same repositiory as this executable from ignoring
1347 this executable's promotable read locks. If only CVS versions 1.12.4 and
1348 later will be accessing your repository directly (as a server or locally),
1349 you can safely disable this option in return for fewer disk accesses and a
1350 small speed increase. Disabling this option when versions of CVS earlier
1351 than 1,12,4 _will_ be accessing your repository, however, is *VERY* *VERY*
1352 *VERY* dangerous and could result in data loss. (enabled by default)]),,
1353 [enable_lock_compatibility=yes])
1355 if test x$enable_lock_compatibility = xyes; then
1356 AC_DEFINE([LOCK_COMPATIBILITY], [1],
1357 [Define to include locking code which prevents versions of CVS earlier than
1358 1.12.4 directly accessing the same repositiory as this executable from
1359 ignoring this executable's promotable read locks. If only CVS versions
1360 1.12.4 and later will be accessing your repository directly (as a server
1361 or locally), you can safely disable this option in return for fewer disk
1362 accesses and a small speed increase. Disabling this option when versions
1363 of CVS earlier than 1,12,4 _will_ be accessing your repository, however,
1364 is *VERY* *VERY* *VERY* dangerous and could result in data loss.
1366 As such, by default, CVS is compiled with this code enabled. If you are
1367 sure you would like this code disabled, you can disable it by passing the
1368 "--disable-lock-compatibility" option to configure or by commenting out
1373 dnl end --enable-lock-compatibility
1378 dnl begin --enable-rootcommit
1382 dnl I don't like this here, but I don't really like options.h, either.
1383 dnl Besides, this is causing some problems currently when compiling under
1384 dnl Windows and moving it here should avoid the issue (the wrong options.h
1387 dnl I don't like making this a runtime option either. I think I just don't
1388 dnl like making it easy to get to, but putting it here goes along with the
1394 [--enable-rootcommit],
1395 [Allow the root user to commit files (disabled by default)]), ,
1396 [enable_rootcommit=no])
1397 if test "$enable_rootcommit" = no; then
1400 [When committing a permanent change, CVS and RCS make a log entry of
1401 who committed the change. If you are committing the change logged
1402 in as "root" (not under "su" or other root-priv giving program),
1403 CVS/RCS cannot determine who is actually making the change.
1405 As such, by default, CVS prohibits changes committed by users
1406 logged in as "root". You can disable checking by passing the
1407 "--enable-rootcommit" option to configure or by commenting out the
1412 dnl end --enable-rootcommit
1416 dnl begin --enable-old-info-support
1421 [--enable-old-info-format-support],
1422 [Enable support for the pre 1.12.1 *info scripting hook format strings.
1423 Disable this option for a smaller executable once your scripting
1424 hooks have been updated to use the new *info format strings (default).]), ,
1425 [enable_old_info_format_support=yes])
1426 if test "$enable_old_info_format_support" = yes; then
1428 [SUPPORT_OLD_INFO_FMT_STRINGS], [1],
1429 [Enable support for the pre 1.12.1 *info scripting hook format strings.
1430 Disable this option for a smaller executable once your scripting
1431 hooks have been updated to use the new *info format strings by passing
1432 "--disable-old-info-format-support" option to configure or by commenting
1433 out the line below.])
1437 dnl end --enable-old-info-support
1442 dnl begin --enable-config-override
1448 [--enable-config-override],
1449 [Set to a comma-separated list of paths to directories (designated by
1450 trailing `/') and files, specifies the path prefixes (for directories) and
1451 paths to files the CVS server commands will allow configuration to be read
1452 from. Specify `--enable-config-override=no' to disable config file
1453 overrides completely and `--enable-config-override=/' or simply
1454 `--enable-config-override' to allow all paths. (Defaults to
1455 `SYSCONFDIR/cvs.conf,SYSCONFDIR/cvs/')]),,
1456 [# $sysconfdir may still contain variable references. By default, this will
1457 # be to $prefix, and $prefix won't be set to its default value until later.
1458 # Compromise without setting $prefix for the rest of the file.
1459 cvs_save_prefix=$prefix
1460 if test "X$prefix" = XNONE; then
1461 prefix=$ac_prefix_default
1463 eval enable_config_override=`echo $sysconfdir/cvs.conf,$sysconfdir/cvs/`
1464 prefix=$cvs_save_prefix])
1466 if test x"$enable_config_override" = xyes; then
1467 enable_config_override=/
1470 if test x"$enable_config_override" = xno; then :; else
1474 for path in $enable_config_override; do
1477 [[\\/$]]* | ?:[[\\/]]* )
1478 arrayinit="$arrayinit\"$path\", "
1481 [expected comma separated list of absolute directory
1482 names for --enable-config-override, or \`no', not:
1483 \`$enable_config_override'
1484 (\`$path' invalid.)]);;
1487 arrayinit="${arrayinit}NULL"
1489 AC_DEFINE_UNQUOTED(ALLOW_CONFIG_OVERRIDE, [$arrayinit],
1490 [Define this to a NULL terminated list of allowed path prefixes (for
1491 directories) and paths to files the CVS server will allow configuration to
1492 be read from when specified from the command line.])
1496 dnl end --enable-config-override
1507 dnl For the moment we will assume that all systems which have
1508 dnl the unixyness to run configure are unixy enough to do the
1509 dnl PreservePermissions stuff. I have this sinking feeling that
1510 dnl things won't be that simple, before long.
1511 dnl AC_DEFINE(PRESERVE_PERMISSIONS_SUPPORT, 1,
1512 dnl [Define if this system supports chown(), link(), and friends.])
1514 dnl On cygwin32, we configure like a Unix system, but we need some support
1515 dnl libraries. We do this at the end so that the new libraries are added at
1516 dnl the end of LIBS.
1518 dnl FIXME: We should be trying to meet the autoconf ideal of checking for
1519 dnl the properties of the system rather than the name of the os here. In other
1520 dnl words, we should check the case sensitivty of the system and then for
1521 dnl the support functions we are using and which library we find them in.
1522 AC_CACHE_CHECK(for cygwin32, ccvs_cv_sys_cygwin32,
1523 [AC_TRY_COMPILE([], [return __CYGWIN32__;],
1524 ccvs_cv_sys_cygwin32=yes, ccvs_cv_sys_cygwin32=no)])
1525 if test $ccvs_cv_sys_cygwin32 = yes; then
1526 LIBS="$LIBS -ladvapi32"
1528 dnl On Windows you can only change file times if you can write to
1529 dnl the file. cygwin32 should really handle this for us, but as of
1530 dnl January 1998 it doesn't.
1531 AC_DEFINE(UTIME_EXPECTS_WRITABLE, 1,
1532 [Define if utime requires write access to the file (true on Windows,
1535 dnl On Windows we must use setmode to change between binary and text
1536 dnl mode. This probably doesn't really require two macro definitions
1537 AC_DEFINE(USE_SETMODE_STDOUT, 1,
1538 [Define if setmode is required when writing binary data to stdout.])
1539 AC_DEFINE(HAVE_SETMODE, 1,
1540 [Define if the diff library should use setmode for binary files.])
1543 dnl associate the setting of the execute bit with the individual scripts
1544 AC_CONFIG_FILES(contrib/validate_repo, [chmod +x contrib/validate_repo])
1545 AC_CONFIG_FILES(contrib/clmerge, [chmod +x contrib/clmerge])
1546 AC_CONFIG_FILES(contrib/cln_hist, [chmod +x contrib/cln_hist])
1547 AC_CONFIG_FILES(contrib/commit_prep, [chmod +x contrib/commit_prep])
1548 AC_CONFIG_FILES(contrib/cvs_acls, [chmod +x contrib/cvs_acls])
1549 AC_CONFIG_FILES(contrib/log, [chmod +x contrib/log])
1550 AC_CONFIG_FILES(contrib/log_accum, [chmod +x contrib/log_accum])
1551 AC_CONFIG_FILES(contrib/mfpipe, [chmod +x contrib/mfpipe])
1552 AC_CONFIG_FILES(contrib/pvcs2rcs, [chmod +x contrib/pvcs2rcs])
1553 AC_CONFIG_FILES(contrib/rcs2log:contrib/rcs2log.sh, [chmod +x contrib/rcs2log])
1554 AC_CONFIG_FILES(contrib/rcslock, [chmod +x contrib/rcslock])
1555 AC_CONFIG_FILES(contrib/sccs2rcs, [chmod +x contrib/sccs2rcs])
1556 AC_CONFIG_FILES(doc/mkman:doc/mkman.pl, [chmod +x doc/mkman])
1557 AC_CONFIG_FILES(src/cvsbug, [chmod +x src/cvsbug])
1560 AC_CONFIG_FILES([Makefile \
1562 contrib/pam/Makefile \
1567 doc/i18n/pt_BR/Makefile \
1570 maint-aux/Makefile \
1574 src/sanity.config.sh \
1577 windows-NT/Makefile \
1578 windows-NT/SCC/Makefile \
1586 # Report the state of this version of CVS if this is from dev.
1587 m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[0-9]*\.[0-9]*\.[0-9]*\.[0-9]],
1590 You are about to use an unreleased version of CVS. Be sure to
1591 read the relevant mailing lists, most importantly <info-cvs@nongnu.org>.
1593 Below you will find information on the status of this version of CVS.
1597 sed -n '/^\* Status/,$p' $srcdir/BUGS