| # Copyright 2019 Google LLC |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # https://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| workspace(name = "com_google_sandboxed_api") |
| |
| load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") |
| load("//sandboxed_api/bazel:sapi_deps.bzl", "sapi_deps") |
| load( |
| "//sandboxed_api/bazel:llvm_config.bzl", |
| "llvm_configure", |
| "llvm_disable_optional_support_deps", |
| ) |
| |
| # Load common dependencies, then Protobuf's |
| sapi_deps() |
| |
| load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") |
| |
| protobuf_deps() |
| |
| # zlib, only needed for examples |
| http_archive( |
| name = "net_zlib", |
| build_file = "//sandboxed_api:bazel/external/zlib.BUILD", |
| patch_args = ["-p1"], |
| # This is a patch that removes the "OF" macro that is used in zlib function |
| # definitions. It is necessary, because libclang, the library used by the |
| # interface generator to parse C/C++ files contains a bug that manifests |
| # itself with macros like this. |
| # We are investigating better ways to avoid this issue. For most "normal" |
| # C and C++ headers, parsing just works. |
| patches = ["//sandboxed_api:bazel/external/zlib.patch"], |
| sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1", # 2020-04-23 |
| strip_prefix = "zlib-1.2.11", |
| urls = [ |
| "https://mirror.bazel.build/zlib.net/zlib-1.2.11.tar.gz", |
| "https://www.zlib.net/zlib-1.2.11.tar.gz", |
| ], |
| ) |
| |
| # GoogleTest/GoogleMock |
| maybe( |
| http_archive, |
| name = "com_google_googletest", |
| sha256 = "1009ce4e75a64a4e61bcb2efaa256f9d54e6a859a2985cb6fa57c06d45356866", # 2021-12-20 |
| strip_prefix = "googletest-9a32aee22d771387c494be2d8519fbdf46a713b2", |
| urls = ["https://github.com/google/googletest/archive/9a32aee22d771387c494be2d8519fbdf46a713b2.zip"], |
| ) |
| |
| # Google Benchmark |
| maybe( |
| http_archive, |
| name = "com_google_benchmark", |
| sha256 = "12663580821c69f5a71217433b58e96f061570f0e18d94891b82115fcdb4284d", # 2021-12-14 |
| strip_prefix = "benchmark-3b3de69400164013199ea448f051d94d7fc7d81f", |
| urls = ["https://github.com/google/benchmark/archive/3b3de69400164013199ea448f051d94d7fc7d81f.zip"], |
| ) |
| |
| # LLVM/libclang |
| maybe( |
| llvm_configure, |
| name = "llvm-project", |
| commit = "2c494f094123562275ae688bd9e946ae2a0b4f8b", # 2022-03-31 |
| sha256 = "59b9431ae22f0ea5f2ce880925c0242b32a9e4f1ae8147deb2bb0fc19b53fa0d", |
| system_libraries = True, # Prefer system libraries |
| ) |
| |
| llvm_disable_optional_support_deps() |