1
2AC_DEFUN([PU_RMT],[
3  # Set LIB_SETSOCKOPT to -lnsl -lsocket if necessary.
4  pu_save_LIBS=$LIBS
5  LIB_SETSOCKOPT=
6  AC_SEARCH_LIBS(setsockopt, [socket], ,
7    [AC_SEARCH_LIBS(setsockopt, [socket], , , [-lnsl])])
8  AC_SEARCH_LIBS(setsockopt, [nsl])
9
10  case "$ac_cv_search_setsockopt" in
11    -l*) LIB_SETSOCKOPT=$ac_cv_search_setsockopt
12  esac
13  AC_SUBST(LIB_SETSOCKOPT)
14  LIBS=$pu_save_LIBS
15
16  enable_rmt() {
17    if test $ac_cv_header_sys_mtio_h = yes; then
18      AC_CACHE_CHECK(for remote tape header files, pu_cv_header_rmt,
19        [AC_TRY_CPP([
20#if HAVE_SGTTY_H
21# include <sgtty.h>
22#endif
23#include <sys/socket.h>],
24      pu_cv_header_rmt=yes,
25      pu_cv_header_rmt=no)])
26      test $pu_cv_header_rmt = yes && PU_RMT_PROG='rmt$(EXEEXT)'
27      AC_SUBST(PU_RMT_PROG)
28    fi
29  }
30
31  AC_CHECK_HEADERS([sys/mtio.h])
32  AC_CACHE_CHECK(which ioctl field to test for reversed bytes,
33    pu_cv_header_mtio_check_field,
34    [AC_EGREP_HEADER(mt_model, sys/mtio.h,
35     pu_cv_header_mtio_check_field=mt_model,
36     pu_cv_header_mtio_check_field=mt_type)])
37  AC_DEFINE_UNQUOTED(MTIO_CHECK_FIELD,
38                     $pu_cv_header_mtio_check_field,
39                     [Define to mt_model (v.g., for DG/UX), else to mt_type.])
40
41
42  AC_ARG_VAR([DEFAULT_RMT_DIR],
43             [Define full file name of the directory where to install `rmt'. (default: $(libexecdir))])
44  if test "x$DEFAULT_RMT_DIR" != x; then
45	DEFAULT_RMT_COMMAND=$DEFAULT_RMT_DIR/rmt
46  else
47	DEFAULT_RMT_DIR='$(libexecdir)'
48  fi
49
50  AC_MSG_CHECKING([whether to build rmt])
51  AC_ARG_WITH([rmt],
52              AC_HELP_STRING([--with-rmt=FILE],
53                             [Use FILE as the default `rmt' program. Do not build included copy of `rmt'.]),
54              [case $withval in
55	       yes|no) AC_MSG_ERROR([Invalid argument to --with-rmt]);;
56	       /*)     DEFAULT_RMT_COMMAND=$withval
57	               AC_MSG_RESULT([no, use $withval instead]);;
58	       *)      AC_MSG_ERROR([Argument to --with-rmt must be an absolute file name]);;
59               esac],
60               [AC_MSG_RESULT([yes])
61                enable_rmt
62                if test "$PU_RMT_PROG" = ""; then
63                  AC_MSG_WARN([not building rmt, required header files are missing])
64                fi])
65
66  AC_SUBST(DEFAULT_RMT_COMMAND)
67  if test "x$DEFAULT_RMT_COMMAND" != x; then
68    AC_DEFINE_UNQUOTED(DEFAULT_RMT_COMMAND, "$DEFAULT_RMT_COMMAND",
69                       [Define full file name of rmt program.])
70  fi
71  AM_CONDITIONAL([PU_RMT_COND],[test "$pu_cv_header_rmt" = yes])
72])
73