# Configure template for RCS
# Id: configure.in,v 1.2 1995/06/16 06:19:24 eggert Exp
# Copyright 1995 Paul Eggert
# Process this file with autoconf to produce a configure script.
AC_INIT(src/rcsbase.h)
# Set up simple `diff' test.
echo 0 >conftest0
echo 0 >conftest0c
echo 1 >conftest1
cat >conftestok <<'EOF'
d1 1
a1 1
1
EOF
AC_ARG_WITH(diffutils,
[ --with-diffutils assume GNU diffutils is similarly installed],
[with_diffutils=$withval],
[with_diffutils=no]
)
case $with_diffutils in
yes)
: ${DIFF='$(bindir)/diff'}
: ${DIFF3=${DIFF}3}
: ${DIFF3_BIN=1}
: ${DIFFFLAGS=-an}
: ${DIFF_FAILURE=1}
: ${DIFF_L=1}
: ${DIFF_SUCCESS=0}
: ${DIFF_TROUBLE=2}
esac
# Set DIFF to the name of the `diff' program to be run.
# On some systems, the RCS-compatible diff program is called `rdiff';
# use it if it works and `diff' doesn't.
AC_SUBST(DIFF)
AC_MSG_CHECKING([diff basename])
AC_CACHE_VAL(rcs_cv_prog_diff, [
rcs_cv_prog_diff=$DIFF
case $rcs_cv_prog_diff in
'')
for i in diff /usr/lib/rdiff rdiff
do
sh -c "exec $i -n conftest0 conftest1" >conftestout 2>/dev/null
case $? in
1)
if cmp -s conftestok conftestout
then rcs_cv_prog_diff=$i; break
fi
;;
esac
done
;;
esac
])
DIFF=$rcs_cv_prog_diff
case $DIFF in
'') AC_MSG_ERROR(cannot find RCS-compatible diff);;
esac
AC_MSG_RESULT($DIFF)
AC_PATH_PROG(DIFF, $DIFF, $DIFF)
# Set DIFF_SUCCESS, DIFF_FAILURE, DIFF_TROUBLE to diff's exit status
# when it finds no differences, some differences, or trouble.
AC_SUBST(DIFF_SUCCESS)
AC_MSG_CHECKING([diff success status])
AC_CACHE_VAL(rcs_cv_status_diff_success, [
rcs_cv_status_diff_success=$DIFF_SUCCESS
case $rcs_cv_status_diff_success in
'')
# We can't use `$DIFF conftest0 conftest0',
# since buggy NEXTSTEP 3.0 diff silently yields exit status 2 for this.
$DIFF conftest0 conftest0c >/dev/null 2>&1
rcs_cv_status_diff_success=$?
;;
esac
])
DIFF_SUCCESS=$rcs_cv_status_diff_success
AC_MSG_RESULT($DIFF_SUCCESS)
#
AC_SUBST(DIFF_FAILURE)
AC_MSG_CHECKING([diff failure status])
AC_CACHE_VAL(rcs_cv_status_diff_failure, [
rcs_cv_status_diff_failure=$DIFF_FAILURE
case $rcs_cv_status_diff_failure in
'')
$DIFF conftest0 conftest1 >/dev/null 2>&1
rcs_cv_status_diff_failure=$?
;;
esac
])
DIFF_FAILURE=$rcs_cv_status_diff_failure
AC_MSG_RESULT($DIFF_FAILURE)
#
AC_SUBST(DIFF_TROUBLE)
AC_MSG_CHECKING([diff trouble status])
AC_CACHE_VAL(rcs_cv_status_diff_trouble, [
rcs_cv_status_diff_trouble=$DIFF_TROUBLE
case $rcs_cv_status_diff_trouble in
'')
$DIFF conftest0 no/such/file >/dev/null 2>&1
rcs_cv_status_diff_trouble=$?
;;
esac
])
DIFF_TROUBLE=$rcs_cv_status_diff_trouble
AC_MSG_RESULT($DIFF_TROUBLE)
# Set DIFFFLAGS to the options of the `diff' program to be run.
# Use -an if possible, -n otherwise.
AC_SUBST(DIFFFLAGS)
AC_MSG_CHECKING([diff options for RCS])
AC_CACHE_VAL(rcs_cv_options_diff, [
rcs_cv_options_diff=$DIFFFLAGS
case $rcs_cv_options_diff in
'')
rcs_cv_options_diff=-n
$DIFF -an conftest0 conftest1 >conftestout 2>conftestout2
case $? in
1)
if cmp -s conftestok conftestout && test ! -s conftestout2
then rcs_cv_options_diff=-an
fi
;;
esac
;;
esac
])
DIFFFLAGS=$rcs_cv_options_diff
AC_MSG_RESULT($DIFFFLAGS)
# Set DIFF_L to 1 if diff understands the L option, 0 otherwise.
AC_SUBST(DIFF_L)
AC_MSG_CHECKING([diff -L])
AC_CACHE_VAL(rcs_cv_options_diff_l, [
rcs_cv_options_diff_l=$DIFF_L
case $rcs_cv_options_diff_l in
'')
rcs_cv_options_diff_l=0
$DIFF -c -L 0 -L 1 conftest0 conftest1 >conftestout 2>/dev/null
case $? in
1)
if cmp -s - conftestout <<'EOF'
*** 0
--- 1
***************
*** 1 ****
! 0
--- 1 ----
! 1
EOF
then rcs_cv_options_diff_l=1
fi
;;
esac
;;
esac
])
DIFF_L=$rcs_cv_options_diff_l
case $DIFF_L in
1) AC_MSG_RESULT(yes);;
*) AC_MSG_RESULT(no);;
esac
# Set DIFF3 to the name of the diff3 program.
# In some systems (e.g. BSD/OS 2.0), diffutils diff3 lives in /usr/libexec.
diff3PATH=$PATH:/usr/libexec
AC_SUBST(DIFF3)
AC_MSG_CHECKING([diff3 -m])
AC_CACHE_VAL(rcs_cv_prog_diff3_bin, [
rcs_cv_prog_diff3_bin=$DIFF3
case $rcs_cv_prog_diff3_bin in
'')
PATH=$diff3PATH sh -c "exec diff3 -E -m -L 0 -L 1 -L 2 conftest0 conftest1 /dev/null" >conftestout 2>/dev/null
case $? in
1)
if cmp -s - conftestout <<'EOF'
<<<<<<< 0
0
=======
>>>>>>> 2
EOF
then rcs_cv_prog_diff3_bin=diff3
fi
;;
esac
;;
esac
])
case $rcs_cv_prog_diff3_bin in
?*)
AC_MSG_RESULT(yes)
ac_save_path=$PATH
PATH=$diff3PATH
AC_PATH_PROG(DIFF3, $rcs_cv_prog_diff3_bin, $rcs_cv_prog_diff3_bin)
PATH=$ac_save_path
;;
'')
AC_MSG_RESULT(no)
AC_MSG_CHECKING([diff3 library program])
dnl We can't use AC_PATH_PROG since we don't want to inspect /bin,
dnl and AC_PATH_PROG uses `test'.
AC_CACHE_VAL(rcs_cv_path_diff3_lib, [
$DIFF conftest0 conftest1 >conftest01
$DIFF /dev/null conftest1 >conftestn1
for i in /usr/*lib*/*diff3*; do
sh -c "exec $i -E conftest01 conftestn1 conftest0 /dev/null conftest1" >conftestout 2>/dev/null
# The exit status is arbitrary! Test the output a bit.
if
grep '^<<* *conftest0$' conftestout >/dev/null 2>&1 &&
grep '^>>* *conftest1$' conftestout >/dev/null 2>&1 &&
grep '^0a$' conftestout >/dev/null 2>&1
then
rcs_cv_path_diff3_lib=$i
break
fi
done
])
DIFF3=$rcs_cv_path_diff3_lib
case $DIFF3 in
'') AC_MSG_ERROR(cannot find a working diff3 library program);;
?*) AC_MSG_RESULT($DIFF3);;
esac
;;
esac
AC_SUBST(DIFF3_BIN)
case $DIFF3_BIN in
'')
case $rcs_cv_prog_diff3_bin in
'') DIFF3_BIN=0;;
?*) DIFF3_BIN=1;;
esac
;;
esac
# Clean up simple `diff' test.
rm -f conftest*
AC_PATH_PROG(ED, ed, ed)
ac_save_path=$PATH
PATH=/usr/lib:/usr/bin:/bin:/usr/sbin:/sbin:$PATH
AC_PATH_PROGS(SENDMAIL, sendmail mail mailx)
PATH=$ac_save_path
case $SENDMAIL in
?*) SENDMAIL=\"$SENDMAIL\"
esac
# Use the GNU pic -n option if available; it avoids GNU extensions,
# which is need for proper operation to generate a portable man page.
# Similarly, if using traditional pic, use its -D option.
AC_CHECK_PROGS(PIC, "pic -n" "gpic -n" "pic -D" "pic", pic)
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_OUTPUT(Makefile man/Makefile src/Makefile)