From d95c34e4673c45cb88ba31731cf20fb355384f46 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Jun 22 2017 20:49:09 +0000 Subject: 4.0.1 Release --- diff --git a/.gitignore b/.gitignore index a55fffc..6ed87d2 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ /llvm-3.9.0.src.tar.xz /llvm-3.9.1.src.tar.xz /llvm-4.0.0.src.tar.xz +/llvm-4.0.1.src.tar.xz diff --git a/0001-CMake-Don-t-install-llvm-tblgen-twice.patch b/0001-CMake-Don-t-install-llvm-tblgen-twice.patch deleted file mode 100644 index 6a84413..0000000 --- a/0001-CMake-Don-t-install-llvm-tblgen-twice.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a46be0c0b5cb17d0e2eeb19a180c583df63ee766 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Mon, 6 Mar 2017 15:51:00 +0000 -Subject: [PATCH] CMake: Don't install llvm-tblgen twice - -Summary: -The add_tablegen macros defines its own install target, and it was also calling -add_llvm_utility which adds another install target. - -Configuring with -DLLVM_TOOLS_INSTALL_DIR set to something other than -'bin' along with -DLLVM_INSTALL_UTILS=ON was causing llvm-tablgen -to be installed to two separate directories. - -Reviewers: beanz, hans - -Subscribers: llvm-commits, mgorny - -Differential Revision: https://reviews.llvm.org/D30656 ---- - cmake/modules/TableGen.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmake/modules/TableGen.cmake b/cmake/modules/TableGen.cmake -index 0c00bf5..da0858e 100644 ---- a/cmake/modules/TableGen.cmake -+++ b/cmake/modules/TableGen.cmake -@@ -99,7 +99,7 @@ macro(add_tablegen target project) - set(LLVM_ENABLE_OBJLIB ON) - endif() - -- add_llvm_utility(${target} ${ARGN}) -+ add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) - set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) - - set(${project}_TABLEGEN "${target}" CACHE --- -2.9.3 - diff --git a/0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch b/0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch deleted file mode 100644 index 0ad05d4..0000000 --- a/0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch +++ /dev/null @@ -1,193 +0,0 @@ -From a61fc423f3c043314efd4c0cdb1367de2077ac36 Mon Sep 17 00:00:00 2001 -From: Eric Fiselier -Date: Fri, 10 Feb 2017 01:59:20 +0000 -Subject: [PATCH] [CMake] Fix pthread handling for out-of-tree builds - -LLVM defines `PTHREAD_LIB` which is used by AddLLVM.cmake and various projects -to correctly link the threading library when needed. Unfortunately -`PTHREAD_LIB` is defined by LLVM's `config-ix.cmake` file which isn't installed -and therefore can't be used when configuring out-of-tree builds. This causes -such builds to fail since `pthread` isn't being correctly linked. - -This patch attempts to fix that problem by renaming and exporting -`LLVM_PTHREAD_LIB` as part of`LLVMConfig.cmake`. I renamed `PTHREAD_LIB` -because It seemed likely to cause collisions with downstream users of -`LLVMConfig.cmake`. - - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294690 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - cmake/config-ix.cmake | 2 +- - cmake/modules/AddLLVM.cmake | 6 +++--- - cmake/modules/LLVMConfig.cmake.in | 4 ++++ - examples/ParallelJIT/CMakeLists.txt | 2 +- - lib/CodeGen/CMakeLists.txt | 2 +- - lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt | 2 +- - lib/Fuzzer/CMakeLists.txt | 4 ++-- - lib/Support/CMakeLists.txt | 2 +- - unittests/ExecutionEngine/Orc/CMakeLists.txt | 2 +- - unittests/Support/CMakeLists.txt | 2 +- - utils/unittest/CMakeLists.txt | 4 ++-- - 11 files changed, 18 insertions(+), 14 deletions(-) - -diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake -index 50bcc50..6bd2b53 100755 ---- a/cmake/config-ix.cmake -+++ b/cmake/config-ix.cmake -@@ -115,7 +115,7 @@ if(HAVE_LIBPTHREAD) - set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - set(THREADS_HAVE_PTHREAD_ARG Off) - find_package(Threads REQUIRED) -- set(PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT}) -+ set(LLVM_PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT}) - endif() - - # Don't look for these libraries on Windows. Also don't look for them if we're -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index b3c7746..cb4171c 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -718,11 +718,11 @@ macro(add_llvm_executable name) - if(NOT ARG_IGNORE_EXTERNALIZE_DEBUGINFO) - llvm_externalize_debuginfo(${name}) - endif() -- if (PTHREAD_LIB) -+ if (LLVM_PTHREAD_LIB) - # libpthreads overrides some standard library symbols, so main - # executable must be linked with it in order to provide consistent - # API for all shared libaries loaded by this executable. -- target_link_libraries(${name} ${PTHREAD_LIB}) -+ target_link_libraries(${name} ${LLVM_PTHREAD_LIB}) - endif() - endmacro(add_llvm_executable name) - -@@ -1027,7 +1027,7 @@ function(add_unittest test_suite test_name) - # libpthreads overrides some standard library symbols, so main - # executable must be linked with it in order to provide consistent - # API for all shared libaries loaded by this executable. -- target_link_libraries(${test_name} gtest_main gtest ${PTHREAD_LIB}) -+ target_link_libraries(${test_name} gtest_main gtest ${LLVM_PTHREAD_LIB}) - - add_dependencies(${test_suite} ${test_name}) - get_target_property(test_suite_folder ${test_suite} FOLDER) -diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in -index 2aea2dc..7a8eb36 100644 ---- a/cmake/modules/LLVMConfig.cmake.in -+++ b/cmake/modules/LLVMConfig.cmake.in -@@ -45,6 +45,10 @@ set(LLVM_ENABLE_PIC @LLVM_ENABLE_PIC@) - - set(LLVM_BUILD_32_BITS @LLVM_BUILD_32_BITS@) - -+if (NOT "@LLVM_PTHREAD_LIB@" STREQUAL "") -+ set(LLVM_PTHREAD_LIB "@LLVM_PTHREAD_LIB@") -+endif() -+ - set(LLVM_ENABLE_PLUGINS @LLVM_ENABLE_PLUGINS@) - set(LLVM_EXPORT_SYMBOLS_FOR_PLUGINS @LLVM_EXPORT_SYMBOLS_FOR_PLUGINS@) - set(LLVM_PLUGIN_EXT @LLVM_PLUGIN_EXT@) -diff --git a/examples/ParallelJIT/CMakeLists.txt b/examples/ParallelJIT/CMakeLists.txt -index e85b470..deeee07 100644 ---- a/examples/ParallelJIT/CMakeLists.txt -+++ b/examples/ParallelJIT/CMakeLists.txt -@@ -11,4 +11,4 @@ add_llvm_example(ParallelJIT - ParallelJIT.cpp - ) - --target_link_libraries(ParallelJIT ${PTHREAD_LIB}) -+target_link_libraries(ParallelJIT ${LLVM_PTHREAD_LIB}) -diff --git a/lib/CodeGen/CMakeLists.txt b/lib/CodeGen/CMakeLists.txt -index a1e5fd4..a9a3d85 100644 ---- a/lib/CodeGen/CMakeLists.txt -+++ b/lib/CodeGen/CMakeLists.txt -@@ -150,7 +150,7 @@ add_llvm_library(LLVMCodeGen - ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen - ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP - -- LINK_LIBS ${PTHREAD_LIB} -+ LINK_LIBS ${LLVM_PTHREAD_LIB} - - DEPENDS - intrinsics_gen -diff --git a/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt b/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt -index 3b8c4b9..e6c33b2 100644 ---- a/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt -+++ b/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt -@@ -4,7 +4,7 @@ if( HAVE_LIBDL ) - set(LLVM_INTEL_JIT_LIBS ${CMAKE_DL_LIBS}) - endif() - --set(LLVM_INTEL_JIT_LIBS ${PTHREAD_LIB} ${LLVM_INTEL_JIT_LIBS}) -+set(LLVM_INTEL_JIT_LIBS ${LLVM_PTHREAD_LIB} ${LLVM_INTEL_JIT_LIBS}) - - - add_llvm_library(LLVMIntelJITEvents -diff --git a/lib/Fuzzer/CMakeLists.txt b/lib/Fuzzer/CMakeLists.txt -index 5ba126e..f490b36 100644 ---- a/lib/Fuzzer/CMakeLists.txt -+++ b/lib/Fuzzer/CMakeLists.txt -@@ -34,12 +34,12 @@ if( LLVM_USE_SANITIZE_COVERAGE ) - add_library(LLVMFuzzerNoMain STATIC - $ - ) -- target_link_libraries(LLVMFuzzerNoMain ${PTHREAD_LIB}) -+ target_link_libraries(LLVMFuzzerNoMain ${LLVM_PTHREAD_LIB}) - add_library(LLVMFuzzer STATIC - FuzzerMain.cpp - $ - ) -- target_link_libraries(LLVMFuzzer ${PTHREAD_LIB}) -+ target_link_libraries(LLVMFuzzer ${LLVM_PTHREAD_LIB}) - - if( LLVM_INCLUDE_TESTS ) - add_subdirectory(test) -diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt -index 3301364..f7cfa76 100644 ---- a/lib/Support/CMakeLists.txt -+++ b/lib/Support/CMakeLists.txt -@@ -17,7 +17,7 @@ elseif( CMAKE_HOST_UNIX ) - if( LLVM_ENABLE_THREADS AND HAVE_LIBATOMIC ) - set(system_libs ${system_libs} atomic) - endif() -- set(system_libs ${system_libs} ${PTHREAD_LIB}) -+ set(system_libs ${system_libs} ${LLVM_PTHREAD_LIB}) - if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ ) - set(system_libs ${system_libs} z) - endif() -diff --git a/unittests/ExecutionEngine/Orc/CMakeLists.txt b/unittests/ExecutionEngine/Orc/CMakeLists.txt -index 68f6d0c..80c344e 100644 ---- a/unittests/ExecutionEngine/Orc/CMakeLists.txt -+++ b/unittests/ExecutionEngine/Orc/CMakeLists.txt -@@ -21,4 +21,4 @@ add_llvm_unittest(OrcJITTests - RPCUtilsTest.cpp - ) - --target_link_libraries(OrcJITTests ${PTHREAD_LIB}) -+target_link_libraries(OrcJITTests ${LLVM_PTHREAD_LIB}) -diff --git a/unittests/Support/CMakeLists.txt b/unittests/Support/CMakeLists.txt -index 4c9bb5e..ea26079 100644 ---- a/unittests/Support/CMakeLists.txt -+++ b/unittests/Support/CMakeLists.txt -@@ -64,4 +64,4 @@ add_llvm_unittest(SupportTests - ) - - # ManagedStatic.cpp uses . --target_link_libraries(SupportTests ${PTHREAD_LIB}) -+target_link_libraries(SupportTests ${LLVM_PTHREAD_LIB}) -diff --git a/utils/unittest/CMakeLists.txt b/utils/unittest/CMakeLists.txt -index a50733a..b42ac83 100644 ---- a/utils/unittest/CMakeLists.txt -+++ b/utils/unittest/CMakeLists.txt -@@ -40,8 +40,8 @@ if (NOT LLVM_ENABLE_THREADS) - add_definitions( -DGTEST_HAS_PTHREAD=0 ) - endif() - --find_library(PTHREAD_LIBRARY_PATH pthread) --if (PTHREAD_LIBRARY_PATH) -+find_library(LLVM_PTHREAD_LIBRARY_PATH pthread) -+if (LLVM_PTHREAD_LIBRARY_PATH) - list(APPEND LIBS pthread) - endif() - --- -1.8.3.1 - diff --git a/llvm.spec b/llvm.spec index 9eae81d..3208028 100644 --- a/llvm.spec +++ b/llvm.spec @@ -8,8 +8,8 @@ %global llvm_bindir %{_libdir}/%{name} Name: llvm -Version: 4.0.0 -Release: 6%{?dist} +Version: 4.0.1 +Release: 1%{?dist} Summary: The Low Level Virtual Machine License: NCSA @@ -18,13 +18,11 @@ Source0: http://llvm.org/releases/%{version}/%{name}-%{version}.src.tar.xz # recognize s390 as SystemZ when configuring build Patch0: llvm-3.7.1-cmake-s390.patch -Patch1: 0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch Patch2: rust-lang-llvm-pr67.patch Patch3: 0001-CMake-Split-static-library-exports-into-their-own-ex.patch Patch4: 0001-Revert-Revert-CMake-Move-sphinx-detection-into-AddSp.patch Patch5: 0001-CMake-Fix-docs-llvm-man-target-when-clang-llvm-is-in.patch Patch6: 0001-CMake-Add-LLVM_UTILS_INSTALL_DIR-option.patch -Patch7: 0001-CMake-Don-t-install-llvm-tblgen-twice.patch BuildRequires: cmake BuildRequires: zlib-devel @@ -206,6 +204,9 @@ fi %{_libdir}/cmake/llvm/LLVMStaticExports.cmake %changelog +* Wed Jun 21 2017 Tom Stellard - 4.0.1-1 +- 4.0.1 Release + * Thu Jun 15 2017 Tom Stellard - 4.0.0-6 - Install llvm utils diff --git a/sources b/sources index fde2f74..63d18e7 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (llvm-4.0.0.src.tar.xz) = cf681f0626ef6d568d951cdc3e143471a1d7715a0ba11e52aa273cf5d8d421e1357ef2645cc85879eaefcd577e99e74d07b01566825b3d0461171ef2cbfc7704 +SHA512 (llvm-4.0.1.src.tar.xz) = 16adc39b34ddb628f81b171119a8e2a0e9138b25011e803ef0b688e2fbea116fc4953d3a1b61b90a98a75e33619f81566b7cb06a9a2ea4d04ac5e0eb303a2d1d