update to clang 10

Kind of a big rewrite to adapt to the new repository structure.

Change-Id: I7b437aaa6bdf684c4486fe91fe94984107b7f6f9
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/279072
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/infra/bots/assets/clang_linux/VERSION b/infra/bots/assets/clang_linux/VERSION
index dec2bf5..2edeafb 100644
--- a/infra/bots/assets/clang_linux/VERSION
+++ b/infra/bots/assets/clang_linux/VERSION
@@ -1 +1 @@
-19
\ No newline at end of file
+20
\ No newline at end of file
diff --git a/infra/bots/assets/clang_linux/create.py b/infra/bots/assets/clang_linux/create.py
index 7d5e0c9..d0ef1d5 100755
--- a/infra/bots/assets/clang_linux/create.py
+++ b/infra/bots/assets/clang_linux/create.py
@@ -14,8 +14,7 @@
 import subprocess
 import tempfile
 
-REPO = "https://llvm.googlesource.com/"
-BRANCH = "release_90"
+BRANCH = "release/10.x"
 
 def create_asset(target_dir):
   # CMake will sometimes barf if we pass it a relative path.
@@ -23,30 +22,16 @@
 
   # Build Clang, lld, compiler-rt (sanitizer support) and libc++.
   os.chdir(tempfile.mkdtemp())
-  subprocess.check_call(["git", "clone", "--depth", "1", "-b",
-                         BRANCH, REPO + "llvm"])
-  os.chdir("llvm/tools")
-  subprocess.check_call(["git", "clone", "--depth", "1", "-b",
-                         BRANCH, REPO + "clang"])
-  subprocess.check_call(["git", "clone", "--depth", "1", "-b",
-                         BRANCH, REPO + "lld"])
-  os.chdir("clang/tools")
-  subprocess.check_call(["git", "clone", "--depth", "1", "-b",
-                         BRANCH, REPO + "clang-tools-extra", "extra"])
-
-  os.chdir("../../../projects")
-  subprocess.check_call(["git", "clone", "--depth", "1", "-b",
-                         BRANCH, REPO + "compiler-rt"])
-  subprocess.check_call(["git", "clone", "--depth", "1", "-b",
-                         BRANCH, REPO + "libcxx"])
-  subprocess.check_call(["git", "clone", "--depth", "1", "-b",
-                         BRANCH, REPO + "libcxxabi"])
-  os.chdir("..")
+  subprocess.check_call(["git", "clone", "--depth", "1", "-b", BRANCH,
+                         "https://llvm.googlesource.com/llvm-project"])
+  os.chdir("llvm-project")
   os.mkdir("out")
   os.chdir("out")
-  subprocess.check_call(["cmake", "..", "-G", "Ninja",
+  subprocess.check_call(["cmake", "../llvm", "-G", "Ninja",
                          "-DCMAKE_BUILD_TYPE=MinSizeRel",
                          "-DCMAKE_INSTALL_PREFIX=" + target_dir,
+                         "-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;" +
+                             "compiler-rt;libcxx;libcxxabi;lld",
                          "-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON",
                          "-DLLVM_ENABLE_TERMINFO=OFF"])
   subprocess.check_call(["ninja", "install"])
@@ -64,10 +49,11 @@
     os.mkdir("../{}_out".format(short))
     os.chdir("../{}_out".format(short))
     subprocess.check_call(
-        ["cmake", "..", "-G", "Ninja",
+        ["cmake", "../llvm", "-G", "Ninja",
          "-DCMAKE_BUILD_TYPE=MinSizeRel",
          "-DCMAKE_C_COMPILER="   + target_dir + "/bin/clang",
          "-DCMAKE_CXX_COMPILER=" + target_dir + "/bin/clang++",
+         "-DLLVM_ENABLE_PROJECTS=libcxx;libcxxabi",
          "-DLLVM_USE_SANITIZER={}".format(full)])
     subprocess.check_call(["ninja", "cxx"])
     subprocess.check_call(["cp", "-r", "lib",  target_dir + "/" + short])
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index df5159f..f0d9158 100755
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -4325,7 +4325,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -4615,7 +4615,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -5588,7 +5588,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6043,7 +6043,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6122,7 +6122,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6201,7 +6201,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6276,7 +6276,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6355,7 +6355,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/opencl_headers",
@@ -6444,7 +6444,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6523,7 +6523,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6602,7 +6602,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6681,7 +6681,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6760,7 +6760,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -6839,7 +6839,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/cmake_linux",
@@ -6923,7 +6923,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/cmake_linux",
@@ -7007,7 +7007,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7086,7 +7086,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7165,7 +7165,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7244,7 +7244,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7323,7 +7323,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7402,7 +7402,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7512,7 +7512,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7587,7 +7587,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7666,7 +7666,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7745,7 +7745,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7847,7 +7847,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -7925,7 +7925,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8004,7 +8004,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8083,7 +8083,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8162,7 +8162,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8241,7 +8241,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8320,7 +8320,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8399,7 +8399,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8478,7 +8478,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/cmake_linux",
@@ -8562,7 +8562,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8641,7 +8641,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8720,7 +8720,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -8799,7 +8799,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         }
       ],
       "command": [
@@ -15120,7 +15120,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/go",
@@ -19024,7 +19024,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -19108,7 +19108,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -19920,7 +19920,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/linux_vulkan_sdk",
@@ -21892,7 +21892,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -22053,7 +22053,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -32460,7 +32460,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -32544,7 +32544,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -33023,7 +33023,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -33423,7 +33423,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -33507,7 +33507,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -33986,7 +33986,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -34070,7 +34070,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -34154,7 +34154,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -34473,7 +34473,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -35141,7 +35141,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/linux_vulkan_sdk",
@@ -35405,7 +35405,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/mesa_intel_driver_linux",
@@ -35493,7 +35493,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/linux_vulkan_sdk",
@@ -35762,7 +35762,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/mesa_intel_driver_linux",
@@ -35850,7 +35850,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/linux_vulkan_sdk",
@@ -35943,7 +35943,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/mesa_intel_driver_linux",
@@ -39607,7 +39607,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -39851,7 +39851,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -40256,7 +40256,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/skimage",
@@ -40339,7 +40339,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/linux_vulkan_sdk",
@@ -40505,7 +40505,7 @@
         {
           "name": "skia/bots/clang_linux",
           "path": "clang_linux",
-          "version": "version:19"
+          "version": "version:20"
         },
         {
           "name": "skia/bots/linux_vulkan_sdk",