# Process this file with autoconf to produce a configure script. AC_PREREQ([2.63]) AC_INIT([anvil], m4_esyscmd([make/git-version-gen .tarball-version]), [digimer@alteeve.com]) AC_CONFIG_AUX_DIR([.]) AM_INIT_AUTOMAKE([dist-bzip2 dist-xz -Wno-portability tar-pax]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([anvil.conf]) AC_CANONICAL_HOST # AC_LANG([C]) # Sanitize path if test "$prefix" = "NONE"; then prefix="/usr" if test "$localstatedir" = "\${prefix}/var"; then localstatedir="/var" fi if test "$sysconfdir" = "\${prefix}/etc"; then sysconfdir="/etc" fi if test "$libdir" = "\${exec_prefix}/lib"; then if test -e /usr/lib64; then libdir="/usr/lib64" else libdir="/usr/lib" fi fi fi case $exec_prefix in NONE) exec_prefix=$prefix;; prefix) exec_prefix=$prefix;; esac # need to expand a bunch of paths to make sure # the embedded values in files are absolute paths eval SBINDIR="`eval echo ${sbindir}`" AC_SUBST([SBINDIR]) eval LOCALSTATEDIR="`eval echo ${localstatedir}`" AC_SUBST([LOCALSTATEDIR]) eval LIBDIR="`eval echo ${libdir}`" # Checks for programs. # check stolen from gnulib/m4/gnu-make.m4 if ! ${MAKE-make} --version /cannot/make/this >/dev/null 2>&1; then AC_MSG_ERROR([you don't seem to have GNU make; it is required]) fi AC_PROG_LN_S AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_AWK AC_PROG_MKDIR_P # check for perl AC_PATH_PROG([PERL], [perl]) if test x$PERL = x; then AC_MSG_ERROR([Unable to find perl binary]) fi PKG_PROG_PKG_CONFIG # use a wrapper to call into PKG_CHECK_VAR to allow to set a default AC_DEFUN([ANVIL_PKG_CHECK_VAR], [ varname=$1 default=$4 AC_MSG_CHECKING([for pkg-conf $2 var $3]) PKG_CHECK_VAR([$1], [$2], [$3]) AS_VAR_IF([$1], [""], [AS_VAR_IF([default], [""], AC_MSG_ERROR([not found]), [AS_VAR_COPY([$varname], [default]) && AC_MSG_RESULT([not found, using default ${!varname}])])], [AC_MSG_RESULT([yes (detected: ${!varname})])]) ]) # check for systemd PKG_CHECK_MODULES([systemd], [systemd]) ANVIL_PKG_CHECK_VAR([SYSTEMD_UNIT_DIR_TMP], [systemd], [systemdsystemunitdir], [${prefix}/lib/systemd/system]) if test "${prefix}" != "/usr"; then SYSTEMD_UNIT_DIR="${prefix}/$SYSTEMD_UNIT_DIR_TMP" else SYSTEMD_UNIT_DIR="$SYSTEMD_UNIT_DIR_TMP" fi AC_SUBST([SYSTEMD_UNIT_DIR]) ANVIL_PKG_CHECK_VAR([OCFROOT_TMP], [resource-agents], [ocfrootdir], [${prefix}/lib/ocf]) if test "${prefix}" != "/usr"; then OCFROOT="${prefix}/$OCFROOT_TMP" else OCFROOT="$OCFROOT_TMP" fi AC_SUBST([OCFROOT]) ANVIL_PKG_CHECK_VAR([FASEXECPREFIX_TMP], [fence-agents], [exec_prefix], [${prefix}]) if test "${prefix}" != "/usr"; then FASEXECPREFIX="${prefix}/$FASEXECPREFIX_TMP" else FASEXECPREFIX="FASEXECPREFIX_TMP" fi AC_SUBST([FASEXECPREFIX]) # required for man page and spec file generation AX_PROG_DATE AS_IF([test "$ax_cv_prog_date_gnu_date:$ax_cv_prog_date_gnu_utc" = yes:yes], [UTC_DATE_AT="date -u -d@"], [AS_IF([test "x$ax_cv_prog_date_bsd_date" = xyes], [UTC_DATE_AT="date -u -r"], [AC_MSG_ERROR([date utility unable to convert epoch to UTC])])]) AC_SUBST([UTC_DATE_AT]) AC_ARG_VAR([SOURCE_EPOCH],[last modification date of the source]) AC_MSG_NOTICE([trying to determine source epoch]) AC_MSG_CHECKING([for source epoch in \$SOURCE_EPOCH]) AS_IF([test -n "$SOURCE_EPOCH"], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AC_MSG_CHECKING([for source epoch in source_epoch file]) AS_IF([test -e "$srcdir/source_epoch"], [read SOURCE_EPOCH <"$srcdir/source_epoch" AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AC_MSG_CHECKING([for source epoch baked in by gitattributes export-subst]) SOURCE_EPOCH='$Format:%at$' # template for rewriting by git-archive AS_CASE([$SOURCE_EPOCH], [?Format:*], # was not rewritten [AC_MSG_RESULT([no]) AC_MSG_CHECKING([for source epoch in \$SOURCE_DATE_EPOCH]) AS_IF([test "x$SOURCE_DATE_EPOCH" != x], [SOURCE_EPOCH="$SOURCE_DATE_EPOCH" AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) AC_MSG_CHECKING([whether git log can provide a source epoch]) SOURCE_EPOCH=f${SOURCE_EPOCH#\$F} # convert into git log --pretty format SOURCE_EPOCH=$(cd "$srcdir" && git log -1 --pretty=${SOURCE_EPOCH%$} 2>/dev/null) AS_IF([test -n "$SOURCE_EPOCH"], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no, using current time and breaking reproducibility]) SOURCE_EPOCH=$(date +%s)])])], [AC_MSG_RESULT([yes])] )]) ]) AC_MSG_NOTICE([using source epoch $($UTC_DATE_AT$SOURCE_EPOCH +'%F')]) UTC_DATE=$($UTC_DATE_AT$SOURCE_EPOCH +'%F') AC_SUBST([UTC_DATE]) AC_CONFIG_FILES([Makefile anvil.version Anvil/Makefile cgi-bin/Makefile html/Makefile journald.conf.d/Makefile man/Makefile ocf/Makefile pxe/Makefile scancore-agents/Makefile scripts/Makefile share/Makefile tools/Makefile units/Makefile]) AC_OUTPUT