xref: /aosp_15_r20/external/pcre/BUILD.bazel (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimiload("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
2*22dc650dSSadaf Ebrahimiload("@bazel_skylib//rules:copy_file.bzl", "copy_file")
3*22dc650dSSadaf Ebrahimi
4*22dc650dSSadaf Ebrahimicopy_file(
5*22dc650dSSadaf Ebrahimi    name = "config_h_generic",
6*22dc650dSSadaf Ebrahimi    src = "src/config.h.generic",
7*22dc650dSSadaf Ebrahimi    out = "src/config.h",
8*22dc650dSSadaf Ebrahimi)
9*22dc650dSSadaf Ebrahimi
10*22dc650dSSadaf Ebrahimicopy_file(
11*22dc650dSSadaf Ebrahimi    name = "pcre2_h_generic",
12*22dc650dSSadaf Ebrahimi    src = "src/pcre2.h.generic",
13*22dc650dSSadaf Ebrahimi    out = "src/pcre2.h",
14*22dc650dSSadaf Ebrahimi)
15*22dc650dSSadaf Ebrahimi
16*22dc650dSSadaf Ebrahimicopy_file(
17*22dc650dSSadaf Ebrahimi    name = "pcre2_chartables_c",
18*22dc650dSSadaf Ebrahimi    src = "src/pcre2_chartables.c.dist",
19*22dc650dSSadaf Ebrahimi    out = "src/pcre2_chartables.c",
20*22dc650dSSadaf Ebrahimi)
21*22dc650dSSadaf Ebrahimi
22*22dc650dSSadaf Ebrahimi# Removed src/pcre2_ucptables.c below because it is #included in
23*22dc650dSSadaf Ebrahimi# src/pcre2_tables.c. Also fixed typo: ckdint should be chkdint.
24*22dc650dSSadaf Ebrahimi# PH, 22-March-2023.
25*22dc650dSSadaf Ebrahimicc_library(
26*22dc650dSSadaf Ebrahimi    name = "pcre2",
27*22dc650dSSadaf Ebrahimi    srcs = [
28*22dc650dSSadaf Ebrahimi        "src/pcre2_auto_possess.c",
29*22dc650dSSadaf Ebrahimi        "src/pcre2_chkdint.c",
30*22dc650dSSadaf Ebrahimi        "src/pcre2_compile.c",
31*22dc650dSSadaf Ebrahimi        "src/pcre2_config.c",
32*22dc650dSSadaf Ebrahimi        "src/pcre2_context.c",
33*22dc650dSSadaf Ebrahimi        "src/pcre2_convert.c",
34*22dc650dSSadaf Ebrahimi        "src/pcre2_dfa_match.c",
35*22dc650dSSadaf Ebrahimi        "src/pcre2_error.c",
36*22dc650dSSadaf Ebrahimi        "src/pcre2_extuni.c",
37*22dc650dSSadaf Ebrahimi        "src/pcre2_find_bracket.c",
38*22dc650dSSadaf Ebrahimi        "src/pcre2_maketables.c",
39*22dc650dSSadaf Ebrahimi        "src/pcre2_match.c",
40*22dc650dSSadaf Ebrahimi        "src/pcre2_match_data.c",
41*22dc650dSSadaf Ebrahimi        "src/pcre2_newline.c",
42*22dc650dSSadaf Ebrahimi        "src/pcre2_ord2utf.c",
43*22dc650dSSadaf Ebrahimi        "src/pcre2_pattern_info.c",
44*22dc650dSSadaf Ebrahimi        "src/pcre2_script_run.c",
45*22dc650dSSadaf Ebrahimi        "src/pcre2_serialize.c",
46*22dc650dSSadaf Ebrahimi        "src/pcre2_string_utils.c",
47*22dc650dSSadaf Ebrahimi        "src/pcre2_study.c",
48*22dc650dSSadaf Ebrahimi        "src/pcre2_substitute.c",
49*22dc650dSSadaf Ebrahimi        "src/pcre2_substring.c",
50*22dc650dSSadaf Ebrahimi        "src/pcre2_tables.c",
51*22dc650dSSadaf Ebrahimi        "src/pcre2_ucd.c",
52*22dc650dSSadaf Ebrahimi        "src/pcre2_valid_utf.c",
53*22dc650dSSadaf Ebrahimi        "src/pcre2_xclass.c",
54*22dc650dSSadaf Ebrahimi        ":pcre2_chartables_c",
55*22dc650dSSadaf Ebrahimi    ],
56*22dc650dSSadaf Ebrahimi    hdrs = glob(["src/*.h"]) + [
57*22dc650dSSadaf Ebrahimi        ":config_h_generic",
58*22dc650dSSadaf Ebrahimi        ":pcre2_h_generic",
59*22dc650dSSadaf Ebrahimi    ],
60*22dc650dSSadaf Ebrahimi    defines = [
61*22dc650dSSadaf Ebrahimi        "HAVE_CONFIG_H",
62*22dc650dSSadaf Ebrahimi        "PCRE2_CODE_UNIT_WIDTH=8",
63*22dc650dSSadaf Ebrahimi        "PCRE2_STATIC",
64*22dc650dSSadaf Ebrahimi    ],
65*22dc650dSSadaf Ebrahimi    includes = ["src"],
66*22dc650dSSadaf Ebrahimi    strip_include_prefix = "src",
67*22dc650dSSadaf Ebrahimi    visibility = ["//visibility:public"],
68*22dc650dSSadaf Ebrahimi)
69*22dc650dSSadaf Ebrahimi
70*22dc650dSSadaf Ebrahimicc_binary(
71*22dc650dSSadaf Ebrahimi    name = "pcre2demo",
72*22dc650dSSadaf Ebrahimi    srcs = ["src/pcre2demo.c"],
73*22dc650dSSadaf Ebrahimi    visibility = ["//visibility:public"],
74*22dc650dSSadaf Ebrahimi    deps = [":pcre2"],
75*22dc650dSSadaf Ebrahimi)
76