xref: /aosp_15_r20/external/emboss/compiler/util/BUILD (revision 99e0aae7469b87d12f0ad23e61142c2d74c1ef70)
1*99e0aae7SDavid Rees# Copyright 2019 Google LLC
2*99e0aae7SDavid Rees#
3*99e0aae7SDavid Rees# Licensed under the Apache License, Version 2.0 (the "License");
4*99e0aae7SDavid Rees# you may not use this file except in compliance with the License.
5*99e0aae7SDavid Rees# You may obtain a copy of the License at
6*99e0aae7SDavid Rees#
7*99e0aae7SDavid Rees#     https://www.apache.org/licenses/LICENSE-2.0
8*99e0aae7SDavid Rees#
9*99e0aae7SDavid Rees# Unless required by applicable law or agreed to in writing, software
10*99e0aae7SDavid Rees# distributed under the License is distributed on an "AS IS" BASIS,
11*99e0aae7SDavid Rees# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*99e0aae7SDavid Rees# See the License for the specific language governing permissions and
13*99e0aae7SDavid Rees# limitations under the License.
14*99e0aae7SDavid Rees
15*99e0aae7SDavid Rees# Shared utilities for Emboss back ends.
16*99e0aae7SDavid Rees
17*99e0aae7SDavid Reesload("@rules_python//python:py_library.bzl", "py_library")
18*99e0aae7SDavid Reesload("@rules_python//python:py_test.bzl", "py_test")
19*99e0aae7SDavid Rees
20*99e0aae7SDavid Reespackage(
21*99e0aae7SDavid Rees    default_visibility = ["//compiler:__subpackages__"],
22*99e0aae7SDavid Rees)
23*99e0aae7SDavid Rees
24*99e0aae7SDavid Reespy_library(
25*99e0aae7SDavid Rees    name = "ir_data",
26*99e0aae7SDavid Rees    srcs = [
27*99e0aae7SDavid Rees        "ir_data.py",
28*99e0aae7SDavid Rees        "ir_data_fields.py",
29*99e0aae7SDavid Rees        "ir_data_utils.py",
30*99e0aae7SDavid Rees    ],
31*99e0aae7SDavid Rees    deps = [],
32*99e0aae7SDavid Rees)
33*99e0aae7SDavid Rees
34*99e0aae7SDavid Reespy_test(
35*99e0aae7SDavid Rees    name = "ir_data_fields_test",
36*99e0aae7SDavid Rees    srcs = ["ir_data_fields_test.py"],
37*99e0aae7SDavid Rees    deps = [":ir_data"],
38*99e0aae7SDavid Rees)
39*99e0aae7SDavid Rees
40*99e0aae7SDavid Reespy_test(
41*99e0aae7SDavid Rees    name = "ir_data_utils_test",
42*99e0aae7SDavid Rees    srcs = ["ir_data_utils_test.py"],
43*99e0aae7SDavid Rees    deps = [":expression_parser", ":ir_data"],
44*99e0aae7SDavid Rees)
45*99e0aae7SDavid Rees
46*99e0aae7SDavid Reespy_library(
47*99e0aae7SDavid Rees    name = "expression_parser",
48*99e0aae7SDavid Rees    srcs = ["expression_parser.py"],
49*99e0aae7SDavid Rees    deps = [
50*99e0aae7SDavid Rees        "//compiler/front_end:module_ir",
51*99e0aae7SDavid Rees        "//compiler/front_end:parser",
52*99e0aae7SDavid Rees        "//compiler/front_end:tokenizer",
53*99e0aae7SDavid Rees    ],
54*99e0aae7SDavid Rees)
55*99e0aae7SDavid Rees
56*99e0aae7SDavid Reespy_library(
57*99e0aae7SDavid Rees    name = "ir_util",
58*99e0aae7SDavid Rees    srcs = ["ir_util.py"],
59*99e0aae7SDavid Rees    deps = [":ir_data"],
60*99e0aae7SDavid Rees)
61*99e0aae7SDavid Rees
62*99e0aae7SDavid Reespy_test(
63*99e0aae7SDavid Rees    name = "ir_util_test",
64*99e0aae7SDavid Rees    srcs = ["ir_util_test.py"],
65*99e0aae7SDavid Rees    python_version = "PY3",
66*99e0aae7SDavid Rees    deps = [
67*99e0aae7SDavid Rees        ":expression_parser",
68*99e0aae7SDavid Rees        ":ir_data",
69*99e0aae7SDavid Rees        ":ir_util",
70*99e0aae7SDavid Rees    ],
71*99e0aae7SDavid Rees)
72*99e0aae7SDavid Rees
73*99e0aae7SDavid Reespy_library(
74*99e0aae7SDavid Rees    name = "attribute_util",
75*99e0aae7SDavid Rees    srcs = ["attribute_util.py"],
76*99e0aae7SDavid Rees    deps = [
77*99e0aae7SDavid Rees        ":error",
78*99e0aae7SDavid Rees        ":ir_data",
79*99e0aae7SDavid Rees        ":ir_util",
80*99e0aae7SDavid Rees        ":traverse_ir",
81*99e0aae7SDavid Rees    ],
82*99e0aae7SDavid Rees)
83*99e0aae7SDavid Rees
84*99e0aae7SDavid Reespy_library(
85*99e0aae7SDavid Rees    name = "simple_memoizer",
86*99e0aae7SDavid Rees    srcs = ["simple_memoizer.py"],
87*99e0aae7SDavid Rees    deps = [],
88*99e0aae7SDavid Rees)
89*99e0aae7SDavid Rees
90*99e0aae7SDavid Reespy_test(
91*99e0aae7SDavid Rees    name = "simple_memoizer_test",
92*99e0aae7SDavid Rees    srcs = ["simple_memoizer_test.py"],
93*99e0aae7SDavid Rees    python_version = "PY3",
94*99e0aae7SDavid Rees    deps = [
95*99e0aae7SDavid Rees        ":simple_memoizer",
96*99e0aae7SDavid Rees    ],
97*99e0aae7SDavid Rees)
98*99e0aae7SDavid Rees
99*99e0aae7SDavid Reespy_library(
100*99e0aae7SDavid Rees    name = "test_util",
101*99e0aae7SDavid Rees    testonly = 1,
102*99e0aae7SDavid Rees    srcs = ["test_util.py"],
103*99e0aae7SDavid Rees    deps = [],
104*99e0aae7SDavid Rees)
105*99e0aae7SDavid Rees
106*99e0aae7SDavid Reespy_test(
107*99e0aae7SDavid Rees    name = "test_util_test",
108*99e0aae7SDavid Rees    srcs = ["test_util_test.py"],
109*99e0aae7SDavid Rees    python_version = "PY3",
110*99e0aae7SDavid Rees    deps = [
111*99e0aae7SDavid Rees        ":test_util",
112*99e0aae7SDavid Rees        "//compiler/util:ir_data",
113*99e0aae7SDavid Rees        "//compiler/util:parser_types",
114*99e0aae7SDavid Rees    ],
115*99e0aae7SDavid Rees)
116*99e0aae7SDavid Rees
117*99e0aae7SDavid Reespy_library(
118*99e0aae7SDavid Rees    name = "traverse_ir",
119*99e0aae7SDavid Rees    srcs = ["traverse_ir.py"],
120*99e0aae7SDavid Rees    deps = [
121*99e0aae7SDavid Rees        ":simple_memoizer",
122*99e0aae7SDavid Rees        ":ir_data",
123*99e0aae7SDavid Rees    ],
124*99e0aae7SDavid Rees)
125*99e0aae7SDavid Rees
126*99e0aae7SDavid Reespy_test(
127*99e0aae7SDavid Rees    name = "traverse_ir_test",
128*99e0aae7SDavid Rees    srcs = ["traverse_ir_test.py"],
129*99e0aae7SDavid Rees    python_version = "PY3",
130*99e0aae7SDavid Rees    deps = [
131*99e0aae7SDavid Rees        ":traverse_ir",
132*99e0aae7SDavid Rees        ":ir_data",
133*99e0aae7SDavid Rees    ],
134*99e0aae7SDavid Rees)
135*99e0aae7SDavid Rees
136*99e0aae7SDavid Reespy_library(
137*99e0aae7SDavid Rees    name = "parser_types",
138*99e0aae7SDavid Rees    srcs = ["parser_types.py"],
139*99e0aae7SDavid Rees    deps = [
140*99e0aae7SDavid Rees        ":ir_data",
141*99e0aae7SDavid Rees    ],
142*99e0aae7SDavid Rees)
143*99e0aae7SDavid Rees
144*99e0aae7SDavid Reespy_test(
145*99e0aae7SDavid Rees    name = "parser_types_test",
146*99e0aae7SDavid Rees    srcs = ["parser_types_test.py"],
147*99e0aae7SDavid Rees    python_version = "PY3",
148*99e0aae7SDavid Rees    deps = [
149*99e0aae7SDavid Rees        ":parser_types",
150*99e0aae7SDavid Rees        ":ir_data",
151*99e0aae7SDavid Rees    ],
152*99e0aae7SDavid Rees)
153*99e0aae7SDavid Rees
154*99e0aae7SDavid Reespy_library(
155*99e0aae7SDavid Rees    name = "error",
156*99e0aae7SDavid Rees    srcs = [
157*99e0aae7SDavid Rees        "error.py",
158*99e0aae7SDavid Rees    ],
159*99e0aae7SDavid Rees    deps = [
160*99e0aae7SDavid Rees        ":parser_types",
161*99e0aae7SDavid Rees    ],
162*99e0aae7SDavid Rees)
163*99e0aae7SDavid Rees
164*99e0aae7SDavid Reespy_test(
165*99e0aae7SDavid Rees    name = "error_test",
166*99e0aae7SDavid Rees    srcs = ["error_test.py"],
167*99e0aae7SDavid Rees    python_version = "PY3",
168*99e0aae7SDavid Rees    deps = [
169*99e0aae7SDavid Rees        ":error",
170*99e0aae7SDavid Rees        ":parser_types",
171*99e0aae7SDavid Rees    ],
172*99e0aae7SDavid Rees)
173*99e0aae7SDavid Rees
174*99e0aae7SDavid Reespy_library(
175*99e0aae7SDavid Rees    name = "name_conversion",
176*99e0aae7SDavid Rees    srcs = ["name_conversion.py"],
177*99e0aae7SDavid Rees    deps = [],
178*99e0aae7SDavid Rees)
179*99e0aae7SDavid Rees
180*99e0aae7SDavid Reespy_test(
181*99e0aae7SDavid Rees    name = "name_conversion_test",
182*99e0aae7SDavid Rees    srcs = ["name_conversion_test.py"],
183*99e0aae7SDavid Rees    python_version = "PY3",
184*99e0aae7SDavid Rees    deps = [
185*99e0aae7SDavid Rees        ":name_conversion",
186*99e0aae7SDavid Rees    ],
187*99e0aae7SDavid Rees)
188*99e0aae7SDavid Rees
189*99e0aae7SDavid Reespy_library(
190*99e0aae7SDavid Rees    name = "resources",
191*99e0aae7SDavid Rees    srcs = ["resources.py"],
192*99e0aae7SDavid Rees    deps = [],
193*99e0aae7SDavid Rees)
194