1<?xml version="1.0" encoding="utf-8"?>
2<VisualStudioToolFile
3	Name="Netwide Assembler"
4	Version="8,00"
5	>
6	<Rules>
7		<CustomBuildRule
8			Name="NASM"
9			DisplayName="Netwide Assembler"
10			CommandLine="$(SolutionDir)..\..\dependencies\nasm.exe [AllOptions] [AdditionalOptions] -- [inputs]"
11			Outputs="[$ObjectFileName]"
12			FileExtensions="*.asm"
13			ExecutionDescription="Assembling..."
14			>
15			<Properties>
16				<StringProperty
17					Name="ObjectFileName"
18					DisplayName="Object File Name"
19					Description="Specifies the name of the output object file.     (-o [file])"
20					Switch="-o &quot;[value]&quot;"
21					DefaultValue="$(IntDir)\$(InputName).obj"
22				/>
23				<EnumProperty
24					Name="Optimization"
25					DisplayName="Branch Offset Optimization"
26					Description="Optimize branch offsets.     (-O[digit])"
27					>
28					<Values>
29						<EnumValue
30							Value="0"
31							Switch="-O0"
32							DisplayName="Do not optimize (-O0)"
33						/>
34						<EnumValue
35							Value="1"
36							Switch="-O1"
37							DisplayName="Optimize (-O1)"
38						/>
39					</Values>
40				</EnumProperty>
41				<StringProperty
42					Name="IncludePath"
43					DisplayName="Include Path"
44					Description="Adds a pathname to the include file path.     (-I[path])"
45					Switch="-I&quot;[value]&quot;"
46					Delimited="true"
47				/>
48				<EnumProperty
49					Name="ObjectFileFormat"
50					DisplayName="Object File Format"
51					Description="Set the object file format.     (-f [format])"
52					DefaultValue="8"
53					>
54					<Values>
55						<EnumValue
56							Value="0"
57							Switch="-f bin"
58							DisplayName="Flat-form binary files (e.g. DOS .COM, .SYS)"
59						/>
60						<EnumValue
61							Value="1"
62							Switch="-f aout"
63							DisplayName="Linux a.out object files"
64						/>
65						<EnumValue
66							Value="2"
67							Switch="-f aoutb"
68							DisplayName="NetBSD/FreeBSD a.out object files"
69						/>
70						<EnumValue
71							Value="3"
72							Switch="-f coff"
73							DisplayName="COFF (i386) object files (e.g. DJGPP for DOS)"
74						/>
75						<EnumValue
76							Value="4"
77							Switch="-f elf32"
78							DisplayName="ELF32 (i386) object files (e.g. Linux)"
79						/>
80						<EnumValue
81							Value="5"
82							Switch="-f elf64"
83							DisplayName="ELF64 (x86_64) object files (e.g. Linux)"
84						/>
85						<EnumValue
86							Value="6"
87							Switch="-f as86"
88							DisplayName="Linux as86 (bin86 version 0.3) object files"
89						/>
90						<EnumValue
91							Value="7"
92							Switch="-f obj"
93							DisplayName="MS-DOS 16-bit/32-bit OMF object files"
94						/>
95						<EnumValue
96							Value="8"
97							Switch="-f win32"
98							DisplayName="Microsoft Win32 (i386) object files"
99						/>
100						<EnumValue
101							Value="9"
102							Switch="-f win64"
103							DisplayName="Microsoft Win64 (x86-64) object files"
104						/>
105						<EnumValue
106							Value="10"
107							Switch="-f rdf"
108							DisplayName="Relocatable Dynamic Object File Format v2.0"
109						/>
110						<EnumValue
111							Value="11"
112							Switch="-f ieee"
113							DisplayName="IEEE-695 (LADsoft variant) object file format"
114						/>
115						<EnumValue
116							Value="12"
117							Switch="-f macho"
118							DisplayName="NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X object files"
119						/>
120					</Values>
121				</EnumProperty>
122				<EnumProperty
123					Name="ErrorReportingFormat"
124					DisplayName="Error Reporting Format"
125					Description="Specifies error reporting format.     (-X[format])"
126					DefaultValue="1"
127					>
128					<Values>
129						<EnumValue
130							Value="0"
131							Switch="-Xgnu"
132							DisplayName="GNU"
133						/>
134						<EnumValue
135							Value="1"
136							Switch="-Xvc"
137							DisplayName="Microsoft Visual C++"
138						/>
139					</Values>
140				</EnumProperty>
141				<BooleanProperty
142					Name="TreatWarningsAsErrors"
143					DisplayName="Treat Warnings As Errors"
144					Description="Returns an error code if warnings are generated.     (-w+error)"
145					Switch="-w+error"
146				/>
147				<BooleanProperty
148					Name="DisableOrphanLabelsWarning"
149					DisplayName="Disable Orphan Labels Warning"
150					Description="Disable warning when labels alone on lines without trailing &apos;:&apos; are found.     (-w-orphan-labels)"
151					Switch="-w-orphan-labels"
152				/>
153				<StringProperty
154					Name="PreprocessorDefinitions"
155					DisplayName="Preprocessor Definitions"
156					Description="Defines a text macro with the given name.     (-D[symbol][=value])"
157					Switch="-D[value]"
158				/>
159				<BooleanProperty
160					Name="GenerateDebugInfo"
161					DisplayName="Generate Debug Info"
162					Description="Generate debug information in selected format. (-g)"
163					Switch="-g"
164				/>
165			</Properties>
166		</CustomBuildRule>
167	</Rules>
168</VisualStudioToolFile>
169