aboutsummaryrefslogtreecommitdiff
path: root/WORKSPACE.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'WORKSPACE.bazel')
-rw-r--r--WORKSPACE.bazel108
1 files changed, 108 insertions, 0 deletions
diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel
new file mode 100644
index 00000000..c07582b7
--- /dev/null
+++ b/WORKSPACE.bazel
@@ -0,0 +1,108 @@
+workspace(name = "jazzer")
+
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("//:repositories.bzl", "jazzer_dependencies")
+
+jazzer_dependencies()
+
+load("//:init.bzl", "jazzer_init")
+
+jazzer_init()
+
+http_archive(
+ name = "org_chromium_sysroot_linux_x64",
+ build_file_content = """
+filegroup(
+ name = "sysroot",
+ srcs = glob(["*/**"]),
+ visibility = ["//visibility:public"],
+)
+""",
+ sha256 = "84656a6df544ecef62169cfe3ab6e41bb4346a62d3ba2a045dc5a0a2ecea94a3",
+ urls = ["https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/2202c161310ffde63729f29d27fe7bb24a0bc540/debian_stretch_amd64_sysroot.tar.xz"],
+)
+
+http_archive(
+ name = "com_grail_bazel_toolchain",
+ patches = [
+ # There is no static runtime library for ASan on macOS, so when using
+ # the toolchain in the CI, we have to explicitly depend on the dylib and
+ # add it to the runfiles for clang/ld.
+ "//third_party:bazel-toolchain-export-dynamic-macos-asan.patch",
+ ],
+ sha256 = "da607faed78c4cb5a5637ef74a36fdd2286f85ca5192222c4664efec2d529bb8",
+ strip_prefix = "bazel-toolchain-0.6.3",
+ urls = ["https://github.com/grailbio/bazel-toolchain/archive/0.6.3.tar.gz"],
+)
+
+http_archive(
+ name = "googletest",
+ sha256 = "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb",
+ strip_prefix = "googletest-release-1.10.0",
+ url = "https://github.com/google/googletest/archive/release-1.10.0.tar.gz",
+)
+
+http_archive(
+ name = "rules_foreign_cc",
+ sha256 = "8ab257584256e2c7eefa0c4e0794ae3be3e8f634f9ec0356da0a653dfed5da9a",
+ strip_prefix = "rules_foreign_cc-76198edc790de8e8514bddaa3895d1145fccd6aa",
+ url = "https://github.com/bazelbuild/rules_foreign_cc/archive/76198edc790de8e8514bddaa3895d1145fccd6aa.tar.gz",
+)
+
+http_archive(
+ name = "rules_jvm_external",
+ sha256 = "f36441aa876c4f6427bfb2d1f2d723b48e9d930b62662bf723ddfb8fc80f0140",
+ strip_prefix = "rules_jvm_external-4.1",
+ url = "https://github.com/bazelbuild/rules_jvm_external/archive/4.1.zip",
+)
+
+http_archive(
+ name = "libjpeg_turbo",
+ build_file = "//third_party:libjpeg_turbo.BUILD",
+ sha256 = "6a965adb02ad898b2ae48214244618fe342baea79db97157fdc70d8844ac6f09",
+ strip_prefix = "libjpeg-turbo-2.0.90",
+ url = "https://github.com/libjpeg-turbo/libjpeg-turbo/archive/2.0.90.tar.gz",
+)
+
+load("@com_grail_bazel_toolchain//toolchain:deps.bzl", "bazel_toolchain_dependencies")
+
+bazel_toolchain_dependencies()
+
+load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm_toolchain")
+
+llvm_toolchain(
+ name = "llvm_toolchain",
+ llvm_version = "13.0.0",
+ sysroot = {
+ "linux-x86_64": "@org_chromium_sysroot_linux_x64//:sysroot",
+ },
+)
+
+load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
+
+rules_jvm_external_deps()
+
+load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
+
+rules_jvm_external_setup()
+
+load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
+
+rules_foreign_cc_dependencies()
+
+load("@rules_jvm_external//:defs.bzl", "maven_install")
+load("//:maven.bzl", "MAVEN_ARTIFACTS")
+
+maven_install(
+ artifacts = MAVEN_ARTIFACTS,
+ fail_if_repin_required = True,
+ maven_install_json = "//:maven_install.json",
+ repositories = [
+ "https://repo1.maven.org/maven2",
+ ],
+ strict_visibility = True,
+)
+
+load("@maven//:defs.bzl", "pinned_maven_install")
+
+pinned_maven_install()