| # Description: |
| # NASM is a portable assembler in the Intel/Microsoft tradition. |
| |
| licenses(["notice"]) # BSD 2-clause |
| |
| exports_files(["LICENSE"]) |
| |
| cc_binary( |
| name = "nasm", |
| srcs = [ |
| "asm/assemble.c", |
| "asm/assemble.h", |
| "asm/directbl.c", |
| "asm/directiv.c", |
| "asm/directiv.h", |
| "asm/error.c", |
| "asm/eval.c", |
| "asm/eval.h", |
| "asm/exprdump.c", |
| "asm/exprlib.c", |
| "asm/float.c", |
| "asm/float.h", |
| "asm/labels.c", |
| "asm/listing.c", |
| "asm/listing.h", |
| "asm/nasm.c", |
| "asm/parser.c", |
| "asm/parser.h", |
| "asm/pptok.c", |
| "asm/pptok.h", |
| "asm/pragma.c", |
| "asm/preproc.c", |
| "asm/preproc.h", |
| "asm/preproc-nop.c", |
| "asm/quote.c", |
| "asm/quote.h", |
| "asm/rdstrnum.c", |
| "asm/segalloc.c", |
| "asm/stdscan.c", |
| "asm/stdscan.h", |
| "asm/strfunc.c", |
| "asm/tokens.h", |
| "asm/tokhash.c", |
| "common/common.c", |
| "config/unknown.h", |
| "disasm/disasm.c", |
| "disasm/disasm.h", |
| "disasm/sync.c", |
| "disasm/sync.h", |
| "include/compiler.h", |
| "include/disp8.h", |
| "include/error.h", |
| "include/hashtbl.h", |
| "include/iflag.h", |
| "include/insns.h", |
| "include/labels.h", |
| "include/md5.h", |
| "include/nasm.h", |
| "include/nasmint.h", |
| "include/nasmlib.h", |
| "include/opflags.h", |
| "include/perfhash.h", |
| "include/raa.h", |
| "include/rbtree.h", |
| "include/rdoff.h", |
| "include/saa.h", |
| "include/strlist.h", |
| "include/tables.h", |
| "include/ver.h", |
| "macros/macros.c", |
| "nasmlib/badenum.c", |
| "nasmlib/bsi.c", |
| "nasmlib/crc64.c", |
| "nasmlib/file.c", |
| "nasmlib/file.h", |
| "nasmlib/filename.c", |
| "nasmlib/hashtbl.c", |
| "nasmlib/ilog2.c", |
| "nasmlib/malloc.c", |
| "nasmlib/md5c.c", |
| "nasmlib/mmap.c", |
| "nasmlib/path.c", |
| "nasmlib/perfhash.c", |
| "nasmlib/raa.c", |
| "nasmlib/rbtree.c", |
| "nasmlib/readnum.c", |
| "nasmlib/realpath.c", |
| "nasmlib/saa.c", |
| "nasmlib/srcfile.c", |
| "nasmlib/string.c", |
| "nasmlib/strlist.c", |
| "nasmlib/ver.c", |
| "nasmlib/zerobuf.c", |
| "output/codeview.c", |
| "output/dwarf.h", |
| "output/elf.h", |
| "output/legacy.c", |
| "output/nulldbg.c", |
| "output/nullout.c", |
| "output/outaout.c", |
| "output/outas86.c", |
| "output/outbin.c", |
| "output/outcoff.c", |
| "output/outdbg.c", |
| "output/outelf.c", |
| "output/outelf.h", |
| "output/outform.c", |
| "output/outform.h", |
| "output/outieee.c", |
| "output/outlib.c", |
| "output/outlib.h", |
| "output/outmacho.c", |
| "output/outobj.c", |
| "output/outrdf2.c", |
| "output/pecoff.h", |
| "output/stabs.h", |
| "stdlib/snprintf.c", |
| "stdlib/strlcpy.c", |
| "stdlib/strnlen.c", |
| "stdlib/vsnprintf.c", |
| "version.h", |
| "x86/disp8.c", |
| "x86/iflag.c", |
| "x86/iflaggen.h", |
| "x86/insnsa.c", |
| "x86/insnsb.c", |
| "x86/insnsd.c", |
| "x86/insnsi.h", |
| "x86/insnsn.c", |
| "x86/regdis.c", |
| "x86/regdis.h", |
| "x86/regflags.c", |
| "x86/regs.c", |
| "x86/regs.h", |
| "x86/regvals.c", |
| ] + select({ |
| ":windows": ["config/msvc.h"], |
| "//conditions:default": [], |
| }), |
| copts = select({ |
| ":windows": [], |
| "//conditions:default": [ |
| "-w", |
| "-std=c99", |
| ], |
| }), |
| defines = select({ |
| ":windows": [], |
| "//conditions:default": [ |
| "HAVE_SNPRINTF", |
| "HAVE_SYS_TYPES_H", |
| ], |
| }), |
| includes = [ |
| "asm", |
| "include", |
| "output", |
| "x86", |
| ], |
| visibility = ["@libjpeg_turbo//:__pkg__"], |
| ) |
| |
| config_setting( |
| name = "windows", |
| values = { |
| "cpu": "x64_windows", |
| }, |
| ) |