1 AC_INIT([isl], [0.18], [isl-development@googlegroups.com])
3 AC_CONFIG_MACRO_DIR([m4])
4 AM_INIT_AUTOMAKE([foreign])
5 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
9 if test "x$prefix" != "xNONE"; then
10 prefix_wd=`cd $prefix && pwd`
11 srcdir_wd=`cd $srcdir && pwd`
13 if test "x$prefix_wd" = "x$srcdir_wd"; then
14 AC_MSG_ERROR(Installation in source directory not supported)
16 if test "x$prefix_wd" = "x$wd"; then
17 AC_MSG_ERROR(Installation in build directory not supported)
25 AX_GCC_WARN_UNUSED_RESULT
28 # CXX11FLAGS contains the flags (if any) added by AX_CXX_COMPILE_STDCXX_11
29 # Original state of CXX and CXXCPP is preserved because CXX11FLAGS
30 # is only needed for compiling interface/isl_test_cpp
33 ac_save_CXXCPP="$CXXCPP"
34 AX_CXX_COMPILE_STDCXX_11([noext], [optional])
35 CXX11FLAGS=${CXX#$ac_save_CXX}
37 CXXCPP="$ac_save_CXXCPP"
43 AC_CHECK_PROG(PERL, perl, perl, [])
44 AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex, [])
45 AC_CHECK_PROG(POD2HTML, pod2html, pod2html, [])
47 AM_CONDITIONAL(GENERATE_DOC, test -n "$PERL" -a -n "$PDFLATEX" -a -n "$POD2HTML")
49 AX_CREATE_STDINT_H(include/isl/stdint.h)
52 [AS_HELP_STRING([--with-int=gmp|imath|imath-32],
53 [Which package to use to represent
54 multi-precision integers [default=gmp]])],
61 [bad value ${withval} for --with-int (use gmp, imath or imath-32)])
75 if test "x$with_int" = "ximath-32" -a "x$GCC" = "xyes"; then
76 MP_CPPFLAGS="-std=gnu99 $MP_CPPFLAGS"
79 AM_CONDITIONAL(IMATH_FOR_MP, test x$with_int = ximath -o x$with_int = ximath-32)
80 AM_CONDITIONAL(GMP_FOR_MP, test x$with_int = xgmp)
82 AM_CONDITIONAL(HAVE_CXX11, test "x$HAVE_CXX11" = "x1")
83 AM_CONDITIONAL(SMALL_INT_OPT, test "x$with_int" == "ximath-32")
84 AS_IF([test "x$with_int" == "ximath-32"], [
85 AC_DEFINE([USE_SMALL_INT_OPT], [], [Use small integer optimization])
88 AC_CHECK_DECLS(ffs,[],[],[#include <strings.h>])
89 AC_CHECK_DECLS(__builtin_ffs,[],[],[])
90 AC_CHECK_DECLS([_BitScanForward],[],[],[#include <intrin.h>])
91 if test "x$ac_cv_have_decl_ffs" = xno -a \
92 "x$ac_cv_have_decl___builtin_ffs" = xno -a \
93 "x$ac_cv_have_decl__BitScanForward" = xno; then
94 AC_MSG_ERROR([No ffs implementation found])
96 AC_CHECK_DECLS([strcasecmp,strncasecmp],[],[],[#include <strings.h>])
97 AC_CHECK_DECLS([_stricmp,_strnicmp],[],[],[#include <string.h>])
98 if test "x$ac_cv_have_decl_strcasecmp" = xno -a \
99 "x$ac_cv_have_decl__stricmp" = xno; then
100 AC_MSG_ERROR([No strcasecmp implementation found])
102 if test "x$ac_cv_have_decl_strncasecmp" = xno -a \
103 "x$ac_cv_have_decl__strnicmp" = xno; then
104 AC_MSG_ERROR([No strncasecmp implementation found])
106 AC_CHECK_DECLS([snprintf,_snprintf],[],[],[#include <stdio.h>])
107 if test "x$ac_cv_have_decl_snprintf" = xno -a \
108 "x$ac_cv_have_decl__snprintf" = xno; then
109 AC_MSG_ERROR([No snprintf implementation found])
112 AX_SUBMODULE(clang,system|no,no)
113 case "$with_clang" in
118 AM_CONDITIONAL(HAVE_CLANG, test $with_clang = system)
122 AC_SUBST(WARNING_FLAGS)
124 PACKAGE_CFLAGS="$MP_CPPFLAGS"
125 PACKAGE_LDFLAGS="$MP_LDFLAGS"
126 PACKAGE_LIBS="-lisl $MP_LIBS"
127 AX_CREATE_PKGCONFIG_INFO
131 AH_BOTTOM([#include <isl_config_post.h>])
132 AC_CONFIG_HEADERS(isl_config.h)
133 AC_CONFIG_FILES(isl_srcdir.c)
134 AC_CONFIG_FILES(Makefile)
135 AC_CONFIG_FILES(doc/Makefile)
136 if test $with_clang = system; then
137 AC_CONFIG_FILES(interface/Makefile)
139 AC_CONFIG_FILES([bound_test.sh], [chmod +x bound_test.sh])
140 AC_CONFIG_FILES([codegen_test.sh], [chmod +x codegen_test.sh])
141 AC_CONFIG_FILES([pip_test.sh], [chmod +x pip_test.sh])
142 AC_CONFIG_FILES([flow_test.sh], [chmod +x flow_test.sh])
143 AC_CONFIG_FILES([schedule_test.sh], [chmod +x schedule_test.sh])
144 AC_CONFIG_COMMANDS_POST([
145 dnl pass on arguments to subdir configures, but don't
146 dnl add them to config.status
147 ac_configure_args="$ac_configure_args $isl_configure_args"