diff options
Diffstat (limited to 'polly/lib/CMakeLists.txt')
-rw-r--r-- | polly/lib/CMakeLists.txt | 66 |
1 files changed, 63 insertions, 3 deletions
diff --git a/polly/lib/CMakeLists.txt b/polly/lib/CMakeLists.txt index 7eaf0709719c..3c8ccba251ee 100644 --- a/polly/lib/CMakeLists.txt +++ b/polly/lib/CMakeLists.txt @@ -16,6 +16,69 @@ if (GPU_CODEGEN) set (GPGPU_CODEGEN_FILES) endif (GPU_CODEGEN) + +# External: Integer Set Library +set(ISL_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/External/isl") +set(ISL_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/External/isl") + +# Determine version of isl +if (EXISTS "${ISL_SOURCE_DIR}/GIT_HEAD_ID") + # The source comes from a 'make dist' archive + file(READ "${ISL_SOURCE_DIR}/GIT_HEAD_ID" GIT_HEAD_ID) + string(STRIP "${GIT_HEAD_ID}" GIT_HEAD_ID) +elseif (EXISTS "${ISL_SOURCE_DIR}/gitversion.h") + # The source directory is preconfigured + file(READ "${ISL_SOURCE_DIR}/gitversion.h" GITVERSION_H) + string(REGEX REPLACE ".*\\\"([^\\\"]*)\\\".*" "\\1" GIT_HEAD_ID "${GITVERSION_H}") +elseif () + # Unknown revision + set(GIT_HEAD_ID "UNKNOWN") +endif () + +message(STATUS "ISL version: ${GIT_HEAD_ID}") + +# Enable small integer optimization and imath +set(USE_GMP_FOR_MP OFF) +set(USE_IMATH_FOR_MP ON) +set(USE_SMALL_INT_OPT OFF) + +# Determine compiler characteristics +include(CheckCSourceCompiles) + +check_c_source_compiles(" + int func(void) __attribute__((__warn_unused_result__)); + int main() { return 0; } + " HAS_ATTRIBUTE_WARN_UNUSED_RESULT) +set(GCC_WARN_UNUSED_RESULT) +if (HAS_ATTRIBUTE_WARN_UNUSED_RESULT) + set(GCC_WARN_UNUSED_RESULT "__attribute__((__warn_unused_result__))") +endif () + +check_c_source_compiles(" + #include <strings.h> + int main() { ffs(0); return 0; } + " HAVE_DECL_FFS) +if (NOT HAVE_DECL_FFS) + set(HAVE_DECL_FFS 0) +endif () + +check_c_source_compiles(" + int main() { __builtin_ffs(0); return 0; } + " HAVE_DECL___BUILTIN_FFS) +if (NOT HAVE_DECL___BUILTIN_FFS) + set(HAVE_DECL___BUILTIN_FFS 0) +endif () + +check_c_source_compiles(" + static void foo(void) __attribute__ ((unused)); + int main() { return 0; } + " HAVE___ATTRIBUTE__) + +# Write configure result +configure_file("External/gitversion.h.cmake" "${ISL_BINARY_DIR}/gitversion.h") +configure_file("External/isl_config.h.cmake" "${ISL_BINARY_DIR}/isl_config.h") + +# ISL files to compile set (ISL_FILES External/isl/basis_reduction_tab.c External/isl/isl_aff.c @@ -92,9 +155,6 @@ set (ISL_FILES External/isl/imath/gmp_compat.c External/isl/imath/imath.c External/isl/imath/imrat.c - External/isl/imath/iprime.c - External/isl/imath/pi.c - External/isl/imath/rsamath.c ) |