[zorg] r337958 - [CUDA, buildbot] Install clang we've just built.

Artem Belevich via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 25 13:43:39 PDT 2018


Author: tra
Date: Wed Jul 25 13:43:38 2018
New Revision: 337958

URL: http://llvm.org/viewvc/llvm-project?rev=337958&view=rev
Log:
[CUDA, buildbot] Install clang we've just built.

Installation is needed for clang to properly find libc++.
Due to the way CUDA headers are handled it's currently impossible to
add libc++ headers to include path without breaking CUDA compilation.
The only way to make it work is to rely on clang picking libc++
installed along with it.

Differential Revision: https://reviews.llvm.org/D49709

Modified:
    zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py

Modified: zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py?rev=337958&r1=337957&r2=337958&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py (original)
+++ zorg/trunk/zorg/buildbot/builders/CUDATestsuiteBuilder.py Wed Jul 25 13:43:38 2018
@@ -49,6 +49,7 @@ def getCUDATestsuiteBuildFactory(
     source_dir = 'llvm'   # Should match the one used in getClangCMakeBuildFactory.
     stage1_build_dir = 'stage1'  # Should match the one defined in getClangCMakeBuildFactory.
     stage2_build_dir = 'stage2'  # Should match the one defined in getClangCMakeBuildFactory.
+    install_dir = 'clang.install'
 
     if useTwoStage:
         clang_build_dir = stage2_build_dir
@@ -75,12 +76,28 @@ def getCUDATestsuiteBuildFactory(
     cuda_test_env = {
         'PYTHONPATH': WithProperties("%(workdir)s/" + source_dir +
                                      "/utils/lit:${PYTHONPATH}"),
-        'PATH': WithProperties("%(workdir)s/" + clang_build_dir +
-                               "/bin:${PATH}"),
+        'DESTDIR': WithProperties("%(workdir)s/" + install_dir),
+        'PATH': WithProperties("%(workdir)s/" + install_dir +
+                               "/usr/local/bin:${PATH}"),
     }
     merged_env.update(cuda_test_env)
     ts_build_dir = 'test-suite-build'
 
+    f.addStep(
+        RemoveDirectory(name="Remove old clang install directory",
+                        dir=install_dir))
+
+    # Install clang into directory pointed by $DESTDIR
+    f.addStep(NinjaCommand(
+        name='ninja install clang',
+        targets=["install"],
+        jobs=jobs,
+        haltOnFailure=True,
+        description=split("installing clang"),
+        descriptionDone=split("Clang installation is done."),
+        workdir=clang_build_dir,
+        env=merged_env))
+
     # Completely remove test suite build dir.
     f.addStep(
         RemoveDirectory(name="Remove old test-suite build directory",




More information about the llvm-commits mailing list