Skip to content

Conversation

@grendello
Copy link
Contributor

@grendello grendello commented Jul 19, 2019

One of the goals behind the Mono SDK/archive was to enable product builds
without having the entire Mono source present which means it should be possible
to remove Mono git submodule and build entire Xamarin.Android without any
issues. At the same time, we want to keep the ability to build Mono from source,
if necessary, for situations when a developer works on the BCL or the runtime
itself and there's no appropriate binary archive present. To that effect, this
commit implements the following:

  • Remove Mono submodule
  • Put Mono repo reference to the .external file
  • Make distinction between "commercial" and "regular" bits in the .external
    file so that we don't attempt to check out everything mentioned in there in
    situations when a developer doesn't have access to the commercial bits.
  • Use Mono linker sources from the archive
  • Remove zlib-helper.c from the libmonodroid build - the API implemented
    in there is no longer used by Mono.
  • Xamarin.Android.Cecil.dll and Xamarin.Android.Cecil.Mdb.dll are no
    longer built from source. Instead we use Cecil to reshape Mono.Cecil and
    conjure the two renamed and re-signed assemblies.
  • All the code which used Xamarin.Android.Cecil project reference now simply
    references the conjured asseblies (which are also added to the bundle)
  • Third Party Notices are generated from licenses found in the Mono archive.

@grendello grendello added do-not-merge PR should not be merged. full-mono-integration-build For PRs; run a full build (~6-10h for mono bumps), not the faster PR subset (~2h for mono bumps) labels Jul 19, 2019
@grendello grendello requested a review from radekdoulik July 19, 2019 09:14
@grendello grendello force-pushed the remove-mono-submodule branch 2 times, most recently from 0984e35 to 6046e7f Compare July 19, 2019 16:27
@grendello grendello removed the do-not-merge PR should not be merged. label Jul 19, 2019
@grendello grendello changed the title [WIP] Remove Mono submodule Remove Mono submodule Jul 19, 2019
@grendello grendello force-pushed the remove-mono-submodule branch 4 times, most recently from 9a14989 to 558a29e Compare July 22, 2019 17:04
One of the goals behind the Mono SDK/archive was to enable product builds
without having the entire Mono source present which means it should be possible
to remove Mono git submodule and build entire Xamarin.Android without any
issues. At the same time, we want to keep the ability to build Mono from source,
if necessary, for situations when a developer works on the BCL or the runtime
itself and there's no appropriate binary archive present. To that effect, this
commit implements the following:

  * Remove Mono submodule
  * Put Mono repo reference to the `.external` file
  * Make distinction between "commercial" and "regular" bits in the `.external`
    file so that we don't attempt to check out everything mentioned in there in
    situations when a developer doesn't have access to the commercial bits.
  * Use Mono linker sources from the archive
  * Remove `zlib-helper.c` from the `libmonodroid` build - the API implemented
    in there is no longer used by Mono.
  * `Xamarin.Android.Cecil.dll` and `Xamarin.Android.Cecil.Mdb.dll` are no
    longer built from source. Instead we use `Cecil` to reshape `Mono.Cecil` and
    conjure the two renamed and re-signed assemblies.
  * All the code which used `Xamarin.Android.Cecil` project reference now simply
    references the conjured asseblies (which are also added to the bundle)
  * Third Party Notices are generated from licenses found in the Mono archive.
  * Windows build downloads also the Darwin archive - in order to be able to use
    Mono Linker sources as well as licenses contained in this archive.
@grendello grendello force-pushed the remove-mono-submodule branch from 558a29e to ebb3873 Compare July 23, 2019 11:12
@jonpryor jonpryor merged commit 0c9f83b into dotnet:master Jul 25, 2019
@grendello grendello deleted the remove-mono-submodule branch July 25, 2019 16:06
@github-actions github-actions bot locked and limited conversation to collaborators Jan 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

full-mono-integration-build For PRs; run a full build (~6-10h for mono bumps), not the faster PR subset (~2h for mono bumps)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants