b87db48344
The "product assembly" is supposed to be Xamarin.iOS.dll, Xamarin.Mac.dll,
etc., not other assemblies, so fix the implementation to reflect this. The
original commit where MonoTouch.Dialog-1 and MonoTouch.NUnitLite were
introduced as platform assemblies is quite old [1], and doesn't explain much,
but I believe the intention was to make us treat these assemblies as *SDK*
assemblies and link them accordingly, so I made these assemblies SDK assemblies now.
Additionally remove "Xamarin.iOS" as a hardcoded platform assembly for Mac
Catalyst, because this particular code is exclusive to legacy Xamarin, and Mac
Catalyst support will only be included in our .NET release, which means this
code does not have any purpose here, and might even break something one day.
[1]:
|
||
---|---|---|
.. | ||
MonoTouch.Tuner | ||
ApplyPreserveAttribute.cs | ||
BaseProfile.cs | ||
ChangeLog | ||
CoreHttpMessageHandler.cs | ||
CoreMarkStep.cs | ||
CoreOptimizeGeneratedCode.cs | ||
CorePreserveCode.cs | ||
CoreRemoveAttributes.cs | ||
CoreRemoveSecurity.cs | ||
CoreSweepStep.cs | ||
CoreTypeMapStep.cs | ||
CustomSymbolWriter.cs | ||
ExceptionalSubStep.cs | ||
MarkNSObjects.cs | ||
MobileApplyPreserveAttribute.cs | ||
MobileExtensions.cs | ||
MobileMarkStep.cs | ||
MobileProfile.cs | ||
MobileRemoveAttributes.cs | ||
MobileResolveMainAssemblyStep.cs | ||
MobileSweepStep.cs | ||
ObjCExtensions.cs | ||
README.linker | ||
RegistrarRemovalTrackingStep.cs | ||
RemoveRejectedTypesStep.cs | ||
RemoveSelectors.cs | ||
RemoveUserResourcesSubStep.cs | ||
ScanTypeReferenceStep.cs |
README.linker
README.linker Q: Why some stuff is not linked out ? A: In most case this is because: a) the BCL uses it internally b) the mono runtime depends on the type, methods, class layout = mscorlib.dll = System.Security.PermissionSet * Assembly has (3) fields of that type * mscorlib.xml preserve all fields from Assembly (object-internals.h) * code is "stubified" by the linker System.Security.Policy.ApplicationTrust: * Used as a field in AppDomainSetup; * Field also exists in unmanaged code (domain-internals.h); * mscorlib.xml preserve all fields from AppDomainSetup * only the default .ctor remains and is stubified by the linker System.Security.Policy.Evidence * Used by AppDomain.Load[Assembly] * Used by Assembly.LoadWithPartialName overloads * code is "stubified" by the linker = System.dll = System.Text.RegularExpressions.* * Included because there is 2 regex in UriParser