1package {
2    default_applicable_licenses: ["external_elfutils_license"],
3}
4
5genrule {
6    name: "i386_mnemonics",
7    srcs: [
8        "defs/i386",
9    ],
10    out: ["i386.mnemonics"],
11    cmd: "M4=$(location m4) $(location android_mnemonic_preprocess.sh) i386 $(in) $(out)",
12    tool_files: [
13        "android_mnemonic_preprocess.sh",
14    ],
15    tools : [
16        "m4",
17    ]
18}
19
20genrule {
21    name: "x86_64_mnemonics",
22    srcs : [
23        "defs/i386",
24    ],
25    out : ["x86_64.mnemonics"],
26    cmd : "M4=$(location m4) $(location android_mnemonic_preprocess.sh) x86_64 $(in) $(out)",
27    tool_files : [
28        "android_mnemonic_preprocess.sh",
29    ],
30    tools : [
31        "m4",
32    ]
33}
34
35cc_binary_host {
36    name: "i386_gendis",
37    defaults: ["elfutils_defaults"],
38    srcs: [
39        "i386_parse.y",
40        "i386_lex.l",
41        "i386_gendis.c",
42    ],
43    yacc: {
44        flags: ["-pi386_",]
45    },
46    lex: {
47        flags: ["-Pi386_",]
48    },
49    static_libs: [
50        "libeu",
51    ],
52}
53
54genrule {
55    name: "i386_dis",
56    srcs: [
57        "defs/i386",
58    ],
59    out: ["i386_dis.h"],
60    cmd: "$(location m4) -Di386 -DDISASSEMBLER $(in) > i386_defs && $(location i386_gendis) i386_defs > $(out)",
61    tools: [
62        "i386_gendis",
63        "m4",
64    ],
65}
66
67genrule {
68    name: "x86_64_dis",
69    srcs: [
70        "defs/i386",
71    ],
72    out: ["x86_64_dis.h"],
73    cmd: "$(location m4) -Dx86_64 -DDISASSEMBLER $(in) > x86_64_defs && $(location i386_gendis) x86_64_defs > $(out)",
74    tools: [
75        "i386_gendis",
76        "m4",
77    ],
78}
79