xref: /aosp_15_r20/external/pcre/Android.bp (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimipackage {
2*22dc650dSSadaf Ebrahimi    default_applicable_licenses: ["external_pcre_license"],
3*22dc650dSSadaf Ebrahimi}
4*22dc650dSSadaf Ebrahimi
5*22dc650dSSadaf Ebrahimi// Added automatically by a large-scale-change that took the approach of
6*22dc650dSSadaf Ebrahimi// 'apply every license found to every target'. While this makes sure we respect
7*22dc650dSSadaf Ebrahimi// every license restriction, it may not be entirely correct.
8*22dc650dSSadaf Ebrahimi//
9*22dc650dSSadaf Ebrahimi// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*22dc650dSSadaf Ebrahimi//
11*22dc650dSSadaf Ebrahimi// Please consider splitting the single license below into multiple licenses,
12*22dc650dSSadaf Ebrahimi// taking care not to lose any license_kind information, and overriding the
13*22dc650dSSadaf Ebrahimi// default license using the 'licenses: [...]' property on targets as needed.
14*22dc650dSSadaf Ebrahimi//
15*22dc650dSSadaf Ebrahimi// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16*22dc650dSSadaf Ebrahimi// to attach the license to, and including a comment whether the files may be
17*22dc650dSSadaf Ebrahimi// used in the current project.
18*22dc650dSSadaf Ebrahimi// See: http://go/android-license-faq
19*22dc650dSSadaf Ebrahimilicense {
20*22dc650dSSadaf Ebrahimi    name: "external_pcre_license",
21*22dc650dSSadaf Ebrahimi    visibility: [":__subpackages__"],
22*22dc650dSSadaf Ebrahimi    license_kinds: [
23*22dc650dSSadaf Ebrahimi        "SPDX-license-identifier-BSD",
24*22dc650dSSadaf Ebrahimi        "SPDX-license-identifier-FSFAP",
25*22dc650dSSadaf Ebrahimi        "SPDX-license-identifier-MIT",
26*22dc650dSSadaf Ebrahimi        "legacy_notice",
27*22dc650dSSadaf Ebrahimi        "legacy_unencumbered",
28*22dc650dSSadaf Ebrahimi    ],
29*22dc650dSSadaf Ebrahimi    license_text: [
30*22dc650dSSadaf Ebrahimi        "NOTICE",
31*22dc650dSSadaf Ebrahimi    ],
32*22dc650dSSadaf Ebrahimi}
33*22dc650dSSadaf Ebrahimi
34*22dc650dSSadaf Ebrahimicc_defaults {
35*22dc650dSSadaf Ebrahimi    name: "pcre_defaults",
36*22dc650dSSadaf Ebrahimi    cflags: [
37*22dc650dSSadaf Ebrahimi        "-DHAVE_CONFIG_H",
38*22dc650dSSadaf Ebrahimi        "-Wall",
39*22dc650dSSadaf Ebrahimi        "-Werror",
40*22dc650dSSadaf Ebrahimi        "-DPCRE2_CODE_UNIT_WIDTH=8",
41*22dc650dSSadaf Ebrahimi    ],
42*22dc650dSSadaf Ebrahimi    tidy_checks: [
43*22dc650dSSadaf Ebrahimi        "-google-build-using-namespace",
44*22dc650dSSadaf Ebrahimi        "-google-global-names-in-headers",
45*22dc650dSSadaf Ebrahimi    ],
46*22dc650dSSadaf Ebrahimi    local_include_dirs: [
47*22dc650dSSadaf Ebrahimi        "include",
48*22dc650dSSadaf Ebrahimi    ],
49*22dc650dSSadaf Ebrahimi    export_include_dirs: ["include"],
50*22dc650dSSadaf Ebrahimi}
51*22dc650dSSadaf Ebrahimi
52*22dc650dSSadaf Ebrahimi//
53*22dc650dSSadaf Ebrahimi// libpcre2
54*22dc650dSSadaf Ebrahimi//
55*22dc650dSSadaf Ebrahimi
56*22dc650dSSadaf Ebrahimicc_library {
57*22dc650dSSadaf Ebrahimi    name: "libpcre2",
58*22dc650dSSadaf Ebrahimi    defaults: ["pcre_defaults"],
59*22dc650dSSadaf Ebrahimi    host_supported: true,
60*22dc650dSSadaf Ebrahimi    vendor_available: true,
61*22dc650dSSadaf Ebrahimi    product_available: true,
62*22dc650dSSadaf Ebrahimi    double_loadable: true,
63*22dc650dSSadaf Ebrahimi    ramdisk_available: true,
64*22dc650dSSadaf Ebrahimi    vendor_ramdisk_available: true,
65*22dc650dSSadaf Ebrahimi    recovery_available: true,
66*22dc650dSSadaf Ebrahimi    srcs: [
67*22dc650dSSadaf Ebrahimi        "src/pcre2_auto_possess.c",
68*22dc650dSSadaf Ebrahimi        "src/pcre2_chartables.c",
69*22dc650dSSadaf Ebrahimi        "src/pcre2_chkdint.c",
70*22dc650dSSadaf Ebrahimi        "src/pcre2_compile.c",
71*22dc650dSSadaf Ebrahimi        "src/pcre2_config.c",
72*22dc650dSSadaf Ebrahimi        "src/pcre2_context.c",
73*22dc650dSSadaf Ebrahimi        "src/pcre2_convert.c",
74*22dc650dSSadaf Ebrahimi        "src/pcre2_dfa_match.c",
75*22dc650dSSadaf Ebrahimi        "src/pcre2_error.c",
76*22dc650dSSadaf Ebrahimi        "src/pcre2_extuni.c",
77*22dc650dSSadaf Ebrahimi        "src/pcre2_find_bracket.c",
78*22dc650dSSadaf Ebrahimi        "src/pcre2_jit_compile.c",
79*22dc650dSSadaf Ebrahimi        "src/pcre2_maketables.c",
80*22dc650dSSadaf Ebrahimi        "src/pcre2_match_data.c",
81*22dc650dSSadaf Ebrahimi        "src/pcre2_match.c",
82*22dc650dSSadaf Ebrahimi        "src/pcre2_newline.c",
83*22dc650dSSadaf Ebrahimi        "src/pcre2_ord2utf.c",
84*22dc650dSSadaf Ebrahimi        "src/pcre2_pattern_info.c",
85*22dc650dSSadaf Ebrahimi        "src/pcre2_script_run.c",
86*22dc650dSSadaf Ebrahimi        "src/pcre2_serialize.c",
87*22dc650dSSadaf Ebrahimi        "src/pcre2_string_utils.c",
88*22dc650dSSadaf Ebrahimi        "src/pcre2_study.c",
89*22dc650dSSadaf Ebrahimi        "src/pcre2_substitute.c",
90*22dc650dSSadaf Ebrahimi        "src/pcre2_substring.c",
91*22dc650dSSadaf Ebrahimi        "src/pcre2_tables.c",
92*22dc650dSSadaf Ebrahimi        "src/pcre2_ucd.c",
93*22dc650dSSadaf Ebrahimi        "src/pcre2_valid_utf.c",
94*22dc650dSSadaf Ebrahimi        "src/pcre2_xclass.c",
95*22dc650dSSadaf Ebrahimi    ],
96*22dc650dSSadaf Ebrahimi    stl: "none",
97*22dc650dSSadaf Ebrahimi    target: {
98*22dc650dSSadaf Ebrahimi        bionic: {
99*22dc650dSSadaf Ebrahimi            system_shared_libs: ["libc"],
100*22dc650dSSadaf Ebrahimi        },
101*22dc650dSSadaf Ebrahimi        linux_bionic: {
102*22dc650dSSadaf Ebrahimi            enabled: true,
103*22dc650dSSadaf Ebrahimi        },
104*22dc650dSSadaf Ebrahimi    },
105*22dc650dSSadaf Ebrahimi}
106