aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/nasm.BUILD
blob: d746a65e7e5e22bf15eb181a39bde82eb4796cff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# 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": [],
    }),
    includes = [
        "asm",
        "include",
        "output",
        "x86",
    ],
    copts = select({
        ":windows": [],
        "//conditions:default": [
            "-w",
            "-std=c99",
        ],
    }),
    defines = select({
        ":windows": [],
        "//conditions:default": [
            "HAVE_SNPRINTF",
            "HAVE_SYS_TYPES_H",
        ],
    }),
    visibility = ["@jpeg//:__pkg__"],
)

config_setting(
    name = "windows",
    values = {
        "cpu": "x64_windows",
    },
)