Skip to content

Commit 297c02d

Browse files
committed
Merge remote-tracking branch 'origin/net11.0' into inline-dlfcn-net11.0
2 parents 7bb213c + f47b227 commit 297c02d

473 files changed

Lines changed: 51383 additions & 7092 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Directory.Build.props

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,14 @@
2727
<NUnitAnalyzersPackageVersion>4.7.0</NUnitAnalyzersPackageVersion>
2828
<NUnitPackageVersion>4.3.2</NUnitPackageVersion>
2929
</PropertyGroup>
30+
31+
<PropertyGroup>
32+
<!-- workarounds for https://github.com/dotnet/runtime/issues/123503 -->
33+
<!-- https://github.com/dotnet/macios/issues/24558 -->
34+
<EnableTrimAnalyzer>false</EnableTrimAnalyzer>
35+
<EnableAotAnalyzer>false</EnableAotAnalyzer>
36+
<NoWarn>$(NoWarn);AD0001</NoWarn>
37+
</PropertyGroup>
38+
3039
<Import Project="Build.props" Condition="Exists('Build.props')" />
3140
</Project>

Make.config

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ CURL = curl --fail --location --connect-timeout 15 $(if $(V),--verbose,--silent)
1818
# --retry-all-errors: ignore the definition of insanity and retry even for errors that seem like you'd get the same result (such as 404). This isn't the real purpose, because this will also retry errors that will get a different result (such as connection failures / resets), which apparently --retry doesn't cover.
1919
CURL_RETRY = $(CURL) --retry 20 --retry-delay 2 --retry-all-errors
2020

21-
DOTNET_TFM=net10.0
21+
DOTNET_TFM=net11.0
2222
DOTNET_MAJOR_VERSION:=$(firstword $(subst ., ,$(subst net,,$(DOTNET_TFM))))
2323
# calculate commit distance and store it in a file so that we don't have to re-calculate it every time make is executed.
2424

@@ -128,7 +128,7 @@ endif
128128

129129
## If this branch is a release branch, set NUGET_RELEASE_BRANCH to the exact branch name (so that any other branches won't become release branches just by branching off from a release branch).
130130
## Example: release/6.0.3xx
131-
NUGET_RELEASE_BRANCH=release/10.0.1xx
131+
NUGET_RELEASE_BRANCH=release/11.0.1xx
132132

133133
## If this is a pre-release (alpha, beta, rc, xcode, etc.) branch, set NUGET_HARDCODED_PRERELASE_BRANCH to the exact branch name. Also set NUGET_HARDCODED_PRELEASE_IDENTIFIER to the prerelease identifier to use.
134134
## Example:
@@ -146,8 +146,8 @@ NUGET_RELEASE_BRANCH=release/10.0.1xx
146146
##
147147
## Note that the prerelease identifier should be as short as possible, because otherwise
148148
## the resulting package name can become too long for MSIs.
149-
NUGET_HARDCODED_PRERELEASE_IDENTIFIER=xcode26.2
150-
NUGET_HARDCODED_PRERELEASE_BRANCH=xcode26.2
149+
NUGET_HARDCODED_PRERELEASE_IDENTIFIER=net11-p3
150+
NUGET_HARDCODED_PRERELEASE_BRANCH=net11.0
151151

152152
# compute the alphanumeric version of branch names
153153
NUGET_RELEASE_BRANCH_ALPHANUMERIC:=$(shell export LANG=C; printf "%s" "$(NUGET_RELEASE_BRANCH)" | tr -c '[a-zA-Z0-9-]' '-')
@@ -275,17 +275,11 @@ MAX_IOS_SIMULATOR_VERSION=$(IOS_SDK_VERSION)
275275
MAX_TVOS_SIMULATOR_VERSION=$(TVOS_SDK_VERSION)
276276
endif
277277

