#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69])
AC_INIT([SeFHT], [0.9], [jonathan@xn--schbel-yxa.info])
AC_CONFIG_SRCDIR([src/lib/sefht/fragment.c])
AC_CONFIG_HEADERS([src/config.h])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([build-macro])

AM_INIT_AUTOMAKE([foreign -Wall -Werror subdir-objects])

AM_MAINTAINER_MODE([enable])

AC_ARG_PROGRAM

# Checks for programs.
AC_PROG_CC
AM_PROG_AR

PKG_PROG_PKG_CONFIG()

# Optional test suite
AC_ARG_ENABLE([tests],
[AS_HELP_STRING([--enable-tests@<:@=auto|yes|no@:>@],
                [support building tests @<:@default=auto@:>@
                This needs check to be installed.],26,65)],
[],
[enable_tests=auto])

case ${enable_tests} in
  yes)
    PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
    ;;
  no)
    ;;
  auto)
    PKG_CHECK_MODULES([CHECK], [check >= 0.9.4],
    [enable_tests=yes],
    [
      enable_tests=no
      AC_MSG_WARN([tests are disabled, due to missing check])
    ])
    ;;
  *)
    AC_MSG_ERROR([invalid --enable-tests argument])
    ;;
esac

AM_CONDITIONAL([MISSING_CHECK], [test x${enable_tests} = xno])


# Checks for libraries.
LT_INIT()
AC_CHECK_LIB([m], [floor])

# Checks for header files.
AC_CHECK_HEADERS([errno.h])
AC_CHECK_HEADERS([limits.h])
AC_CHECK_HEADERS([math.h])
AC_CHECK_HEADERS([stdbool.h])
AC_CHECK_HEADERS([stdint.h])
AC_CHECK_HEADERS([stdio.h])
AC_CHECK_HEADERS([stdlib.h])
AC_CHECK_HEADERS([string.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_CHECK_HEADER_STDBOOL
AC_C_INLINE
AC_TYPE_SIZE_T

# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_REALLOC
AC_CHECK_FUNCS([floor])
AC_CHECK_FUNCS([strdup])

# Makefiles
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([src/Makefile])
AC_CONFIG_FILES([src/lib/Makefile])
AC_CONFIG_FILES([tests/Makefile])
AC_CONFIG_FILES([tests/no_test.sh], [chmod +x tests/no_test.sh])
AC_CONFIG_FILES([gitlab-ci/upload.sh], [chmod +x gitlab-ci/upload.sh])
AC_CONFIG_FILES([gitlab-ci/release.sh], [chmod +x gitlab-ci/release.sh])

AC_OUTPUT