xref: /aosp_15_r20/external/bc/Android.bp (revision 5a6e848804d15c18a0125914844ee4eb0bda4fcf)
1package {
2    default_applicable_licenses: ["external_bc_license"],
3}
4
5license {
6    name: "external_bc_license",
7    visibility: [":__subpackages__"],
8    license_kinds: [
9        "SPDX-license-identifier-BSD",
10        "SPDX-license-identifier-MIT",
11    ],
12    license_text: [
13        "LICENSE.md",
14        "NOTICE.md",
15    ],
16}
17
18cc_defaults {
19    name: "bc-defaults",
20
21    // Upstream explicitly builds with c99 rather than cc.
22    c_std: "gnu99",
23    cflags: [
24        "-include bc-version.h",
25        "-DBC_ENABLED=1",
26        "-DDC_ENABLED=0",
27        "-DBC_ENABLE_EXTRA_MATH=0",
28        "-DBC_ENABLE_HISTORY=0",
29        "-DBC_ENABLE_NLS=0",
30        "-Os",
31    ],
32    generated_headers: ["bc-version.h"],
33    local_include_dirs: ["include"],
34    srcs: [
35        "src/bc/*.c",
36        "src/*.c",
37        ":bc-bc_help.c",
38        ":bc-lib.c",
39    ],
40    exclude_srcs: [
41        "src/bc_fuzzer.c",
42        "src/dc_fuzzer.c",
43    ],
44    stl: "none",
45}
46
47cc_binary_host {
48    name: "strgen",
49    local_include_dirs: ["include"],
50    srcs: ["gen/strgen.c"],
51}
52
53genrule {
54    name: "bc-lib.c",
55    srcs: ["gen/lib.bc"],
56    out: ["gen/lib.c"],
57    tools: ["strgen"],
58    cmd: "$(location strgen) $(in) $(out) 0 bc_lib bc_lib_name BC_ENABLED 1",
59}
60
61genrule {
62    name: "bc-bc_help.c",
63    srcs: ["gen/bc_help.txt"],
64    out: ["gen/bc_help.c"],
65    tools: ["strgen"],
66    cmd: "$(location strgen) $(in) $(out) 0 bc_help '' BC_ENABLED",
67}
68
69genrule {
70    name: "bc-version.h",
71    srcs: ["Makefile.in"],
72    out: ["bc-version.h"],
73    cmd: "sed -n 's/VERSION = /#define VERSION /p' $(in) > $(out)",
74}
75
76cc_binary {
77    name: "bc",
78    defaults: ["bc-defaults"],
79}
80
81cc_binary {
82    name: "bc_vendor",
83    defaults: ["bc-defaults"],
84    stem: "bc",
85    vendor: true,
86}
87
88cc_binary_host {
89    name: "gavinhoward-bc",
90    defaults: ["bc-defaults"],
91}
92
93sh_test {
94    name: "bc-tests",
95    src: "run-bc-tests-on-android.sh",
96    filename: "run-bc-tests-on-android.sh",
97    test_suites: ["general-tests"],
98    host_supported: true,
99    device_supported: false,
100    data: [
101        "scripts/*.sh",
102        "tests/**/*",
103    ],
104}
105