Cosmos/source2/Build/Cosmos.Build.MSBuild/IL2CPU.cs
kudzu_cp 92954b424e
2010-09-08 14:02:38 +00:00

104 lines
No EOL
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Build.Utilities;
using Microsoft.Build.Framework;
using System.Reflection;
using Cosmos.Compiler.Assembler;
using Cosmos.Compiler.Assembler.X86;
using System.IO;
using Cosmos.Build.Common;
using Microsoft.Win32;
using Cosmos.IL2CPU.X86;
using Cosmos.IL2CPU;
using System.Reflection.Emit;
namespace Cosmos.Build.MSBuild
{
public class IL2CPU : AppDomainIsolatedTask
{
protected IL2CPUTask mTask = new IL2CPUTask();
[Required]
public string DebugMode
{
get;
set;
}
public string TraceAssemblies
{
get;
set;
}
public byte DebugCom
{
get;
set;
}
[Required]
public bool UseNAsm
{
get;
set;
}
[Required]
public ITaskItem[] References
{
get;
set;
}
[Required]
public string OutputFilename
{
get;
set;
}
public bool EnableLogging
{
get;
set;
}
public bool EmitDebugSymbols
{
get;
set;
}
protected void LogMessage(string aMsg) {
Log.LogMessage(aMsg);
}
protected void LogError(string aMsg) {
Log.LogMessage(aMsg);
}
protected void LogException(Exception e) {
Log.LogErrorFromException(e, true);
}
public override bool Execute() {
mTask.OnLogMessage = LogMessage;
mTask.OnLogError = LogError;
mTask.OnLogException = LogException;
mTask.DebugMode = DebugMode;
mTask.TraceAssemblies = TraceAssemblies;
mTask.DebugCom = DebugCom;
mTask.UseNAsm = UseNAsm;
mTask.References = References;
mTask.OutputFilename = OutputFilename;
mTask.EnableLogging = EnableLogging;
mTask.EmitDebugSymbols = EmitDebugSymbols;
return mTask.Execute();
}
}
}