diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/Aot.cs b/src/Xamarin.Android.Build.Tasks/Tasks/Aot.cs index 211b936048a..7851c405c12 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/Aot.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/Aot.cs @@ -60,6 +60,8 @@ public class Aot : Task public string AndroidSequencePointsMode { get; set; } + public string AotAdditionalArguments { get; set; } + public ITaskItem[] AdditionalNativeLibraryReferences { get; set; } [Output] @@ -317,7 +319,7 @@ bool DoExecute () { Path.GetFileName (assembly.ItemSpec))); string aotOptions = string.Format ( - "{0}--aot={8}{1}outfile={2},asmwriter,mtriple={3},tool-prefix={4},ld-flags={5},llvm-path={6},temp-path={7}", + "{0}--aot={9}{8}{1}outfile={2},asmwriter,mtriple={3},tool-prefix={4},ld-flags={5},llvm-path={6},temp-path={7}", EnableLLVM ? "--llvm " : string.Empty, AotMode != AotMode.Normal ? string.Format("{0},", AotMode.ToString().ToLowerInvariant()) : string.Empty, QuoteFileName (outputFile), @@ -326,7 +328,8 @@ bool DoExecute () { ldFlags, QuoteFileName (SdkBinDirectory), QuoteFileName (outdir), - sequencePointsMode == SequencePointsMode.Offline ? string.Format("msym-dir={0},", QuoteFileName(outdir)) : string.Empty + sequencePointsMode == SequencePointsMode.Offline ? string.Format("msym-dir={0},", QuoteFileName(outdir)) : string.Empty, + AotAdditionalArguments != string.Empty ? string.Format ("{0},", AotAdditionalArguments) : string.Empty ); // Due to a Monodroid MSBuild bug we can end up with paths to assemblies that are not in the intermediate diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index fc324b6ab2d..c71e2e4336e 100755 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -2173,6 +2173,7 @@ because xbuild doesn't support framework reference assemblies. SdkBinDirectory="$(MonoAndroidBinDirectory)" SupportedAbis="$(_BuildTargetAbis)" AndroidSequencePointsMode="$(_SequencePointsMode)" + AotAdditionalArguments="$(AndroidAotAdditionalArguments)" ResolvedAssemblies="@(_ResolvedAssemblies)" AotOutputDirectory="$(_AndroidAotBinDirectory)" IntermediateAssemblyDir="$(MonoAndroidIntermediateAssemblyDir)"