github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/third_party/nasm/BUILD.bazel (about) 1 # Description: 2 # NASM is a portable assembler in the Intel/Microsoft tradition. 3 4 licenses(["notice"]) # BSD 2-clause 5 6 exports_files(["LICENSE"]) 7 8 cc_binary( 9 name = "nasm", 10 srcs = [ 11 "asm/assemble.c", 12 "asm/assemble.h", 13 "asm/directbl.c", 14 "asm/directiv.c", 15 "asm/directiv.h", 16 "asm/error.c", 17 "asm/eval.c", 18 "asm/eval.h", 19 "asm/exprdump.c", 20 "asm/exprlib.c", 21 "asm/float.c", 22 "asm/float.h", 23 "asm/labels.c", 24 "asm/listing.c", 25 "asm/listing.h", 26 "asm/nasm.c", 27 "asm/parser.c", 28 "asm/parser.h", 29 "asm/pptok.c", 30 "asm/pptok.h", 31 "asm/pragma.c", 32 "asm/preproc.c", 33 "asm/preproc.h", 34 "asm/preproc-nop.c", 35 "asm/quote.c", 36 "asm/quote.h", 37 "asm/rdstrnum.c", 38 "asm/segalloc.c", 39 "asm/stdscan.c", 40 "asm/stdscan.h", 41 "asm/strfunc.c", 42 "asm/tokens.h", 43 "asm/tokhash.c", 44 "common/common.c", 45 "config/unknown.h", 46 "disasm/disasm.c", 47 "disasm/disasm.h", 48 "disasm/sync.c", 49 "disasm/sync.h", 50 "include/compiler.h", 51 "include/disp8.h", 52 "include/error.h", 53 "include/hashtbl.h", 54 "include/iflag.h", 55 "include/insns.h", 56 "include/labels.h", 57 "include/md5.h", 58 "include/nasm.h", 59 "include/nasmint.h", 60 "include/nasmlib.h", 61 "include/opflags.h", 62 "include/perfhash.h", 63 "include/raa.h", 64 "include/rbtree.h", 65 "include/rdoff.h", 66 "include/saa.h", 67 "include/strlist.h", 68 "include/tables.h", 69 "include/ver.h", 70 "macros/macros.c", 71 "nasmlib/badenum.c", 72 "nasmlib/bsi.c", 73 "nasmlib/crc64.c", 74 "nasmlib/file.c", 75 "nasmlib/file.h", 76 "nasmlib/filename.c", 77 "nasmlib/hashtbl.c", 78 "nasmlib/ilog2.c", 79 "nasmlib/malloc.c", 80 "nasmlib/md5c.c", 81 "nasmlib/mmap.c", 82 "nasmlib/path.c", 83 "nasmlib/perfhash.c", 84 "nasmlib/raa.c", 85 "nasmlib/rbtree.c", 86 "nasmlib/readnum.c", 87 "nasmlib/realpath.c", 88 "nasmlib/saa.c", 89 "nasmlib/srcfile.c", 90 "nasmlib/string.c", 91 "nasmlib/strlist.c", 92 "nasmlib/ver.c", 93 "nasmlib/zerobuf.c", 94 "output/codeview.c", 95 "output/dwarf.h", 96 "output/elf.h", 97 "output/legacy.c", 98 "output/nulldbg.c", 99 "output/nullout.c", 100 "output/outaout.c", 101 "output/outas86.c", 102 "output/outbin.c", 103 "output/outcoff.c", 104 "output/outdbg.c", 105 "output/outelf.c", 106 "output/outelf.h", 107 "output/outform.c", 108 "output/outform.h", 109 "output/outieee.c", 110 "output/outlib.c", 111 "output/outlib.h", 112 "output/outmacho.c", 113 "output/outobj.c", 114 "output/outrdf2.c", 115 "output/pecoff.h", 116 "output/stabs.h", 117 "stdlib/snprintf.c", 118 "stdlib/strlcpy.c", 119 "stdlib/strnlen.c", 120 "stdlib/vsnprintf.c", 121 "version.h", 122 "x86/disp8.c", 123 "x86/iflag.c", 124 "x86/iflaggen.h", 125 "x86/insnsa.c", 126 "x86/insnsb.c", 127 "x86/insnsd.c", 128 "x86/insnsi.h", 129 "x86/insnsn.c", 130 "x86/regdis.c", 131 "x86/regdis.h", 132 "x86/regflags.c", 133 "x86/regs.c", 134 "x86/regs.h", 135 "x86/regvals.c", 136 ] + select({ 137 ":windows": ["config/msvc.h"], 138 "//conditions:default": [], 139 }), 140 copts = select({ 141 ":windows": [], 142 "//conditions:default": [ 143 "-w", 144 "-std=c99", 145 ], 146 }), 147 defines = select({ 148 ":windows": [], 149 "//conditions:default": [ 150 "HAVE_SNPRINTF", 151 "HAVE_SYS_TYPES_H", 152 ], 153 }), 154 includes = [ 155 "asm", 156 "include", 157 "output", 158 "x86", 159 ], 160 visibility = ["@jpeg//:__pkg__"], 161 ) 162 163 config_setting( 164 name = "windows", 165 values = { 166 "cpu": "x64_windows", 167 }, 168 )