1a8c51b3fSopenharmony_ciload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
2a8c51b3fSopenharmony_ciload("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
3a8c51b3fSopenharmony_ci
4a8c51b3fSopenharmony_cidef benchmark_deps():
5a8c51b3fSopenharmony_ci    """Loads dependencies required to build Google Benchmark."""
6a8c51b3fSopenharmony_ci
7a8c51b3fSopenharmony_ci    if "bazel_skylib" not in native.existing_rules():
8a8c51b3fSopenharmony_ci        http_archive(
9a8c51b3fSopenharmony_ci            name = "bazel_skylib",
10a8c51b3fSopenharmony_ci            sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728",
11a8c51b3fSopenharmony_ci            urls = [
12a8c51b3fSopenharmony_ci                "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz",
13a8c51b3fSopenharmony_ci                "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz",
14a8c51b3fSopenharmony_ci            ],
15a8c51b3fSopenharmony_ci        )
16a8c51b3fSopenharmony_ci
17a8c51b3fSopenharmony_ci    if "rules_foreign_cc" not in native.existing_rules():
18a8c51b3fSopenharmony_ci        http_archive(
19a8c51b3fSopenharmony_ci            name = "rules_foreign_cc",
20a8c51b3fSopenharmony_ci            sha256 = "bcd0c5f46a49b85b384906daae41d277b3dc0ff27c7c752cc51e43048a58ec83",
21a8c51b3fSopenharmony_ci            strip_prefix = "rules_foreign_cc-0.7.1",
22a8c51b3fSopenharmony_ci            url = "https://github.com/bazelbuild/rules_foreign_cc/archive/0.7.1.tar.gz",
23a8c51b3fSopenharmony_ci        )
24a8c51b3fSopenharmony_ci
25a8c51b3fSopenharmony_ci    if "rules_python" not in native.existing_rules():
26a8c51b3fSopenharmony_ci        http_archive(
27a8c51b3fSopenharmony_ci            name = "rules_python",
28a8c51b3fSopenharmony_ci            url = "https://github.com/bazelbuild/rules_python/releases/download/0.1.0/rules_python-0.1.0.tar.gz",
29a8c51b3fSopenharmony_ci            sha256 = "b6d46438523a3ec0f3cead544190ee13223a52f6a6765a29eae7b7cc24cc83a0",
30a8c51b3fSopenharmony_ci        )
31a8c51b3fSopenharmony_ci
32a8c51b3fSopenharmony_ci    if "com_google_absl" not in native.existing_rules():
33a8c51b3fSopenharmony_ci        http_archive(
34a8c51b3fSopenharmony_ci            name = "com_google_absl",
35a8c51b3fSopenharmony_ci            sha256 = "f41868f7a938605c92936230081175d1eae87f6ea2c248f41077c8f88316f111",
36a8c51b3fSopenharmony_ci            strip_prefix = "abseil-cpp-20200225.2",
37a8c51b3fSopenharmony_ci            urls = ["https://github.com/abseil/abseil-cpp/archive/20200225.2.tar.gz"],
38a8c51b3fSopenharmony_ci        )
39a8c51b3fSopenharmony_ci
40a8c51b3fSopenharmony_ci    if "com_google_googletest" not in native.existing_rules():
41a8c51b3fSopenharmony_ci        new_git_repository(
42a8c51b3fSopenharmony_ci            name = "com_google_googletest",
43a8c51b3fSopenharmony_ci            remote = "https://github.com/google/googletest.git",
44a8c51b3fSopenharmony_ci            tag = "release-1.11.0",
45a8c51b3fSopenharmony_ci        )
46a8c51b3fSopenharmony_ci
47a8c51b3fSopenharmony_ci    if "nanobind" not in native.existing_rules():
48a8c51b3fSopenharmony_ci        new_git_repository(
49a8c51b3fSopenharmony_ci            name = "nanobind",
50a8c51b3fSopenharmony_ci            remote = "https://github.com/wjakob/nanobind.git",
51a8c51b3fSopenharmony_ci            tag = "v1.4.0",
52a8c51b3fSopenharmony_ci            build_file = "@//bindings/python:nanobind.BUILD",
53a8c51b3fSopenharmony_ci            recursive_init_submodules = True,
54a8c51b3fSopenharmony_ci        )
55a8c51b3fSopenharmony_ci
56a8c51b3fSopenharmony_ci    if "libpfm" not in native.existing_rules():
57a8c51b3fSopenharmony_ci        # Downloaded from v4.9.0 tag at https://sourceforge.net/p/perfmon2/libpfm4/ref/master/tags/
58a8c51b3fSopenharmony_ci        http_archive(
59a8c51b3fSopenharmony_ci            name = "libpfm",
60a8c51b3fSopenharmony_ci            build_file = str(Label("//tools:libpfm.BUILD.bazel")),
61a8c51b3fSopenharmony_ci            sha256 = "5da5f8872bde14b3634c9688d980f68bda28b510268723cc12973eedbab9fecc",
62a8c51b3fSopenharmony_ci            type = "tar.gz",
63a8c51b3fSopenharmony_ci            strip_prefix = "libpfm-4.11.0",
64a8c51b3fSopenharmony_ci            urls = ["https://sourceforge.net/projects/perfmon2/files/libpfm4/libpfm-4.11.0.tar.gz/download"],
65a8c51b3fSopenharmony_ci        )
66