aboutsummaryrefslogtreecommitdiffstats
path: root/Android.bp
blob: 7d7afe24ff7e7b9b1bade75f596b4e5267e708ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package {
    default_applicable_licenses: ["external_bc_license"],
}

license {
    name: "external_bc_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-BSD",
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE.md",
        "NOTICE.md",
    ],
}

cc_defaults {
  name: "bc-defaults",

  cflags: [
    "-include bc-version.h",
    "-DBC_ENABLED=1",
    "-DDC_ENABLED=0",
    "-DBC_ENABLE_EXTRA_MATH=0",
    "-DBC_ENABLE_HISTORY=0",
    "-DBC_ENABLE_NLS=0",
    "-Os",
  ],
  generated_headers: ["bc-version.h"],
  local_include_dirs: ["include"],
  srcs: [
    "src/bc/*.c",
    "src/*.c",
    ":bc-bc_help.c",
    ":bc-lib.c",
  ],
  stl: "none",
}

genrule {
  name: "bc-lib.c",
  srcs: ["gen/lib.bc"],
  out: ["gen/lib.c"],
  tool_files: ["gen/strgen.sh"],
  cmd: "$(location gen/strgen.sh) $(in) $(out) bc_lib bc_lib_name BC_ENABLED",
}

genrule {
  name: "bc-bc_help.c",
  srcs: ["gen/bc_help.txt"],
  out: ["gen/bc_help.c"],
  tool_files: ["gen/strgen.sh"],
  cmd: "$(location gen/strgen.sh) $(in) $(out) bc_help '' BC_ENABLED",
}

genrule {
  name: "bc-version.h",
  srcs: ["Makefile.in"],
  out: ["bc-version.h"],
  cmd: "sed -n 's/VERSION = /#define VERSION /p' $(in) > $(out)",
}

cc_binary {
  name: "bc",
  defaults: ["bc-defaults"],
}

cc_binary {
  name: "bc_vendor",
  defaults: ["bc-defaults"],
  stem: "bc",
  vendor: true,
}

cc_binary_host {
  name: "gavinhoward-bc",
  defaults: ["bc-defaults"],
}

sh_test {
  name: "bc-tests",
  src: "run-bc-tests-on-android.sh",
  filename: "run-bc-tests-on-android.sh",
  test_suites: ["general-tests"],
  host_supported: true,
  device_supported: false,
  data: [
    "scripts/functions.sh",
    "tests/**/*",
  ],
}