VS: Generate MASM flag tables from MSBuild tool files
Run cmparseMSBuildXML.py on masm.xml to generate our flag tables: python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/BuildCustomizations/masm.xml" > cmVS10MASMFlagTable.h python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V110/BuildCustomizations/masm.xml" > cmVS11MASMFlagTable.h python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V120/BuildCustomizations/masm.xml" > cmVS12MASMFlagTable.h python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/V140/BuildCustomizations/masm.xml" > cmVS14MASMFlagTable.h Fix up the declaration names at the top of each file.
This commit is contained in:
parent
4f6940df8c
commit
1d662e4806
|
@ -0,0 +1,96 @@
|
|||
static cmVS7FlagTable cmVS10MASMFlagTable[] =
|
||||
{
|
||||
|
||||
//Enum Properties
|
||||
{"PreserveIdentifierCase", "",
|
||||
"Default", "0", 0},
|
||||
{"PreserveIdentifierCase", "/Cp",
|
||||
"Preserves Identifier Case (/Cp)", "1", 0},
|
||||
{"PreserveIdentifierCase", "/Cu",
|
||||
"Maps all identifiers to upper case. (/Cu)", "2", 0},
|
||||
{"PreserveIdentifierCase", "/Cx",
|
||||
"Preserves case in public and extern symbols. (/Cx)", "3", 0},
|
||||
|
||||
{"WarningLevel", "/W0",
|
||||
"Warning Level 0 (/W0)", "0", 0},
|
||||
{"WarningLevel", "/W1",
|
||||
"Warning Level 1 (/W1)", "1", 0},
|
||||
{"WarningLevel", "/W2",
|
||||
"Warning Level 2 (/W2)", "2", 0},
|
||||
{"WarningLevel", "/W3",
|
||||
"Warning Level 3 (/W3)", "3", 0},
|
||||
|
||||
{"PackAlignmentBoundary", "",
|
||||
"Default", "0", 0},
|
||||
{"PackAlignmentBoundary", "/Zp1",
|
||||
"One Byte Boundary (/Zp1)", "1", 0},
|
||||
{"PackAlignmentBoundary", "/Zp2",
|
||||
"Two Byte Boundary (/Zp2)", "2", 0},
|
||||
{"PackAlignmentBoundary", "/Zp4",
|
||||
"Four Byte Boundary (/Zp4)", "3", 0},
|
||||
{"PackAlignmentBoundary", "/Zp8",
|
||||
"Eight Byte Boundary (/Zp8)", "4", 0},
|
||||
{"PackAlignmentBoundary", "/Zp16",
|
||||
"Sixteen Byte Boundary (/Zp16)", "5", 0},
|
||||
|
||||
{"CallingConvention", "",
|
||||
"Default", "0", 0},
|
||||
{"CallingConvention", "/Gd",
|
||||
"Use C-style Calling Convention (/Gd)", "1", 0},
|
||||
{"CallingConvention", "/Gz",
|
||||
"Use stdcall Calling Convention (/Gz)", "2", 0},
|
||||
{"CallingConvention", "/Gc",
|
||||
"Use Pascal Calling Convention (/Gc)", "3", 0},
|
||||
|
||||
{"ErrorReporting", "/errorReport:prompt",
|
||||
"Prompt to send report immediately (/errorReport:prompt)", "0", 0},
|
||||
{"ErrorReporting", "/errorReport:queue",
|
||||
"Prompt to send report at the next logon (/errorReport:queue)", "1", 0},
|
||||
{"ErrorReporting", "/errorReport:send",
|
||||
"Automatically send report (/errorReport:send)", "2", 0},
|
||||
{"ErrorReporting", "/errorReport:none",
|
||||
"Do not send report (/errorReport:none)", "3", 0},
|
||||
|
||||
|
||||
//Bool Properties
|
||||
{"NoLogo", "/nologo", "", "true", 0},
|
||||
{"GeneratePreprocessedSourceListing", "/EP", "", "true", 0},
|
||||
{"ListAllAvailableInformation", "/Sa", "", "true", 0},
|
||||
{"UseSafeExceptionHandlers", "/safeseh", "", "true", 0},
|
||||
{"AddFirstPassListing", "/Sf", "", "true", 0},
|
||||
{"EnableAssemblyGeneratedCodeListing", "/Sg", "", "true", 0},
|
||||
{"DisableSymbolTable", "/Sn", "", "true", 0},
|
||||
{"EnableFalseConditionalsInListing", "/Sx", "", "true", 0},
|
||||
{"TreatWarningsAsErrors", "/WX", "", "true", 0},
|
||||
{"MakeAllSymbolsPublic", "/Zf", "", "true", 0},
|
||||
{"GenerateDebugInformation", "/Zi", "", "true", 0},
|
||||
{"EnableMASM51Compatibility", "/Zm", "", "true", 0},
|
||||
{"PerformSyntaxCheckOnly", "/Zs", "", "true", 0},
|
||||
|
||||
//Bool Properties With Argument
|
||||
|
||||
//String List Properties
|
||||
{"PreprocessorDefinitions", "/D"[value]"",
|
||||
"Preprocessor Definitions",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"IncludePaths", "/I "[value]"",
|
||||
"Include Paths",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"BrowseFile", "/FR"[value]"",
|
||||
"Generate Browse Information File",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
// Skip [AdditionalDependencies] - no command line Switch.
|
||||
|
||||
//String Properties
|
||||
// Skip [Inputs] - no command line Switch.
|
||||
{"ObjectFileName", "/Fo"[value]"",
|
||||
"Object File Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"AssembledCodeListingFile", "/Fl"[value]"",
|
||||
"Assembled Code Listing File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [CommandLineTemplate] - no command line Switch.
|
||||
// Skip [ExecutionDescription] - no command line Switch.
|
||||
// Skip [AdditionalOptions] - no command line Switch.
|
||||
{0,0,0,0,0}
|
||||
};
|
|
@ -0,0 +1,96 @@
|
|||
static cmVS7FlagTable cmVS11MASMFlagTable[] =
|
||||
{
|
||||
|
||||
//Enum Properties
|
||||
{"PreserveIdentifierCase", "",
|
||||
"Default", "0", 0},
|
||||
{"PreserveIdentifierCase", "/Cp",
|
||||
"Preserves Identifier Case (/Cp)", "1", 0},
|
||||
{"PreserveIdentifierCase", "/Cu",
|
||||
"Maps all identifiers to upper case. (/Cu)", "2", 0},
|
||||
{"PreserveIdentifierCase", "/Cx",
|
||||
"Preserves case in public and extern symbols. (/Cx)", "3", 0},
|
||||
|
||||
{"WarningLevel", "/W0",
|
||||
"Warning Level 0 (/W0)", "0", 0},
|
||||
{"WarningLevel", "/W1",
|
||||
"Warning Level 1 (/W1)", "1", 0},
|
||||
{"WarningLevel", "/W2",
|
||||
"Warning Level 2 (/W2)", "2", 0},
|
||||
{"WarningLevel", "/W3",
|
||||
"Warning Level 3 (/W3)", "3", 0},
|
||||
|
||||
{"PackAlignmentBoundary", "",
|
||||
"Default", "0", 0},
|
||||
{"PackAlignmentBoundary", "/Zp1",
|
||||
"One Byte Boundary (/Zp1)", "1", 0},
|
||||
{"PackAlignmentBoundary", "/Zp2",
|
||||
"Two Byte Boundary (/Zp2)", "2", 0},
|
||||
{"PackAlignmentBoundary", "/Zp4",
|
||||
"Four Byte Boundary (/Zp4)", "3", 0},
|
||||
{"PackAlignmentBoundary", "/Zp8",
|
||||
"Eight Byte Boundary (/Zp8)", "4", 0},
|
||||
{"PackAlignmentBoundary", "/Zp16",
|
||||
"Sixteen Byte Boundary (/Zp16)", "5", 0},
|
||||
|
||||
{"CallingConvention", "",
|
||||
"Default", "0", 0},
|
||||
{"CallingConvention", "/Gd",
|
||||
"Use C-style Calling Convention (/Gd)", "1", 0},
|
||||
{"CallingConvention", "/Gz",
|
||||
"Use stdcall Calling Convention (/Gz)", "2", 0},
|
||||
{"CallingConvention", "/Gc",
|
||||
"Use Pascal Calling Convention (/Gc)", "3", 0},
|
||||
|
||||
{"ErrorReporting", "/errorReport:prompt",
|
||||
"Prompt to send report immediately (/errorReport:prompt)", "0", 0},
|
||||
{"ErrorReporting", "/errorReport:queue",
|
||||
"Prompt to send report at the next logon (/errorReport:queue)", "1", 0},
|
||||
{"ErrorReporting", "/errorReport:send",
|
||||
"Automatically send report (/errorReport:send)", "2", 0},
|
||||
{"ErrorReporting", "/errorReport:none",
|
||||
"Do not send report (/errorReport:none)", "3", 0},
|
||||
|
||||
|
||||
//Bool Properties
|
||||
{"NoLogo", "/nologo", "", "true", 0},
|
||||
{"GeneratePreprocessedSourceListing", "/EP", "", "true", 0},
|
||||
{"ListAllAvailableInformation", "/Sa", "", "true", 0},
|
||||
{"UseSafeExceptionHandlers", "/safeseh", "", "true", 0},
|
||||
{"AddFirstPassListing", "/Sf", "", "true", 0},
|
||||
{"EnableAssemblyGeneratedCodeListing", "/Sg", "", "true", 0},
|
||||
{"DisableSymbolTable", "/Sn", "", "true", 0},
|
||||
{"EnableFalseConditionalsInListing", "/Sx", "", "true", 0},
|
||||
{"TreatWarningsAsErrors", "/WX", "", "true", 0},
|
||||
{"MakeAllSymbolsPublic", "/Zf", "", "true", 0},
|
||||
{"GenerateDebugInformation", "/Zi", "", "true", 0},
|
||||
{"EnableMASM51Compatibility", "/Zm", "", "true", 0},
|
||||
{"PerformSyntaxCheckOnly", "/Zs", "", "true", 0},
|
||||
|
||||
//Bool Properties With Argument
|
||||
|
||||
//String List Properties
|
||||
{"PreprocessorDefinitions", "/D"[value]"",
|
||||
"Preprocessor Definitions",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"IncludePaths", "/I "[value]"",
|
||||
"Include Paths",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"BrowseFile", "/FR"[value]"",
|
||||
"Generate Browse Information File",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
// Skip [AdditionalDependencies] - no command line Switch.
|
||||
|
||||
//String Properties
|
||||
// Skip [Inputs] - no command line Switch.
|
||||
{"ObjectFileName", "/Fo"[value]"",
|
||||
"Object File Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"AssembledCodeListingFile", "/Fl"[value]"",
|
||||
"Assembled Code Listing File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [CommandLineTemplate] - no command line Switch.
|
||||
// Skip [ExecutionDescription] - no command line Switch.
|
||||
// Skip [AdditionalOptions] - no command line Switch.
|
||||
{0,0,0,0,0}
|
||||
};
|
|
@ -0,0 +1,96 @@
|
|||
static cmVS7FlagTable cmVS12MASMFlagTable[] =
|
||||
{
|
||||
|
||||
//Enum Properties
|
||||
{"PreserveIdentifierCase", "",
|
||||
"Default", "0", 0},
|
||||
{"PreserveIdentifierCase", "/Cp",
|
||||
"Preserves Identifier Case (/Cp)", "1", 0},
|
||||
{"PreserveIdentifierCase", "/Cu",
|
||||
"Maps all identifiers to upper case. (/Cu)", "2", 0},
|
||||
{"PreserveIdentifierCase", "/Cx",
|
||||
"Preserves case in public and extern symbols. (/Cx)", "3", 0},
|
||||
|
||||
{"WarningLevel", "/W0",
|
||||
"Warning Level 0 (/W0)", "0", 0},
|
||||
{"WarningLevel", "/W1",
|
||||
"Warning Level 1 (/W1)", "1", 0},
|
||||
{"WarningLevel", "/W2",
|
||||
"Warning Level 2 (/W2)", "2", 0},
|
||||
{"WarningLevel", "/W3",
|
||||
"Warning Level 3 (/W3)", "3", 0},
|
||||
|
||||
{"PackAlignmentBoundary", "",
|
||||
"Default", "0", 0},
|
||||
{"PackAlignmentBoundary", "/Zp1",
|
||||
"One Byte Boundary (/Zp1)", "1", 0},
|
||||
{"PackAlignmentBoundary", "/Zp2",
|
||||
"Two Byte Boundary (/Zp2)", "2", 0},
|
||||
{"PackAlignmentBoundary", "/Zp4",
|
||||
"Four Byte Boundary (/Zp4)", "3", 0},
|
||||
{"PackAlignmentBoundary", "/Zp8",
|
||||
"Eight Byte Boundary (/Zp8)", "4", 0},
|
||||
{"PackAlignmentBoundary", "/Zp16",
|
||||
"Sixteen Byte Boundary (/Zp16)", "5", 0},
|
||||
|
||||
{"CallingConvention", "",
|
||||
"Default", "0", 0},
|
||||
{"CallingConvention", "/Gd",
|
||||
"Use C-style Calling Convention (/Gd)", "1", 0},
|
||||
{"CallingConvention", "/Gz",
|
||||
"Use stdcall Calling Convention (/Gz)", "2", 0},
|
||||
{"CallingConvention", "/Gc",
|
||||
"Use Pascal Calling Convention (/Gc)", "3", 0},
|
||||
|
||||
{"ErrorReporting", "/errorReport:prompt",
|
||||
"Prompt to send report immediately (/errorReport:prompt)", "0", 0},
|
||||
{"ErrorReporting", "/errorReport:queue",
|
||||
"Prompt to send report at the next logon (/errorReport:queue)", "1", 0},
|
||||
{"ErrorReporting", "/errorReport:send",
|
||||
"Automatically send report (/errorReport:send)", "2", 0},
|
||||
{"ErrorReporting", "/errorReport:none",
|
||||
"Do not send report (/errorReport:none)", "3", 0},
|
||||
|
||||
|
||||
//Bool Properties
|
||||
{"NoLogo", "/nologo", "", "true", 0},
|
||||
{"GeneratePreprocessedSourceListing", "/EP", "", "true", 0},
|
||||
{"ListAllAvailableInformation", "/Sa", "", "true", 0},
|
||||
{"UseSafeExceptionHandlers", "/safeseh", "", "true", 0},
|
||||
{"AddFirstPassListing", "/Sf", "", "true", 0},
|
||||
{"EnableAssemblyGeneratedCodeListing", "/Sg", "", "true", 0},
|
||||
{"DisableSymbolTable", "/Sn", "", "true", 0},
|
||||
{"EnableFalseConditionalsInListing", "/Sx", "", "true", 0},
|
||||
{"TreatWarningsAsErrors", "/WX", "", "true", 0},
|
||||
{"MakeAllSymbolsPublic", "/Zf", "", "true", 0},
|
||||
{"GenerateDebugInformation", "/Zi", "", "true", 0},
|
||||
{"EnableMASM51Compatibility", "/Zm", "", "true", 0},
|
||||
{"PerformSyntaxCheckOnly", "/Zs", "", "true", 0},
|
||||
|
||||
//Bool Properties With Argument
|
||||
|
||||
//String List Properties
|
||||
{"PreprocessorDefinitions", "/D"[value]"",
|
||||
"Preprocessor Definitions",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"IncludePaths", "/I "[value]"",
|
||||
"Include Paths",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"BrowseFile", "/FR"[value]"",
|
||||
"Generate Browse Information File",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
// Skip [AdditionalDependencies] - no command line Switch.
|
||||
|
||||
//String Properties
|
||||
// Skip [Inputs] - no command line Switch.
|
||||
{"ObjectFileName", "/Fo"[value]"",
|
||||
"Object File Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"AssembledCodeListingFile", "/Fl"[value]"",
|
||||
"Assembled Code Listing File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [CommandLineTemplate] - no command line Switch.
|
||||
// Skip [ExecutionDescription] - no command line Switch.
|
||||
// Skip [AdditionalOptions] - no command line Switch.
|
||||
{0,0,0,0,0}
|
||||
};
|
|
@ -0,0 +1,96 @@
|
|||
static cmVS7FlagTable cmVS14MASMFlagTable[] =
|
||||
{
|
||||
|
||||
//Enum Properties
|
||||
{"PreserveIdentifierCase", "",
|
||||
"Default", "0", 0},
|
||||
{"PreserveIdentifierCase", "/Cp",
|
||||
"Preserves Identifier Case (/Cp)", "1", 0},
|
||||
{"PreserveIdentifierCase", "/Cu",
|
||||
"Maps all identifiers to upper case. (/Cu)", "2", 0},
|
||||
{"PreserveIdentifierCase", "/Cx",
|
||||
"Preserves case in public and extern symbols. (/Cx)", "3", 0},
|
||||
|
||||
{"WarningLevel", "/W0",
|
||||
"Warning Level 0 (/W0)", "0", 0},
|
||||
{"WarningLevel", "/W1",
|
||||
"Warning Level 1 (/W1)", "1", 0},
|
||||
{"WarningLevel", "/W2",
|
||||
"Warning Level 2 (/W2)", "2", 0},
|
||||
{"WarningLevel", "/W3",
|
||||
"Warning Level 3 (/W3)", "3", 0},
|
||||
|
||||
{"PackAlignmentBoundary", "",
|
||||
"Default", "0", 0},
|
||||
{"PackAlignmentBoundary", "/Zp1",
|
||||
"One Byte Boundary (/Zp1)", "1", 0},
|
||||
{"PackAlignmentBoundary", "/Zp2",
|
||||
"Two Byte Boundary (/Zp2)", "2", 0},
|
||||
{"PackAlignmentBoundary", "/Zp4",
|
||||
"Four Byte Boundary (/Zp4)", "3", 0},
|
||||
{"PackAlignmentBoundary", "/Zp8",
|
||||
"Eight Byte Boundary (/Zp8)", "4", 0},
|
||||
{"PackAlignmentBoundary", "/Zp16",
|
||||
"Sixteen Byte Boundary (/Zp16)", "5", 0},
|
||||
|
||||
{"CallingConvention", "",
|
||||
"Default", "0", 0},
|
||||
{"CallingConvention", "/Gd",
|
||||
"Use C-style Calling Convention (/Gd)", "1", 0},
|
||||
{"CallingConvention", "/Gz",
|
||||
"Use stdcall Calling Convention (/Gz)", "2", 0},
|
||||
{"CallingConvention", "/Gc",
|
||||
"Use Pascal Calling Convention (/Gc)", "3", 0},
|
||||
|
||||
{"ErrorReporting", "/errorReport:prompt",
|
||||
"Prompt to send report immediately (/errorReport:prompt)", "0", 0},
|
||||
{"ErrorReporting", "/errorReport:queue",
|
||||
"Prompt to send report at the next logon (/errorReport:queue)", "1", 0},
|
||||
{"ErrorReporting", "/errorReport:send",
|
||||
"Automatically send report (/errorReport:send)", "2", 0},
|
||||
{"ErrorReporting", "/errorReport:none",
|
||||
"Do not send report (/errorReport:none)", "3", 0},
|
||||
|
||||
|
||||
//Bool Properties
|
||||
{"NoLogo", "/nologo", "", "true", 0},
|
||||
{"GeneratePreprocessedSourceListing", "/EP", "", "true", 0},
|
||||
{"ListAllAvailableInformation", "/Sa", "", "true", 0},
|
||||
{"UseSafeExceptionHandlers", "/safeseh", "", "true", 0},
|
||||
{"AddFirstPassListing", "/Sf", "", "true", 0},
|
||||
{"EnableAssemblyGeneratedCodeListing", "/Sg", "", "true", 0},
|
||||
{"DisableSymbolTable", "/Sn", "", "true", 0},
|
||||
{"EnableFalseConditionalsInListing", "/Sx", "", "true", 0},
|
||||
{"TreatWarningsAsErrors", "/WX", "", "true", 0},
|
||||
{"MakeAllSymbolsPublic", "/Zf", "", "true", 0},
|
||||
{"GenerateDebugInformation", "/Zi", "", "true", 0},
|
||||
{"EnableMASM51Compatibility", "/Zm", "", "true", 0},
|
||||
{"PerformSyntaxCheckOnly", "/Zs", "", "true", 0},
|
||||
|
||||
//Bool Properties With Argument
|
||||
|
||||
//String List Properties
|
||||
{"PreprocessorDefinitions", "/D"[value]"",
|
||||
"Preprocessor Definitions",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"IncludePaths", "/I "[value]"",
|
||||
"Include Paths",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
{"BrowseFile", "/FR"[value]"",
|
||||
"Generate Browse Information File",
|
||||
"", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
|
||||
// Skip [AdditionalDependencies] - no command line Switch.
|
||||
|
||||
//String Properties
|
||||
// Skip [Inputs] - no command line Switch.
|
||||
{"ObjectFileName", "/Fo"[value]"",
|
||||
"Object File Name",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
{"AssembledCodeListingFile", "/Fl"[value]"",
|
||||
"Assembled Code Listing File",
|
||||
"", cmVS7FlagTable::UserValue},
|
||||
// Skip [CommandLineTemplate] - no command line Switch.
|
||||
// Skip [ExecutionDescription] - no command line Switch.
|
||||
// Skip [AdditionalOptions] - no command line Switch.
|
||||
{0,0,0,0,0}
|
||||
};
|
Loading…
Reference in New Issue