278-
# Minimum OS versions for running XI/XM apps.
279-
MIN_IOS_SDK_VERSION=12.2
280-
MIN_MACOS_SDK_VERSION=12.0
281-
MIN_TVOS_SDK_VERSION=12.2
282-
MIN_MACCATALYST_SDK_VERSION=15.0
283-
284-
# Minimum OS versions for .NET 9 support
285-
DOTNET_MIN_IOS_SDK_VERSION=12.2
286-
DOTNET_MIN_TVOS_SDK_VERSION=12.2
287-
DOTNET_MIN_MACCATALYST_SDK_VERSION=15.0
288-
DOTNET_MIN_MACOS_SDK_VERSION=12.0
278+
# Minimum OS versions for .NET support
279+
DOTNET_MIN_IOS_SDK_VERSION=13.0
280+
DOTNET_MIN_TVOS_SDK_VERSION=13.0
281+
DOTNET_MIN_MACCATALYST_SDK_VERSION=17.0
282+
DOTNET_MIN_MACOS_SDK_VERSION=14.0
289283

290284
# The min simulator version available in the Xcode we're using
291285
MIN_IOS_SIMULATOR_VERSION=16.0
@@ -448,6 +442,7 @@ DOTNET_PLATFORMS=
448442

449443
ifdef INCLUDE_IOS
450444
DOTNET_PLATFORMS+=iOS
445+
DOTNET_CORECLR_PLATFORMS+=iOS
451446
DOTNET_MONOVM_PLATFORMS+=iOS
452447
DOTNET_NATIVEAOT_PLATFORMS+=iOS
453448
DOTNET_IOS_RUNTIME_IDENTIFIERS_NO_ARCH=ios
@@ -473,6 +468,7 @@ endif # INCLUDE_IOS
473468

474469
ifdef INCLUDE_TVOS
475470
DOTNET_PLATFORMS+=tvOS
471+
DOTNET_CORECLR_PLATFORMS+=tvOS
476472
DOTNET_MONOVM_PLATFORMS+=tvOS
477473
DOTNET_NATIVEAOT_PLATFORMS+=tvOS
478474
DOTNET_TVOS_RUNTIME_IDENTIFIERS_NO_ARCH=tvos
@@ -498,6 +494,7 @@ endif
498494

499495
ifdef INCLUDE_MACCATALYST
500496
DOTNET_PLATFORMS+=MacCatalyst
497+
DOTNET_CORECLR_PLATFORMS+=MacCatalyst
501498
DOTNET_MONOVM_PLATFORMS+=MacCatalyst
502499
DOTNET_NATIVEAOT_PLATFORMS+=MacCatalyst
503500
DOTNET_MACCATALYST_RUNTIME_IDENTIFIERS_NO_ARCH=maccatalyst

Make.versions

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ MACCATALYST_NUGET_OS_VERSION=26.2
2828

2929
# The following are the OS versions we first supported with the current .NET version.
3030
# These versions must *not* change with minor .NET updates, only major .NET releases.
31-
IOS_TARGET_PLATFORM_VERSION_LIBRARY=26.0
32-
TVOS_TARGET_PLATFORM_VERSION_LIBRARY=26.0
33-
MACOS_TARGET_PLATFORM_VERSION_LIBRARY=26.0
34-
MACCATALYST_TARGET_PLATFORM_VERSION_LIBRARY=26.0
31+
IOS_TARGET_PLATFORM_VERSION_LIBRARY=26.2
32+
TVOS_TARGET_PLATFORM_VERSION_LIBRARY=26.2
33+
MACOS_TARGET_PLATFORM_VERSION_LIBRARY=26.2
34+
MACCATALYST_TARGET_PLATFORM_VERSION_LIBRARY=26.2
3535

3636
# In theory we should define the default platform version if it's not specified in the TFM. The default should not change for a given .NET version:
3737
# * We release support for iOS 14.5 with .NET 6
@@ -110,21 +110,16 @@ SUPPORTED_API_VERSIONS_MACCATALYST=$(DOTNET_TFM)-$(MACCATALYST_NUGET_OS_VERSION)
110110

111111
# Add older versions here!
112112

