X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=configure.ac;h=afed24d0ac8573da72d4532d355505dc2eeb92aa;hb=430b13959253a55ec17f6f72cfa94d867c913319;hp=0debacaf1b99edc22e4875e0ef1bf85d86a6bdb7;hpb=d1f3689d96aa767cc7bb28d560c70945a71529ee;p=chaz%2Ftar diff --git a/configure.ac b/configure.ac index 0debaca..afed24d 100644 --- a/configure.ac +++ b/configure.ac @@ -49,17 +49,19 @@ AC_CHECK_HEADERS([sys/buf.h], [], [], AC_HEADER_SYS_WAIT AM_STDBOOL_H -if test $ac_cv_header_sys_mtio_h = yes; then - AC_CACHE_CHECK(for remote tape header files, tar_cv_header_rmt, - [AC_TRY_CPP([ +enable_rmt() { + if test $ac_cv_header_sys_mtio_h = yes; then + AC_CACHE_CHECK(for remote tape header files, tar_cv_header_rmt, + [AC_TRY_CPP([ #if HAVE_SGTTY_H # include #endif #include ], - tar_cv_header_rmt=yes, tar_cv_header_rmt=no)]) - test $tar_cv_header_rmt = yes && RMT='rmt$(EXEEXT)' - AC_SUBST(RMT) -fi + tar_cv_header_rmt=yes, tar_cv_header_rmt=no)]) + test $tar_cv_header_rmt = yes && RMT='rmt' + AC_SUBST(RMT) + fi +} AC_CACHE_CHECK(which ioctl field to test for reversed bytes, tar_cv_header_mtio_check_field, @@ -238,13 +240,37 @@ AC_DEFINE_UNQUOTED(DEFAULT_BLOCKING, $DEFAULT_BLOCKING, [Define to a number giving the default blocking size for archives.]) AC_MSG_RESULT($DEFAULT_BLOCKING) -AC_ARG_VAR([DEFAULT_RMT_COMMAND], - [Define full pathname of rmt program.]) +AC_ARG_VAR([DEFAULT_RMT_DIR], + [Define full file name of the directory where to install `rmt'. (default: $(libexecdir))]) +if test "x$DEFAULT_RMT_DIR" != x; then + DEFAULT_RMT_COMMAND=$DEFAULT_RMT_DIR/rmt +else + DEFAULT_RMT_DIR='$(libexecdir)' +fi + +AC_MSG_CHECKING([whether to build rmt]) +AC_ARG_WITH([rmt], + AC_HELP_STRING([--with-rmt=FILE], + [Use FILE as the default `rmt' program. Do not build included copy of `rmt'.]), + [case $withval in + yes|no) AC_MSG_ERROR([Invalid argument to --with-rmt]);; + /*) DEFAULT_RMT_COMMAND=$withval + AC_MSG_RESULT([no, use $withval instead]);; + *) AC_MSG_ERROR([Argument to --with-rmt must be an absolute file name]);; + esac], + [AC_MSG_RESULT([yes]) + enable_rmt + if test "$RMT" = ""; then + AC_MSG_WARN([not building rmt, required header files are missing]) + fi]) + +AC_SUBST(DEFAULT_RMT_COMMAND) if test "x$DEFAULT_RMT_COMMAND" != x; then AC_DEFINE_UNQUOTED(DEFAULT_RMT_COMMAND, "$DEFAULT_RMT_COMMAND", - [Define full pathname of rmt program.]) + [Define full file name of rmt program.]) fi + # Gettext. AM_GNU_GETTEXT([external], [need-ngettext]) AM_GNU_GETTEXT_VERSION(0.12.1)