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