[dotnet-linker] Generate a main function that actually works.

This commit is contained in:
Rolf Bjarne Kvinge 2020-06-15 17:53:14 +02:00
Родитель 77488b8fbe
Коммит 2572b67a10
1 изменённых файлов: 18 добавлений и 4 удалений

Просмотреть файл

@ -13,13 +13,27 @@ namespace Xamarin {
var items = new List<MSBuildItem> ();
foreach (var abi in Configuration.Abis) {
var file = Path.Combine (Configuration.CacheDirectory, $"main.{abi.AsArchString ()}.m");
var contents = @"
var contents = $@"
#include ""xamarin/xamarin.h""
void xamarin_setup_impl ()
{{
xamarin_executable_name = ""{Configuration.AssemblyName}"";
}}
void xamarin_initialize_callbacks () __attribute__ ((constructor));
void xamarin_initialize_callbacks ()
{{
xamarin_setup = xamarin_setup_impl;
}}
int
main (int argc, char** argv)
{
return 0;
}
{{
@autoreleasepool {{ return xamarin_main (argc, argv, XamarinLaunchModeApp); }}
}}
";
File.WriteAllText (file, contents);