Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need OS-specific mscorlib.dll/etc. builds #1072

Closed
jonpryor opened this issue Dec 5, 2017 · 2 comments
Closed

Need OS-specific mscorlib.dll/etc. builds #1072

jonpryor opened this issue Dec 5, 2017 · 2 comments
Assignees
Labels
Area: xamarin-android Build Issues building the xamarin-android repo *itself*.
Milestone

Comments

@jonpryor
Copy link
Member

jonpryor commented Dec 5, 2017

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.

@jonpryor jonpryor added the Area: xamarin-android Build Issues building the xamarin-android repo *itself*. label Dec 5, 2017
@jonpryor
Copy link
Member Author

jonpryor commented Dec 5, 2017

How do we build?

We need to change our configure invocations for each OS to not disable the BCL build.
Then, between each OS build, we need to rename mono/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.

@jonpryor jonpryor added this to the d15-7 milestone Dec 6, 2017
@jonpryor jonpryor modified the milestones: d15-7, d15-8 Mar 19, 2018
@jonpryor jonpryor modified the milestones: d15-8, d15-9 Apr 30, 2018
@jonpryor jonpryor modified the milestones: d15-9, d16-0 Dec 15, 2018
@dellis1972 dellis1972 modified the milestones: d16-0, d16-1 Jan 28, 2019
@jonpryor
Copy link
Member Author

This was resolved in commit d5e002e.

@ghost ghost locked as resolved and limited conversation to collaborators Jun 9, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Area: xamarin-android Build Issues building the xamarin-android repo *itself*.
Projects
None yet
Development

No branches or pull requests

3 participants