1dnl ##
2dnl ## Process this file with autoconf to produce a configure script.
3dnl ##
4
5dnl ##
6dnl ## Setup autoconf
7dnl ##
8AC_PREREQ([2.68])
9AC_INIT([NormalizInterface], [package], [https://github.com/gap-packages/NormalizInterface/issues], [NormalizInterface], [https://gap-packages.github.io/NormalizInterface/])
10AC_CONFIG_SRCDIR([src/normaliz.cc])
11AC_CONFIG_HEADER([src/pkgconfig.h:cnf/pkgconfig.h.in])
12AC_CONFIG_MACRO_DIR([m4])
13AC_CONFIG_AUX_DIR([cnf])
14
15dnl ##
16dnl ## Get canonical host info
17dnl ##
18AC_CANONICAL_HOST
19
20dnl ##
21dnl ## Setup automake
22dnl ##
23AM_INIT_AUTOMAKE([1.11 -Wall foreign subdir-objects])
24AM_SILENT_RULES([yes])
25AM_PROG_AR
26
27dnl ##
28dnl ## C++ is the language
29dnl ##
30AC_PROG_CXX
31AC_LANG([C++])
32
33dnl ##
34dnl ## Check for C++11 support
35dnl ##
36AX_CXX_COMPILE_STDCXX(11, ,mandatory)
37
38dnl ##
39dnl ## Setup libtool (for building the GAP kernel extension)
40dnl ##
41LT_PREREQ([2.4.2])
42LT_INIT([disable-static dlopen win32-dll])
43
44dnl ##
45dnl ## Locate the GAP root dir
46dnl ##
47AC_FIND_GAP
48
49dnl ##
50dnl ## Locate Normaliz
51dnl ##
52
53AC_ARG_WITH([normaliz],
54    [AC_HELP_STRING([--with-normaliz=<path>], [specify root of Normaliz installation])],
55    [NORMALIZ="$with_normaliz"],
56    [NORMALIZ="$PWD/NormalizInstallDir"]
57)
58NORMALIZ_CPPFLAGS="-I$NORMALIZ/include"
59NORMALIZ_LDPATH="$NORMALIZ/lib"
60NORMALIZ_LDFLAGS="-L$NORMALIZ_LDPATH"
61AC_SUBST(NORMALIZ_LDPATH)
62AC_SUBST(NORMALIZ_LDFLAGS)
63AC_SUBST(NORMALIZ_CPPFLAGS)
64
65dnl ## Make sure Normaliz can be used and its version is at least >= 3.4.0
66
67old_CPPFLAGS="$CPPFLAGS"
68old_LDFLAGS="$LDFLAGS"
69CPPFLAGS="$CPPFLAGS $NORMALIZ_CPPFLAGS"
70LDFLAGS="$LDFLAGS $NORMALIZ_LDFLAGS"
71AC_CHECK_HEADER([libnormaliz/cone.h], [], [AC_MSG_ERROR([could not use libnormaliz/cone.h])], [])
72
73AC_MSG_CHECKING([for Normaliz >= 3.5.4])
74AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include "libnormaliz/cone.h"]],
75               [[#if !defined(NMZ_RELEASE) || NMZ_RELEASE < 30504
76               #error Normaliz too old
77               #endif
78               return 0;]])],
79       ac_normaliz=yes,ac_normaliz=no)
80
81AC_MSG_RESULT($ac_normaliz)
82if test "x$ac_normaliz" != "xyes"; then
83    AC_MSG_ERROR([Normaliz >= 3.5.4 is required])
84fi
85CPPFLAGS="$old_CPPFLAGS"
86LDFLAGS="$old_LDFLAGS"
87
88dnl ##
89dnl ## Detect Windows resp. Cygwin
90dnl ##
91case $host_os in
92  *cygwin* ) CYGWIN=yes;;
93         * ) CYGWIN=no;;
94esac
95AM_CONDITIONAL([SYS_IS_CYGWIN], [test "$CYGWIN" = "yes"])
96if test "$CYGWIN" = "yes"; then
97  AC_DEFINE(SYS_IS_CYGWIN32, 1, are we on CYGWIN?)
98else
99  AC_DEFINE(SYS_IS_CYGWIN32, 0, are we on CYGWIN?)
100fi
101
102dnl ##
103dnl ## Finally, generate the Makefiles and output everything
104dnl ##
105AC_CONFIG_FILES([Makefile])
106AC_OUTPUT
107