1 static cmVS7FlagTable cmVS10LinkFlagTable[] =
6 "Not Set", "NotSet", 0},
7 {"ShowProgress", "VERBOSE",
8 "Display all progress messages", "LinkVerbose", 0},
9 {"ShowProgress", "VERBOSE:Lib",
10 "For Libraries Searched", "LinkVerboseLib", 0},
11 {"ShowProgress", "VERBOSE:ICF",
12 "About COMDAT folding during optimized linking", "LinkVerboseICF", 0},
13 {"ShowProgress", "VERBOSE:REF",
14 "About data removed during optimized linking", "LinkVerboseREF", 0},
15 {"ShowProgress", "VERBOSE:SAFESEH",
16 "About Modules incompatible with SEH", "LinkVerboseSAFESEH", 0},
17 {"ShowProgress", "VERBOSE:CLR",
18 "About linker activity related to managed code", "LinkVerboseCLR", 0},
20 {"ForceFileOutput", "FORCE",
21 "Enabled", "Enabled", 0},
22 {"ForceFileOutput", "FORCE:MULTIPLE",
23 "Multiply Defined Symbol Only", "MultiplyDefinedSymbolOnly", 0},
24 {"ForceFileOutput", "FORCE:UNRESOLVED",
25 "Undefined Symbol Only", "UndefinedSymbolOnly", 0},
27 {"CreateHotPatchableImage", "FUNCTIONPADMIN",
28 "Enabled", "Enabled", 0},
29 {"CreateHotPatchableImage", "FUNCTIONPADMIN:5",
30 "X86 Image Only", "X86Image", 0},
31 {"CreateHotPatchableImage", "FUNCTIONPADMIN:6",
32 "X64 Image Only", "X64Image", 0},
33 {"CreateHotPatchableImage", "FUNCTIONPADMIN:16",
34 "Itanium Image Only", "ItaniumImage", 0},
36 {"UACExecutionLevel", "level='asInvoker'",
37 "asInvoker", "AsInvoker", 0},
38 {"UACExecutionLevel", "level='highestAvailable'",
39 "highestAvailable", "HighestAvailable", 0},
40 {"UACExecutionLevel", "level='requireAdministrator'",
41 "requireAdministrator", "RequireAdministrator", 0},
44 "Not Set", "NotSet", 0},
45 {"SubSystem", "SUBSYSTEM:CONSOLE",
46 "Console", "Console", 0},
47 {"SubSystem", "SUBSYSTEM:WINDOWS",
48 "Windows", "Windows", 0},
49 {"SubSystem", "SUBSYSTEM:NATIVE",
50 "Native", "Native", 0},
51 {"SubSystem", "SUBSYSTEM:EFI_APPLICATION",
52 "EFI Application", "EFI Application", 0},
53 {"SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER",
54 "EFI Boot Service Driver", "EFI Boot Service Driver", 0},
55 {"SubSystem", "SUBSYSTEM:EFI_ROM",
56 "EFI ROM", "EFI ROM", 0},
57 {"SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER",
58 "EFI Runtime", "EFI Runtime", 0},
59 {"SubSystem", "SUBSYSTEM:WINDOWSCE",
60 "WindowsCE", "WindowsCE", 0},
61 {"SubSystem", "SUBSYSTEM:POSIX",
65 "Not Set", "NotSet", 0},
67 "Driver", "Driver", 0},
68 {"Driver", "DRIVER:UPONLY",
69 "UP Only", "UpOnly", 0},
70 {"Driver", "DRIVER:WDM",
73 {"LinkTimeCodeGeneration", "",
74 "Default", "Default", 0},
75 {"LinkTimeCodeGeneration", "LTCG",
76 "Use Link Time Code Generation", "UseLinkTimeCodeGeneration", 0},
77 {"LinkTimeCodeGeneration", "LTCG:PGInstrument",
78 "Profile Guided Optimization - Instrument", "PGInstrument", 0},
79 {"LinkTimeCodeGeneration", "LTCG:PGOptimize",
80 "Profile Guided Optimization - Optimization", "PGOptimization", 0},
81 {"LinkTimeCodeGeneration", "LTCG:PGUpdate",
82 "Profile Guided Optimization - Update", "PGUpdate", 0},
85 "Not Set", "NotSet", 0},
86 {"TargetMachine", "MACHINE:ARM",
87 "MachineARM", "MachineARM", 0},
88 {"TargetMachine", "MACHINE:EBC",
89 "MachineEBC", "MachineEBC", 0},
90 {"TargetMachine", "MACHINE:IA64",
91 "MachineIA64", "MachineIA64", 0},
92 {"TargetMachine", "MACHINE:MIPS",
93 "MachineMIPS", "MachineMIPS", 0},
94 {"TargetMachine", "MACHINE:MIPS16",
95 "MachineMIPS16", "MachineMIPS16", 0},
96 {"TargetMachine", "MACHINE:MIPSFPU",
97 "MachineMIPSFPU", "MachineMIPSFPU", 0},
98 {"TargetMachine", "MACHINE:MIPSFPU16",
99 "MachineMIPSFPU16", "MachineMIPSFPU16", 0},
100 {"TargetMachine", "MACHINE:SH4",
101 "MachineSH4", "MachineSH4", 0},
102 {"TargetMachine", "MACHINE:THUMB",
103 "MachineTHUMB", "MachineTHUMB", 0},
104 {"TargetMachine", "MACHINE:X64",
105 "MachineX64", "MachineX64", 0},
106 {"TargetMachine", "MACHINE:X86",
107 "MachineX86", "MachineX86", 0},
109 {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA",
110 "MTA threading attribute", "MTAThreadingAttribute", 0},
111 {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA",
112 "STA threading attribute", "STAThreadingAttribute", 0},
113 {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE",
114 "Default threading attribute", "DefaultThreadingAttribute", 0},
116 {"CLRImageType", "CLRIMAGETYPE:IJW",
117 "Force IJW image", "ForceIJWImage", 0},
118 {"CLRImageType", "CLRIMAGETYPE:PURE",
119 "Force Pure IL Image", "ForcePureILImage", 0},
120 {"CLRImageType", "CLRIMAGETYPE:SAFE",
121 "Force Safe IL Image", "ForceSafeILImage", 0},
123 "Default image type", "Default", 0},
125 {"LinkErrorReporting", "ERRORREPORT:PROMPT",
126 "PromptImmediately", "PromptImmediately", 0},
127 {"LinkErrorReporting", "ERRORREPORT:QUEUE",
128 "Queue For Next Login", "QueueForNextLogin", 0},
129 {"LinkErrorReporting", "ERRORREPORT:SEND",
130 "Send Error Report", "SendErrorReport", 0},
131 {"LinkErrorReporting", "ERRORREPORT:NONE",
132 "No Error Report", "NoErrorReport", 0},
134 {"CLRSupportLastError", "CLRSupportLastError",
135 "Enabled", "Enabled", 0},
136 {"CLRSupportLastError", "CLRSupportLastError:NO",
137 "Disabled", "Disabled", 0},
138 {"CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL",
139 "System Dlls Only", "SystemDlls", 0},
143 {"LinkIncremental", "INCREMENTAL:NO", "", "false", 0},
144 {"LinkIncremental", "INCREMENTAL", "", "true", 0},
145 {"SuppressStartupBanner", "NOLOGO", "", "true", 0},
146 {"LinkStatus", "LTCG:NOSTATUS", "", "false", 0},
147 {"LinkStatus", "LTCG:STATUS", "", "true", 0},
148 {"PreventDllBinding", "ALLOWBIND:NO", "", "false", 0},
149 {"PreventDllBinding", "ALLOWBIND", "", "true", 0},
150 {"TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0},
151 {"TreatLinkerWarningAsErrors", "WX", "", "true", 0},
152 {"IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0},
153 {"GenerateManifest", "MANIFEST:NO", "", "false", 0},
154 {"GenerateManifest", "MANIFEST", "", "true", 0},
155 {"AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0},
156 {"UACUIAccess", "uiAccess='false'", "", "false", 0},
157 {"UACUIAccess", "uiAccess='true'", "", "true", 0},
158 {"GenerateDebugInformation", "DEBUG", "", "true", 0},
159 {"MapExports", "MAPINFO:EXPORTS", "", "true", 0},
160 {"AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0},
161 {"AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0},
162 {"LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0},
163 {"LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0},
164 {"TerminalServerAware", "TSAWARE:NO", "", "false", 0},
165 {"TerminalServerAware", "TSAWARE", "", "true", 0},
166 {"SwapRunFromCD", "SWAPRUN:CD", "", "true", 0},
167 {"SwapRunFromNET", "SWAPRUN:NET", "", "true", 0},
168 {"OptimizeReferences", "OPT:NOREF", "", "false", 0},
169 {"OptimizeReferences", "OPT:REF", "", "true", 0},
170 {"EnableCOMDATFolding", "OPT:NOICF", "", "false", 0},
171 {"EnableCOMDATFolding", "OPT:ICF", "", "true", 0},
172 {"IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0},
173 {"NoEntryPoint", "NOENTRY", "", "true", 0},
174 {"SetChecksum", "RELEASE", "", "true", 0},
175 {"RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0},
176 {"RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0},
177 {"FixedBaseAddress", "FIXED:NO", "", "false", 0},
178 {"FixedBaseAddress", "FIXED", "", "true", 0},
179 {"DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0},
180 {"DataExecutionPrevention", "NXCOMPAT", "", "true", 0},
181 {"TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0},
182 {"SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0},
183 {"SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0},
184 {"Profile", "PROFILE", "", "true", 0},
185 {"DelaySign", "DELAYSIGN:NO", "", "false", 0},
186 {"DelaySign", "DELAYSIGN", "", "true", 0},
187 {"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0},
188 {"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0},
189 {"ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0},
190 {"ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0},
191 {"LinkDLL", "DLL", "", "true", 0},
193 //Bool Properties With Argument
194 {"EnableUAC", "MANIFESTUAC:NO", "", "false",
195 cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
196 {"EnableUAC", "MANIFESTUAC:NO", "Enable User Account Control (UAC)", "",
197 cmVS7FlagTable::UserValueRequired},
198 {"EnableUAC", "MANIFESTUAC:", "", "true",
199 cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
200 {"UACUIAccess", "MANIFESTUAC:", "Enable User Account Control (UAC)", "",
201 cmVS7FlagTable::UserValueRequired},
202 {"GenerateMapFile", "MAP", "", "true",
203 cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
204 {"MapFileName", "MAP", "Generate Map File", "",
205 cmVS7FlagTable::UserValueRequired},
207 //String List Properties
208 {"AdditionalLibraryDirectories", "LIBPATH:",
209 "Additional Library Directories",
210 "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
211 // Skip [AdditionalDependencies] - no command line Switch.
212 {"IgnoreSpecificDefaultLibraries", "NODEFAULTLIB:",
213 "Ignore Specific Default Libraries",
214 "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
215 {"AddModuleNamesToAssembly", "ASSEMBLYMODULE:",
216 "Add Module to Assembly",
217 "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
218 {"EmbedManagedResourceFile", "ASSEMBLYRESOURCE:",
219 "Embed Managed Resource File",
220 "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
221 {"ForceSymbolReferences", "INCLUDE:",
222 "Force Symbol References",
223 "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
224 {"DelayLoadDLLs", "DELAYLOAD:",
226 "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
227 {"AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:",
228 "Assembly Link Resource",
229 "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
230 {"AdditionalManifestDependencies", "MANIFESTDEPENDENCY:",
231 "Additional Manifest Dependencies",
232 "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
235 {"OutputFile", "OUT:",
237 "", cmVS7FlagTable::UserValue},
238 {"Version", "VERSION:",
240 "", cmVS7FlagTable::UserValue},
241 {"SpecifySectionAttributes", "SECTION:",
242 "Specify Section Attributes",
243 "", cmVS7FlagTable::UserValue},
244 {"MSDOSStubFileName", "STUB:",
245 "MS-DOS Stub File Name",
246 "", cmVS7FlagTable::UserValue},
247 // Skip [TrackerLogDirectory] - no command line Switch.
248 {"ModuleDefinitionFile", "DEF:",
249 "Module Definition File",
250 "", cmVS7FlagTable::UserValue},
251 {"ManifestFile", "ManifestFile:",
253 "", cmVS7FlagTable::UserValue},
254 {"ProgramDatabaseFile", "PDB:",
255 "Generate Program Database File",
256 "", cmVS7FlagTable::UserValue},
257 {"StripPrivateSymbols", "PDBSTRIPPED:",
258 "Strip Private Symbols",
259 "", cmVS7FlagTable::UserValue},
260 // Skip [MapFileName] - no command line Switch.
261 // Skip [MinimumRequiredVersion] - no command line Switch.
262 {"HeapReserveSize", "HEAP:",
264 "", cmVS7FlagTable::UserValue},
265 // Skip [HeapCommitSize] - no command line Switch.
266 {"StackReserveSize", "STACK:",
267 "Stack Reserve Size",
268 "", cmVS7FlagTable::UserValue},
269 // Skip [StackCommitSize] - no command line Switch.
270 {"FunctionOrder", "ORDER:@",
272 "", cmVS7FlagTable::UserValue},
273 {"ProfileGuidedDatabase", "PGD:",
274 "Profile Guided Database",
275 "", cmVS7FlagTable::UserValue},
276 {"MidlCommandFile", "MIDL:@",
278 "", cmVS7FlagTable::UserValue},
279 {"MergedIDLBaseFileName", "IDLOUT:",
280 "Merged IDL Base File Name",
281 "", cmVS7FlagTable::UserValue},
282 {"TypeLibraryFile", "TLBOUT:",
284 "", cmVS7FlagTable::UserValue},
285 {"EntryPointSymbol", "ENTRY:",
287 "", cmVS7FlagTable::UserValue},
288 {"BaseAddress", "BASE:",
290 "", cmVS7FlagTable::UserValue},
291 {"ImportLibrary", "IMPLIB:",
293 "", cmVS7FlagTable::UserValue},
294 {"MergeSections", "MERGE:",
296 "", cmVS7FlagTable::UserValue},
297 {"KeyFile", "KEYFILE:",
299 "", cmVS7FlagTable::UserValue},
300 {"KeyContainer", "KEYCONTAINER:",
302 "", cmVS7FlagTable::UserValue},
303 // Skip [AdditionalOptions] - no command line Switch.