Imported Upstream version 2.8.12.2
[platform/upstream/cmake.git] / Source / cmVS12LinkFlagTable.h
1 static cmVS7FlagTable cmVS12LinkFlagTable[] =
2 {
3
4   //Enum Properties
5   {"ShowProgress", "",
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},
19
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},
26
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},
35
36   {"UACExecutionLevel", "level='asInvoker'",
37    "asInvoker", "AsInvoker", 0},
38   {"UACExecutionLevel", "level='highestAvailable'",
39    "highestAvailable", "HighestAvailable", 0},
40   {"UACExecutionLevel", "level='requireAdministrator'",
41    "requireAdministrator", "RequireAdministrator", 0},
42
43   {"SubSystem", "",
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:POSIX",
60    "POSIX", "POSIX", 0},
61
62   {"Driver", "",
63    "Not Set", "NotSet", 0},
64   {"Driver", "Driver",
65    "Driver", "Driver", 0},
66   {"Driver", "DRIVER:UPONLY",
67    "UP Only", "UpOnly", 0},
68   {"Driver", "DRIVER:WDM",
69    "WDM", "WDM", 0},
70
71   {"LinkTimeCodeGeneration", "",
72    "Default", "Default", 0},
73   {"LinkTimeCodeGeneration", "LTCG",
74    "Use Link Time Code Generation", "UseLinkTimeCodeGeneration", 0},
75   {"LinkTimeCodeGeneration", "LTCG:PGInstrument",
76    "Profile Guided Optimization - Instrument", "PGInstrument", 0},
77   {"LinkTimeCodeGeneration", "LTCG:PGOptimize",
78    "Profile Guided Optimization - Optimization", "PGOptimization", 0},
79   {"LinkTimeCodeGeneration", "LTCG:PGUpdate",
80    "Profile Guided Optimization - Update", "PGUpdate", 0},
81
82   {"GenerateWindowsMetadata", "WINMD",
83    "Yes", "true", 0},
84   {"GenerateWindowsMetadata", "WINMD:NO",
85    "No", "false", 0},
86
87   {"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA1",
88    "SHA1", "SHA1", 0},
89   {"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA256",
90    "SHA256", "SHA256", 0},
91   {"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA384",
92    "SHA384", "SHA384", 0},
93   {"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA512",
94    "SHA512", "SHA512", 0},
95
96   {"TargetMachine", "",
97    "Not Set", "NotSet", 0},
98   {"TargetMachine", "MACHINE:ARM",
99    "MachineARM", "MachineARM", 0},
100   {"TargetMachine", "MACHINE:EBC",
101    "MachineEBC", "MachineEBC", 0},
102   {"TargetMachine", "MACHINE:IA64",
103    "MachineIA64", "MachineIA64", 0},
104   {"TargetMachine", "MACHINE:MIPS",
105    "MachineMIPS", "MachineMIPS", 0},
106   {"TargetMachine", "MACHINE:MIPS16",
107    "MachineMIPS16", "MachineMIPS16", 0},
108   {"TargetMachine", "MACHINE:MIPSFPU",
109    "MachineMIPSFPU", "MachineMIPSFPU", 0},
110   {"TargetMachine", "MACHINE:MIPSFPU16",
111    "MachineMIPSFPU16", "MachineMIPSFPU16", 0},
112   {"TargetMachine", "MACHINE:SH4",
113    "MachineSH4", "MachineSH4", 0},
114   {"TargetMachine", "MACHINE:THUMB",
115    "MachineTHUMB", "MachineTHUMB", 0},
116   {"TargetMachine", "MACHINE:X64",
117    "MachineX64", "MachineX64", 0},
118   {"TargetMachine", "MACHINE:X86",
119    "MachineX86", "MachineX86", 0},
120
121   {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA",
122    "MTA threading attribute", "MTAThreadingAttribute", 0},
123   {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA",
124    "STA threading attribute", "STAThreadingAttribute", 0},
125   {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE",
126    "Default threading attribute", "DefaultThreadingAttribute", 0},
127
128   {"CLRImageType", "CLRIMAGETYPE:IJW",
129    "Force IJW image", "ForceIJWImage", 0},
130   {"CLRImageType", "CLRIMAGETYPE:PURE",
131    "Force Pure IL Image", "ForcePureILImage", 0},
132   {"CLRImageType", "CLRIMAGETYPE:SAFE",
133    "Force Safe IL Image", "ForceSafeILImage", 0},
134   {"CLRImageType", "",
135    "Default image type", "Default", 0},
136
137   {"SignHash", "CLRSIGNHASH:SHA1",
138    "SHA1", "SHA1", 0},
139   {"SignHash", "CLRSIGNHASH:SHA256",
140    "SHA256", "SHA256", 0},
141   {"SignHash", "CLRSIGNHASH:SHA384",
142    "SHA384", "SHA384", 0},
143   {"SignHash", "CLRSIGNHASH:SHA512",
144    "SHA512", "SHA512", 0},
145
146   {"LinkErrorReporting", "ERRORREPORT:PROMPT",
147    "PromptImmediately", "PromptImmediately", 0},
148   {"LinkErrorReporting", "ERRORREPORT:QUEUE",
149    "Queue For Next Login", "QueueForNextLogin", 0},
150   {"LinkErrorReporting", "ERRORREPORT:SEND",
151    "Send Error Report", "SendErrorReport", 0},
152   {"LinkErrorReporting", "ERRORREPORT:NONE",
153    "No Error Report", "NoErrorReport", 0},
154
155   {"CLRSupportLastError", "CLRSupportLastError",
156    "Enabled", "Enabled", 0},
157   {"CLRSupportLastError", "CLRSupportLastError:NO",
158    "Disabled", "Disabled", 0},
159   {"CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL",
160    "System Dlls Only", "SystemDlls", 0},
161
162
163   //Bool Properties
164   {"LinkIncremental", "INCREMENTAL:NO", "", "false", 0},
165   {"LinkIncremental", "INCREMENTAL", "", "true", 0},
166   {"SuppressStartupBanner", "NOLOGO", "", "true", 0},
167   {"LinkStatus", "LTCG:NOSTATUS", "", "false", 0},
168   {"LinkStatus", "LTCG:STATUS", "", "true", 0},
169   {"PreventDllBinding", "ALLOWBIND:NO", "", "false", 0},
170   {"PreventDllBinding", "ALLOWBIND", "", "true", 0},
171   {"TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0},
172   {"TreatLinkerWarningAsErrors", "WX", "", "true", 0},
173   {"IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0},
174   {"GenerateManifest", "MANIFEST:NO", "", "false", 0},
175   {"GenerateManifest", "MANIFEST", "", "true", 0},
176   {"AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0},
177   {"UACUIAccess", "uiAccess='false'", "", "false", 0},
178   {"UACUIAccess", "uiAccess='true'", "", "true", 0},
179   {"ManifestEmbed", "manifest:embed", "", "true", 0},
180   {"GenerateDebugInformation", "DEBUG", "", "true", 0},
181   {"MapExports", "MAPINFO:EXPORTS", "", "true", 0},
182   {"AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0},
183   {"AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0},
184   {"LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0},
185   {"LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0},
186   {"TerminalServerAware", "TSAWARE:NO", "", "false", 0},
187   {"TerminalServerAware", "TSAWARE", "", "true", 0},
188   {"SwapRunFromCD", "SWAPRUN:CD", "", "true", 0},
189   {"SwapRunFromNET", "SWAPRUN:NET", "", "true", 0},
190   {"OptimizeReferences", "OPT:NOREF", "", "false", 0},
191   {"OptimizeReferences", "OPT:REF", "", "true", 0},
192   {"EnableCOMDATFolding", "OPT:NOICF", "", "false", 0},
193   {"EnableCOMDATFolding", "OPT:ICF", "", "true", 0},
194   {"IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0},
195   {"AppContainer", "APPCONTAINER", "", "true", 0},
196   {"WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN:NO", "", "false", 0},
197   {"WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN", "", "true", 0},
198   {"NoEntryPoint", "NOENTRY", "", "true", 0},
199   {"SetChecksum", "RELEASE", "", "true", 0},
200   {"RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0},
201   {"RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0},
202   {"FixedBaseAddress", "FIXED:NO", "", "false", 0},
203   {"FixedBaseAddress", "FIXED", "", "true", 0},
204   {"DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0},
205   {"DataExecutionPrevention", "NXCOMPAT", "", "true", 0},
206   {"TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0},
207   {"SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0},
208   {"SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0},
209   {"Profile", "PROFILE", "", "true", 0},
210   {"LinkDelaySign", "DELAYSIGN:NO", "", "false", 0},
211   {"LinkDelaySign", "DELAYSIGN", "", "true", 0},
212   {"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0},
213   {"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0},
214   {"DetectOneDefinitionRule", "ODR", "", "true", 0},
215   {"ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0},
216   {"ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0},
217   {"LinkDLL", "DLL", "", "true", 0},
218
219   //Bool Properties With Argument
220   {"EnableUAC", "MANIFESTUAC:NO", "", "false",
221    cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
222   {"EnableUAC", "MANIFESTUAC:NO", "Enable User Account Control (UAC)", "",
223    cmVS7FlagTable::UserValueRequired},
224   {"EnableUAC", "MANIFESTUAC:", "", "true",
225    cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
226   {"UACUIAccess", "MANIFESTUAC:", "Enable User Account Control (UAC)", "",
227    cmVS7FlagTable::UserValueRequired},
228   {"GenerateMapFile", "MAP", "", "true",
229    cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
230   {"MapFileName", "MAP:", "Generate Map File", "",
231    cmVS7FlagTable::UserValueRequired},
232
233   //String List Properties
234   {"AdditionalLibraryDirectories", "LIBPATH:",
235    "Additional Library Directories",
236    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
237   // Skip [AdditionalDependencies] - no command line Switch.
238   {"IgnoreSpecificDefaultLibraries", "NODEFAULTLIB:",
239    "Ignore Specific Default Libraries",
240    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
241   {"AddModuleNamesToAssembly", "ASSEMBLYMODULE:",
242    "Add Module to Assembly",
243    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
244   {"EmbedManagedResourceFile", "ASSEMBLYRESOURCE:",
245    "Embed Managed Resource File",
246    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
247   {"ForceSymbolReferences", "INCLUDE:",
248    "Force Symbol References",
249    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
250   {"DelayLoadDLLs", "DELAYLOAD:",
251    "Delay Loaded Dlls",
252    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
253   {"AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:",
254    "Assembly Link Resource",
255    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
256   {"AdditionalManifestDependencies", "MANIFESTDEPENDENCY:",
257    "Additional Manifest Dependencies",
258    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
259   {"ManifestInput", "manifestinput:",
260    "Manifest Input",
261    "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
262
263   //String Properties
264   {"OutputFile", "OUT:",
265    "Output File",
266    "", cmVS7FlagTable::UserValue},
267   {"Version", "VERSION:",
268    "Version",
269    "", cmVS7FlagTable::UserValue},
270   {"SpecifySectionAttributes", "SECTION:",
271    "Specify Section Attributes",
272    "", cmVS7FlagTable::UserValue},
273   {"MSDOSStubFileName", "STUB:",
274    "MS-DOS Stub File Name",
275    "", cmVS7FlagTable::UserValue},
276   // Skip [TrackerLogDirectory] - no command line Switch.
277   {"ModuleDefinitionFile", "DEF:",
278    "Module Definition File",
279    "", cmVS7FlagTable::UserValue},
280   {"ManifestFile", "ManifestFile:",
281    "Manifest File",
282    "", cmVS7FlagTable::UserValue},
283   {"ProgramDatabaseFile", "PDB:",
284    "Generate Program Database File",
285    "", cmVS7FlagTable::UserValue},
286   {"StripPrivateSymbols", "PDBSTRIPPED:",
287    "Strip Private Symbols",
288    "", cmVS7FlagTable::UserValue},
289   // Skip [MapFileName] - no command line Switch.
290   // Skip [MinimumRequiredVersion] - no command line Switch.
291   {"HeapReserveSize", "HEAP:",
292    "Heap Reserve Size",
293    "", cmVS7FlagTable::UserValue},
294   // Skip [HeapCommitSize] - no command line Switch.
295   {"StackReserveSize", "STACK:",
296    "Stack Reserve Size",
297    "", cmVS7FlagTable::UserValue},
298   // Skip [StackCommitSize] - no command line Switch.
299   {"FunctionOrder", "ORDER:@",
300    "Function Order",
301    "", cmVS7FlagTable::UserValue},
302   {"ProfileGuidedDatabase", "PGD:",
303    "Profile Guided Database",
304    "", cmVS7FlagTable::UserValue},
305   {"MidlCommandFile", "MIDL:@",
306    "MIDL Commands",
307    "", cmVS7FlagTable::UserValue},
308   {"MergedIDLBaseFileName", "IDLOUT:",
309    "Merged IDL Base File Name",
310    "", cmVS7FlagTable::UserValue},
311   {"TypeLibraryFile", "TLBOUT:",
312    "Type Library",
313    "", cmVS7FlagTable::UserValue},
314   {"WindowsMetadataFile", "WINMDFILE:",
315    "Windows Metadata File",
316    "", cmVS7FlagTable::UserValue},
317   {"WindowsMetadataLinkKeyFile", "WINMDKEYFILE:",
318    "Windows Metadata Key File",
319    "", cmVS7FlagTable::UserValue},
320   {"WindowsMetadataKeyContainer", "WINMDKEYCONTAINER:",
321    "Windows Metadata Key Container",
322    "", cmVS7FlagTable::UserValue},
323   {"EntryPointSymbol", "ENTRY:",
324    "Entry Point",
325    "", cmVS7FlagTable::UserValue},
326   {"BaseAddress", "BASE:",
327    "Base Address",
328    "", cmVS7FlagTable::UserValue},
329   {"ImportLibrary", "IMPLIB:",
330    "Import Library",
331    "", cmVS7FlagTable::UserValue},
332   {"MergeSections", "MERGE:",
333    "Merge Sections",
334    "", cmVS7FlagTable::UserValue},
335   {"LinkKeyFile", "KEYFILE:",
336    "Key File",
337    "", cmVS7FlagTable::UserValue},
338   {"KeyContainer", "KEYCONTAINER:",
339    "Key Container",
340    "", cmVS7FlagTable::UserValue},
341   // Skip [AdditionalOptions] - no command line Switch.
342   {0,0,0,0,0}
343 };