mgorny      15/06/09 16:54:50

  Added:                0004-cmake-Do-not-install-libgtest.patch
                        
clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
                        
clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
                        
0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
                        
compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
                        
0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
  Log:
  Switch the live ebuild to CMake, and few more improvements. Covered by bug 
#456322.
  
  (Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 
EFB4464E!)

Revision  Changes    Path
1.1                  
sys-devel/llvm/files/cmake/0004-cmake-Do-not-install-libgtest.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/0004-cmake-Do-not-install-libgtest.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/0004-cmake-Do-not-install-libgtest.patch?rev=1.1&content-type=text/plain

Index: 0004-cmake-Do-not-install-libgtest.patch
===================================================================
>From d9f80393cfd4e586242ac3efd4e6ba6b49ce39ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
Date: Tue, 9 Jun 2015 11:58:52 +0200
Subject: [PATCH 4/4] cmake: Do not install libgtest

libgtest is an internal test dependency, and should not be installed to
the live system as a part of LLVM.
---
 utils/unittest/CMakeLists.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/utils/unittest/CMakeLists.txt b/utils/unittest/CMakeLists.txt
index b34e22a..3fe5884 100644
--- a/utils/unittest/CMakeLists.txt
+++ b/utils/unittest/CMakeLists.txt
@@ -41,6 +41,9 @@ if (PTHREAD_LIBRARY_PATH)
   list(APPEND LIBS pthread)
 endif()
 
