You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of continuing corefx/etc. code merges into Mono, mscorlib.dll and System.Data.dll (and others?) are going to be OS-specific. As such, we will need to rebuild the BCL for each supported platform (Android, macOS, Windows), instead of using the same binary assemblies on all platforms.
We need to change our configure invocations for each OS to not disable the BCL build.
Then, between each OS build, we need to renamemono/mcs/class/lib/monodroid so that when we rebuild the BCL we don't nuke the previous output.
Mono currently uses deterministic builds, so after building the BCL for all assemblies, we can just diff(1) them to see if they're OS-specific or not. If they're identical, don't copy to the OS-specific install dir (below). If they're unique, copy them.
Install Structure?
xbuild-frameworks/MonoAndroid/v1.0 will continue to be for Android-OS assemblies.
Platform-specific mscorlib.dll/etc. will be placed into xbuild/Xamarin/Android/host-$(OSName), e.g. xbuild/Xamarin/Android/lib/host-Darwin/mscorlib.dll.
Integrations?
We'll need to allow the Android Designer to "know" where the OS-specific files are, so that they're copied in preference to the default Android-OS files.
Activity
jonpryor commentedon Dec 5, 2017
How do we build?
We need to change our
configureinvocations for each OS to not disable the BCL build.Then, between each OS build, we need to rename
mono/mcs/class/lib/monodroidso that when we rebuild the BCL we don't nuke the previous output.Mono currently uses deterministic builds, so after building the BCL for all assemblies, we can just diff(1) them to see if they're OS-specific or not. If they're identical, don't copy to the OS-specific install dir (below). If they're unique, copy them.
Install Structure?
xbuild-frameworks/MonoAndroid/v1.0will continue to be for Android-OS assemblies.Platform-specific
mscorlib.dll/etc. will be placed intoxbuild/Xamarin/Android/host-$(OSName), e.g.xbuild/Xamarin/Android/lib/host-Darwin/mscorlib.dll.Integrations?
We'll need to allow the Android Designer to "know" where the OS-specific files are, so that they're copied in preference to the default Android-OS files.
jonpryor commentedon May 30, 2019
This was resolved in commit d5e002e.
Bump to xamarin/monodroid/master@01a4e0a0
Bump to xamarin/monodroid/master@01a4e0a0 (#4210)