113-
SUPPORTED_API_VERSIONS_IOS+=net9.0-18.0
114-
SUPPORTED_API_VERSIONS_TVOS+=net9.0-18.0
115-
SUPPORTED_API_VERSIONS_MACOS+=net9.0-15.0
116-
SUPPORTED_API_VERSIONS_MACCATALYST+=net9.0-18.0
117-
118-
SUPPORTED_API_VERSIONS_IOS+=net9.0-26.2
119-
SUPPORTED_API_VERSIONS_TVOS+=net9.0-26.2
120-
SUPPORTED_API_VERSIONS_MACOS+=net9.0-26.2
121-
SUPPORTED_API_VERSIONS_MACCATALYST+=net9.0-26.2
122-
123113
SUPPORTED_API_VERSIONS_IOS+=net10.0-26.0
124114
SUPPORTED_API_VERSIONS_TVOS+=net10.0-26.0
125115
SUPPORTED_API_VERSIONS_MACOS+=net10.0-26.0
126116
SUPPORTED_API_VERSIONS_MACCATALYST+=net10.0-26.0
127117

118+
SUPPORTED_API_VERSIONS_IOS+=net10.0-26.2
119+
SUPPORTED_API_VERSIONS_TVOS+=net10.0-26.2
120+
SUPPORTED_API_VERSIONS_MACOS+=net10.0-26.2
121+
SUPPORTED_API_VERSIONS_MACCATALYST+=net10.0-26.2
122+
128123
# Add beta versions here!
129124

130125
# Don't change these (even if there aren't any beta versions)!

NuGet.config

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@
99
<packageSources>
1010
<clear />
1111
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
12-
<!-- Begin: Package sources from dotnet-dotnet -->
13-
<!-- End: Package sources from dotnet-dotnet -->
1412
<!-- Begin: Package sources from dotnet-macios -->
1513
<add key="darc-pub-dotnet-macios-b34b8d3" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-macios-b34b8d33/nuget/v3/index.json" />
14+
<add key="darc-pub-dotnet-macios-5797627" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-macios-57976277/nuget/v3/index.json" />
1615
<!-- End: Package sources from dotnet-macios -->
1716
<!-- Begin: Package sources from xamarin-xamarin-macios -->
1817
<!-- End: Package sources from xamarin-xamarin-macios -->
@@ -26,27 +25,13 @@
2625
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" protocolVersion="3" />
2726
<add key="Dotnet arcade" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
2827
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
29-
<add key="dotnet9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json" />
3028
<add key="dotnet10" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10/nuget/v3/index.json" />
31-
<add key="dotnet9-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9-transport/nuget/v3/index.json" />
29+
<add key="dotnet11" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet11/nuget/v3/index.json" />
3230
<add key="dotnet10-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10-transport/nuget/v3/index.json" />
31+
<add key="dotnet11-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet11-transport/nuget/v3/index.json" />
3332
<add key="macios-dependencies" value="https://pkgs.dev.azure.com/xamarin/public/_packaging/macios-dependencies/nuget/v3/index.json" />
3433
<add key="xamarin-impl" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/xamarin-impl/nuget/v3/index.json" />
3534
<add key="local-tests-feed" value="tests/.nuget/packages" />
36-
<!-- Add a 8.0.22 feed -->
37-
<add key="darc-pub-dotnet-runtime-ad2d4fbc" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-ad2d4fbc/nuget/v3/index.json" />
38-
<!-- Add a 8.0.23 feed -->
39-
<add key="darc-pub-dotnet-runtime-891f8976" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-891f8976/nuget/v3/index.json" />
40-
<!-- Add a 8.0.24 feed -->
41-
<add key="darc-pub-dotnet-runtime-b43df221" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-b43df221/nuget/v3/index.json" />
42-
<!-- Add a 9.0.11 feed -->
43-
<add key="darc-pub-dotnet-runtime-35fe9c61" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-35fe9c61/nuget/v3/index.json" />
44-
<!-- Add a 9.0.12 feed -->
45-
<add key="darc-pub-dotnet-runtime-9c2fb4b7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-9c2fb4b7/nuget/v3/index.json" />
46-
<!-- Add a 9.0.13 feed -->
47-
<add key="darc-pub-dotnet-runtime-7dd1559a" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-7dd1559a/nuget/v3/index.json" />
48-
<!-- Add a 9.0.14 feed -->
49-
<add key="darc-pub-dotnet-runtime-4a27bd0a" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-4a27bd0a/nuget/v3/index.json" />
5035
</packageSources>
5136
<disabledPackageSources>
5237
<clear />

