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 generated_headers: [ 44 "i386_mnemonics", 45 ], 46 yacc: { 47 flags: ["-pi386_",] 48 }, 49 lex: { 50 flags: ["-Pi386_",] 51 }, 52 static_libs: [ 53 "libeu", 54 ], 55 target: { 56 musl: { 57 static_libs: ["libobstack"], 58 }, 59 }, 60} 61 62genrule { 63 name: "i386_dis", 64 srcs: [ 65 "defs/i386", 66 ], 67 out: ["i386_dis.h"], 68 cmd: "$(location m4) -Di386 -DDISASSEMBLER $(in) > $(genDir)/i386_defs && $(location i386_gendis) $(genDir)/i386_defs > $(out)", 69 tools: [ 70 "i386_gendis", 71 "m4", 72 ], 73} 74 75genrule { 76 name: "x86_64_dis", 77 srcs: [ 78 "defs/i386", 79 ], 80 out: ["x86_64_dis.h"], 81 cmd: "$(location m4) -Dx86_64 -DDISASSEMBLER $(in) > $(genDir)/x86_64_defs && $(location i386_gendis) $(genDir)/x86_64_defs > $(out)", 82 tools: [ 83 "i386_gendis", 84 "m4", 85 ], 86} 87