forked from chipsalliance/verible
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILD
96 lines (85 loc) · 3 KB
/
BUILD
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
# Toplevel build-file for Verible libraries and tools.
# To compile the tools, invoke
# bazel build ...
# Run tests with
# bazel test ...
load("@com_github_google_rules_install//installer:def.bzl", "installer")
load("@com_grail_bazel_compdb//:aspects.bzl", "compilation_database")
licenses(["notice"]) # Apache 2.0
exports_files([
"LICENSE",
])
filegroup(
name = "install-binaries",
srcs = [
"//common/tools:verible-patch-tool",
"//verilog/tools/diff:verible-verilog-diff",
"//verilog/tools/formatter:verible-verilog-format",
"//verilog/tools/kythe:verible-verilog-kythe-extractor",
"//verilog/tools/lint:verible-verilog-lint",
"//verilog/tools/ls:verible-verilog-ls",
"//verilog/tools/obfuscator:verible-verilog-obfuscate",
"//verilog/tools/preprocessor:verible-verilog-preprocessor",
"//verilog/tools/project:verible-verilog-project",
"//verilog/tools/syntax:verible-verilog-syntax",
],
)
filegroup(
name = "install-scripts",
srcs = [
"//common/tools:verible-transform-interactive",
"//verilog/tools/formatter:git-verilog-format",
"//verilog/tools/formatter:verible-verilog-format-changed-lines-interactive",
],
)
installer(
name = "install",
data = [
":install-binaries",
":install-scripts",
],
)
genrule(
name = "lint_doc",
outs = ["documentation_verible_lint_rules.md"],
cmd = "$(location //verilog/tools/lint:verible-verilog-lint) " +
"--generate_markdown > $(OUTS)",
tools = [
"//verilog/tools/lint:verible-verilog-lint",
],
)
extra_action(
name = "extractor",
cmd = ("/opt/kythe/extractors/bazel_cxx_extractor " +
"$(EXTRA_ACTION_FILE) $(output $(ACTION_ID).cxx.kzip) $(location :vnames.json)"),
data = [":vnames.json"],
out_templates = ["$(ACTION_ID).cxx.kzip"],
)
action_listener(
name = "extract_cxx",
extra_actions = [":extractor"],
mnemonics = ["CppCompile"],
visibility = ["//visibility:public"],
)
compilation_database(
name = "compdb",
# targets = [ ":install-binaries" ],
# Unfortunately, compilation_database does not support filesets yet,
# so expand them here manually.
# https://github.com/grailbio/bazel-compilation-database/issues/84
targets = [
"//common/tools:verible-patch-tool",
"//verilog/tools/diff:verible-verilog-diff",
"//verilog/tools/formatter:verible-verilog-format",
"//verilog/tools/kythe:verible-verilog-kythe-extractor",
"//verilog/tools/lint:verible-verilog-lint",
"//verilog/tools/obfuscator:verible-verilog-obfuscate",
"//verilog/tools/preprocessor:verible-verilog-preprocessor",
"//verilog/tools/project:verible-verilog-project",
"//verilog/tools/syntax:verible-verilog-syntax",
"//verilog/tools/ls:verible-verilog-ls",
"//common/lsp:dummy-ls",
],
# TODO: is there a way to essentially specify //... so that all tests
# are included as well ?
)