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