Public Member Functions | |
delegate void | AdderSerializable (System.Xml.Serialization.IXmlSerializable arg) |
override void | AppendBooCode (List< string > booCodeLines, string indention, BuildToolFamilyEnv env) |
override void | AppendToBooPreamble (BuildToolFamilyEnv env, List< string > importModules, List< string > booDeclarations, List< string > booDefinitions) |
bool | AreAllMandatoryVarsDefined () |
void | CollectChoicePoints (IDictionary< string, ICollection< string >> collectionOfChoicePoints) |
void | CollectChoicePoints (IDictionary< string, ICollection< string >> collectionOfChoicePoints) |
bool | ContainsPrerequisite (IBuildProduct prereq) |
virtual bool | ContainsPrerequisite (IBuildProduct prereq) |
IBuildAction | Create (BuildToolFamilyEnv env, IBuildProduct target, ICollection< IBuildProduct > prerequisites) |
bool | Execute (BuildToolFamilyEnv env, DateTime validityOfBuildSystem) |
GccAsCompiler () | |
CollectionOfIncludePaths | GetIncludePaths (BuildToolFamilyEnv env, CxxParameters parameters) |
override ICollection < IBuildProduct > | GetPrerequisites () |
override ProcessStartInfo | GetProgramStartInfo (BuildToolFamilyEnv env) |
override ICollection < IBuildProduct > | GetTargets () |
DateTime | GetValidity () |
virtual DateTime | GetValidity () |
DateTime | GetValidityDemand () |
virtual DateTime | GetValidityDemand () |
DateTime | GetValidityTargets () |
bool | MayContentFilePrerequisitesSuffice (ContentType target, ICollection< ContentType > prerequisites) |
bool | TargetsAreConsistent (DateTime validityOfBuildSystem) |
virtual bool | TargetsAreConsistent (DateTime validityOfBuildSystem) |
Static Public Member Functions | |
static bool | ReadCollection (System.Xml.XmlReader reader, AdderSerializable collectorForResults, string outerElementName, string innerElementName) |
static System.Xml.Serialization.IXmlSerializable | ReadSerializable (System.Xml.XmlReader reader, string elementName) |
static void | WriteCollectionOfSerializables (System.Xml.XmlWriter writer, System.Collections.IEnumerable serializables, string outerElementName, string innerElementName) |
static void | WriteSerializable (System.Xml.XmlWriter writer, System.Xml.Serialization.IXmlSerializable obj, string elementName) |
Static Public Attributes | |
static readonly string | ToolFamilyName = "GNU" |
static readonly string | ToolName = "gcc-c" |
Protected Member Functions | |
void | ReadProject (System.Xml.XmlReader reader) |
void | WriteProject (System.Xml.XmlWriter writer) |
Properties | |
IBuildActionProvider | ActionProvider [get] |
ICollection < OperatingSystem > | ApplicableOSs [get] |
ICollection < ContentType > | ContentFileTargets [get] |
string | Description [get] |
FeatureList | Features [get] |
virtual FeatureList | Features [get] |
string | FileName [get] |
bool | IsAvailable [get] |
string | Name [get] |
ICollection< Type > | ParameterTypes [get] |
virtual ICollection < Type > | ParameterTypes [get] |
ActionPriority | Priority [get] |
BuildProject | Project [get, set] |
BuildProject | Project [get, set] |
string | ToolFamily [get] |
override IDictionary < string, EnvironmentVarInfo > | UsedVars [get] |
This will use System.Environment.OSVersion.Platform to identify whether this is MingW. Everything except System.PlatformID.Linux will trigger the MinGW settings.
wx.Build.Cxx.GCC.GccAsCompiler.GccAsCompiler | ( | ) |
Creates an instance that can be used as IBuildActionProvider.
delegate void wx.Build.BaseAction.AdderSerializable | ( | System.Xml.Serialization.IXmlSerializable | arg | ) | [inherited] |
Will be called in ReadCollection() if a new object has been found.
arg | The object that has been found. |
override void wx.Build.Cxx.GCC.GccAsCompiler.AppendBooCode | ( | List< string > | booCodeLines, | |
string | indention, | |||
BuildToolFamilyEnv | env | |||
) | [virtual] |
This method will create BOO source code and append this code to the provided text writer.
env | This is an environment that different tools of the same family may use to exchange information. This store is typically used to save information on configuration files or thinsgs of that kind that will be shared among all tools of the same family. | |
booCode | The code that will actually build something. Each list entry will be a line of code in the resulting BOO program. | |
indention | A string that shall preceed all created lines. |
NotSupportedException | Will be thrown if this feature is not supported. |
Reimplemented from wx.Build.BaseAction.
override void wx.Build.Cxx.GCC.GccAsCompiler.AppendToBooPreamble | ( | BuildToolFamilyEnv | env, | |
List< string > | importModules, | |||
List< string > | booDeclarations, | |||
List< string > | booDefinitions | |||
) | [virtual] |
This will be called for any action provider before IBuildAction.AppendBooCode() is called. This provides action providers with the opportunity to import modules and create variables for global options.
env | Environment containing status that can be shared among tools of the same family. | |
importModules | List of modules that shall be imported. Add required modules here. Each module will be imported exactly once (even if it occurs more than once in the list). | |
booDeclarations | Lines of code that will be added to the preamble of the BOO code. Please note, that each line may only appear once. All subsequent additions of this line of code will be ignored. These lines shall contain declarations of variables etc. | |
booDefinitions | Lines of code that that will be added before the code provided by the actions to build the system. Typically, this will contain the definition of functions that are used on building. Lines starting with "import" will only be added once to the final code. |
RunMsLink
receiving all objects that shall be linked.
Reimplemented from wx.Build.BaseAction.
bool wx.Build.BaseAction.AreAllMandatoryVarsDefined | ( | ) | [inherited] |
True iff all mandatory environment variables are defined. The project cannot be made if this is false.
void wx.Build.IBuildAction.CollectChoicePoints | ( | IDictionary< string, ICollection< string >> | collectionOfChoicePoints | ) | [inherited] |
This method collects all choice points within this action. Choice points are represented by a name and a collection of alternatives.
collectionOfChoicePoints | The collection that will be extended by the choice points of this action. |
if (!collectionOfChoicePoints.ContainsKey("CppDevelopmentSystem")) collectionOfChoicePoints.Add("CppDevelopmentSystem", new List<string>()); collectionOfChoicePoints["CppDevelopmentSystem"].Add("GCC"); collectionOfChoicePoints["CppDevelopmentSystem"].Add("MS VC");
Implemented in wx.Build.AlternativeBuildActions, wx.Build.SequenceOfBuildActions, and wx.Build.NamedAction.
void wx.Build.BaseAction.CollectChoicePoints | ( | IDictionary< string, ICollection< string >> | collectionOfChoicePoints | ) | [inherited] |
This method collects all choice points within this action. Choice points are represented by a name and a collection of alternatives.
collectionOfChoicePoints | The collection that will be extended by the choice points of this action. |
if (!collectionOfChoicePoints.ContainsKey("CppDevelopmentSystem")) collectionOfChoicePoints.Add("CppDevelopmentSystem", new List<string>()); collectionOfChoicePoints["CppDevelopmentSystem"].Add("GCC"); collectionOfChoicePoints["CppDevelopmentSystem"].Add("MS VC");
bool wx.Build.IBuildAction.ContainsPrerequisite | ( | IBuildProduct | prereq | ) | [inherited] |
True iff prereq
is among the GetPrerequisites().
Implemented in wx.Build.AlternativeBuildActions, wx.Build.SequenceOfBuildActions, wx.Build.NamedAction, wx.Build.Net.CSharpCodeProvider, wx.Build.Cxx.GCC.WindRes, wx.Build.Mono.Gmcs, wx.Build.MS.Cl, wx.Build.MS.Link, wx.Build.MS.RC, and wx.Build.MS.Csc.
virtual bool wx.Build.BaseAction.ContainsPrerequisite | ( | IBuildProduct | prereq | ) | [virtual, inherited] |
True iff prereq
is among the GetPrerequisites().
Reimplemented in wx.Build.Net.CSharpAssemblyProject, wx.Build.Net.CSharpCodeProvider, wx.Build.Cxx.GCC.WindRes, wx.Build.Mono.Gmcs, wx.Build.MS.Cl, wx.Build.MS.Link, wx.Build.MS.RC, wx.Build.MS.Csc, and wx.Build.Cxx.wxWidgets.
IBuildAction wx.Build.Cxx.GCC.GccAsCompiler.Create | ( | BuildToolFamilyEnv | env, | |
IBuildProduct | target, | |||
ICollection< IBuildProduct > | prerequisites | |||
) |
This will create an action producing the provided target presupposing a subset of the provided prerequisite.
env | A collection of key/value-pairs that will be shared among all the tools of the same family. | |
target | The target that shall be produced | |
prerequisites | The prerequisites that can be assumed to be given before running the action. |
Implements wx.Build.IBuildActionProvider.
bool wx.Build.Cxx.GCC.GccAsCompiler.Execute | ( | BuildToolFamilyEnv | env, | |
DateTime | validityOfBuildSystem | |||
) |
Executes FileName
using the start info as produced by GetProgramStartInfo().
env | Some data that tools of the same family may share. | |
validityOfBuildSystem | The validity stating when the build system (definition of the projects) have been changed. |
Implements wx.Build.IBuildAction.
CollectionOfIncludePaths wx.Build.Cxx.GCC.GccAsCompiler.GetIncludePaths | ( | BuildToolFamilyEnv | env, | |
CxxParameters | parameters | |||
) |
Creates a collection of include paths from the provided parameters and environment.
env | The result will be read from key "INCLUDE" or, if not present, the result will be stored there. | |
parameters | Include paths will be read from this argument (and the corresponding options) if not already stores. |
parameters
may be null
. In that case, this will consider the current standard parameter.
override ICollection<IBuildProduct> wx.Build.Cxx.GCC.GccAsCompiler.GetPrerequisites | ( | ) | [virtual] |
Collection of the prerequisites of this action. This will contain include files and the source.
Implements wx.Build.BaseAction.
override ProcessStartInfo wx.Build.Cxx.GCC.GccAsCompiler.GetProgramStartInfo | ( | BuildToolFamilyEnv | env | ) | [virtual] |
Creates the call of the GCC as compiler.
env | Data structure that allows tools of the same family to share information. |
Reimplemented from wx.Build.BaseAction.
override ICollection<IBuildProduct> wx.Build.Cxx.GCC.GccAsCompiler.GetTargets | ( | ) | [virtual] |
Returns the target in a collection.
Implements wx.Build.BaseAction.
DateTime wx.Build.IBuildObject.GetValidity | ( | ) | [inherited] |
Returns validity timstamp of this object. Whenever this is equal or later than all prerequisites, this is considered consistent with the prerequisites on rebuilding.
Implemented in wx.Build.FeatureList, wx.Build.AlternativeBuildActions, wx.Build.SequenceOfBuildActions, wx.Build.NamedAction, wx.Build.RefToProject, wx.Build.ContentFile, wx.Build.ContentFiles, wx.Build.FileSelector, wx.Build.FileProducts, and wx.Build.ResourceDesignator.
virtual DateTime wx.Build.BaseAction.GetValidity | ( | ) | [virtual, inherited] |
This is the timestamp representing how current the prerequisites are. The standard implementation will use be the latest validity of a prerequisite.
Reimplemented in wx.Build.BuildProject, and wx.Build.Cxx.wxWidgets.
DateTime wx.Build.IBuildObject.GetValidityDemand | ( | ) | [inherited] |
This is the counterpart of the Validity
. If this occurs as a prerequisite, this shall be compared with the Validity of the target in order to assess whether rebuild is necessary or not.
Implemented in wx.Build.FeatureList, wx.Build.AlternativeBuildActions, wx.Build.SequenceOfBuildActions, wx.Build.NamedAction, wx.Build.RefToProject, wx.Build.ContentFile, wx.Build.ContentFiles, wx.Build.FileSelector, wx.Build.FileProducts, and wx.Build.ResourceDesignator.
virtual DateTime wx.Build.BaseAction.GetValidityDemand | ( | ) | [virtual, inherited] |
This is the timestamp representing the latest change of a prerequisite. The standard implementation will use be the latest validity of a prerequisite.
Reimplemented in wx.Build.BuildProject, and wx.Build.Cxx.wxWidgets.
DateTime wx.Build.BaseAction.GetValidityTargets | ( | ) | [inherited] |
This is the earliest validiy of a target.
bool wx.Build.Cxx.GCC.GccAsCompiler.MayContentFilePrerequisitesSuffice | ( | ContentType | target, | |
ICollection< ContentType > | prerequisites | |||
) |
This returns true
iff the described action is likely to produce the specified target provided that the specified prerequisites are available.
Implements wx.Build.IBuildActionProvider.
static bool wx.Build.BaseAction.ReadCollection | ( | System.Xml.XmlReader | reader, | |
AdderSerializable | collectorForResults, | |||
string | outerElementName, | |||
string | innerElementName | |||
) | [static, inherited] |
Reads a collection of serializable objects from the provided XML source.
reader | XML source | |
collectorForResults | This will add the created results to this collection. | |
outerElementName | name of the XML element that will embrace all elements. | |
innerElementName | Name of the XML element that contains the information of a single serialized object. |
void wx.Build.BaseAction.ReadProject | ( | System.Xml.XmlReader | reader | ) | [protected, inherited] |
Reads the features as serialized by WriteFeatures().
reader | The source of serialized data |
static System.Xml.Serialization.IXmlSerializable wx.Build.BaseAction.ReadSerializable | ( | System.Xml.XmlReader | reader, | |
string | elementName | |||
) | [static, inherited] |
This reads a serilization that has been created by WriteSerializable(). This only works if an instance of the serialized obejct can be created without arguments.
reader | The serialization will be read from this source. | |
elementName | Name of the XML element that encapsulates the serialization. |
bool wx.Build.IBuildAction.TargetsAreConsistent | ( | DateTime | validityOfBuildSystem | ) | [inherited] |
True, if this action is not required to run because all targets are up to date.
validityOfBuildSystem | indicates the last change of either this DLL or the assembly defining the project. So, all action will be repeated (even if rebuild is specified) if the project definition changes or the implementation of the build system has been enhanced since the final build. This argument will be computed and propagated by the project. |
Implemented in wx.Build.AlternativeBuildActions, wx.Build.SequenceOfBuildActions, and wx.Build.NamedAction.
virtual bool wx.Build.BaseAction.TargetsAreConsistent | ( | DateTime | validityOfBuildSystem | ) | [virtual, inherited] |
This simply tests whether the oldest validity of the targets is equal to or more current than the validity of the prerequisites.
validityOfBuildSystem | indicates the last change of either this DLL or the assembly defining the project. changes to the build system or the project definition affect of course the validity of the produced targets. Use System.DateTime.MinValue if you do not know or want this to be neglected. |
Reimplemented in wx.Build.Cxx.wxWidgets.
static void wx.Build.BaseAction.WriteCollectionOfSerializables | ( | System.Xml.XmlWriter | writer, | |
System.Collections.IEnumerable | serializables, | |||
string | outerElementName, | |||
string | innerElementName | |||
) | [static, inherited] |
Serializes a collection of serializable objects.
writer | This method will write the serialization to this destination. | |
serializables | The collection of object to serialize. All objects must implement System.Xml.Serialization.IXmlSerializable. | |
outerElementName | name of the XML element that will embrace all elements. | |
innerElementName | Name of the XML element that contains the information of a single serialized object. |
void wx.Build.BaseAction.WriteProject | ( | System.Xml.XmlWriter | writer | ) | [protected, inherited] |
This will serialize the feature list in an XML element "feature-list".
writer | Destination of serialized data. |
static void wx.Build.BaseAction.WriteSerializable | ( | System.Xml.XmlWriter | writer, | |
System.Xml.Serialization.IXmlSerializable | obj, | |||
string | elementName | |||
) | [static, inherited] |
Helper to serialize objects of unknown class. This will create an element of the provided element name and attach attributes "assembly" and "type" to this element. These elements will describe the type of the object to serialize. Then, embedded into this new element, the object will be asked to place its serialization.
obj | The object that shall be serialized. May be null | |
elementName | Name of the XML element that will be created. | |
writer | The information will be written to this destination. |
Use this method to serialize member variables of unknown type like e.g. wx.Build.IFileProducts. Often, projects refer to members where the only known information is: This implements wx.Build.IFileProducts. The project does not need to know more facts with one exception: When deserializing a XML serialization, the project needs to know the exact class because an object instance has to be created. This method will serialize the corresponding information in such a form, that ReadSerializable() can be used to read the written instance.
readonly string wx.Build.Cxx.GCC.GccAsCompiler.ToolFamilyName = "GNU" [static] |
readonly string wx.Build.Cxx.GCC.GccAsCompiler.ToolName = "gcc-c" [static] |
IBuildActionProvider wx.Build.Cxx.GCC.GccAsCompiler.ActionProvider [get] |
The action may serve also as action provider.
Implements wx.Build.IBuildAction.
ICollection<OperatingSystem> wx.Build.Cxx.GCC.GccAsCompiler.ApplicableOSs [get] |
OperatingSystem.Linux, OperatingSystem.MacOsX, OperatingSystem.WinXP.
Implements wx.Build.IBuildActionProvider.
ICollection<ContentType> wx.Build.Cxx.GCC.GccAsCompiler.ContentFileTargets [get] |
This compiles objects of type ContentType.GccObj.
Implements wx.Build.IBuildActionProvider.
string wx.Build.Cxx.GCC.GccAsCompiler.Description [get] |
A textual description of this class.
Implements wx.Build.IBuildActionProvider.
FeatureList wx.Build.IBuildAction.Features [get, inherited] |
Provides access to the features of this action. Features usually are defined by the project. The project will set this at the actions that it creates to build the task.
Implemented in wx.Build.AlternativeBuildActions, wx.Build.SequenceOfBuildActions, and wx.Build.NamedAction.
virtual FeatureList wx.Build.BaseAction.Features [get, inherited] |
Returns the features that are associated with this action. This feature list usually comes from the BuildProject that created this action. Overload this for projects!!!
Reimplemented in wx.Build.BuildProject.
string wx.Build.Cxx.GCC.GccAsCompiler.FileName [get] |
The filename ofthe GCC command thaz will be used.
bool wx.Build.Cxx.GCC.GccAsCompiler.IsAvailable [get] |
True if the tool is available. This will test, whether a GCC command is available and can be startet.
Implements wx.Build.IBuildActionProvider.
string wx.Build.Cxx.GCC.GccAsCompiler.Name [get] |
The name of this tool is "gcc-c" to indicate that gcc will be used as compiler but not for linking.
Implements wx.Build.IBuildAction.
ICollection<Type> wx.Build.IBuildAction.ParameterTypes [get, inherited] |
Returns a collection (typically an array) of relevant parameter types in the BuildConfig. This may be empty or null
if instances of this class do not refer to parameter types.
Implemented in wx.Build.AlternativeBuildActions, wx.Build.SequenceOfBuildActions, wx.Build.NamedAction, wx.Build.Mono.Gmcs, wx.Build.MS.Cl, and wx.Build.MS.Csc.
virtual ICollection<Type> wx.Build.BaseAction.ParameterTypes [get, inherited] |
Returns a collection (typically an array) of relevant parameter types in the BuildConfig. This may be empty or null
if instances of this class do not refer to parameter types. The return value of this implementation is null
.
Reimplemented in wx.Build.Mono.Gmcs, wx.Build.MS.Cl, wx.Build.MS.Csc, and wx.Build.Cxx.wxWidgets.
ActionPriority wx.Build.Cxx.GCC.GccAsCompiler.Priority [get] |
This is of ActionPriority.Default priority.
Implements wx.Build.IBuildAction.
BuildProject wx.Build.IBuildAction.Project [get, set, inherited] |
The project that requested this action. the result may be null
if this instance also implements IBuildActionProvider and this instance is meant to be a action provider and not an action. Note, that projects may be set only once. This will be done by the infrastructure. Thus, do not use the setter.
Implemented in wx.Build.AlternativeBuildActions, wx.Build.SequenceOfBuildActions, and wx.Build.NamedAction.
BuildProject wx.Build.BaseAction.Project [get, set, inherited] |
The project that requested this action.
string wx.Build.Cxx.GCC.GccAsCompiler.ToolFamily [get] |
"GNU"
Implements wx.Build.IBuildActionProvider.
override IDictionary<string, EnvironmentVarInfo> wx.Build.Cxx.GCC.GccAsCompiler.UsedVars [get] |
This uses the following variables:
Variable | Description |
---|---|
GCC_BINPATH | Path to the directory of the compiler program. If this is empty, gcc[.exe] must reside in one of the PATH directories. |
CPATH | A list of directories to be searched as if specified with -I. Use semicolon ; to separate directories on Windows and colons : otherwise. |
Reimplemented from wx.Build.BaseAction.