[llvm] r268048 - cmake: Set LINK_POLLY_INTO_TOOLS to ON (v2)

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 29 08:07:23 PDT 2016


Author: grosser
Date: Fri Apr 29 10:07:22 2016
New Revision: 268048

URL: http://llvm.org/viewvc/llvm-project?rev=268048&view=rev
Log:
cmake: Set LINK_POLLY_INTO_TOOLS to ON (v2)

This is the second try. This time we disable this feature if no Polly checkout
is available. For this to work we need to check if tools/polly is present
early enough that our decision is known before cmake generates Config/config.h.

With Polly checked into LLVM it was since a long time possible to compile
clang/opt/bugpoint with Polly support directly linked in, instead of only
providing Polly as a separate loadable module. This commit switches the
default from providing Polly as a module to linking Polly into tools, such
that it becomes unnecessary to load the Polly module when playing with Polly.
Such configuration has shown a lot more convenient for day-to-day Polly use.

This change does not impact the default behavior of any tool, if Polly is not
explicitly enabled when calling clang/opt/bugpoint Polly does not affect
compilation.

This change also does not impact normal LLVM/clang checkouts that do not
contain Polly.

Reviewers: jdoerfert, Meinersbur

Subscribers: pollydev, llvm-commits

Differential Revision: http://reviews.llvm.org/D19711

Modified:
    llvm/trunk/CMakeLists.txt
    llvm/trunk/tools/CMakeLists.txt

Modified: llvm/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=268048&r1=268047&r2=268048&view=diff
==============================================================================
--- llvm/trunk/CMakeLists.txt (original)
+++ llvm/trunk/CMakeLists.txt Fri Apr 29 10:07:22 2016
@@ -342,7 +342,7 @@ option(LLVM_USE_SPLIT_DWARF
   "Use -gsplit-dwarf when compiling llvm." OFF)
 
 option(WITH_POLLY "Build LLVM with Polly" ON)
-option(LINK_POLLY_INTO_TOOLS "Static link Polly into tools" OFF)
+option(LINK_POLLY_INTO_TOOLS "Static link Polly into tools" ON)
 
 # Define an option controlling whether we should build for 32-bit on 64-bit
 # platforms, where supported.
@@ -393,6 +393,16 @@ option (LLVM_ENABLE_SPHINX "Use Sphinx t
 option (LLVM_BUILD_EXTERNAL_COMPILER_RT
   "Build compiler-rt as an external project." OFF)
 
+if(WITH_POLLY)
+  if(NOT EXISTS ${LLVM_MAIN_SRC_DIR}/tools/polly/CMakeLists.txt)
+    set(WITH_POLLY OFF)
+  endif()
+endif(WITH_POLLY)
+
+if (NOT WITH_POLLY)
+ set(LINK_POLLY_INTO_TOOLS OFF)
+endif (NOT WITH_POLLY)
+
 # You can configure which libraries from LLVM you want to include in the
 # shared library by setting LLVM_DYLIB_COMPONENTS to a semi-colon delimited
 # list of LLVM components. All component names handled by llvm-config are valid.
@@ -702,12 +712,6 @@ endforeach()
 
 add_subdirectory(projects)
 
-if(WITH_POLLY)
-  if(NOT EXISTS ${LLVM_MAIN_SRC_DIR}/tools/polly/CMakeLists.txt)
-    set(WITH_POLLY OFF)
-  endif()
-endif(WITH_POLLY)
-
 if( LLVM_INCLUDE_TOOLS )
   add_subdirectory(tools)
 endif()

Modified: llvm/trunk/tools/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/CMakeLists.txt?rev=268048&r1=268047&r2=268048&view=diff
==============================================================================
--- llvm/trunk/tools/CMakeLists.txt (original)
+++ llvm/trunk/tools/CMakeLists.txt Fri Apr 29 10:07:22 2016
@@ -16,6 +16,10 @@ if(WITH_POLLY)
 else()
   set(LLVM_TOOL_POLLY_BUILD Off)
 endif()
+if(NOT LLVM_TOOL_POLL_BUILD)
+  MESSAGE(No polly)
+endif()
+
 
 if(NOT LLVM_BUILD_LLVM_DYLIB )
   set(LLVM_TOOL_LLVM_SHLIB_BUILD Off)




More information about the llvm-commits mailing list