cmVS10LinkFlagTable.h 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. static cmVS7FlagTable cmVS10LinkFlagTable[] =
  2. {
  3. //Enum Properties
  4. {"ShowProgress", "", "Not Set", "NotSet", 0},
  5. {"ShowProgress", "VERBOSE", "Display all progress messages", "LinkVerbose", 0},
  6. {"ShowProgress", "VERBOSE:Lib", "For Libraries Searched", "LinkVerboseLib", 0},
  7. {"ShowProgress", "VERBOSE:ICF", "About COMDAT folding during optimized linking", "LinkVerboseICF", 0},
  8. {"ShowProgress", "VERBOSE:REF", "About data removed during optimized linking", "LinkVerboseREF", 0},
  9. {"ShowProgress", "VERBOSE:SAFESEH", "About Modules incompatible with SEH", "LinkVerboseSAFESEH", 0},
  10. {"ShowProgress", "VERBOSE:CLR", "About linker activity related to managed code", "LinkVerboseCLR", 0},
  11. {"ForceFileOutput", "FORCE", "Enabled", "Enabled", 0},
  12. {"ForceFileOutput", "FORCE:MULTIPLE", "Multiply Defined Symbol Only", "MultiplyDefinedSymbolOnly", 0},
  13. {"ForceFileOutput", "FORCE:UNRESOLVED", "Undefined Symbol Only", "UndefinedSymbolOnly", 0},
  14. {"CreateHotPatchableImage", "FUNCTIONPADMIN", "Enabled", "Enabled", 0},
  15. {"CreateHotPatchableImage", "FUNCTIONPADMIN:5", "X86 Image Only", "X86Image", 0},
  16. {"CreateHotPatchableImage", "FUNCTIONPADMIN:6", "X64 Image Only", "X64Image", 0},
  17. {"CreateHotPatchableImage", "FUNCTIONPADMIN:16", "Itanium Image Only", "ItaniumImage", 0},
  18. {"UACExecutionLevel", "level='asInvoker'", "asInvoker", "AsInvoker", 0},
  19. {"UACExecutionLevel", "level='highestAvailable'", "highestAvailable", "HighestAvailable", 0},
  20. {"UACExecutionLevel", "level='requireAdministrator'", "requireAdministrator", "RequireAdministrator", 0},
  21. {"SubSystem", "", "Not Set", "NotSet", 0},
  22. {"SubSystem", "SUBSYSTEM:CONSOLE", "Console", "Console", 0},
  23. {"SubSystem", "SUBSYSTEM:WINDOWS", "Windows", "Windows", 0},
  24. {"SubSystem", "SUBSYSTEM:NATIVE", "Native", "Native", 0},
  25. {"SubSystem", "SUBSYSTEM:EFI_APPLICATION", "EFI Application", "EFI Application", 0},
  26. {"SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER", "EFI Boot Service Driver", "EFI Boot Service Driver", 0},
  27. {"SubSystem", "SUBSYSTEM:EFI_ROM", "EFI ROM", "EFI ROM", 0},
  28. {"SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER", "EFI Runtime", "EFI Runtime", 0},
  29. {"SubSystem", "SUBSYSTEM:WINDOWSCE", "WindowsCE", "WindowsCE", 0},
  30. {"SubSystem", "SUBSYSTEM:POSIX", "POSIX", "POSIX", 0},
  31. {"Driver", "", "Not Set", "NotSet", 0},
  32. {"Driver", "Driver", "Driver", "Driver", 0},
  33. {"Driver", "DRIVER:UPONLY", "UP Only", "UpOnly", 0},
  34. {"Driver", "DRIVER:WDM", "WDM", "WDM", 0},
  35. {"LinkTimeCodeGeneration", "", "Default", "Default", 0},
  36. {"LinkTimeCodeGeneration", "LTCG", "Use Link Time Code Generation", "UseLinkTimeCodeGeneration", 0},
  37. {"LinkTimeCodeGeneration", "LTCG:PGInstrument", "Profile Guided Optimization - Instrument", "PGInstrument", 0},
  38. {"LinkTimeCodeGeneration", "LTCG:PGOptimize", "Profile Guided Optimization - Optimization", "PGOptimization", 0},
  39. {"LinkTimeCodeGeneration", "LTCG:PGUpdate", "Profile Guided Optimization - Update", "PGUpdate", 0},
  40. {"TargetMachine", "", "Not Set", "NotSet", 0},
  41. {"TargetMachine", "MACHINE:ARM", "MachineARM", "MachineARM", 0},
  42. {"TargetMachine", "MACHINE:EBC", "MachineEBC", "MachineEBC", 0},
  43. {"TargetMachine", "MACHINE:IA64", "MachineIA64", "MachineIA64", 0},
  44. {"TargetMachine", "MACHINE:MIPS", "MachineMIPS", "MachineMIPS", 0},
  45. {"TargetMachine", "MACHINE:MIPS16", "MachineMIPS16", "MachineMIPS16", 0},
  46. {"TargetMachine", "MACHINE:MIPSFPU", "MachineMIPSFPU", "MachineMIPSFPU", 0},
  47. {"TargetMachine", "MACHINE:MIPSFPU16", "MachineMIPSFPU16", "MachineMIPSFPU16", 0},
  48. {"TargetMachine", "MACHINE:SH4", "MachineSH4", "MachineSH4", 0},
  49. {"TargetMachine", "MACHINE:THUMB", "MachineTHUMB", "MachineTHUMB", 0},
  50. {"TargetMachine", "MACHINE:X64", "MachineX64", "MachineX64", 0},
  51. {"TargetMachine", "MACHINE:X86", "MachineX86", "MachineX86", 0},
  52. {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA", "MTA threading attribute", "MTAThreadingAttribute", 0},
  53. {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA", "STA threading attribute", "STAThreadingAttribute", 0},
  54. {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE", "Default threading attribute", "DefaultThreadingAttribute", 0},
  55. {"CLRImageType", "CLRIMAGETYPE:IJW", "Force IJW image", "ForceIJWImage", 0},
  56. {"CLRImageType", "CLRIMAGETYPE:PURE", "Force Pure IL Image", "ForcePureILImage", 0},
  57. {"CLRImageType", "CLRIMAGETYPE:SAFE", "Force Safe IL Image", "ForceSafeILImage", 0},
  58. {"CLRImageType", "", "Default image type", "Default", 0},
  59. {"LinkErrorReporting", "ERRORREPORT:PROMPT", "PromptImmediately", "PromptImmediately", 0},
  60. {"LinkErrorReporting", "ERRORREPORT:QUEUE", "Queue For Next Login", "QueueForNextLogin", 0},
  61. {"LinkErrorReporting", "ERRORREPORT:SEND", "Send Error Report", "SendErrorReport", 0},
  62. {"LinkErrorReporting", "ERRORREPORT:NONE", "No Error Report", "NoErrorReport", 0},
  63. {"CLRSupportLastError", "CLRSupportLastError", "Enabled", "Enabled", 0},
  64. {"CLRSupportLastError", "CLRSupportLastError:NO", "Disabled", "Disabled", 0},
  65. {"CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL", "System Dlls Only", "SystemDlls", 0},
  66. //Bool Properties
  67. {"LinkIncremental", "INCREMENTAL:NO", "", "false", 0},
  68. {"LinkIncremental", "INCREMENTAL", "", "true", 0},
  69. {"SuppressStartupBanner", "NOLOGO", "", "true", 0},
  70. {"LinkStatus", "LTCG:NOSTATUS", "", "false", 0},
  71. {"LinkStatus", "LTCG:STATUS", "", "true", 0},
  72. {"PreventDllBinding", "ALLOWBIND:NO", "", "false", 0},
  73. {"PreventDllBinding", "ALLOWBIND", "", "true", 0},
  74. {"TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0},
  75. {"TreatLinkerWarningAsErrors", "WX", "", "true", 0},
  76. {"IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0},
  77. {"GenerateManifest", "MANIFEST:NO", "", "false", 0},
  78. {"GenerateManifest", "MANIFEST", "", "true", 0},
  79. {"AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0},
  80. {"UACUIAccess", "uiAccess='false'", "", "false", 0},
  81. {"UACUIAccess", "uiAccess='true'", "", "true", 0},
  82. {"GenerateDebugInformation", "DEBUG", "", "true", 0},
  83. {"MapExports", "MAPINFO:EXPORTS", "", "true", 0},
  84. {"AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0},
  85. {"AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0},
  86. {"LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0},
  87. {"LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0},
  88. {"TerminalServerAware", "TSAWARE:NO", "", "false", 0},
  89. {"TerminalServerAware", "TSAWARE", "", "true", 0},
  90. {"SwapRunFromCD", "SWAPRUN:CD", "", "true", 0},
  91. {"SwapRunFromNET", "SWAPRUN:NET", "", "true", 0},
  92. {"OptimizeReferences", "OPT:NOREF", "", "false", 0},
  93. {"OptimizeReferences", "OPT:REF", "", "true", 0},
  94. {"EnableCOMDATFolding", "OPT:NOICF", "", "false", 0},
  95. {"EnableCOMDATFolding", "OPT:ICF", "", "true", 0},
  96. {"IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0},
  97. {"NoEntryPoint", "NOENTRY", "", "true", 0},
  98. {"SetChecksum", "RELEASE", "", "true", 0},
  99. {"RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0},
  100. {"RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0},
  101. {"FixedBaseAddress", "FIXED:NO", "", "false", 0},
  102. {"FixedBaseAddress", "FIXED", "", "true", 0},
  103. {"DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0},
  104. {"DataExecutionPrevention", "NXCOMPAT", "", "true", 0},
  105. {"TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0},
  106. {"SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0},
  107. {"SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0},
  108. {"Profile", "PROFILE", "", "true", 0},
  109. {"DelaySign", "DELAYSIGN:NO", "", "false", 0},
  110. {"DelaySign", "DELAYSIGN", "", "true", 0},
  111. {"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0},
  112. {"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0},
  113. {"ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0},
  114. {"ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0},
  115. {"LinkDLL", "DLL", "", "true", 0},
  116. //Bool Properties With Argument
  117. {"EnableUAC", "MANIFESTUAC:NO", "", "false", cmVS7FlagTable::Continue},
  118. {"EnableUAC", "MANIFESTUAC:NO", "Enable User Account Control (UAC)", "", cmVS7FlagTable::UserValueRequired},
  119. {"EnableUAC", "MANIFESTUAC:", "", "true", cmVS7FlagTable::Continue},
  120. {"UACUIAccess", "MANIFESTUAC:", "Enable User Account Control (UAC)", "", cmVS7FlagTable::UserValueRequired},
  121. {"GenerateMapFile", "MAP", "", "true", cmVS7FlagTable::Continue},
  122. {"MapFileName", "MAP", "Generate Map File", "", cmVS7FlagTable::UserValueRequired},
  123. //String List Properties
  124. {"AdditionalLibraryDirectories", "LIBPATH:", "Additional Library Directories", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
  125. // {"AdditionalDependencies", "", "Additional Dependencies", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
  126. {"IgnoreSpecificDefaultLibraries", "NODEFAULTLIB:", "Ignore Specific Default Libraries", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
  127. {"AddModuleNamesToAssembly", "ASSEMBLYMODULE:", "Add Module to Assembly", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
  128. {"EmbedManagedResourceFile", "ASSEMBLYRESOURCE:", "Embed Managed Resource File", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
  129. {"ForceSymbolReferences", "INCLUDE:", "Force Symbol References", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
  130. {"DelayLoadDLLs", "DELAYLOAD:", "Delay Loaded Dlls", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
  131. {"AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:", "Assembly Link Resource", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
  132. {"AdditionalManifestDependencies", "MANIFESTDEPENDENCY:", "Additional Manifest Dependencies", "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
  133. {0,0,0,0,0}
  134. };