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  )