# 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)