public string GetZeligCompilerArguments(IStandardProject superProject, IStandardProject project,
ISourceFile sourceFile)
{
var result = string.Empty;
result += string.Format("-HostAssemblyDir {0} ", Path.Combine(BaseDirectory, "Llilum\\ZeligBuild\\Host\\bin\\Debug"));
result += string.Format("-DeviceAssemblyDir {0} ",
Path.Combine(BaseDirectory, "Llilum\\ZeligBuild\\Target\\bin\\Debug"));
result += string.Format("-CompilationSetupPath {0} ",
Path.Combine(BaseDirectory,
"Llilum\\ZeligBuild\\Host\\bin\\Debug\\Microsoft.Llilum.BoardConfigurations.STM32F411.dll"));
result += "-CompilationSetup Microsoft.Llilum.BoardConfigurations.STM32F411MBEDHostedCompilationSetup ";
result += "-Reference Microsoft.CortexM4OnMBED ";
result += "-Reference Microsoft.CortexM4OnCMSISCore ";
result += "-Reference DeviceModels.ModelForCortexM4 ";
result += "-Reference STM32F411 ";
result += "-Reference Microsoft.Zelig.LlilumCMSIS-RTOS ";
result += "-Reference Microsoft.Zelig.Runtime ";
result += "-CompilationPhaseDisabled InitializeReferenceCountingGarbageCollection ";
result += "-CompilationPhaseDisabled EnableStrictReferenceCountingGarbageCollection ";
result += "-CompilationPhaseDisabled ResourceManagerOptimizations ";
result += "-CompilationPhaseDisabled PrepareExternalMethods ";
result += "-CompilationPhaseDisabled MidLevelToLowLevelConversion ";
result += "-CompilationPhaseDisabled ConvertUnsupportedOperatorsToMethodCalls ";
result += "-CompilationPhaseDisabled ExpandAggregateTypes ";
result += "-CompilationPhaseDisabled SplitComplexOperators ";
result += "-CompilationPhaseDisabled FuseOperators ";
result += "-CompilationPhaseDisabled ConvertToSSA ";
result += "-CompilationPhaseDisabled PrepareForRegisterAllocation ";
result += "-CompilationPhaseDisabled CollectRegisterAllocationConstraints ";
result += "-CompilationPhaseDisabled AllocateRegisters ";
result += "-DumpIR ";
result += "-DumpLLVMIR ";
result += "-MaxProcs 8 ";
result += "-NoSDK ";
result += string.Format("-LlvmBinPath {0} ", Path.Combine(BaseDirectory, "LLVM"));
return result;
}