-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathMODULE.bazel
115 lines (100 loc) · 4.22 KB
/
MODULE.bazel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
module(name = "silifuzz")
bazel_dep(name = "platforms", version = "0.0.11")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "protobuf", version = "30.2")
bazel_dep(name = "rules_proto", version = "7.1.0")
bazel_dep(name = "rules_cc", version = "0.1.1")
bazel_dep(name = "rules_python", version = "1.3.0")
# It appears we must match fuzztest's override or else version resolution fails.
bazel_dep(name = "abseil-cpp", version = "20250127.1")
git_override(
module_name = "abseil-cpp",
commit = "d04b964d82ed5146f7e5e34701a5ba69f9514c9a",
remote = "https://github.com/abseil/abseil-cpp.git",
)
bazel_dep(name = "abseil-py", version = "2.1.0")
# Override fuzztest because we need to stay in sync with changes to Centipede.
bazel_dep(name = "fuzztest", version = "20250214.0")
git_override(
module_name = "fuzztest",
commit = "bf10cc1bea112400004e14fa2e70f0ec2c4cdaa3",
remote = "https://github.com/google/fuzztest.git",
)
bazel_dep(name = "googletest", version = "1.16.0")
bazel_dep(name = "google_benchmark", version = "1.9.2")
bazel_dep(name = "libpfm", version = "4.11.0.bcr.1")
# Non-module dependencies
new_git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
new_git_repository(
name = "lss",
build_file = "@silifuzz//:third_party/BUILD.lss",
commit = "93e5acf3ef8793cad821c6af42612685e17392d8",
remote = "https://chromium.googlesource.com/linux-syscall-support",
shallow_since = "1705605906 +0000",
)
new_git_repository(
name = "cityhash",
build_file = "@silifuzz//:third_party/BUILD.cityhash",
commit = "8af9b8c2b889d80c22d6bc26ba0df1afb79a30db",
patch_cmds = [
# Running "configure" creates the config.h file needed for this library.
"./configure",
"mv config.h src",
"""sed -i -e 's/<city.h>/"city.h"/' src/*.cc src/*.h""",
"""sed -i -e 's/<citycrc.h>/"citycrc.h"/' src/*.cc""",
],
remote = "https://github.com/google/cityhash",
shallow_since = "1375313681 +0000",
)
new_git_repository(
name = "mbuild",
build_file = "@silifuzz//:third_party/BUILD.mbuild",
commit = "75cb46e6536758f1a3cdb3d6bd83a4a9fd0338bb",
remote = "https://github.com/intelxed/mbuild",
shallow_since = "1659030943 +0300",
)
new_git_repository(
name = "libxed",
build_file = "@silifuzz//:third_party/BUILD.libxed",
commit = "d7d46c73fb04a1742e99c9382a4acb4ed07ae272",
patch_cmds = [
"sed -i -e 's|xed/xed-interface.h|xed-interface.h|' examples/xed-tester.c",
],
remote = "https://github.com/intelxed/xed",
shallow_since = "1697457597 +0300",
)
http_archive(
name = "liblzma",
build_file = "@silifuzz//:third_party/BUILD.liblzma",
sha256 = "f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10",
strip_prefix = "xz-5.2.5",
urls = [
"https://storage.googleapis.com/tensorstore-bazel-mirror/tukaani.org/xz/xz-5.2.5.tar.gz",
"https://tukaani.org/xz/xz-5.2.5.tar.gz",
],
)
# Capstone disassembler
new_git_repository(
name = "capstone",
build_file = "@silifuzz//:third_party/BUILD.capstone",
commit = "702dbe78ca116de8ec65f122d9202c2c1f4a2b4c",
remote = "https://github.com/capstone-engine/capstone.git",
)
# Unicorn for the proxies
new_git_repository(
name = "unicorn",
build_file = "@silifuzz//:third_party/BUILD.unicorn",
commit = "d4b92485b1a228fb003e1218e42f6c778c655809",
patch_cmds = [
# crc32 and crc32c functions are prefixed with "unicorn_" to avoid linking errors from
# symbol conflicts with other libraries (e.g. zlib). We need to match the opening bracket so
# that we change only the function names, and not the header/argument/helper macros.
# We can't easily glob the files like with ** operators in bash, so we use `find` to glob
# the files and then `sed` to replace the function names in those files.
"""find qemu '(' -name "*.h" -o -name "*.c" ')' -type f \
-exec sed -i -e 's/\\b\\(crc32[c]\\{0,1\\}\\)(/unicorn_\\1(/' {} +""",
],
remote = "https://github.com/unicorn-engine/unicorn",
shallow_since = "1687038706 +0200",
)