Agda-2.3.2.2: macros/utils.m4
dnl General macros.
dnl AGDA_CHECK_TOOL( PROGRAM-VARIABLE, PROGRAM-NAME. IF-FOUND, IF-NOT-FOUND )
AC_DEFUN(AGDA_CHECK_TOOL,
[AC_CHECK_TOOL($1,$2)
AS_IF([test x"${$1}" != x], [$3], [$4])
])
dnl AGDA_CHECK_OPTIONAL_TOOL( PROGRAM-VARIABLE, PROGRAM-NAME, IF-NOT-FOUND )
AC_DEFUN(AGDA_CHECK_OPTIONAL_TOOL,
[AGDA_CHECK_TOOL($1,$2,
[HAVE_$1=Yes],
[HAVE_$1=No
[$3]
]
)
]
)
dnl AGDA_GEN_WITH_PROG( PROGRAM-VARIABLE
dnl , PROGRAM-NAME
dnl , IF-FOUND
dnl , IF-NOT-FOUND
dnl )
AC_DEFUN(AGDA_GEN_WITH_PROG,
[AC_ARG_WITH($2,
[AC_HELP_STRING([--with-$2=$1],[use $1 as the path to $2 [default=autodetect]])],
[$1=$withval],
[AGDA_CHECK_TOOL($1,$2,$3,$4)]
)
])
dnl AGDA_WITH_PROG(PROG,prog)
dnl Looks for required program prog, creates --with-prog flag and
dnl sets PROG to the path to the program.
AC_DEFUN(AGDA_WITH_PROG,
[AGDA_GEN_WITH_PROG($1,$2,[],[AC_MSG_ERROR([$2 is required])])]
)
dnl AGDA_WITH_OPTIONAL_PROG(PROG,prog,IF-NOT-FOUND)
dnl Looks for optional program prog, creates --with-prog flag and
dnl sets PROG to the path to the program.
dnl Sets the variable HAVE_PROG to Yes or No.
AC_DEFUN(AGDA_WITH_OPTIONAL_PROG,
[AGDA_GEN_WITH_PROG($1,$2,[HAVE_$1=Yes],
[HAVE_$1=No
$3
])
AC_SUBST(HAVE_$1)
]
)
dnl Generic way of computing the version of a program.
dnl Looks for the first sequence of digits and dots in the output
dnl of prog --version.
AC_DEFUN(AGDA_GEN_VERSION,
[AGDA_GEN_CHECK_VERSION($1,$2,$3,$4,
[${$1} --version | head -1 | sed -e 's/[^0-9]*\([0-9.]*\).*/\1/g'],
[$5])
])
AC_DEFUN(AGDA_VERSION,
[AGDA_GEN_VERSION($1,$2,$3,$4,
[AC_MSG_ERROR([$2 version $4 or later required])]
)]
)
AC_DEFUN(AGDA_OPTIONAL_VERSION,
[AGDA_GEN_VERSION($1,$2,$3,$4,
[ HAVE_$2 = No
[$5]
]
)]
)
dnl Combines AGDA_WITH_PROG and AGDA_VERSION. Checks that the version is high enough.
dnl AGDA_WITH_PROG_VERSION(PROG,prog,VERSION)
AC_DEFUN(AGDA_WITH_PROG_VERSION,
[AGDA_WITH_PROG($1,$2)
AGDA_VERSION($1,$2,[-ge],$3)
]
)
dnl Combines AGDA_WITH_OPTIONAL_PROG and AGDA_VERSION.
dnl Checks that the version is high enough.
dnl AGDA_WITH_OPTIONAL_PROG_VERSION(PROG,prog,VERSION,IF-FAIL)
AC_DEFUN(AGDA_WITH_OPTIONAL_PROG_VERSION,
[AGDA_WITH_OPTIONAL_PROG($1,$2)
AGDA_OPTIONAL_VERSION($1,$2,[-ge],$3,$4)
]
)
dnl Check that the version of a program is satisfactory.
dnl AGDA_CHECK_VERSION( PROGRAM
dnl , PROGRAM-NAME
dnl , COMPARISON-OPERATOR
dnl , VERSION
dnl , HOW-TO-COMPUTE-VERSION
dnl , IF-FAILURE
dnl )
AC_DEFUN(AGDA_GEN_CHECK_VERSION,
[
AC_CACHE_CHECK([for $2 version],$2_version,
[
if test x"${$1}" != x; then
$2_version=[`$5`]
else
$2_version=""
fi
])
FP_COMPARE_VERSIONS([${$2_version}],[$3],[$4],[],
[$6])
$1_VERSION=${$2_version}
AC_SUBST($1_VERSION)
])