[tools] Compute the llvm output file and pass it to the AOT compiler / native linker
This commit is contained in:
Родитель
476d35909a
Коммит
2014bf68c3
|
@ -738,6 +738,7 @@
|
|||
<ItemGroup Condition="'$(IsMacEnabled)' == 'true'">
|
||||
<!-- Add the AOT-compiled output to the main executable -->
|
||||
<_XamarinMainLibraries Include="@(_AssembliesToAOT -> '%(ObjectFile)')" />
|
||||
<_XamarinMainLibraries Include="@(_AssembliesToAOT -> '%(LLVMFile)')" />
|
||||
|
||||
<!-- copy the aotdata files to the .app -->
|
||||
<ResolvedFileToPublish Include="%(_AssembliesToAOT.AOTData)" >
|
||||
|
|
|
@ -36,9 +36,7 @@ namespace Xamarin.Linker {
|
|||
var arch = abi.AsArchString ();
|
||||
var aotAssembly = Path.Combine (outputDirectory, arch, Path.GetFileName (input) + ".s");
|
||||
var aotData = Path.Combine (outputDirectory, arch, Path.GetFileNameWithoutExtension (input) + ".aotdata");
|
||||
var llvmFile = string.Empty;
|
||||
if ((abi & Abi.LLVM) == Abi.LLVM)
|
||||
throw ErrorHelper.CreateError (99, $"Support for LLVM hasn't been implemented yet.");
|
||||
var llvmFile = Configuration.Application.IsLLVM ? Path.Combine (outputDirectory, arch, Path.GetFileName (input) + ".llvm.o") : string.Empty;
|
||||
var objectFile = Path.Combine (outputDirectory, arch, Path.GetFileName (input) + ".o");
|
||||
app.GetAotArguments (asm.FullPath, abi, outputDirectory, aotAssembly, llvmFile, aotData, out var processArguments, out var aotArguments, Path.GetDirectoryName (Configuration.AOTCompiler));
|
||||
item.Metadata.Add ("Arguments", StringUtils.FormatArguments (aotArguments));
|
||||
|
@ -47,6 +45,7 @@ namespace Xamarin.Linker {
|
|||
item.Metadata.Add ("Arch", arch);
|
||||
item.Metadata.Add ("AOTData", aotData);
|
||||
item.Metadata.Add ("AOTAssembly", aotAssembly);
|
||||
item.Metadata.Add ("LLVMFile", llvmFile);
|
||||
item.Metadata.Add ("ObjectFile", objectFile);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче