X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=3213de0de756f90c12a0655db39f8f255ce770a3;hb=de51a9bc4da5dd3f1f9f57c2362da6f9752c44e0;hp=8f5afe53e97264cd0ff9bf05ac06b92a87f37d52;hpb=10b16dc854ba4e413d23fcce772ace8e885cae0e;p=platform%2Fupstream%2Fisl.git diff --git a/configure.ac b/configure.ac index 8f5afe5..3213de0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,14 +1,29 @@ -AC_INIT +AC_INIT([isl], [0.11.2], [isl-development@googlegroups.com]) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_MACRO_DIR([m4]) -AM_INIT_AUTOMAKE(isl, 0.01) +AM_INIT_AUTOMAKE([foreign]) +m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) AC_SUBST(versioninfo) -versioninfo=1:0:0 +versioninfo=11:2:1 + +if test "x$prefix" != "xNONE"; then + prefix_wd=`cd $prefix && pwd` + srcdir_wd=`cd $srcdir && pwd` + wd=`pwd` + if test "x$prefix_wd" = "x$srcdir_wd"; then + AC_MSG_ERROR(Installation in source directory not supported) + fi + if test "x$prefix_wd" = "x$wd"; then + AC_MSG_ERROR(Installation in build directory not supported) + fi +fi AC_PROG_CC +AC_PROG_CXX AX_CC_MAXOPT AX_GCC_WARN_UNUSED_RESULT +AX_C___ATTRIBUTE__ AC_PROG_LIBTOOL @@ -18,17 +33,27 @@ AC_CHECK_PROG(POD2HTML, pod2html, pod2html, []) AM_CONDITIONAL(GENERATE_DOC, test -n "$PERL" -a -n "$PDFLATEX" -a -n "$POD2HTML") -AX_CREATE_STDINT_H(include/isl_stdint.h) +AX_CREATE_STDINT_H(include/isl/stdint.h) -AX_SUBMODULE(gmp,system,system) +AX_SUBMODULE(gmp,system|build,system) AC_SUBST(GMP_CPPFLAGS) AC_SUBST(GMP_LDFLAGS) -if test "x$with_gmp_prefix" != "x"; then - isl_configure_args="$isl_configure_args --with-gmp=$with_gmp_prefix" - GMP_CPPFLAGS="-I$with_gmp_prefix/include" - GMP_LDFLAGS="-L$with_gmp_prefix/lib" -fi +AC_SUBST(GMP_LIBS) +case "$with_gmp" in +system) + if test "x$with_gmp_prefix" != "x"; then + isl_configure_args="$isl_configure_args --with-gmp=$with_gmp_prefix" + GMP_CPPFLAGS="-I$with_gmp_prefix/include" + GMP_LDFLAGS="-L$with_gmp_prefix/lib" + fi + GMP_LIBS=-lgmp + ;; +build) + GMP_CPPFLAGS="-I$gmp_srcdir -I$with_gmp_builddir" + GMP_LIBS="$with_gmp_builddir/libgmp.la" + ;; +esac SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$GMP_CPPFLAGS $CPPFLAGS" need_get_memory_functions=false @@ -38,67 +63,13 @@ AC_CHECK_DECLS(mp_get_memory_functions,[],[ CPPFLAGS="$SAVE_CPPFLAGS" AM_CONDITIONAL(NEED_GET_MEMORY_FUNCTIONS, test x$need_get_memory_functions = xtrue) -AX_SUBMODULE(polylib,no|system|build,no) - -have_polylib=false -AC_SUBST(POLYLIB_CPPFLAGS) -AC_SUBST(POLYLIB_LDFLAGS) -AC_SUBST(POLYLIB_LIBS) -case "$with_polylib" in - build) - polylibs=`echo @polylibs@ | $with_polylib_builddir/config.status --file=-` - AC_MSG_NOTICE(Configured polylibs: $polylibs) - isl_cv_polylib=missing - for bits in $polylibs; do - if test "$bits" = "libpolylibgmp.la"; then - isl_cv_polylib=ok - fi - done - if test "$isl_cv_polylib" = "missing"; then - AC_MSG_ERROR(no gmp polylib configured) - fi - POLYLIB_CPPFLAGS="-I$with_polylib_builddir/include -I$polylib_srcdir/include" - POLYLIB_LIBS="$with_polylib_builddir/libpolylibgmp.la" - ;; - system) - POLYLIB_LIBS="-lpolylibgmp" - if test "x$with_polylib_prefix" != "x"; then - POLYLIB_CPPFLAGS="-I$with_polylib_prefix/include" - POLYLIB_LDFLAGS="-L$with_polylib_prefix/lib" - fi - SAVE_CPPFLAGS="$CPPFLAGS" - SAVE_LDFLAGS="$LDFLAGS" - CPPFLAGS="$POLYLIB_CPPFLAGS $CPPFLAGS" - LDFLAGS="$POLYLIB_LDFLAGS $LDFLAGS" - AC_CHECK_LIB(polylibgmp, PolyhedronTSort,[ true ],[ - AC_MSG_ERROR(Need polylib) - ]) - CPPFLAGS="$SAVE_CPPFLAGS" - LDFLAGS="$SAVE_LDFLAGS" - ;; - no) - ;; - *) - AC_MSG_ERROR(unsupported) - ;; -esac -if test "$with_polylib" != "no"; then - AC_DEFINE(ISL_POLYLIB,,polylib is available) - have_polylib=true -fi -AM_CONDITIONAL(HAVE_POLYLIB, test x$have_polylib = xtrue) - -AX_SUBMODULE(piplib,no|system|build|bundled,no) +AX_SUBMODULE(piplib,no|system|build,no) have_piplib=false AC_SUBST(PIPLIB_CPPFLAGS) AC_SUBST(PIPLIB_LDFLAGS) AC_SUBST(PIPLIB_LIBS) case "$with_piplib" in - bundled) - PIPLIB_CPPFLAGS="-I$srcdir/piplib/include" - isl_configure_args="$isl_configure_args --with-bits=gmp" - ;; build) PIPLIB_CPPFLAGS="-I$piplib_srcdir/include" PIPLIB_LIBS="$with_piplib_builddir/libpiplibMP.la" @@ -134,18 +105,126 @@ if test "$with_piplib" != "no"; then have_piplib=true fi AM_CONDITIONAL(HAVE_PIPLIB, test x$have_piplib = xtrue) -AM_CONDITIONAL(BUNDLED_PIPLIB, test $with_piplib = bundled) -PACKAGE_CFLAGS="-I$prefix/include/isl" +AC_SUBST(CLANG_CXXFLAGS) +AC_SUBST(CLANG_LDFLAGS) +AC_SUBST(CLANG_LIBS) +AX_SUBMODULE(clang,system|no,no) +case "$with_clang" in +system) + llvm_config="llvm-config" + AC_CHECK_PROG([llvm_config_found], ["$llvm_config"], [yes]) + if test "x$with_clang_prefix" != "x"; then + llvm_config="$with_clang_prefix/bin/llvm-config" + if test -x "$llvm_config"; then + llvm_config_found=yes + fi + fi + if test "$llvm_config_found" != yes; then + AC_MSG_ERROR([llvm-config not found]) + fi + CLANG_CXXFLAGS=`$llvm_config --cxxflags` + CLANG_LDFLAGS=`$llvm_config --ldflags` + targets=`$llvm_config --targets-built` + CLANG_LIBS=`$llvm_config --libs $targets asmparser bitreader support mc` + CLANG_PREFIX=`$llvm_config --prefix` + AC_DEFINE_UNQUOTED(CLANG_PREFIX, ["$CLANG_PREFIX"], + [Clang installation prefix]) + + SAVE_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CLANG_CXXFLAGS $CPPFLAGS" + AC_LANG_PUSH(C++) + AC_CHECK_HEADER([clang/Basic/SourceLocation.h], [], + [AC_ERROR([clang header file not found])]) + AC_EGREP_HEADER([getDefaultTargetTriple], [llvm/Support/Host.h], [], + [AC_DEFINE([getDefaultTargetTriple], [getHostTriple], + [Define to getHostTriple for older versions of clang])]) + AC_EGREP_HEADER([getExpansionLineNumber], + [clang/Basic/SourceLocation.h], [], + [AC_DEFINE([getExpansionLineNumber], + [getInstantiationLineNumber], + [Define to getInstantiationLineNumber for older versions of clang])]) + AC_EGREP_HEADER([DiagnosticsEngine], + [clang/Basic/Diagnostic.h], [], + [AC_DEFINE([DiagnosticsEngine], + [Diagnostic], + [Define to Diagnostic for older versions of clang])]) + AC_EGREP_HEADER([ArrayRef], [clang/Driver/Driver.h], + [AC_DEFINE([USE_ARRAYREF], [], + [Define if Driver::BuildCompilation takes ArrayRef])]) + AC_EGREP_HEADER([CXXIsProduction], [clang/Driver/Driver.h], + [AC_DEFINE([HAVE_CXXISPRODUCTION], [], + [Define if Driver constructor takes CXXIsProduction argument])]) + AC_EGREP_HEADER([ IsProduction], [clang/Driver/Driver.h], + [AC_DEFINE([HAVE_ISPRODUCTION], [], + [Define if Driver constructor takes IsProduction argument])]) + AC_EGREP_HEADER([void HandleTopLevelDecl\(], [clang/AST/ASTConsumer.h], + [AC_DEFINE([HandleTopLevelDeclReturn], [void], + [Return type of HandleTopLevelDeclReturn]) + AC_DEFINE([HandleTopLevelDeclContinue], [], + [Return type of HandleTopLevelDeclReturn])], + [AC_DEFINE([HandleTopLevelDeclReturn], [bool], + [Return type of HandleTopLevelDeclReturn]) + AC_DEFINE([HandleTopLevelDeclContinue], [true], + [Return type of HandleTopLevelDeclReturn])]) + AC_CHECK_HEADER([clang/Basic/DiagnosticOptions.h], + [AC_DEFINE([HAVE_BASIC_DIAGNOSTICOPTIONS_H], [], + [Define if clang/Basic/DiagnosticOptions.h exists])]) + AC_TRY_COMPILE([#include ], [ + using namespace clang; + TargetOptions *TO; + DiagnosticsEngine *Diags; + TargetInfo::CreateTargetInfo(*Diags, TO); + ], [AC_DEFINE([CREATETARGETINFO_TAKES_POINTER], [], + [Define if TargetInfo::CreateTargetInfo takes pointer])]) + AC_TRY_COMPILE([#include ], [ + using namespace clang; + DiagnosticConsumer *client; + CompilerInstance *Clang; + Clang->createDiagnostics(client); + ], [], [AC_DEFINE([CREATEDIAGNOSTICS_TAKES_ARG], [], + [Define if CompilerInstance::createDiagnostics takes argc and argv])]) + AC_TRY_COMPILE([#include ], [ + using namespace clang; + HeaderSearchOptions HSO; + HSO.AddPath("", frontend::Angled, false, false); + ], [AC_DEFINE([ADDPATH_TAKES_4_ARGUMENTS], [], + [Define if HeaderSearchOptions::AddPath takes 4 arguments])]) + AC_LANG_POP + CPPFLAGS="$SAVE_CPPFLAGS" + + SAVE_LDFLAGS="$LDFLAGS" + LDFLAGS="$CLANG_LDFLAGS $LDFLAGS" + AC_SUBST(LIB_CLANG_EDIT) + AC_CHECK_LIB([clangEdit], [main], [LIB_CLANG_EDIT=-lclangEdit], []) + LDFLAGS="$SAVE_LDFLAGS" + ;; +esac +AM_CONDITIONAL(HAVE_CLANG, test $with_clang = system) + +AX_SET_WARNING_FLAGS + +AC_SUBST(WARNING_FLAGS) + +PACKAGE_CFLAGS="$GMP_CPPFLAGS" +PACKAGE_LDFLAGS="$GMP_LDFLAGS" +PACKAGE_LIBS="-lisl -lgmp" AX_CREATE_PKGCONFIG_INFO -AC_CONFIG_HEADERS(config.h) -AC_CONFIG_HEADERS(include/isl_config.h) +AX_DETECT_GIT_HEAD +echo '#define GIT_HEAD_ID "'$GIT_HEAD_ID'"' > gitversion.h + +AH_BOTTOM([#include ]) +AC_CONFIG_HEADERS(isl_config.h) +AC_CONFIG_HEADERS(include/isl/config.h) AC_CONFIG_FILES(Makefile) AC_CONFIG_FILES(doc/Makefile) -if test $with_piplib = bundled; then - AC_CONFIG_SUBDIRS(piplib) +if test $with_clang = system; then + AC_CONFIG_FILES(interface/Makefile) fi +AC_CONFIG_FILES([bound_test.sh], [chmod +x bound_test.sh]) +AC_CONFIG_FILES([codegen_test.sh], [chmod +x codegen_test.sh]) +AC_CONFIG_FILES([pip_test.sh], [chmod +x pip_test.sh]) AC_CONFIG_COMMANDS_POST([ dnl pass on arguments to subdir configures, but don't dnl add them to config.status