+# Delay building until the tests pull it in, and avoid installing it
+set(EXCLUDE_FROM_ALL ON)
+
 add_llvm_library(gtest
   googletest/src/gtest-all.cc
 
-- 
2.4.3




1.1                  
sys-devel/llvm/files/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch?rev=1.1&content-type=text/plain

Index: clang-0002-cmake-Make-CLANG_LIBDIR_SUFFIX-overridable.patch
===================================================================
>From d07632abe23d55eec2aae303a142a97765a77d32 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
Date: Tue, 9 Jun 2015 12:20:06 +0200
Subject: [PATCH 2/2] cmake: Make CLANG_LIBDIR_SUFFIX overridable

Make CLANG_LIBDIR_SUFFIX a cache variable so that it can be explicitly
overriden. It is used purely to find the LLVMgold.so plugin, so we want
to set it to native suffix.
---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 357286b..647f976 100644
--- a/tools/clang/CMakeLists.txt
+++ b/tools/clang/CMakeLists.txt
@@ -203,7 +203,7 @@ set(CLANG_VENDOR_UTI "org.llvm.clang" CACHE STRING
   "Vendor-specific uti.")
 
 # The libdir suffix must exactly match whatever LLVM's configuration used.
-set(CLANG_LIBDIR_SUFFIX "${LLVM_LIBDIR_SUFFIX}")
+set(CLANG_LIBDIR_SUFFIX "${LLVM_LIBDIR_SUFFIX}" CACHE STRING "")
 
 set(CLANG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
 set(CLANG_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
-- 
2.4.3




1.1                  
sys-devel/llvm/files/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch?rev=1.1&content-type=text/plain

Index: clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch
===================================================================
>From b28503def986bcbc388a04be0d51cbe80bc59506 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
Date: Tue, 9 Jun 2015 12:11:50 +0200
Subject: [PATCH] Install clang runtime into /usr/lib (without suffix)

---
 lib/Driver/Driver.cpp               | 3 +--
 lib/Frontend/CompilerInvocation.cpp | 3 +--
 lib/Headers/CMakeLists.txt          | 2 +-
 3 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
index a04a1f8..418d46a 100644
--- a/tools/clang/lib/Driver/Driver.cpp
+++ b/tools/clang//lib/Driver/Driver.cpp
@@ -66,8 +66,7 @@ Driver::Driver(StringRef ClangExecutable, StringRef 
DefaultTargetTriple,
   if (ClangResourceDir != "") {
     llvm::sys::path::append(P, ClangResourceDir);
   } else {
-    StringRef ClangLibdirSuffix(CLANG_LIBDIR_SUFFIX);
-    llvm::sys::path::append(P, "..", Twine("lib") + ClangLibdirSuffix, "clang",
+    llvm::sys::path::append(P, "..", "lib", "clang",
                             CLANG_VERSION_STRING);
   }
   ResourceDir = P.str();
diff --git a/lib/Frontend/CompilerInvocation.cpp 
b/lib/Frontend/CompilerInvocation.cpp
index 9485767..0b9ecbd 100644
--- a/tools/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/tools/clang/lib/Frontend/CompilerInvocation.cpp
@@ -1053,8 +1053,7 @@ std::string CompilerInvocation::GetResourcesPath(const 
char *Argv0,
   if (ClangResourceDir != "") {
     llvm::sys::path::append(P, ClangResourceDir);
   } else {
-    StringRef ClangLibdirSuffix(CLANG_LIBDIR_SUFFIX);
-    llvm::sys::path::append(P, "..", Twine("lib") + ClangLibdirSuffix, "clang",
+    llvm::sys::path::append(P, "..", "lib", "clang",
                             CLANG_VERSION_STRING);
   }
 
diff --git a/lib/Headers/CMakeLists.txt b/lib/Headers/CMakeLists.txt
index 29a738e..3769d23 100644
--- a/tools/clang/lib/Headers/CMakeLists.txt
+++ b/tools/clang/lib/Headers/CMakeLists.txt
@@ -93,4 +93,4 @@ set_target_properties(clang-headers PROPERTIES FOLDER "Misc")
 install(
   FILES ${files} ${CMAKE_CURRENT_BINARY_DIR}/arm_neon.h
   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-  DESTINATION lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION}/include)
+  DESTINATION lib/clang/${CLANG_VERSION}/include)
-- 
2.4.3




1.1                  
sys-devel/llvm/files/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch?rev=1.1&content-type=text/plain

Index: 0003-cmake-Add-an-ordering-dep-between-HTML-man-Sphinx-ta.patch
===================================================================
>From 4f7092ba05cccfeea7d26177d93f3d7a57d9bce2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
Date: Mon, 8 Jun 2015 14:29:03 +0200
Subject: [PATCH 3/4] cmake: Add an ordering dep between HTML & man Sphinx
 targets

Add a dependency between HTML & manpage Sphinx targets to prevent two
instances of Sphinx from running in parallel, and therefore solves race
conditions reusing the same doctree directory.

Fixes: https://llvm.org/bugs/show_bug.cgi?id=23781
---
 docs/CMakeLists.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index da27627..63309a6 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -100,6 +100,9 @@ if (LLVM_ENABLE_SPHINX)
 
     if (${SPHINX_OUTPUT_MAN})
       add_sphinx_target(man llvm)
+      if (${SPHINX_OUTPUT_HTML})
+        add_dependencies(docs-llvm-html docs-llvm-man)
+      endif()
     endif()
 
   endif()
-- 
2.4.3




1.1                  
sys-devel/llvm/files/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch?rev=1.1&content-type=text/plain

Index: 
compiler-rt-0001-cmake-Install-compiler-rt-into-usr-lib-without-suffi.patch
===================================================================
>From 8bd62a681744d3c31a0837c0f84f99ea4987e017 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
Date: Tue, 9 Jun 2015 12:17:57 +0200
Subject: [PATCH] cmake: Install compiler-rt into /usr/lib (without suffix)

---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0d8a880..5ae98a9 100644
--- a/projects/compiler-rt/CMakeLists.txt
+++ b/projects/compiler-rt/CMakeLists.txt
@@ -52,7 +52,7 @@ if (NOT COMPILER_RT_STANDALONE_BUILD)
   # Setup the paths where compiler-rt runtimes and headers should be stored.
   set(COMPILER_RT_OUTPUT_DIR 
${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION})
   set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
-  set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION})
+  set(COMPILER_RT_INSTALL_PATH lib/clang/${CLANG_VERSION})
   option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
          ${LLVM_INCLUDE_TESTS})
  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
-- 
2.4.3




1.1                  
sys-devel/llvm/files/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-devel/llvm/files/cmake/0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch?rev=1.1&content-type=text/plain

Index: 0002-cmake-Support-overriding-Sphinx-HTML-doc-install-dir.patch
===================================================================
>From 2ec240a76253839cd1c5dc2e964f55698ae468fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <[email protected]>
Date: Mon, 8 Jun 2015 06:43:00 +0200
Subject: [PATCH 2/4] cmake: Support overriding Sphinx HTML doc install
 directory

Provide ${PROJECT}_INSTALL_HTML variables (e.g. LLVM_INSTALL_HTML) to
override Sphinx HTML doc install directory.

Fixes: https://llvm.org/bugs/show_bug.cgi?id=23780
---
 cmake/modules/AddSphinxTarget.cmake | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/cmake/modules/AddSphinxTarget.cmake 
b/cmake/modules/AddSphinxTarget.cmake
index 045dc23..9c9c444 100644
--- a/cmake/modules/AddSphinxTarget.cmake
+++ b/cmake/modules/AddSphinxTarget.cmake
@@ -53,8 +53,12 @@ function (add_sphinx_target builder project)
                 DESTINATION share/man/man1)
 
       elseif (builder STREQUAL html)
-        install(DIRECTORY "${SPHINX_BUILD_DIR}"
-                DESTINATION "share/doc/${project}")
+        string(TOUPPER "${project}" project_upper)
+        set(${project_upper}_INSTALL_HTML "share/doc/${project}/html"
+            CACHE STRING "HTML documentation install directory for ${project}")
+
+        install(DIRECTORY "${SPHINX_BUILD_DIR}/"
+                DESTINATION "${${project_upper}_INSTALL_HTML}")
       else()
         message(WARNING Installation of ${builder} not supported)
       endif()
-- 
2.4.3





Reply via email to