Add unit test for AggregateException.GetBaseException that works on .net but is broke...
[mono.git] / mcs / tools / xbuild / xbuild / Microsoft.CSharp.targets
index c4cb2cfe53a534b6e661e587f94b410b5df37769..3c378252a4643ee0679223d29642996413307b4b 100644 (file)
@@ -1,45 +1,4 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-
-       <!--    xbuild Import support is flawed so we need to put everything into one file. -->
-       <!-- COMMON -->
-
-       <PropertyGroup>
-               <TargetExt Condition="'$(OutputType)' == 'Winexe'">.exe</TargetExt>
-               <TargetExt Condition="'$(OutputType)' == 'Exe'">.exe</TargetExt>
-               <TargetExt Condition="'$(OutputType)' == 'Library'">.dll</TargetExt>
-               <TargetExt Condition="'$(OutputType)' == 'Netmodule'">.netmodule</TargetExt>
-       </PropertyGroup>
-
-       <PropertyGroup>
-               <AllowUnsafeBlocks Condition="'$(AllowUnsafeBlocks)' == ''">false</AllowUnsafeBlocks>
-               <AssemblyName Condition="'$(AssemblyName)' == ''">$(RootNamespace)</AssemblyName>
-               <!--<OutputPath Condition="'$(OutputPath)' != ''">$(OutputPath)\</OutputPath>-->
-               <WarningLevel Condition="'$(WarningLevel)' == ''" >2</WarningLevel>
-       </PropertyGroup>
-
-       <Target Name="PrepareForBuild">
-               <Message Importance="High" Text="Configuration: $(Configuration) Platform: $(Platform)"/>
-               
-               <MakeDir 
-                       Condition="'$(OutputPath)' != ''"
-                       Directories="$(OutputPath)"
-               />
-       </Target>
-
-       <Target Name="ResolveAssemblyReferences">
-               <ResolveAssemblyReference
-                       Assemblies="@(Reference)"
-                       SearchPaths=" "
-               >
-                       <Output TaskParameter="ResolvedFiles" ItemName="ResolvedFiles"/>
-               </ResolveAssemblyReference>
-       </Target>
-
-       <Target Name="Build" DependsOnTargets="PrepareForBuild;ResolveAssemblyReferences;CoreCompile"/>
-
-       <!-- END OF COMMON -->
-
-
        <PropertyGroup>
                <DefaultLanguageSourceExtension>.cs</DefaultLanguageSourceExtension>
                <Language>C#</Language>
                <DebugType    Condition=" '$(DebugType)' == 'none' "></DebugType>
        </PropertyGroup>
 
+       <PropertyGroup>
+               <CreateManifestResourceNamesDependsOn></CreateManifestResourceNamesDependsOn>
+               <CoreCompileDependsOn></CoreCompileDependsOn>
+
+               <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildToolsPath)\Microsoft.CSharp.targets</MSBuildAllProjects>
+       </PropertyGroup>
+
        <ItemGroup>
                <DocFileItem Include="$(DocumentationFile)" Condition="'$(DocumentationFile)' != ''"/>
        </ItemGroup>
 
        <Target
                Name="CoreCompile"
-               Inputs="@(Compile)"
-               Outputs="$(OutputPath)$(AssemblyName)$(TargetExt)"
+               Inputs="$(MSBuildAllProjects);@(Compile);@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile);
+                       $(KeyOriginatorFile);@(ReferencePath);$(Win32Icon);$(Win32Resource)"
+               Outputs="@(DocFileItem);@(IntermediateAssembly)"
+               DependsOnTargets="$(CoreCompileDependsOn)"
        >
                <Csc
                        AdditionalLibPaths="$(AdditionalLibPaths)"
@@ -69,7 +37,7 @@
                        DebugType="$(DebugType)"
                        DefineConstants="$(DefineConstants)"
                        DelaySign="$(DelaySign)"
-                       DisabledWarnings="$(_DisabledWarnings)"
+                       DisabledWarnings="$(NoWarn)"
                        DocumentationFile="@(DocFileItem)"
                        EmitDebugInformation="$(DebugSymbols)"
                        ErrorReport="$(ErrorReport)"
                        NoLogo="$(NoLogo)"
                        NoStandardLib="$(NoStdLib)"
                        Optimize="$(Optimize)"
-                       OutputAssembly="$(OutputPath)$(AssemblyName)$(TargetExt)"
+                       OutputAssembly="@(IntermediateAssembly)"
                        PdbFile="$(PdbFile)" 
                        Platform="$(PlatformTarget)"
