17 changed files with 210 additions and 23 deletions
			
			
		@ -0,0 +1,46 @@ | 
				
			|||||||
 | 
					// SharpDevelop samples
 | 
				
			||||||
 | 
					// Copyright (c) 2006, AlphaSierraPapa
 | 
				
			||||||
 | 
					// All rights reserved.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Redistribution and use in source and binary forms, with or without modification, are
 | 
				
			||||||
 | 
					// permitted provided that the following conditions are met:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// - Redistributions of source code must retain the above copyright notice, this list
 | 
				
			||||||
 | 
					//   of conditions and the following disclaimer.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// - Redistributions in binary form must reproduce the above copyright notice, this list
 | 
				
			||||||
 | 
					//   of conditions and the following disclaimer in the documentation and/or other materials
 | 
				
			||||||
 | 
					//   provided with the distribution.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// - Neither the name of the SharpDevelop team nor the names of its contributors may be used to
 | 
				
			||||||
 | 
					//   endorse or promote products derived from this software without specific prior written
 | 
				
			||||||
 | 
					//   permission.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &AS IS& AND ANY EXPRESS
 | 
				
			||||||
 | 
					// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 | 
				
			||||||
 | 
					// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 | 
				
			||||||
 | 
					// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | 
				
			||||||
 | 
					// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
				
			||||||
 | 
					// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
 | 
				
			||||||
 | 
					// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 | 
				
			||||||
 | 
					// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using System; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Mono.Build.Tasks | 
				
			||||||
 | 
					{ | 
				
			||||||
 | 
						/// <summary>
 | 
				
			||||||
 | 
						/// MSBuild task for Mono's DMCS.
 | 
				
			||||||
 | 
						/// </summary>
 | 
				
			||||||
 | 
						public class Dmcs : MonoCSharpCompilerTask | 
				
			||||||
 | 
						{ | 
				
			||||||
 | 
							protected override string ToolName { | 
				
			||||||
 | 
								get { return "Dmcs.exe"; } | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
							 | 
				
			||||||
 | 
							protected override string GenerateFullPathToTool() | 
				
			||||||
 | 
							{ | 
				
			||||||
 | 
								return MonoToolLocationHelper.GetPathToTool(ToolName); | 
				
			||||||
 | 
							} | 
				
			||||||
 | 
						} | 
				
			||||||
 | 
					} | 
				
			||||||
@ -0,0 +1,113 @@ | 
				
			|||||||
 | 
					<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build"> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 	<UsingTask TaskName="Mono.Build.Tasks.Dmcs" | 
				
			||||||
 | 
						           AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> | 
				
			||||||
 | 
					 	<UsingTask TaskName="Mono.Build.Tasks.GetMonoFrameworkPath" | 
				
			||||||
 | 
						           AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> | 
				
			||||||
 | 
					 	<UsingTask TaskName="Mono.Build.Tasks.GetMonoFrameworkSdkPath" | 
				
			||||||
 | 
						           AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> | 
				
			||||||
 | 
					 	<UsingTask TaskName="Mono.Build.Tasks.AddMonoAssemblySearchPaths" | 
				
			||||||
 | 
						           AssemblyFile="$(MonoBuildTasksPath)\Mono.Build.Tasks.dll"/> | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   <PropertyGroup> | 
				
			||||||
 | 
					        <MSBuildAllProjects>$(MSBuildAllProjects);$(MonoBuildTasksPath)\SharpDevelop.Build.Mono.Dmcs.targets</MSBuildAllProjects> | 
				
			||||||
 | 
					        <DefaultLanguageSourceExtension>.cs</DefaultLanguageSourceExtension> | 
				
			||||||
 | 
					        <Language>C#</Language> | 
				
			||||||
 | 
					    </PropertyGroup> | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						<!-- Override AssemblySearchPaths property and remove Microsoft specific search paths --> | 
				
			||||||
 | 
						<PropertyGroup> | 
				
			||||||
 | 
							<AssemblySearchPaths> | 
				
			||||||
 | 
								{CandidateAssemblyFiles}; | 
				
			||||||
 | 
								$(ReferencePath); | 
				
			||||||
 | 
								{HintPathFromItem}; | 
				
			||||||
 | 
								{TargetFrameworkDirectory}; | 
				
			||||||
 | 
								{MonoGAC}; | 
				
			||||||
 | 
								{RawFileName}; | 
				
			||||||
 | 
								$(OutputPath) | 
				
			||||||
 | 
							</AssemblySearchPaths>  | 
				
			||||||
 | 
						</PropertyGroup> | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						<Target	Name="GetFrameworkPaths"> | 
				
			||||||
 | 
							<!-- Get the path to the target Mono Framework directory. --> | 
				
			||||||
 | 
							<GetMonoFrameworkPath TargetFrameworkVersion="$(MonoTargetFrameworkVersion)"> | 
				
			||||||
 | 
								<Output TaskParameter="Path" PropertyName="TargetFrameworkDirectory"/> | 
				
			||||||
 | 
								<Output TaskParameter="Path" ItemName="_TargetFrameworkDirectoryItem"/> | 
				
			||||||
 | 
							</GetMonoFrameworkPath> | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
							<!-- Get the path to the target the Mono SDK directory. --> | 
				
			||||||
 | 
							<GetMonoFrameworkSDKPath> | 
				
			||||||
 | 
								<Output TaskParameter="Path" PropertyName="TargetFrameworkSDKDirectory"/> | 
				
			||||||
 | 
								<Output TaskParameter="Path" ItemName="_TargetFrameworkSDKDirectoryItem"/> | 
				
			||||||
 | 
							</GetMonoFrameworkSDKPath> | 
				
			||||||
 | 
						</Target> | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
						<!-- Modify what the ResolveAssemblyReferences tasks depends on so the | 
				
			||||||
 | 
						     AssemblySearchPaths can be modified to use the Mono GAC --> | 
				
			||||||
 | 
						<PropertyGroup> | 
				
			||||||
 | 
							<ResolveAssemblyReferencesDependsOn> | 
				
			||||||
 | 
								GetFrameworkPaths; | 
				
			||||||
 | 
					            GetReferenceAssemblyPaths; | 
				
			||||||
 | 
								PrepareForBuild; | 
				
			||||||
 | 
								AddMonoAssemblySearchPaths | 
				
			||||||
 | 
							</ResolveAssemblyReferencesDependsOn> | 
				
			||||||
 | 
						</PropertyGroup> | 
				
			||||||
 | 
						<Target Name="AddMonoAssemblySearchPaths"> | 
				
			||||||
 | 
							<AddMonoAssemblySearchPaths  | 
				
			||||||
 | 
								Assemblies="@(Reference)" | 
				
			||||||
 | 
								Paths="$(AssemblySearchPaths)"> | 
				
			||||||
 | 
								 | 
				
			||||||
 | 
								<Output TaskParameter="Paths" PropertyName="AssemblySearchPaths"/> | 
				
			||||||
 | 
							</AddMonoAssemblySearchPaths> | 
				
			||||||
 | 
						</Target> | 
				
			||||||
 | 
						 | 
				
			||||||
 | 
					    <Target | 
				
			||||||
 | 
					        Name="CoreCompile" | 
				
			||||||
 | 
					        Inputs="$(MSBuildAllProjects); | 
				
			||||||
 | 
					                @(Compile); | 
				
			||||||
 | 
					                @(ManifestResourceWithNoCulture); | 
				
			||||||
 | 
					                $(ApplicationIcon); | 
				
			||||||
 | 
					                $(AssemblyOriginatorKeyFile); | 
				
			||||||
 | 
					                @(ManifestNonResxWithNoCultureOnDisk); | 
				
			||||||
 | 
					                @(ReferencePath); | 
				
			||||||
 | 
					                @(CompiledLicenseFile)" | 
				
			||||||
 | 
					        Outputs="@(DocFileItem); | 
				
			||||||
 | 
					                 @(IntermediateAssembly); | 
				
			||||||
 | 
					                 $(NonExistentFile)" | 
				
			||||||
 | 
					        DependsOnTargets="$(CoreCompileDependsOn)" | 
				
			||||||
 | 
					    > | 
				
			||||||
 | 
					        | 
				
			||||||
 | 
					        <Dmcs | 
				
			||||||
 | 
					              AdditionalLibPaths="$(AdditionalLibPaths)" | 
				
			||||||
 | 
					              AddModules="@(AddModules)" | 
				
			||||||
 | 
					              AllowUnsafeBlocks="$(AllowUnsafeBlocks)" | 
				
			||||||
 | 
					              CheckForOverflowUnderflow="$(CheckForOverflowUnderflow)" | 
				
			||||||
 | 
					              CodePage="$(CodePage)" | 
				
			||||||
 | 
					              DebugType="$(DebugType)" | 
				
			||||||
 | 
					              DefineConstants="$(DefineConstants)" | 
				
			||||||
 | 
					              DelaySign="$(DelaySign)" | 
				
			||||||
 | 
					              DisabledWarnings="$(NoWarn)" | 
				
			||||||
 | 
					              DocumentationFile="@(DocFileItem)" | 
				
			||||||
 | 
					              EmitDebugInformation="$(DebugSymbols)" | 
				
			||||||
 | 
					              KeyContainer="$(KeyContainerName)" | 
				
			||||||
 | 
					              KeyFile="$(KeyOriginatorFile)" | 
				
			||||||
 | 
					              LangVersion="$(LangVersion)" | 
				
			||||||
 | 
					              MainEntryPoint="$(StartupObject)" | 
				
			||||||
 | 
					              NoConfig="true" | 
				
			||||||
 | 
					              NoLogo="$(NoLogo)" | 
				
			||||||
 | 
					              NoStandardLib="$(NoStdLib)" | 
				
			||||||
 | 
					              Optimize="$(Optimize)" | 
				
			||||||
 | 
					              OutputAssembly="@(IntermediateAssembly)" | 
				
			||||||
 | 
					              References="@(ReferencePath)" | 
				
			||||||
 | 
					              Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)" | 
				
			||||||
 | 
					              ResponseFiles="$(CompilerResponseFile)" | 
				
			||||||
 | 
					              Sources="@(Compile)" | 
				
			||||||
 | 
					              TargetType="$(OutputType)" | 
				
			||||||
 | 
					              ToolPath="$(GmcsToolPath)" | 
				
			||||||
 | 
					              TreatWarningsAsErrors="$(TreatWarningsAsErrors)" | 
				
			||||||
 | 
					              WarningLevel="$(WarningLevel)" | 
				
			||||||
 | 
					              Win32Icon="$(ApplicationIcon)" | 
				
			||||||
 | 
					              Win32Resource="$(Win32Resource)" /> | 
				
			||||||
 | 
					    </Target>	 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</Project> | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue