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