builds/Versions-MacCatalyst.plist.in

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@
88
<dict>
99
<key>MacCatalyst</key>
1010
<array>
11-
<string>15.0</string>
12-
<string>15.2</string>
13-
<string>15.4</string>
14-
<string>16.1</string>
15-
<string>16.2</string>
16-
<string>16.4</string>
1711
<string>17.0</string>
1812
<string>17.2</string>
1913
<string>17.4</string>

builds/Versions-iOS.plist.in

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
<dict>
99
<key>iOS</key>
1010
<array>
11-
<string>12.2</string>
12-
<string>12.3</string>
13-
<string>12.4</string>
1411
<string>13.0</string>
1512
<string>13.1</string>
1613
<string>13.2</string>

builds/Versions-macOS.plist.in

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@
88
<dict>
99
<key>macOS</key>
1010
<array>
11-
<string>12.0</string>
12-
<string>12.1</string>
13-
<string>12.3</string>
14-
<string>13.0</string>
15-
<string>13.1</string>
16-
<string>13.3</string>
1711
<string>14.0</string>
1812
<string>14.2</string>
1913
<string>14.4</string>

builds/Versions-tvOS.plist.in

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
<dict>
99
<key>tvOS</key>
1010
<array>
11-
<string>12.2</string>
12-
<string>12.3</string>
13-
<string>12.4</string>
1411
<string>13.0</string>
1512
<string>13.2</string>
1613
<string>13.3</string>

docs/building-apps/build-properties.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,27 @@ By default we require a provisioning profile if:
275275

276276
Setting this property to `true` or `false` will override the default logic.
277277

278+
## ComputeInstructionSetForReadyToRun
279+
280+
Controls whether to automatically compute and pass the instruction set to the ReadyToRun (R2R) compiler based on the deployment target.
281+
282+
When `PublishReadyToRun` is `true`, the build system automatically computes the minimum CPU instruction set required based on:
283+
* The `SupportedOSPlatformVersion` (minimum OS version the app supports)
284+
* The `RuntimeIdentifier` (target architecture and platform)
285+
286+
This computed instruction set is then passed to crossgen2 via the `--instruction-set` argument, enabling the R2R compiler to generate optimized native code using appropriate CPU instructions.
287+
288+
Set this property to `false` to disable automatic instruction set computation and use crossgen2's default behavior.
289+
290+
Default: `true`
291+
292+
Example:
293+
```xml
294+
<PropertyGroup>
295+
<ComputeInstructionSetForReadyToRun>false</ComputeInstructionSetForReadyToRun>
296+
</PropertyGroup>
297+
```
298+
278299
## CompressBindingResourcePackage
279300

280301
The native references in a binding projects are copied to the output directory during the build process, next to the binding assembly (into something we call a "binding resource package").
@@ -1335,6 +1356,12 @@ See [TrimMode](/dotnet/core/deploying/trimming/trimming-options) for a bit more
13351356
> to `false` - to disable trimming, set `TrimMode=copy` instead (a build error
13361357
> will be raised if `PublishTrimmed` is set to `false`).
13371358
1359+
> [!NOTE]
1360+
> Due to [a known issue](https://github.com/dotnet/runtime/issues/108269), setting `PublishTrimmed`
1361+
> to `true` may cause confusing problems, so the build will report an error if this
1362+
> is detected (the solution is to not set `PublishTrimmed` at all).
1363+
1364+
13381365
The `TrimMode` property is equivalent to the existing
13391366
[MtouchLink](#mtouchlink) (for iOS, tvOS and Mac Catalyst) and
13401367
[LinkMode](#linkmode) (for macOS) properties, but the valid properties values

dotnet/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ $(1)_NUGET_TARGETS = \
3636
$(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)/targets/Microsoft.Sdk.Desktop.targets \
3737
$(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)/targets/Microsoft.Sdk.Eol.targets \
3838
$(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)/targets/Microsoft.Sdk.Mobile.targets \
39+
$(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)/targets/Microsoft.Sdk.R2R.targets \
3940
$(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)/targets/Xamarin.Shared.Sdk.DefaultItems.targets \
4041
$(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)/targets/Xamarin.Shared.Sdk.Publish.targets \
4142
$(DOTNET_DESTDIR)/$($(1)_NUGET_SDK_NAME)/targets/Xamarin.Shared.Sdk.TargetFrameworkInference.props \

0 commit comments

Comments
 (0)