-                       References="@(ResolvedFiles)"
+                       References="@(ReferencePath)"
                        ResponseFiles="$(CompilerResponseFile)"
                        Sources="@(Compile)"
                        TargetType="$(OutputType)"
                        Utf8Output="$(Utf8Output)"
                        WarningLevel="$(WarningLevel)"
                        WarningsAsErrors="$(WarningsAsErrors)"
+                       WarningsNotAsErrors="$(WarningsNotAsErrors)"
                        Win32Icon="$(Win32Icon)"
                        Win32Resource="$(Win32Resource)"
-               />
-                       <!-- Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)" -->
-                       <!-- ToolPath="$(CscToolPath)" -->
+                       Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)"
+                       ToolExe="$(CscToolExe)"
+                       ToolPath="$(CscToolPath)" />
+
+       </Target>
+
+       <Target Name="CreateManifestResourceNames">
+               <CreateCSharpManifestResourceName Condition="'@(ResxWithNoCulture)' != ''"
+                       ResourceFiles="@(ResxWithNoCulture)" RootNamespace="$(RootNamespace)">
+                       <Output TaskParameter = "ManifestResourceNames" ItemName = "ManifestResourceWithNoCultureName" />
+               </CreateCSharpManifestResourceName>
+
+               <CreateCSharpManifestResourceName Condition="'@(NonResxWithNoCulture)' != ''"
+                       ResourceFiles="@(NonResxWithNoCulture)" RootNamespace="$(RootNamespace)">
+                       <Output TaskParameter = "ManifestResourceNames" ItemName = "ManifestNonResxWithNoCulture" />
+               </CreateCSharpManifestResourceName>
+
+               <CreateCSharpManifestResourceName Condition="'@(ResxWithCulture)' != ''"
+                       ResourceFiles="@(ResxWithCulture)" RootNamespace="$(RootNamespace)">
+                       <Output TaskParameter = "ManifestResourceNames" ItemName = "ManifestResourceWithCultureName" />
+               </CreateCSharpManifestResourceName>
 
+               <CreateCSharpManifestResourceName Condition="'@(NonResxWithCulture)' != ''"
+                       ResourceFiles="@(NonResxWithCulture)" RootNamespace="$(RootNamespace)">
+                       <Output TaskParameter = "ManifestResourceNames" ItemName = "ManifestNonResxWithCulture" />
+               </CreateCSharpManifestResourceName>
        </Target>
 
+       <Import Project="Microsoft.Common.targets" />
+
+       <PropertyGroup>
+               <CscToolExe Condition="'$(CscToolExe)' == '' and '$(TargetFrameworkVersion)' != 'v4.0' and '$(TargetFrameworkVersion)' != 'v4.5' and '$(OS)' != 'Windows_NT'">gmcs</CscToolExe>
+               <CscToolExe Condition="'$(CscToolExe)' == '' and '$(TargetFrameworkVersion)' != 'v4.0' and '$(TargetFrameworkVersion)' != 'v4.5' and '$(OS)' == 'Windows_NT'">gmcs.bat</CscToolExe>
+
+               <CscToolExe Condition="'$(CscToolExe)' == '' and '$(TargetFrameworkVersion)' == 'v4.5' and '$(OS)' != 'Windows_NT'">mcs</CscToolExe>
+               <CscToolExe Condition="'$(CscToolExe)' == '' and '$(TargetFrameworkVersion)' == 'v4.5' and '$(OS)' == 'Windows_NT'">mcs.bat</CscToolExe>
+               
+               <CscToolExe Condition="'$(CscToolExe)' == '' and '$(TargetFrameworkVersion)' == 'v4.0' and '$(OS)' != 'Windows_NT'">dmcs</CscToolExe>
+               <CscToolExe Condition="'$(CscToolExe)' == '' and '$(TargetFrameworkVersion)' == 'v4.0' and '$(OS)' == 'Windows_NT'">dmcs.bat</CscToolExe>
+       </PropertyGroup>
+       
+       <PropertyGroup>
+               <TargetFrameworkMonikerAssemblyAttributeText Condition="'$(TargetFrameworkMoniker)' != '' and '$(TargetingClr2Framework)' != 'true'">
+// &lt;autogenerated /&gt;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(&quot;$(TargetFrameworkMoniker)&quot;, FrameworkDisplayName = &quot;$(TargetFrameworkMonikerDisplayName)&quot;)]
+               </TargetFrameworkMonikerAssemblyAttributeText>
+       </PropertyGroup>
+
 </Project>