Cleanup the new dependencies and our tooling setup. (#943)

I didn't fully configure the new dependencies correctly or fully get
them working with our tooling rigging for compilation databases.

- I needed to fix the sha256 of the benchmark. I pasted the wrong
  one, but didn't test it effectively.

- Didn't successfully enable the use of Abseil from GoogleTest
  (including nice things like its symbolization, etc). Doing this is
  a bit awkward as it needs to go into our `.bazelrc`, but it works.

- Didn't add libraries other that GoogleTest to the compile flags.

- Didn't teach the compilation database creation step to cause these
  external repositories to be linked in and populated nicely.

All of these are fixed. As I was making changes to the Python script
here, I've added a test to at least type check it and fixed the type
errors reported.
This commit is contained in:
Chandler Carruth
2021-11-04 19:27:39 -07:00
committed by GitHub
parent 65ac59eb2a
commit e476373d28
5 changed files with 52 additions and 3 deletions
+16 -1
View File
@@ -129,10 +129,25 @@ print("Found %d generated files..." % (len(generated_file_labels),))
print("Building the generated files so that tools can find them...")
subprocess.run([bazel, "build", "--keep_going"] + generated_file_labels)
# Also build some specific targets that depend on external packages so those are
# fetched and linked into the Bazel execution root. We try to use cheap files
# where possible, but in some cases need to create a virtual include directory.
subprocess.run(
[
bazel,
"build",
"--keep_going",
"@llvm-project//llvm:LICENSE.TXT",
"@com_google_absl//:LICENSE",
"@com_google_googletest//:LICENSE",
"@com_github_google_benchmark//:benchmark",
]
)
# Manually translate the label to a user friendly path into the Bazel output
# symlinks.
def _label_to_path(s):
def _label_to_path(s: str) -> Path:
# Map external repositories to their part of the output tree.
s = re.sub(r"^@([^/]+)//", r"bazel-bin/external/\1/", s)
# Map this repository to the root of the output tree.