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],
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])
24 AM_GNU_GETTEXT_VERSION(0.14.6)
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, 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 if test $ac_cv_func_fseeko = no; then
189 # Replace functions with versions in lib/ when they can't be found.
194 AC_CACHE_CHECK([for getopt optreset variable], db_cv_optreset, [
195 AC_TRY_LINK([#include <unistd.h>], extern int optreset; optreset = 1;,
196 [db_cv_optreset=yes], [db_cv_optreset=no])])
197 if test "$db_cv_optreset" = "yes"; then
198 AC_DEFINE(HAVE_GETOPT_OPTRESET)
199 AH_TEMPLATE(HAVE_GETOPT_OPTRESET,
200 [Define to 1 if getopt supports the optreset variable.])
204 # Special hack for a SunOS 5.7 (aka Solaris 7) select() problem.
209 # Begin GNULIB stuff.
212 # Look for functions from GNULIB and replace with versions in lib/ when
214 dnl This calls most of the GNULIB macros we need via the
215 dnl autogenerated m4/gnulib.m4.
217 dnl For one reason or another, the autogenerated m4/gnulib.m4 wants
218 dnl AM_GNU_GETTEXT([external]) called directly from here.
219 AM_GNU_GETTEXT([external])
220 AM_GNU_GETTEXT_VERSION dnl work around for autoconf-2.57 bug.
221 # The error module still poses merge problems.
223 dnl The following macros can be called by other GNULIB macros but are also
224 dnl used by the UNIQUE_*_TYPE stuff below. I don't want to rely on the GNULIB
225 dnl macros which call these to continue to do so, so use AC_REQUIRE, which can
226 dnl only be called from within another macro, to only call them only once.
227 AC_DEFUN([CCVS_CALL_GNULIB_MACROS_ONCE],
228 [AC_REQUIRE([gt_TYPE_LONGDOUBLE])
229 AC_REQUIRE([gt_TYPE_WCHAR_T])
230 AC_REQUIRE([gt_TYPE_WINT_T])
231 AC_REQUIRE([gl_AC_TYPE_INTMAX_T])
232 AC_REQUIRE([gl_FUNC_MMAP_ANON])
233 AC_REQUIRE([gl_AC_TYPE_LONG_LONG])])
234 CCVS_CALL_GNULIB_MACROS_ONCE()
235 dnl Until I persuade the GNULIB folks to integrate this module.
244 # Check for function existance.
274 dnl Find the sizes of various types and set a variable for some if they
275 dnl are "unique", meaning it does not share a size with a lower precedence
278 dnl also, I snagged this cross_compiling line from openldap's autoconf,
279 dnl because I can't figure out how to stop autoconf from giving cross compiler
280 dnl related warnings each time the AC_CHECK_SIZEOF function is run
282 if test $cross_compiling = yes ; then
283 AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
285 AC_CHECK_SIZEOF(char)
286 AC_CACHE_CHECK(for uniquely sized char,
287 ccvs_cv_unique_int_type_char,
288 [if set |grep ^ccvs_cv_unique_int_type_ \
289 |grep "($ac_cv_sizeof_char)" >/dev/null ; then
290 ccvs_cv_unique_int_type_char=no
292 ccvs_cv_unique_int_type_char=yes\($ac_cv_sizeof_char\)
294 if test $ccvs_cv_unique_int_type_char != no ; then
295 AC_DEFINE( UNIQUE_INT_TYPE_CHAR, 1,
296 [Define if char is the first integer type
297 detected with its size.])
299 AC_CHECK_SIZEOF(short)
300 AC_CACHE_CHECK(for uniquely sized short,
301 ccvs_cv_unique_int_type_short,
302 [if set |grep ^ccvs_cv_unique_int_type_ \
303 |grep "($ac_cv_sizeof_short)" >/dev/null ; then
304 ccvs_cv_unique_int_type_short=no
306 ccvs_cv_unique_int_type_short=yes\($ac_cv_sizeof_short\)
308 if test $ccvs_cv_unique_int_type_short != no ; then
309 AC_DEFINE( UNIQUE_INT_TYPE_SHORT, 1,
310 [Define if short is the first integer type
311 detected with its size.])
314 AC_CACHE_CHECK(for uniquely sized int,
315 ccvs_cv_unique_int_type_int,
316 [if set |grep ^ccvs_cv_unique_int_type_ \
317 |grep "($ac_cv_sizeof_int)" >/dev/null ; then
318 ccvs_cv_unique_int_type_int=no
320 ccvs_cv_unique_int_type_int=yes\($ac_cv_sizeof_int\)
322 if test $ccvs_cv_unique_int_type_int != no ; then
323 AC_DEFINE( UNIQUE_INT_TYPE_INT, 1,
324 [Define if int is the first integer type
325 detected with its size.])
327 AC_CHECK_SIZEOF(long)
328 AC_CACHE_CHECK(for uniquely sized long,
329 ccvs_cv_unique_int_type_long,
330 [if set |grep ^ccvs_cv_unique_int_type_ \
331 |grep "($ac_cv_sizeof_long)" >/dev/null ; then
332 ccvs_cv_unique_int_type_long=no
334 ccvs_cv_unique_int_type_long=yes\($ac_cv_sizeof_long\)
336 if test $ccvs_cv_unique_int_type_long != no ; then
337 AC_DEFINE(UNIQUE_INT_TYPE_LONG, 1,
338 [Define if long int is the first integer type
339 detected with its size.])
341 if test $ac_cv_type_long_long != no; then
342 AC_CHECK_SIZEOF(long long)
343 AC_CACHE_CHECK(for uniquely sized long long,
344 ccvs_cv_unique_int_type_long_long,
345 [if set |grep ^ccvs_cv_unique_int_type_ \
346 |grep "($ac_cv_sizeof_long_long)" >/dev/null ; then
347 ccvs_cv_unique_int_type_long_long=no
349 ccvs_cv_unique_int_type_long_long=yes\($ac_cv_sizeof_long_long\)
351 if test $ccvs_cv_unique_int_type_long_long != no ; then
352 AC_DEFINE(UNIQUE_INT_TYPE_LONG_LONG, 1,
353 [Define if long long is the first integer type
354 detected with its size.])
357 AC_CHECK_SIZEOF(size_t)
358 AC_CACHE_CHECK(for uniquely sized size_t,
359 ccvs_cv_unique_int_type_size_t,
360 [if set |grep ^ccvs_cv_unique_int_type_ \
361 |grep "($ac_cv_sizeof_size_t)" >/dev/null ; then
362 ccvs_cv_unique_int_type_size_t=no
364 ccvs_cv_unique_int_type_size_t=yes\($ac_cv_sizeof_size_t\)
366 if test $ccvs_cv_unique_int_type_size_t != no ; then
367 AC_DEFINE(UNIQUE_INT_TYPE_SIZE_T, 1,
368 [Define if size_t is the first integer type
369 detected with its size.])
371 AC_CHECK_SIZEOF(ptrdiff_t)
372 AC_CACHE_CHECK(for uniquely sized ptrdiff_t,
373 ccvs_cv_unique_int_type_ptrdiff_t,
374 [if set |grep ^ccvs_cv_unique_int_type_ \
375 |grep "($ac_cv_sizeof_ptrdiff_t)" >/dev/null ; then
376 ccvs_cv_unique_int_type_ptrdiff_t=no
378 ccvs_cv_unique_int_type_ptrdiff_t=yes\($ac_cv_sizeof_ptrdiff_t\)
380 if test $ccvs_cv_unique_int_type_ptrdiff_t != no ; then
381 AC_DEFINE(UNIQUE_INT_TYPE_PTRDIFF_T, 1,
382 [Define if ptrdiff_t is the first integer type
383 detected with its size.])
385 if test $gt_cv_c_wint_t != no; then
386 AC_CHECK_SIZEOF(wint_t, [], [[#include <stdio.h>
389 AC_CACHE_CHECK(for uniquely sized wint_t,
390 ccvs_cv_unique_int_type_wint_t,
391 [if set |grep ^ccvs_cv_unique_int_type_ \
392 |grep "($ac_cv_sizeof_wint_t)" >/dev/null ; then
393 ccvs_cv_unique_int_type_wint_t=no
395 ccvs_cv_unique_int_type_wint_t=yes\($ac_cv_sizeof_wint_t\)
397 if test $ccvs_cv_unique_int_type_wint_t != no ; then
398 AC_DEFINE( UNIQUE_INT_TYPE_WINT_T, 1,
399 [Define if wint_t is the first integer type
400 detected with its size.])
403 if test $gt_cv_c_intmax_t != no; then
404 AC_CHECK_SIZEOF(intmax_t, [], [[#include <stdio.h>
405 #ifdef HAVE_INTTYPES_H
406 #include <inttypes.h>
413 AC_CACHE_CHECK(for uniquely sized intmax_t,
414 ccvs_cv_unique_int_type_intmax_t,
415 [if set |grep ^ccvs_cv_unique_int_type_ \
416 |grep "($ac_cv_sizeof_intmax_t)" >/dev/null ; then
417 ccvs_cv_unique_int_type_intmax_t=no
419 ccvs_cv_unique_int_type_intmax_t=yes\($ac_cv_sizeof_intmax_t\)
421 if test $ccvs_cv_unique_int_type_intmax_t != no ; then
422 AC_DEFINE( UNIQUE_INT_TYPE_INTMAX_T, 1,
423 [Define if intmax_t is the first integer type
424 detected with its size.])
429 dnl and the same for floats...
431 AC_CHECK_SIZEOF(float)
432 AC_CACHE_CHECK(for uniquely sized float,
433 ccvs_cv_unique_float_type_float,
434 [if set |grep ^ccvs_cv_unique_float_type_ \
435 |grep "($ac_cv_sizeof_float)" >/dev/null ; then
436 ccvs_cv_unique_float_type_float=no
438 ccvs_cv_unique_float_type_float=yes\($ac_cv_sizeof_float\)
440 if test $ccvs_cv_unique_float_type_float != no ; then
441 AC_DEFINE( UNIQUE_FLOAT_TYPE_FLOAT, 1,
442 [Define if float is the first floating point type
443 detected with its size.])
445 AC_CHECK_SIZEOF(double)
446 AC_CACHE_CHECK(for uniquely sized double,
447 ccvs_cv_unique_float_type_double,
448 [if set |grep ^ccvs_cv_unique_float_type_ \
449 |grep "($ac_cv_sizeof_double)" >/dev/null ; then
450 ccvs_cv_unique_float_type_double=no
452 ccvs_cv_unique_float_type_double=yes\($ac_cv_sizeof_double\)
454 if test $ccvs_cv_unique_float_type_double != no ; then
455 AC_DEFINE( UNIQUE_FLOAT_TYPE_DOUBLE, 1,
456 [Define if double is the first floating point type
457 detected with its size.])
459 if test $gt_cv_c_long_double != no; then
460 AC_CHECK_SIZEOF(long double)
461 AC_CACHE_CHECK(for uniquely sized long double,
462 ccvs_cv_unique_float_type_long_double,
463 [if set |grep ^ccvs_cv_unique_float_type_ \
464 |grep "($ac_cv_sizeof_long_double)" >/dev/null ; then
465 ccvs_cv_unique_float_type_long_double=no
467 ccvs_cv_unique_float_type_long_double=yes\($ac_cv_sizeof_long_double\)
469 if test $ccvs_cv_unique_float_type_long_double != no ; then
470 AC_DEFINE(UNIQUE_FLOAT_TYPE_LONG_DOUBLE, 1,
471 [Define if long double is the first floating point
472 type detected with its size.])
478 dnl The CVS coding standard (as specified in HACKING) is that if it exists
479 dnl in SunOS4 and ANSI, we use it. CVS itself, of course, therefore doesn't
480 dnl need HAVE_* defines for such functions, but diff wants them.
482 AC_DEFINE(HAVE_STRCHR, 1,
483 [Define if you have strchr (always for CVS).])
484 AC_DEFINE(HAVE_MEMCHR, 1,
485 [Define if you have memchr (always for CVS).])
488 dnl Force lib/regex.c to use malloc instead of messing around with alloca
489 dnl and define the old re_comp routines that we use.
491 AC_DEFINE(REGEX_MALLOC, 1,
492 [Define to force lib/regex.c to use malloc instead of alloca.])
493 AC_DEFINE(_REGEX_RE_COMP, 1,
494 [Define to force lib/regex.c to define re_comp et al.])
496 dnl AC_FUNC_FORK([]) is rather baroque. It seems to be rather more picky
497 dnl than, say, the Single Unix Specification (version 2), which simplifies
498 dnl a lot of cases by saying that the child process can't set any variables
499 dnl (thus avoiding problems with register allocation) or call any functions
500 dnl (thus avoiding problems with whether file descriptors are shared).
501 dnl It would be nice if we could just write to the Single Unix Specification.
502 dnl I think the only way to do redirection this way is by doing it in the
503 dnl parent, and then undoing it afterwards (analogous to windows-NT/run.c).
504 dnl That would appear to have a race condition if the user hits ^C (or
505 dnl some other signal) at the wrong time, as main_cleanup will try to use
506 dnl stdout/stderr. So maybe we are stuck with AC_FUNC_FORK([]).
509 AC_FUNC_CLOSEDIR_VOID
512 dnl Check for shadow password support.
514 dnl We used to try to determine whether shadow passwords were actually in
515 dnl use or not, but the code has been changed to work right reguardless,
516 dnl so we can go back to a simple check.
517 AC_SEARCH_LIBS(getspnam, sec gen, AC_DEFINE(HAVE_GETSPNAM, 1,
518 [Define if you have the getspnam function.]))
521 AC_SYS_LONG_FILE_NAMES
523 dnl for debugging code
526 # Try to find connect and gethostbyname.
527 AC_CHECK_LIB(nsl, main)
528 AC_SEARCH_LIBS(connect, xnet socket inet,
529 AC_DEFINE(HAVE_CONNECT, 1,
530 [Define if you have the connect function.]))
531 dnl no need to search nsl for gethostbyname here since we should have
532 dnl just added libnsl above if we found it.
533 AC_SEARCH_LIBS(gethostbyname, netinet)
535 AC_SUBST(cvs_client_objects)
543 dnl set $(KRB4) from --with-krb4=value -- WITH_KRB4
545 dnl If you change this, keep in mind that some systems have a bogus
546 dnl libkrb in the system libraries, so --with-krb4=value needs to
547 dnl override the system -lkrb.
555 [Kerberos 4 directory (default /usr/kerberos)]),
558 AC_MSG_CHECKING([for KRB4 in $KRB4])
564 AC_MSG_CHECKING([for krb.h])
565 if test "$cross_compiling" != yes && test -r $KRB4/include/krb.h; then
567 CFLAGS="$CFLAGS -I$KRB4/include"
568 AC_TRY_LINK([#include <krb.h>],[int i;],
569 [krb_h=yes krb_incdir=$KRB4/include],
571 AC_TRY_LINK([#include <krb.h>],[int i;],
572 [krb_h=yes krb_incdir=])])
575 AC_TRY_LINK([#include <krb.h>],[int i;],
576 [krb_h=yes krb_incdir=])
578 if test -z "$krb_h"; then
579 AC_TRY_LINK([#include <krb.h>],[int i;],
580 [krb_h=yes krb_incdir=],
581 [if test "$cross_compiling" != yes && test -r $KRB4/include/kerberosIV/krb.h; then
583 CFLAGS="$CFLAGS -I$KRB4/include/kerberosIV"
584 AC_TRY_LINK([#include <krb.h>],[int i;],
585 [krb_h=yes krb_incdir=$KRB4/include/kerberosIV])
589 AC_MSG_RESULT($krb_h)
591 if test -n "$krb_h"; then
593 if test "$cross_compiling" != yes && test -r $KRB4/lib/libkrb.a; then
594 hold_ldflags=$LDFLAGS
595 LDFLAGS="-L${KRB4}/lib $LDFLAGS"
596 AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=${KRB4}/lib],
597 [LDFLAGS=$hold_ldflags
598 # Using open here instead of printf so we don't
599 # get confused by the cached value for printf from above.
600 AC_CHECK_LIB(krb,open,[krb_lib=yes krb_libdir=])])
601 LDFLAGS=$hold_ldflags
603 AC_CHECK_LIB(krb,printf,[krb_lib=yes krb_libdir=])
604 AC_CHECK_FUNC(krb_recvauth,[krb_lib=yes krb_libdir=])
606 if test -n "$krb_lib"; then
607 AC_DEFINE([HAVE_KERBEROS], 1,
608 [Define if you have MIT Kerberos version 4 available.])
609 cvs_client_objects="$cvs_client_objects kerberos4-client.o"
610 test -n "${krb_libdir}" && LIBS="${LIBS} -L${krb_libdir}"
611 # Put -L${krb_libdir} in LDFLAGS temporarily so that it appears before
612 # -ldes in the command line. Don't do it permanently so that we honor
613 # the user's setting for LDFLAGS
614 hold_ldflags=$LDFLAGS
615 test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
616 AC_CHECK_LIB(des,printf,[LIBS="${LIBS} -ldes"])
617 AC_CHECK_LIB(krb,krb_recvauth)
618 AC_CHECK_LIB(krb4,krb_recvauth)
619 LDFLAGS=$hold_ldflags
620 if test -n "$krb_incdir"; then
621 CPPFLAGS="$CPPFLAGS -I$krb_incdir"
625 AC_CHECK_FUNCS(krb_get_err_text)
629 dnl WITH_GSSAPI is external
631 dnl TODO - I tried to put these in alphabetical order, but ACX_WITH_GSSAPI
632 dnl fails unless called after the KRB4 stuff. I don't know why.
637 dnl WITH_EXTERNAL_ZLIB is external
639 ACX_WITH_EXTERNAL_ZLIB
644 dnl Many sites no longer desire the use of "rsh" as the default
645 dnl remote shell program. They typically favor "ssh" as the default
647 # What remote shell transport should our client cvs default to using?
652 [The default remote shell CVS will use for :ext: transport
654 [with_rsh="ssh rsh"])
656 if test no = "$with_rsh"; then
657 AC_MSG_WARN([Failed to find usable remote shell. Using 'rsh'.])
659 elif test yes = "$with_rsh"; then
660 # Make --with-rsh mean the same thing as --with-rsh=rsh
664 if echo $with_rsh |grep ^/ >/dev/null; then
665 # If $with_rsh is an absolute path, issue a warning if the executable
666 # doesn't exist or isn't usable, but then trust the user and use it
668 with_default_rsh=$with_rsh
669 AC_MSG_CHECKING([for a remote shell])
670 if ! test -f $with_rsh \
671 || ! test -x $with_rsh; then
672 # warn the user that they may encounter problems
673 AC_MSG_WARN([$with_rsh is not a path to an executable file])
676 # Search for a remote shell
677 AC_CHECK_PROGS([with_default_rsh], [$with_rsh], "rsh")
681 [RSH_DFLT], ["$with_default_rsh"],
682 [The default remote shell to use, if one does not specify the
683 CVS_RSH environment variable.])
684 RSH_DFLT=$with_default_rsh
686 dnl done with finding a default CVS_RSH value
692 dnl begin --with-editor
694 dnl Set the default editor to use for log messages
699 [The text editor CVS will use by default for log messages.])
701 # Let the confiscator request a specific editor
706 [The default text editor CVS should use for log messages
707 (default autoselects)]), ,
710 # If --with-editor was supplied with an argument, let it override $EDITOR from
711 # the user's environment. We need to unset EDITOR here because AC_CHECK_PROGS
712 # will let the value of EDITOR ride when it is set rather than searching. We
713 # ignore the --without-editor case since it will be caught below.
714 if test -n "$EDITOR" && test yes != $with_editor; then
718 # Set the default when --with-editor wasn't supplied or when it was supplied
719 # without an argument.
720 if test yes = $with_editor; then
721 with_editor="vim vi emacs nano pico edit"
724 if echo $with_editor |grep ^/ >/dev/null; then
725 # If $with_editor is an absolute path, issue a warning if the executable
726 # doesn't exist or isn't usable, but then trust the user and use it
729 AC_MSG_CHECKING([for an editor])
730 AC_MSG_RESULT([$EDITOR])
731 if ! test -f $with_editor \
732 || ! test -x $with_editor; then
733 # warn the user that they may encounter problems
734 AC_MSG_WARN([\`$with_editor' is not a path to an executable file])
736 elif test no != "${with_editor}"; then
737 # Search for an editor
738 AC_CHECK_PROGS([EDITOR], [$with_editor], [no])
739 if test no = "${EDITOR}"; then
741 Failed to find a text file editor. CVS cannot be compiled
742 without a default log message editor. Searched for
743 \`$with_editor'. Try \`configure --with-editor'.])
747 CVS cannot be compiled without a default log message editor.
748 Try \`configure --with-editor'.])
751 dnl FIXME - Using --without-editor will probably break a compile at
752 dnl the moment, but maybe it is reasonable for someone to want to
753 dnl compile a CVS executable that refuses to run if no $EDITOR,
754 dnl $CVS_EDITOR, or -e option is specified? Making a preliminary
755 dnl design decision in this direction, subject to discussion.
757 dnl Still don't know if the above would be useful, but we shouldn't
758 dnl be able to get here any longer without $EDITOR defined due to the
759 dnl error checking above.
761 [EDITOR_DFLT], ["$EDITOR"],
762 [The default editor to use, if one does not specify the "-e" option
763 to cvs, or does not have an EDITOR environment variable. If this
764 is not set to an absolute path to an executable, use the shell to
765 find where the editor actually is. This allows sites with
766 /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that their
767 PATH is reasonable).])
770 dnl done finding an editor
772 dnl end --with-editor
778 dnl --with-hardcoded-pam-service-name
781 [hardcoded-pam-service-name],
783 [--with-hardcoded-pam-service-name],
784 [Use this to hard code a service name for PAM CVS authentication. The
785 special name, `program_name', will cause CVS to use whatever name it
786 was invoked as as the service name. (defaults to `cvs')]),,
787 [with_hardcoded_pam_service_name=cvs])
789 if test "x$with_hardcoded_pam_service_name" = xno ||
790 test "x$with_hardcoded_pam_service_name" = xprogram_name; then
791 AC_DEFINE([PAM_SERVICE_NAME], [program_name],
792 [Define to set a service name for PAM. This must be defined. Define to
793 `program_name', without the quotes, to use whatever name CVS was invoked
794 as. Otherwise, define to a double-quoted literal string, such as
797 if test x"$with_hardcoded_pam_service_name" = xyes; then
798 with_hardcoded_pam_service_name=cvs
800 AC_DEFINE_UNQUOTED([PAM_SERVICE_NAME], ["$with_hardcoded_pam_service_name"])
806 dnl Find a temporary directory
812 [The temporary directory CVS should use as a default
813 (default autoselects)]))
815 AC_MSG_CHECKING([for temporary directory])
816 if test -z "$with_tmpdir" || test yes = "$with_tmpdir"; then
817 for with_tmpdir in /tmp /var/tmp no; do
818 if test -d "$with_tmpdir" && test -x "$with_tmpdir" \
819 && test -w "$with_tmpdir" && test -r "$with_tmpdir"; then
823 if test no = "$with_tmpdir"; then
824 AC_MSG_WARN([Failed to find usable temporary directory. Using '/tmp'.])
827 AC_MSG_RESULT([$with_tmpdir])
828 elif ! echo "$with_tmpdir" |grep '^[[\\/]]'; then
829 AC_MSG_RESULT([$with_tmpdir])
830 AC_MSG_ERROR([--with-tmpdir requires an absolute path.])
831 elif ! test -d "$with_tmpdir" || ! test -x "$with_tmpdir" \
832 || ! test -w "$with_tmpdir" || ! test -r "$with_tmpdir"; then
833 AC_MSG_RESULT([$with_tmpdir])
835 [User supplied temporary directory ('$with_tmpdir') does not
836 exist or lacks sufficient permissions for read/write.])
840 [TMPDIR_DFLT], ["$with_tmpdir"],
841 [Directory used for storing temporary files, if not overridden by
842 environment variables or the -T global option. There should be little
843 need to change this (-T is a better mechanism if you need to use a
844 different directory for temporary files).])
847 dnl done finding tmpdir
852 dnl Get default umask
859 [Set the umask CVS will use by default in the repository (default 002)]))
861 if test -z "$with_umask" || test yes = "$with_umask"; then
863 elif test no = "$with_umask"; then
868 [UMASK_DFLT], [$with_umask],
869 [The default umask to use when creating or otherwise setting file or
870 directory permissions in the repository. Must be a value in the
871 range of 0 through 0777. For example, a value of 002 allows group
872 rwx access and world rx access; a value of 007 allows group rwx
873 access but no world access. This value is overridden by the value
874 of the CVSUMASK environment variable, which is interpreted as an
878 dnl Done setting default umask
882 dnl Set CVS Administrator Group
887 [--with-cvs-admin-group=GROUP],
888 [The CVS admin command is restricted to the members of this group.
889 If this group does not exist, all users are allowed to run CVS admin.
890 To disable the CVS admin command for all users, create an empty group
891 by specifying the --with-cvs-admin-group= option. To disable access
892 control for CVS admin, run configure with the --without-cvs-admin-group
893 option. (default 'cvsadmin')]), ,
894 [with_cvs_admin_group=cvsadmin])
896 if test yes = "$with_cvs_admin_group"; then
897 with_cvs_admin_group=cvsadmin
899 if test no != "$with_cvs_admin_group"; then
900 dnl FIXME We should warn if the group doesn't exist
902 [CVS_ADMIN_GROUP], ["$with_cvs_admin_group"],
903 [The CVS admin command is restricted to the members of the group
904 CVS_ADMIN_GROUP. If this group does not exist, all users are
905 allowed to run CVS admin. To disable the CVS admin command for
906 all users, create an empty CVS_ADMIN_GROUP by running configure
907 with the --with-cvs-admin-group= option. To disable access control
908 for CVS admin, run configure with the --without-cvs-admin-group
909 option in order to comment out the define below.])
913 dnl Done setting CVS Administrator Group
917 dnl Set the NDBM library to use.
919 dnl XXX - FIXME - FIXME - FIXME - XXX
921 dnl This is very bad. It should really autodetect an appropriate NDBM library
922 dnl and, if it doesn't find one, decide to use MY_NDBM. I'm am defining
923 dnl this here since this is no worse than it worked when it was in options.h
924 dnl and I am cleaning out options.h so that the Windows version of CVS will
925 dnl compile properly for the next release.
927 dnl That's why this option is in the --with-* section rather than the
928 dnl --enable-* section.
930 dnl XXX - FIXME - FIXME - FIXME - XXX
936 [Use the NDBM library distributed with CVS rather than attempting to use
937 a system NDBM library. Disabling this may not work. (default)]), ,
938 [enable_cvs_ndbm=yes])
939 if test no != "$enable_cvs_ndbm"; then
942 [By default, CVS stores its modules and other such items in flat
943 text files (MY_NDBM enables this). Turning off MY_NDBM causes CVS
944 to look for a system-supplied ndbm database library and use it
945 instead. That may speed things up, but the default setting
946 generally works fine too.])
950 dnl Done selecting NDBM library.
966 dnl begin --enable-client
969 # Check for options requesting client and server feature. If none are
970 # given and we have connect(), we want the full client & server arrangement.
975 [Include code for running as a remote client (default)]), ,
976 [enable_client=$ac_cv_search_connect])
977 if test no != "$enable_client"; then
979 [CLIENT_SUPPORT], [1],
980 [Define if you want CVS to be able to be a remote repository client.])
984 dnl end --enable-client
989 dnl begin --enable-password-authenticated-client
992 [password-authenticated-client],
994 [--enable-password-authenticated-client],
995 [Enable pserver as a remote access method in the CVS client
997 [enable_password_authenticated_client=$enable_client])
999 if test xno != "x$enable_password_authenticated_client"; then
1000 if test xno != "x$enable_client"; then
1002 [AUTH_CLIENT_SUPPORT], [1],
1003 [Enable AUTH_CLIENT_SUPPORT to enable pserver as a remote access
1004 method in the CVS client (default)])
1007 [--enable-password-authenticated-client is meaningless with
1008 the CVS client disabled (--disable-client)])
1013 dnl begin --enable-password-authenticated-client
1018 dnl begin --enable-server
1022 dnl Give the confiscator control over whether the server code is compiled
1028 [Include code for running as a server (default)]), ,
1029 [enable_server=$ac_cv_search_connect])
1031 if test no != "$enable_server"; then
1033 [SERVER_SUPPORT], [1],
1034 [Define if you want CVS to be able to serve repositories to remote
1038 dnl The auth server needs to be able to check passwords against passwd
1039 dnl file entries, so we only #define AUTH_SERVER_SUPPORT if we can
1040 dnl find the crypt function.
1046 [Define if you have the crypt function.])
1048 [AUTH_SERVER_SUPPORT], [1],
1049 [Define if you want to use the password authenticated server.])dnl
1050 ])dnl AC_SEARCH_LIBS
1053 dnl Allow the configurer to enable server flowcontrol. Read the help
1054 dnl strings below for a full explanation.
1057 [server-flow-control],
1059 [--enable-server-flow-control],
1060 [If you are working with a large remote repository and a 'cvs
1061 checkout' is swamping your network and memory, define these to
1062 enable flow control. You may optionally pass a low water mark
1063 in bytes and a high water mark in bytes, separated by commas.
1064 (default is enabled 1M,2M)]),
1065 [if test yes = $enable_server_flow_control; then
1066 enable_server_flow_control=1M,2M
1068 [enable_server_flow_control=1M,2M])
1069 if test no != $enable_server_flow_control; then
1070 ccvs_lwm=`expr "$enable_server_flow_control" : '\(.*\),'`
1071 ccvs_hwm=`expr "$enable_server_flow_control" : '.*,\(.*\)'`
1072 ccvs_lwm_E=`expr "$ccvs_lwm" : '[[0-9]][[0-9]]*\(.*\)'`
1073 ccvs_lwm=`expr "$ccvs_lwm" : '\([[0-9]][[0-9]]*\)'`
1074 test "" != "$ccvs_lwm" || ccvs_lwm_E="?"
1076 G) ccvs_lwm="$ccvs_lwm * 1024 * 1024 * 1024";;
1077 M) ccvs_lwm="$ccvs_lwm * 1024 * 1024";;
1078 k) ccvs_lwm="$ccvs_lwm * 1024";;
1080 *) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control
1081 ('$enable_server_flow_control') as <lwm>,<hwm>])
1083 ccvs_hwm_E=`expr "$ccvs_hwm" : '[[0-9]][[0-9]]*\(.*\)'`
1084 ccvs_hwm=`expr "$ccvs_hwm" : '\([[0-9]][[0-9]]*\).*'`
1085 test "" != "$ccvs_hwm" || ccvs_hwm_E="?"
1087 G) ccvs_hwm="$ccvs_hwm * 1024 * 1024 * 1024";;
1088 M) ccvs_hwm="$ccvs_hwm * 1024 * 1024";;
1089 k) ccvs_hwm="$ccvs_hwm * 1024";;
1090 b | '') ccvs_hwm="$ccvs_hwm";;
1091 *) AC_MSG_ERROR([Can't parse argument to --enable-server-flow-control
1092 ('$enable_server_flow_control') as <lwm>,<hwm>])
1096 [SERVER_FLOWCONTROL], [1],
1097 [If you are working with a large remote repository and a 'cvs
1098 checkout' is swamping your network and memory, define these to
1099 enable flow control. You will end up with even less probability of
1100 a consistent checkout (see Concurrency in cvs.texinfo), but CVS
1101 doesn't try to guarantee that anyway. The master server process
1102 will monitor how far it is getting behind, if it reaches the high
1103 water mark, it will signal the child process to stop generating
1104 data when convenient (ie: no locks are held, currently at the
1105 beginning of a new directory). Once the buffer has drained
1106 sufficiently to reach the low water mark, it will be signalled to
1109 [SERVER_LO_WATER], [($ccvs_lwm)],
1110 [The low water mark in bytes for server flow control. Required if
1111 SERVER_FLOWCONTROL is defined, and useless otherwise.])
1113 [SERVER_HI_WATER], [($ccvs_hwm)],
1114 [The high water mark in bytes for server flow control. Required if
1115 SERVER_FLOWCONTROL is defined, and useless otherwise.])
1116 fi # enable_server_flow_control
1120 dnl end --enable-server
1125 dnl begin --enable-proxy
1129 dnl Give the confiscator control over whether the proxy server code is compiled
1135 [Include code for running as a transparent proxy server. Disabling this
1136 may produce a slight performance gain on some systems, at the expense of
1137 write proxy support. (default)]), ,
1138 [if test xno != "x$enable_client" && test xno != "x$enable_server"; then
1144 if test no != "$enable_proxy"; then
1145 if test xno = "x$enable_client" || test xno = "x$enable_server"; then
1147 [--enable-proxy is meaningless when either the CVS client or the
1148 CVS server is disabled (--disable-client and --disable-server).])
1151 [PROXY_SUPPORT], [1],
1152 [Define if you want CVS to be able to serve as a transparent proxy for
1153 write operations. Disabling this may produce a slight performance gain
1154 on some systems, at the expense of write proxy support.])
1158 dnl end --enable-proxy
1163 dnl begin --enable-pam
1167 dnl Check if PAM authentication is enabled
1173 [Use to enable system authentication with PAM instead of using the
1174 simple getpwnam interface. This allows authentication (in theory)
1175 with any PAM module, e.g. on systems with shadow passwords or via LDAP]), ,
1179 if test yes = $enable_pam; then
1180 ac_pam_header_available=
1182 AC_CHECK_HEADER([security/pam_appl.h], [
1183 AC_DEFINE([HAVE_SECURITY_PAM_APPL_H], 1, [Define to 1 if security/pam_appl.h is available])
1184 ac_pam_header_available=1])
1186 if test -z "$ac_pam_header_available"; then
1187 AC_CHECK_HEADER([pam/pam_appl.h], [
1188 AC_DEFINE([HAVE_PAM_PAM_APPL_H], 1, [Define to 1 if pam/pam_appl.h is available])
1189 ac_pam_header_available=1])
1192 if test -z "$ac_pam_header_available"; then
1193 AC_MSG_ERROR([Could not find PAM headers])
1195 AC_DEFINE(HAVE_PAM, 1,
1196 [Define to enable system authentication with PAM instead of using the
1197 simple getpwnam interface. This allows authentication (in theory)
1198 with any PAM module, e.g. on systems with shadow passwords or via LDAP])
1199 AC_CHECK_LIB(pam, pam_start, [LIBS="${LIBS} -lpam"],
1200 AC_MSG_ERROR([Could not find PAM libraries but the headers exist.
1201 Give the --disable-pam option to compile without PAM support (or fix
1202 your broken configuration)])
1208 dnl end --enable-pam
1213 dnl begin --enable-case-sensitivity
1219 [--enable-case-sensitivity],
1220 [Force CVS to expect a case sensitive file system. Enabling this on a case
1221 insensitive system should have little effect on the server or client
1222 operation, though client users may ocassionally be suprised that the CVS
1223 server appears to be case sensitive. Disabling this for a case sensitive
1224 server disables server support for case insensitive clients, which can
1225 confuse all users of case insensitive clients contacting the server.
1226 Disabling this for a case sensitive client will cause the client to ask
1227 servers to behave case insensitively, which could cause confusion for
1228 users, but also probably no real harm. (default autoselects based on the
1229 case sensitivity of the file system containing the current working
1231 [case "$enable_case_sensitivity" in
1234 AC_MSG_ERROR([Unrecognized argument to --enable-case-sensitivity: \`$enable_case_sensitivity'. Acceptable values are \`yes', \`no', and \`auto'.])
1237 [enable_case_sensitivity=auto])
1239 acx_forced=' (forced)'
1240 AC_MSG_CHECKING([for a case sensitive file system])
1241 if test $enable_case_sensitivity = auto; then
1243 dnl Check for a case insensitive filesystem, like Mac OS X and Windows have.
1245 AC_CACHE_VAL([acx_cv_case_sensitive],
1246 [ rm -f ac_TEST_filenames_CASE_sensitive
1247 echo foo >ac_test_filenames_case_sensitive
1248 if test -f ac_TEST_filenames_CASE_sensitive; then
1249 acx_cv_case_sensitive=no
1251 acx_cv_case_sensitive=yes
1253 rm ac_test_filenames_case_sensitive
1255 enable_case_sensitivity=$acx_cv_case_sensitive
1258 AC_MSG_RESULT([$enable_case_sensitivity$acx_forced])
1259 if test $enable_case_sensitivity = no; then
1260 AC_DEFINE([FILENAMES_CASE_INSENSITIVE], [1],
1261 [Define if this executable will be running on case insensitive
1262 file systems. In the client case, this means that it will request
1263 that the server pretend to be case insensitive if it isn't
1265 dnl Compile fncase.c (containing fncase() & fncmp()) to handle file name
1266 dnl comparisons on case insensitive filesystems.
1271 dnl end --enable-case-sensitivity
1276 dnl begin --enable-encryption
1280 dnl Use --enable-encryption to turn on encryption support, but ignore this
1281 dnl option unless either client or server is enabled.
1286 [--enable-encryption],
1287 [Enable encryption support (disabled by default)]), ,
1288 [enable_encryption=no])
1289 if test "x$enable_encryption" = xyes; then
1290 if test xno = "x$with_client" && test xno = "x$with_server"; then
1292 [--enable-encryption is meaningless when neither the CVS client
1293 nor the CVS server is enabled (--disable-client and --disable-server).])
1297 [Define to enable encryption support.])
1302 dnl end --enable-encryption
1307 dnl begin --enable-force-editor
1313 [--enable-force-editor],
1314 [When committing or importing files, you must enter a log message.
1315 Normally, you can do this either via the -m flag on the command
1316 line, the -F flag on the command line, or an editor will be started
1317 for you. If you like to use logging templates (the rcsinfo file
1318 within the $CVSROOT/CVSROOT directory), you might want to force
1319 people to use the editor even if they specify a message with -m or
1320 -F. --enable-force-editor will cause the -m or -F message to be
1321 appended to the temp file when the editor is started. (disabled
1323 [enable_force_editor=no])
1325 if test yes = "$enable_force_editor"; then
1327 [FORCE_USE_EDITOR], [1],
1328 [When committing or importing files, you must enter a log message.
1329 Normally, you can do this either via the -m flag on the command
1330 line, the -F flag on the command line, or an editor will be started
1331 for you. If you like to use logging templates (the rcsinfo file
1332 within the $CVSROOT/CVSROOT directory), you might want to force
1333 people to use the editor even if they specify a message with -m or
1334 -F. Enabling FORCE_USE_EDITOR will cause the -m or -F message to be
1335 appended to the temp file when the editor is started.])
1339 dnl end --enable-force-editor
1344 dnl begin --enable-lock-compatibility
1347 # Check for options requesting client and server feature. If none are
1348 # given and we have connect(), we want the full client & server arrangement.
1350 [lock-compatibility],
1352 [--enable-lock-compatibility],
1353 [Include locking code which prevents versions of CVS earlier than 1.12.4
1354 directly accessing the same repositiory as this executable from ignoring
1355 this executable's promotable read locks. If only CVS versions 1.12.4 and
1356 later will be accessing your repository directly (as a server or locally),
1357 you can safely disable this option in return for fewer disk accesses and a
1358 small speed increase. Disabling this option when versions of CVS earlier
1359 than 1,12,4 _will_ be accessing your repository, however, is *VERY* *VERY*
1360 *VERY* dangerous and could result in data loss. (enabled by default)]),,
1361 [enable_lock_compatibility=yes])
1363 if test x$enable_lock_compatibility = xyes; then
1364 AC_DEFINE([LOCK_COMPATIBILITY], [1],
1365 [Define to include locking code which prevents versions of CVS earlier than
1366 1.12.4 directly accessing the same repositiory as this executable from
1367 ignoring this executable's promotable read locks. If only CVS versions
1368 1.12.4 and later will be accessing your repository directly (as a server
1369 or locally), you can safely disable this option in return for fewer disk
1370 accesses and a small speed increase. Disabling this option when versions
1371 of CVS earlier than 1,12,4 _will_ be accessing your repository, however,
1372 is *VERY* *VERY* *VERY* dangerous and could result in data loss.
1374 As such, by default, CVS is compiled with this code enabled. If you are
1375 sure you would like this code disabled, you can disable it by passing the
1376 "--disable-lock-compatibility" option to configure or by commenting out
1381 dnl end --enable-lock-compatibility
1386 dnl begin --enable-rootcommit
1390 dnl I don't like this here, but I don't really like options.h, either.
1391 dnl Besides, this is causing some problems currently when compiling under
1392 dnl Windows and moving it here should avoid the issue (the wrong options.h
1395 dnl I don't like making this a runtime option either. I think I just don't
1396 dnl like making it easy to get to, but putting it here goes along with the
1402 [--enable-rootcommit],
1403 [Allow the root user to commit files (disabled by default)]), ,
1404 [enable_rootcommit=no])
1405 if test "$enable_rootcommit" = no; then
1408 [When committing a permanent change, CVS and RCS make a log entry of
1409 who committed the change. If you are committing the change logged
1410 in as "root" (not under "su" or other root-priv giving program),
1411 CVS/RCS cannot determine who is actually making the change.
1413 As such, by default, CVS prohibits changes committed by users
1414 logged in as "root". You can disable checking by passing the
1415 "--enable-rootcommit" option to configure or by commenting out the
1420 dnl end --enable-rootcommit
1424 dnl begin --enable-old-info-support
1429 [--enable-old-info-format-support],
1430 [Enable support for the pre 1.12.1 *info scripting hook format strings.
1431 Disable this option for a smaller executable once your scripting
1432 hooks have been updated to use the new *info format strings (default).]), ,
1433 [enable_old_info_format_support=yes])
1434 if test "$enable_old_info_format_support" = yes; then
1436 [SUPPORT_OLD_INFO_FMT_STRINGS], [1],
1437 [Enable support for the pre 1.12.1 *info scripting hook format strings.
1438 Disable this option for a smaller executable once your scripting
1439 hooks have been updated to use the new *info format strings by passing
1440 "--disable-old-info-format-support" option to configure or by commenting
1441 out the line below.])
1445 dnl end --enable-old-info-support
1450 dnl begin --enable-config-override
1456 [--enable-config-override],
1457 [Set to a comma-seperated list of paths to directories (designated by
1458 trailing `/') and files, specifies the path prefixes (for directories) and
1459 paths to files the CVS server commands will allow configuration to be read
1460 from. Specify `--enable-config-override=no' to disable config file
1461 overrides completely and `--enable-config-override=/' or simply
1462 `--enable-config-override' to allow all paths. (Defaults to
1463 `SYSCONFDIR/cvs.conf,SYSCONFDIR/cvs/')]),,
1464 [# $sysconfdir may still contain variable references. By default, this will
1465 # be to $prefix, and $prefix won't be set to its default value until later.
1466 # Compromise without setting $prefix for the rest of the file.
1467 cvs_save_prefix=$prefix
1468 if test "X$prefix" = XNONE; then
1469 prefix=$ac_prefix_default
1471 eval enable_config_override=`echo $sysconfdir/cvs.conf,$sysconfdir/cvs/`
1472 prefix=$cvs_save_prefix])
1474 if test x"$enable_config_override" = xyes; then
1475 enable_config_override=/
1478 if test x"$enable_config_override" = xno; then :; else
1482 for path in $enable_config_override; do
1485 [[\\/$]]* | ?:[[\\/]]* )
1486 arrayinit="$arrayinit\"$path\", "
1489 [expected comma separated list of absolute directory
1490 names for --enable-config-override, or \`no', not:
1491 \`$enable_config_override'
1492 (\`$path' invalid.)]);;
1495 arrayinit="${arrayinit}NULL"
1497 AC_DEFINE_UNQUOTED(ALLOW_CONFIG_OVERRIDE, [$arrayinit],
1498 [Define this to a NULL terminated list of allowed path prefixes (for
1499 directories) and paths to files the CVS server will allow configuration to
1500 be read from when specified from the command line.])
1504 dnl end --enable-config-override
1515 dnl For the moment we will assume that all systems which have
1516 dnl the unixyness to run configure are unixy enough to do the
1517 dnl PreservePermissions stuff. I have this sinking feeling that
1518 dnl things won't be that simple, before long.
1519 dnl AC_DEFINE(PRESERVE_PERMISSIONS_SUPPORT, 1,
1520 dnl [Define if this system supports chown(), link(), and friends.])
1522 dnl On cygwin32, we configure like a Unix system, but we need some support
1523 dnl libraries. We do this at the end so that the new libraries are added at
1524 dnl the end of LIBS.
1526 dnl FIXME: We should be trying to meet the autoconf ideal of checking for
1527 dnl the properties of the system rather than the name of the os here. In other
1528 dnl words, we should check the case sensitivty of the system and then for
1529 dnl the support functions we are using and which library we find them in.
1530 AC_CACHE_CHECK(for cygwin32, ccvs_cv_sys_cygwin32,
1531 [AC_TRY_COMPILE([], [return __CYGWIN32__;],
1532 ccvs_cv_sys_cygwin32=yes, ccvs_cv_sys_cygwin32=no)])
1533 if test $ccvs_cv_sys_cygwin32 = yes; then
1534 LIBS="$LIBS -ladvapi32"
1536 dnl On Windows you can only change file times if you can write to
1537 dnl the file. cygwin32 should really handle this for us, but as of
1538 dnl January 1998 it doesn't.
1539 AC_DEFINE(UTIME_EXPECTS_WRITABLE, 1,
1540 [Define if utime requires write access to the file (true on Windows,
1543 dnl On Windows we must use setmode to change between binary and text
1544 dnl mode. This probably doesn't really require two macro definitions
1545 AC_DEFINE(USE_SETMODE_STDOUT, 1,
1546 [Define if setmode is required when writing binary data to stdout.])
1547 AC_DEFINE(HAVE_SETMODE, 1,
1548 [Define if the diff library should use setmode for binary files.])
1551 dnl associate the setting of the execute bit with the individual scripts
1552 AC_CONFIG_FILES(contrib/validate_repo, [chmod +x contrib/validate_repo])
1553 AC_CONFIG_FILES(contrib/clmerge, [chmod +x contrib/clmerge])
1554 AC_CONFIG_FILES(contrib/cln_hist, [chmod +x contrib/cln_hist])
1555 AC_CONFIG_FILES(contrib/commit_prep, [chmod +x contrib/commit_prep])
1556 AC_CONFIG_FILES(contrib/cvs_acls, [chmod +x contrib/cvs_acls])
1557 AC_CONFIG_FILES(contrib/log, [chmod +x contrib/log])
1558 AC_CONFIG_FILES(contrib/log_accum, [chmod +x contrib/log_accum])
1559 AC_CONFIG_FILES(contrib/mfpipe, [chmod +x contrib/mfpipe])
1560 AC_CONFIG_FILES(contrib/pvcs2rcs, [chmod +x contrib/pvcs2rcs])
1561 AC_CONFIG_FILES(contrib/rcs2log:contrib/rcs2log.sh, [chmod +x contrib/rcs2log])
1562 AC_CONFIG_FILES(contrib/rcslock, [chmod +x contrib/rcslock])
1563 AC_CONFIG_FILES(contrib/sccs2rcs, [chmod +x contrib/sccs2rcs])
1564 AC_CONFIG_FILES(doc/mkman:doc/mkman.pl, [chmod +x doc/mkman])
1565 AC_CONFIG_FILES(src/cvsbug, [chmod +x src/cvsbug])
1568 AC_CONFIG_FILES([Makefile \
1570 contrib/pam/Makefile \
1575 doc/i18n/pt_BR/Makefile \
1578 maint-aux/Makefile \
1582 src/sanity.config.sh \
1585 windows-NT/Makefile \
1586 windows-NT/SCC/Makefile \
1594 # Report the state of this version of CVS if this is from dev.
1595 m4_bmatch(m4_defn([AC_PACKAGE_VERSION]), [[0-9]*\.[0-9]*\.[0-9]*\.[0-9]],
1598 You are about to use an unreleased version of CVS. Be sure to
1599 read the relevant mailing lists, most importantly <info-cvs@nongnu.org>.
1601 Below you will find information on the status of this version of CVS.
1605 sed -n '/^\* Status/,$p' $srcdir/BUGS