xref: /aosp_15_r20/external/regex-re2/BUILD (revision ccdc9c3e24c519bfa4832a66aa2e83a52c19f295)
1*ccdc9c3eSSadaf Ebrahimi# Copyright 2009 The RE2 Authors.  All Rights Reserved.
2*ccdc9c3eSSadaf Ebrahimi# Use of this source code is governed by a BSD-style
3*ccdc9c3eSSadaf Ebrahimi# license that can be found in the LICENSE file.
4*ccdc9c3eSSadaf Ebrahimi
5*ccdc9c3eSSadaf Ebrahimi# Bazel (http://bazel.io/) BUILD file for RE2.
6*ccdc9c3eSSadaf Ebrahimi
7*ccdc9c3eSSadaf Ebrahimilicenses(["notice"])
8*ccdc9c3eSSadaf Ebrahimi
9*ccdc9c3eSSadaf Ebrahimiexports_files(["LICENSE"])
10*ccdc9c3eSSadaf Ebrahimi
11*ccdc9c3eSSadaf Ebrahimiconfig_setting(
12*ccdc9c3eSSadaf Ebrahimi    name = "darwin",
13*ccdc9c3eSSadaf Ebrahimi    values = {"cpu": "darwin"},
14*ccdc9c3eSSadaf Ebrahimi)
15*ccdc9c3eSSadaf Ebrahimi
16*ccdc9c3eSSadaf Ebrahimiconfig_setting(
17*ccdc9c3eSSadaf Ebrahimi    name = "windows",
18*ccdc9c3eSSadaf Ebrahimi    values = {"cpu": "x64_windows"},
19*ccdc9c3eSSadaf Ebrahimi)
20*ccdc9c3eSSadaf Ebrahimi
21*ccdc9c3eSSadaf Ebrahimiconfig_setting(
22*ccdc9c3eSSadaf Ebrahimi    name = "windows_msvc",
23*ccdc9c3eSSadaf Ebrahimi    values = {"cpu": "x64_windows_msvc"},
24*ccdc9c3eSSadaf Ebrahimi)
25*ccdc9c3eSSadaf Ebrahimi
26*ccdc9c3eSSadaf Ebrahimicc_library(
27*ccdc9c3eSSadaf Ebrahimi    name = "re2",
28*ccdc9c3eSSadaf Ebrahimi    srcs = [
29*ccdc9c3eSSadaf Ebrahimi        "re2/bitmap256.h",
30*ccdc9c3eSSadaf Ebrahimi        "re2/bitstate.cc",
31*ccdc9c3eSSadaf Ebrahimi        "re2/compile.cc",
32*ccdc9c3eSSadaf Ebrahimi        "re2/dfa.cc",
33*ccdc9c3eSSadaf Ebrahimi        "re2/filtered_re2.cc",
34*ccdc9c3eSSadaf Ebrahimi        "re2/mimics_pcre.cc",
35*ccdc9c3eSSadaf Ebrahimi        "re2/nfa.cc",
36*ccdc9c3eSSadaf Ebrahimi        "re2/onepass.cc",
37*ccdc9c3eSSadaf Ebrahimi        "re2/parse.cc",
38*ccdc9c3eSSadaf Ebrahimi        "re2/perl_groups.cc",
39*ccdc9c3eSSadaf Ebrahimi        "re2/prefilter.cc",
40*ccdc9c3eSSadaf Ebrahimi        "re2/prefilter.h",
41*ccdc9c3eSSadaf Ebrahimi        "re2/prefilter_tree.cc",
42*ccdc9c3eSSadaf Ebrahimi        "re2/prefilter_tree.h",
43*ccdc9c3eSSadaf Ebrahimi        "re2/prog.cc",
44*ccdc9c3eSSadaf Ebrahimi        "re2/prog.h",
45*ccdc9c3eSSadaf Ebrahimi        "re2/re2.cc",
46*ccdc9c3eSSadaf Ebrahimi        "re2/regexp.cc",
47*ccdc9c3eSSadaf Ebrahimi        "re2/regexp.h",
48*ccdc9c3eSSadaf Ebrahimi        "re2/set.cc",
49*ccdc9c3eSSadaf Ebrahimi        "re2/simplify.cc",
50*ccdc9c3eSSadaf Ebrahimi        "re2/stringpiece.cc",
51*ccdc9c3eSSadaf Ebrahimi        "re2/tostring.cc",
52*ccdc9c3eSSadaf Ebrahimi        "re2/unicode_casefold.cc",
53*ccdc9c3eSSadaf Ebrahimi        "re2/unicode_casefold.h",
54*ccdc9c3eSSadaf Ebrahimi        "re2/unicode_groups.cc",
55*ccdc9c3eSSadaf Ebrahimi        "re2/unicode_groups.h",
56*ccdc9c3eSSadaf Ebrahimi        "re2/walker-inl.h",
57*ccdc9c3eSSadaf Ebrahimi        "util/flags.h",
58*ccdc9c3eSSadaf Ebrahimi        "util/logging.h",
59*ccdc9c3eSSadaf Ebrahimi        "util/mix.h",
60*ccdc9c3eSSadaf Ebrahimi        "util/mutex.h",
61*ccdc9c3eSSadaf Ebrahimi        "util/pod_array.h",
62*ccdc9c3eSSadaf Ebrahimi        "util/rune.cc",
63*ccdc9c3eSSadaf Ebrahimi        "util/sparse_array.h",
64*ccdc9c3eSSadaf Ebrahimi        "util/sparse_set.h",
65*ccdc9c3eSSadaf Ebrahimi        "util/strutil.cc",
66*ccdc9c3eSSadaf Ebrahimi        "util/strutil.h",
67*ccdc9c3eSSadaf Ebrahimi        "util/utf.h",
68*ccdc9c3eSSadaf Ebrahimi        "util/util.h",
69*ccdc9c3eSSadaf Ebrahimi    ],
70*ccdc9c3eSSadaf Ebrahimi    hdrs = [
71*ccdc9c3eSSadaf Ebrahimi        "re2/filtered_re2.h",
72*ccdc9c3eSSadaf Ebrahimi        "re2/re2.h",
73*ccdc9c3eSSadaf Ebrahimi        "re2/set.h",
74*ccdc9c3eSSadaf Ebrahimi        "re2/stringpiece.h",
75*ccdc9c3eSSadaf Ebrahimi    ],
76*ccdc9c3eSSadaf Ebrahimi    copts = select({
77*ccdc9c3eSSadaf Ebrahimi        ":windows": [],
78*ccdc9c3eSSadaf Ebrahimi        ":windows_msvc": [],
79*ccdc9c3eSSadaf Ebrahimi        "//conditions:default": ["-pthread"],
80*ccdc9c3eSSadaf Ebrahimi    }),
81*ccdc9c3eSSadaf Ebrahimi    linkopts = select({
82*ccdc9c3eSSadaf Ebrahimi        # Darwin doesn't need `-pthread' when linking and it appears that
83*ccdc9c3eSSadaf Ebrahimi        # older versions of Clang will warn about the unused command line
84*ccdc9c3eSSadaf Ebrahimi        # argument, so just don't pass it.
85*ccdc9c3eSSadaf Ebrahimi        ":darwin": [],
86*ccdc9c3eSSadaf Ebrahimi        ":windows": [],
87*ccdc9c3eSSadaf Ebrahimi        ":windows_msvc": [],
88*ccdc9c3eSSadaf Ebrahimi        "//conditions:default": ["-pthread"],
89*ccdc9c3eSSadaf Ebrahimi    }),
90*ccdc9c3eSSadaf Ebrahimi    visibility = ["//visibility:public"],
91*ccdc9c3eSSadaf Ebrahimi)
92*ccdc9c3eSSadaf Ebrahimi
93*ccdc9c3eSSadaf Ebrahimicc_library(
94*ccdc9c3eSSadaf Ebrahimi    name = "testing",
95*ccdc9c3eSSadaf Ebrahimi    testonly = 1,
96*ccdc9c3eSSadaf Ebrahimi    srcs = [
97*ccdc9c3eSSadaf Ebrahimi        "re2/testing/backtrack.cc",
98*ccdc9c3eSSadaf Ebrahimi        "re2/testing/dump.cc",
99*ccdc9c3eSSadaf Ebrahimi        "re2/testing/exhaustive_tester.cc",
100*ccdc9c3eSSadaf Ebrahimi        "re2/testing/null_walker.cc",
101*ccdc9c3eSSadaf Ebrahimi        "re2/testing/regexp_generator.cc",
102*ccdc9c3eSSadaf Ebrahimi        "re2/testing/string_generator.cc",
103*ccdc9c3eSSadaf Ebrahimi        "re2/testing/tester.cc",
104*ccdc9c3eSSadaf Ebrahimi        "util/pcre.cc",
105*ccdc9c3eSSadaf Ebrahimi    ],
106*ccdc9c3eSSadaf Ebrahimi    hdrs = [
107*ccdc9c3eSSadaf Ebrahimi        "re2/testing/exhaustive_tester.h",
108*ccdc9c3eSSadaf Ebrahimi        "re2/testing/regexp_generator.h",
109*ccdc9c3eSSadaf Ebrahimi        "re2/testing/string_generator.h",
110*ccdc9c3eSSadaf Ebrahimi        "re2/testing/tester.h",
111*ccdc9c3eSSadaf Ebrahimi        "util/benchmark.h",
112*ccdc9c3eSSadaf Ebrahimi        "util/pcre.h",
113*ccdc9c3eSSadaf Ebrahimi        "util/test.h",
114*ccdc9c3eSSadaf Ebrahimi    ],
115*ccdc9c3eSSadaf Ebrahimi    deps = [":re2"],
116*ccdc9c3eSSadaf Ebrahimi)
117*ccdc9c3eSSadaf Ebrahimi
118*ccdc9c3eSSadaf Ebrahimicc_library(
119*ccdc9c3eSSadaf Ebrahimi    name = "test",
120*ccdc9c3eSSadaf Ebrahimi    testonly = 1,
121*ccdc9c3eSSadaf Ebrahimi    srcs = ["util/test.cc"],
122*ccdc9c3eSSadaf Ebrahimi    deps = [":testing"],
123*ccdc9c3eSSadaf Ebrahimi)
124*ccdc9c3eSSadaf Ebrahimi
125*ccdc9c3eSSadaf Ebrahimiload(":re2_test.bzl", "re2_test")
126*ccdc9c3eSSadaf Ebrahimi
127*ccdc9c3eSSadaf Ebrahimire2_test(
128*ccdc9c3eSSadaf Ebrahimi    "charclass_test",
129*ccdc9c3eSSadaf Ebrahimi    size = "small",
130*ccdc9c3eSSadaf Ebrahimi)
131*ccdc9c3eSSadaf Ebrahimi
132*ccdc9c3eSSadaf Ebrahimire2_test(
133*ccdc9c3eSSadaf Ebrahimi    "compile_test",
134*ccdc9c3eSSadaf Ebrahimi    size = "small",
135*ccdc9c3eSSadaf Ebrahimi)
136*ccdc9c3eSSadaf Ebrahimi
137*ccdc9c3eSSadaf Ebrahimire2_test(
138*ccdc9c3eSSadaf Ebrahimi    "filtered_re2_test",
139*ccdc9c3eSSadaf Ebrahimi    size = "small",
140*ccdc9c3eSSadaf Ebrahimi)
141*ccdc9c3eSSadaf Ebrahimi
142*ccdc9c3eSSadaf Ebrahimire2_test(
143*ccdc9c3eSSadaf Ebrahimi    "mimics_pcre_test",
144*ccdc9c3eSSadaf Ebrahimi    size = "small",
145*ccdc9c3eSSadaf Ebrahimi)
146*ccdc9c3eSSadaf Ebrahimi
147*ccdc9c3eSSadaf Ebrahimire2_test(
148*ccdc9c3eSSadaf Ebrahimi    "parse_test",
149*ccdc9c3eSSadaf Ebrahimi    size = "small",
150*ccdc9c3eSSadaf Ebrahimi)
151*ccdc9c3eSSadaf Ebrahimi
152*ccdc9c3eSSadaf Ebrahimire2_test(
153*ccdc9c3eSSadaf Ebrahimi    "possible_match_test",
154*ccdc9c3eSSadaf Ebrahimi    size = "small",
155*ccdc9c3eSSadaf Ebrahimi)
156*ccdc9c3eSSadaf Ebrahimi
157*ccdc9c3eSSadaf Ebrahimire2_test(
158*ccdc9c3eSSadaf Ebrahimi    "re2_arg_test",
159*ccdc9c3eSSadaf Ebrahimi    size = "small",
160*ccdc9c3eSSadaf Ebrahimi)
161*ccdc9c3eSSadaf Ebrahimi
162*ccdc9c3eSSadaf Ebrahimire2_test(
163*ccdc9c3eSSadaf Ebrahimi    "re2_test",
164*ccdc9c3eSSadaf Ebrahimi    size = "small",
165*ccdc9c3eSSadaf Ebrahimi)
166*ccdc9c3eSSadaf Ebrahimi
167*ccdc9c3eSSadaf Ebrahimire2_test(
168*ccdc9c3eSSadaf Ebrahimi    "regexp_test",
169*ccdc9c3eSSadaf Ebrahimi    size = "small",
170*ccdc9c3eSSadaf Ebrahimi)
171*ccdc9c3eSSadaf Ebrahimi
172*ccdc9c3eSSadaf Ebrahimire2_test(
173*ccdc9c3eSSadaf Ebrahimi    "required_prefix_test",
174*ccdc9c3eSSadaf Ebrahimi    size = "small",
175*ccdc9c3eSSadaf Ebrahimi)
176*ccdc9c3eSSadaf Ebrahimi
177*ccdc9c3eSSadaf Ebrahimire2_test(
178*ccdc9c3eSSadaf Ebrahimi    "search_test",
179*ccdc9c3eSSadaf Ebrahimi    size = "small",
180*ccdc9c3eSSadaf Ebrahimi)
181*ccdc9c3eSSadaf Ebrahimi
182*ccdc9c3eSSadaf Ebrahimire2_test(
183*ccdc9c3eSSadaf Ebrahimi    "set_test",
184*ccdc9c3eSSadaf Ebrahimi    size = "small",
185*ccdc9c3eSSadaf Ebrahimi)
186*ccdc9c3eSSadaf Ebrahimi
187*ccdc9c3eSSadaf Ebrahimire2_test(
188*ccdc9c3eSSadaf Ebrahimi    "simplify_test",
189*ccdc9c3eSSadaf Ebrahimi    size = "small",
190*ccdc9c3eSSadaf Ebrahimi)
191*ccdc9c3eSSadaf Ebrahimi
192*ccdc9c3eSSadaf Ebrahimire2_test(
193*ccdc9c3eSSadaf Ebrahimi    "string_generator_test",
194*ccdc9c3eSSadaf Ebrahimi    size = "small",
195*ccdc9c3eSSadaf Ebrahimi)
196*ccdc9c3eSSadaf Ebrahimi
197*ccdc9c3eSSadaf Ebrahimire2_test(
198*ccdc9c3eSSadaf Ebrahimi    "dfa_test",
199*ccdc9c3eSSadaf Ebrahimi    size = "large",
200*ccdc9c3eSSadaf Ebrahimi)
201*ccdc9c3eSSadaf Ebrahimi
202*ccdc9c3eSSadaf Ebrahimire2_test(
203*ccdc9c3eSSadaf Ebrahimi    "exhaustive1_test",
204*ccdc9c3eSSadaf Ebrahimi    size = "large",
205*ccdc9c3eSSadaf Ebrahimi)
206*ccdc9c3eSSadaf Ebrahimi
207*ccdc9c3eSSadaf Ebrahimire2_test(
208*ccdc9c3eSSadaf Ebrahimi    "exhaustive2_test",
209*ccdc9c3eSSadaf Ebrahimi    size = "large",
210*ccdc9c3eSSadaf Ebrahimi)
211*ccdc9c3eSSadaf Ebrahimi
212*ccdc9c3eSSadaf Ebrahimire2_test(
213*ccdc9c3eSSadaf Ebrahimi    "exhaustive3_test",
214*ccdc9c3eSSadaf Ebrahimi    size = "large",
215*ccdc9c3eSSadaf Ebrahimi)
216*ccdc9c3eSSadaf Ebrahimi
217*ccdc9c3eSSadaf Ebrahimire2_test(
218*ccdc9c3eSSadaf Ebrahimi    "exhaustive_test",
219*ccdc9c3eSSadaf Ebrahimi    size = "large",
220*ccdc9c3eSSadaf Ebrahimi)
221*ccdc9c3eSSadaf Ebrahimi
222*ccdc9c3eSSadaf Ebrahimire2_test(
223*ccdc9c3eSSadaf Ebrahimi    "random_test",
224*ccdc9c3eSSadaf Ebrahimi    size = "large",
225*ccdc9c3eSSadaf Ebrahimi)
226*ccdc9c3eSSadaf Ebrahimi
227*ccdc9c3eSSadaf Ebrahimicc_library(
228*ccdc9c3eSSadaf Ebrahimi    name = "benchmark",
229*ccdc9c3eSSadaf Ebrahimi    testonly = 1,
230*ccdc9c3eSSadaf Ebrahimi    srcs = ["util/benchmark.cc"],
231*ccdc9c3eSSadaf Ebrahimi    deps = [":testing"],
232*ccdc9c3eSSadaf Ebrahimi)
233*ccdc9c3eSSadaf Ebrahimi
234*ccdc9c3eSSadaf Ebrahimicc_binary(
235*ccdc9c3eSSadaf Ebrahimi    name = "regexp_benchmark",
236*ccdc9c3eSSadaf Ebrahimi    testonly = 1,
237*ccdc9c3eSSadaf Ebrahimi    srcs = ["re2/testing/regexp_benchmark.cc"],
238*ccdc9c3eSSadaf Ebrahimi    deps = [":benchmark"],
239*ccdc9c3eSSadaf Ebrahimi)
240