Imported Upstream version 3.8.0

Former-commit-id: 6a76a29bd07d86e57c6c8da45c65ed5447d38a61
This commit is contained in:
Jo Shields
2014-09-04 09:07:35 +01:00
parent a575963da9
commit fe777c5c82
1062 changed files with 12460 additions and 5983 deletions

View File

@@ -290,12 +290,28 @@ namespace Mono.Linker.Steps {
if (CheckProcessed (assembly))
return;
ProcessModule (assembly);
MarkCustomAttributes (assembly);
foreach (ModuleDefinition module in assembly.Modules)
MarkCustomAttributes (module);
}
void ProcessModule (AssemblyDefinition assembly)
{
// Pre-mark <Module> if there is any methods as they need to be executed
// at assembly load time
foreach (TypeDefinition type in assembly.MainModule.Types)
{
if (type.Name == "<Module>" && type.HasMethods)
{
MarkType (type);
break;
}
}
}
protected void MarkField (FieldReference reference)
{
// if (IgnoreScope (reference.DeclaringType.Scope))

View File

@@ -217,6 +217,14 @@ namespace Mono.Linker {
case "mscorlib":
case "Accessibility":
case "Mono.Security":
// WPF
case "PresentationFramework":
case "PresentationCore":
case "WindowsBase":
case "UIAutomationProvider":
case "UIAutomationTypes":
case "PresentationUI":
case "ReachFramework":
return true;
default:
return name.Name.StartsWith ("System")

View File

@@ -20,7 +20,7 @@ cleanup:
run-test-local: run-mono-shlib-cop-test
run-mono-shlib-cop-test: $(the_lib) $(TEST_INPUT)
$(RUNTIME) $(the_lib) $(TEST_INPUT) | diff - test.dll.out
MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(the_lib) $(TEST_INPUT) | diff - test.dll.out
$(TEST_INPUT) : test.cs
$(CSCOMPILE) -target:library $< -out:$@

View File

@@ -42,8 +42,8 @@ namespace Mono.Unmanaged.Check {
private static extern int g_module_close (IntPtr handle);
// Warning
[DllImport ("libglib-2.0.so")]
private static extern void g_free (IntPtr mem);
[DllImport ("libMonoPosixHelper.so")]
private static extern int Mono_Posix_Stdlib_TMP_MAX ();
// Error: no such library
[DllImport ("does-not-exist")]
@@ -60,7 +60,7 @@ namespace Mono.Unmanaged.Check {
Test ()
{
g_module_close (IntPtr.Zero);
g_free (IntPtr.Zero);
Mono_Posix_Stdlib_TMP_MAX ();
Foo ();
RenameMe ();
DoesNotExist ();

View File

@@ -47,6 +47,8 @@ install-frameworks:
$(INSTALL_DATA) frameworks/net_4.0.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.0/RedistList/FrameworkList.xml
$(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.0/Profile/Client/RedistList
$(INSTALL_DATA) frameworks/net_4.0_client.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.0/Profile/Client/RedistList/FrameworkList.xml
$(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.1/RedistList
$(INSTALL_DATA) frameworks/net_4.5.1.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.1/RedistList/FrameworkList.xml
install-pcl-targets:
$(MKINSTALLDIRS) $(DESTDIR)$(PORTABLE_TARGETS_DIR)/v4.0
@@ -91,6 +93,7 @@ EXTRA_DISTFILES = \
frameworks/net_4.0.xml \
frameworks/net_4.0_client.xml \
frameworks/net_4.5.xml \
frameworks/net_4.5.1.xml \
targets/Microsoft.Portable.CSharp_4.0.targets \
targets/Microsoft.Portable.CSharp_4.5.targets \
targets/Microsoft.Portable.Common.targets \

View File

@@ -262,6 +262,10 @@ namespace Mono.XBuild.CommandLine {
if (info != null)
projectInfo.Dependencies [info.Guid] = info;
}
// unload the project after reading info from it
// it'll be reloaded with proper context when building the solution
p.ParentEngine.UnloadProject (currentProject);
}
// fill in the project info for deps found in the .sln file

View File

@@ -31,11 +31,24 @@
directories for mscorlib.dll by constructing a filtered item set, and assume it only has
one item.
-->
<ItemGroup>
<ItemGroup Condition="'$(MonoUseMicrosoftBuildDll)' != 'True'">
<_ExplicitReference Include="@(_TargetFrameworkDirectories->'%(FullPath)\mscorlib.dll')" Condition="Exists('%(FullPath)\mscorlib.dll')">
<Private>false</Private>
</_ExplicitReference>
</ItemGroup>
<PropertyGroup Condition="'$(MonoUseMicrosoftBuildDll)' == 'True'">
<_ExplicitMSCorlibPath>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToStandardLibraries ('$(TargetFrameworkIdentifier)', '$(TargetFrameworkVersion)', '$(TargetFrameworkProfile)'))\mscorlib.dll</_ExplicitMSCorlibPath>
</PropertyGroup>
<ItemGroup Condition="'$(MonoUseMicrosoftBuildDll)' == 'True'">
<_ExplicitReference Include="@(_TargetFrameworkDirectories->'%(FullPath)\mscorlib.dll')" Condition="Exists('%(FullPath)\mscorlib.dll')">
<Private>false</Private>
</_ExplicitReference>
</ItemGroup>
<ItemGroup Condition="'$(MonoUseMicrosoftBuildDll)' == 'True'">
<_ExplicitReference Include="$(_ExplicitMSCorlibPath)" Condition="Exists('$(_ExplicitMSCorlibPath)')">
<Private>false</Private>
</_ExplicitReference>
</ItemGroup>
</Target>
<Target

View File

@@ -132,7 +132,7 @@
Condition="'$(TargetFrameworkIdentifier)' == '' or '$(TargetFrameworkIdentifier)' == '.NETFramework'"
DependsOnTargets="$(GetFrameworkPathsDependsOn)">
<GetFrameworkPath>
<Output Condition="'$(TargetFrameworkVersion)' == 'v4.5'"
<Output Condition="'$(TargetFrameworkVersion)' == 'v4.5' and '$(TargetFrameworkVersion)' == 'v4.5.1'"
TaskParameter="FrameworkVersion45Path"
ItemName="_CombinedTargetFrameworkDirectoriesItem"/>
<Output Condition="'$(TargetFrameworkVersion)' == 'v4.0'"
@@ -153,7 +153,7 @@
</CreateProperty>
<Warning Text="TargetFrameworkVersion '$(TargetFrameworkVersion)' not supported by this toolset (ToolsVersion: $(MSBuildToolsVersion))."
Condition="'$(TargetFrameworkVersion)' != 'v4.5' and '$(TargetFrameworkVersion)' != 'v4.0' and '$(TargetFrameworkVersion)' != 'v3.5' and '$(TargetFrameworkVersion)' != 'v3.0' and '$(TargetFrameworkVersion)' != 'v2.0'"/>
Condition="'$(TargetFrameworkVersion)' != 'v4.5.1' and '$(TargetFrameworkVersion)' != 'v4.5' and '$(TargetFrameworkVersion)' != 'v4.0' and '$(TargetFrameworkVersion)' != 'v3.5' and '$(TargetFrameworkVersion)' != 'v3.0' and '$(TargetFrameworkVersion)' != 'v2.0'"/>
</Target>
<PropertyGroup>

View File

@@ -31,11 +31,24 @@
directories for mscorlib.dll by constructing a filtered item set, and assume it only has
one item.
-->
<ItemGroup>
<ItemGroup Condition="'$(MonoUseMicrosoftBuildDll)' != 'True'">
<_ExplicitReference Include="@(_TargetFrameworkDirectories->'%(FullPath)\mscorlib.dll')" Condition="Exists('%(FullPath)\mscorlib.dll')">
<Private>false</Private>
</_ExplicitReference>
</ItemGroup>
<PropertyGroup Condition="'$(MonoUseMicrosoftBuildDll)' == 'True'">
<_ExplicitMSCorlibPath>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToStandardLibraries ('$(TargetFrameworkIdentifier)', '$(TargetFrameworkVersion)', '$(TargetFrameworkProfile)'))\mscorlib.dll</_ExplicitMSCorlibPath>
</PropertyGroup>
<ItemGroup Condition="'$(MonoUseMicrosoftBuildDll)' == 'True'">
<_ExplicitReference Include="@(_TargetFrameworkDirectories->'%(FullPath)\mscorlib.dll')" Condition="Exists('%(FullPath)\mscorlib.dll')">
<Private>false</Private>
</_ExplicitReference>
</ItemGroup>
<ItemGroup Condition="'$(MonoUseMicrosoftBuildDll)' == 'True'">
<_ExplicitReference Include="$(_ExplicitMSCorlibPath)" Condition="Exists('$(_ExplicitMSCorlibPath)')">
<Private>false</Private>
</_ExplicitReference>
</ItemGroup>
</Target>
<Target

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<FileList Name=".NET Framework 4.5.1" TargetFrameworkDirectory="..\..\..\..\4.5">
</FileList>