Hello team,
I am very happy with the new hack to simplify creating bundles of applications,
because we no longer need a C compiler to make these happen, and as a bonus, we
now allow cross-compilation of bundles.
Just a couple of days ago, I added support for a new “--18n” flag that controls
which encoders are shipped with the application, similar to the same setting
that we surface on Xamarin.{Android,iOS,tvOS,macOS}.
The cross-compilation feature has surfaced a problem, when we bundle, we bundle
using the assemblies from the system, but a VM that you can specify, and this
can lead to mismatches between the C and C# code in the runtime (ie, Mono 4.0
and mscorlib 4.2).
So it seems to me that instead of just shipping Mono runtimes in our server for
cross compilation, we are going to have to ship the entire set of assemblies
that are part of a distribution. Perhaps all of $prefix/lib/mono/gac as well as
the C runtime, and the support libraries for Mono.Posix.
Now, that is the easy part.
The part that I am debating is the part where we would like to distribute
shared libraries that go with the bundled binary. Either we can require that
shared libraries be distributed side-by-side, to be a user/distribution
problem, or to allow a way in mkbundle to ship those on behalf of the
user/distributor.
Something like:
mcs foo.cs -pkg:gtk-sharp-2.0
mkbundle –cross arm64-debian-linux-4.2.0
–shared-libs=/tmp/my-gtk-2.0-for-debain-shared-libs
Thoughts?
Miguel.
_______________________________________________
Mono-list maillist - [email protected]
http://lists.dot.net/mailman/listinfo/mono-list