1AC_INIT([isl], [0.26], [isl-development@googlegroups.com]) 2AC_CONFIG_AUX_DIR([.]) 3AC_CONFIG_MACRO_DIR([m4]) 4AM_INIT_AUTOMAKE([foreign]) 5m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) 6AC_SUBST(versioninfo) 7versioninfo=26:0:3 8 9if test "x$prefix" != "xNONE"; then 10 prefix_wd=`cd $prefix && pwd` 11 srcdir_wd=`cd $srcdir && pwd` 12 wd=`pwd` 13 if test "x$prefix_wd" = "x$srcdir_wd"; then 14 AC_MSG_ERROR(Installation in source directory not supported) 15 fi 16 if test "x$prefix_wd" = "x$wd"; then 17 AC_MSG_ERROR(Installation in build directory not supported) 18 fi 19fi 20 21AC_PROG_CC 22AC_PROG_CXX 23AX_PROG_CC_FOR_BUILD 24 25AX_CC_MAXOPT 26AX_GCC_WARN_UNUSED_RESULT 27AX_C___ATTRIBUTE__ 28 29AX_CXX_COMPILE_STDCXX_11_NO_OVERRIDE 30AX_CXX_COMPILE_STDCXX_17([], [optional]) 31 32AC_PROG_GREP 33LT_INIT 34AC_PROG_SED 35AM_PATH_PYTHON([3.6], [], [:]) 36AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :]) 37 38AC_CHECK_PROG(CYGPATH, cygpath, cygpath, []) 39AC_CHECK_PROG(PERL, perl, perl, []) 40AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex, []) 41AC_CHECK_PROG(POD2HTML, pod2html, pod2html, []) 42 43AC_SUBST(OS_SRCDIR) 44if test "$host_os" = "mingw32" -a -n "$CYGPATH"; then 45 OS_SRCDIR=`$CYGPATH -m "$srcdir"` 46else 47 OS_SRCDIR="$srcdir" 48fi 49 50AM_CONDITIONAL(GENERATE_DOC, test -n "$PERL" -a -n "$PDFLATEX" -a -n "$POD2HTML") 51 52AX_CREATE_STDINT_H(include/isl/stdint.h) 53 54AC_ARG_WITH([int], 55 [AS_HELP_STRING([--with-int=gmp|imath|imath-32], 56 [Which package to use to represent 57 multi-precision integers [default=gmp]])], 58 [], [with_int=gmp]) 59case "$with_int" in 60gmp|imath|imath-32) 61 ;; 62*) 63 AC_MSG_ERROR( 64 [bad value ${withval} for --with-int (use gmp, imath or imath-32)]) 65esac 66 67AC_SUBST(MP_CPPFLAGS) 68AC_SUBST(MP_CFLAGS) 69AC_SUBST(MP_LDFLAGS) 70AC_SUBST(MP_LIBS) 71case "$with_int" in 72gmp) 73 AX_DETECT_GMP 74 ;; 75imath|imath-32) 76 AX_DETECT_IMATH 77 ;; 78esac 79if test "x$with_int" = "ximath-32" -a "x$GCC" = "xyes"; then 80 MP_CFLAGS="-std=gnu99 $MP_CFLAGS" 81fi 82 83AM_CONDITIONAL(IMATH_FOR_MP, test x$with_int = ximath -o x$with_int = ximath-32) 84AM_CONDITIONAL(GMP_FOR_MP, test x$with_int = xgmp) 85 86AM_CONDITIONAL(HAVE_CXX11, test "x$HAVE_CXX11" = "x1") 87AM_CONDITIONAL(HAVE_CXX17, test "x$HAVE_CXX17" = "x1") 88AM_CONDITIONAL(SMALL_INT_OPT, test "x$with_int" = "ximath-32") 89AS_IF([test "x$with_int" = "ximath-32"], [ 90 AC_DEFINE([USE_SMALL_INT_OPT], [], [Use small integer optimization]) 91]) 92 93AC_CHECK_DECLS(ffs,[],[],[#include <strings.h>]) 94AC_CHECK_DECLS(__builtin_ffs,[],[],[]) 95AC_CHECK_DECLS([_BitScanForward],[],[],[#include <intrin.h>]) 96if test "x$ac_cv_have_decl_ffs" = xno -a \ 97 "x$ac_cv_have_decl___builtin_ffs" = xno -a \ 98 "x$ac_cv_have_decl__BitScanForward" = xno; then 99 AC_MSG_ERROR([No ffs implementation found]) 100fi 101AC_CHECK_DECLS([strcasecmp,strncasecmp],[],[],[#include <strings.h>]) 102AC_CHECK_DECLS([_stricmp,_strnicmp],[],[],[#include <string.h>]) 103if test "x$ac_cv_have_decl_strcasecmp" = xno -a \ 104 "x$ac_cv_have_decl__stricmp" = xno; then 105 AC_MSG_ERROR([No strcasecmp implementation found]) 106fi 107if test "x$ac_cv_have_decl_strncasecmp" = xno -a \ 108 "x$ac_cv_have_decl__strnicmp" = xno; then 109 AC_MSG_ERROR([No strncasecmp implementation found]) 110fi 111AC_CHECK_DECLS([snprintf,_snprintf],[],[],[#include <stdio.h>]) 112if test "x$ac_cv_have_decl_snprintf" = xno -a \ 113 "x$ac_cv_have_decl__snprintf" = xno; then 114 AC_MSG_ERROR([No snprintf implementation found]) 115fi 116 117AX_SUBMODULE(clang,system|no,no) 118AM_CONDITIONAL(HAVE_CLANG, test $with_clang = system) 119AM_CONDITIONAL(HAVE_CPP_ISL_H, 120 [(test $with_clang = system -a "x$HAVE_CXX11" = "x1") || \ 121 test -f $srcdir/include/isl/cpp.h]) 122 123AX_SET_WARNING_FLAGS 124 125AC_SUBST(WARNING_FLAGS) 126 127PACKAGE_CFLAGS="$MP_CPPFLAGS" 128PACKAGE_LDFLAGS="$MP_LDFLAGS" 129PACKAGE_LIBS="-lisl $MP_LIBS" 130AX_CREATE_PKGCONFIG_INFO 131 132AX_DETECT_GIT_HEAD 133 134AH_BOTTOM([#include <isl_config_post.h>]) 135AC_CONFIG_HEADERS(isl_config.h) 136AC_CONFIG_FILES(isl_srcdir.c) 137AC_CONFIG_FILES(Makefile) 138AC_CONFIG_FILES(doc/Makefile) 139if test $with_clang = system; then 140 AC_CONFIG_SUBDIRS(interface) 141fi 142AC_CONFIG_FILES([bound_test.sh], [chmod +x bound_test.sh]) 143AC_CONFIG_FILES([codegen_test.sh], [chmod +x codegen_test.sh]) 144AC_CONFIG_FILES([pip_test.sh], [chmod +x pip_test.sh]) 145AC_CONFIG_FILES([flow_test.sh], [chmod +x flow_test.sh]) 146AC_CONFIG_FILES([schedule_test.sh], [chmod +x schedule_test.sh]) 147AC_OUTPUT 148