-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[android][ios] Add LibraryBuilder task to support aot library mode #81919
Conversation
… still path issues in the Xcode class
Tagging subscribers to this area: @directhex Issue DetailsThis change adds a build task to generate a self-contained shared or static library when using the aot compiler and will only export symbols for methods decorated with For android, there is full testing integration that can be triggered by supplying Contributes to #79377
|
1e99eb2
to
d6fd785
Compare
8f86b1d
to
2b0f2ac
Compare
2b0f2ac
to
6ba6aa9
Compare
src/tests/FunctionalTests/Android/Device_Emulator/AOT_LLVM/Program.cs
Outdated
Show resolved
Hide resolved
Azure Pipelines successfully started running 1 pipeline(s). |
@akoeplinger @mdh1418 please give this another pass when you have a moment. |
/azp run runtime-android |
Azure Pipelines successfully started running 1 pipeline(s). |
…butes. Additional cleanup.
<ItemGroup Condition="'$(_IsLibraryMode)' == 'true'"> | ||
<DirectPInvokes Include="libSystem.Native" /> | ||
<DirectPInvokes Include="libSystem.IO.Compression.Native" /> | ||
<DirectPInvokes Include="libSystem.Security.Cryptography.Native.Android" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is missing libSystem.Net.Security.Native and libSystem.Security.Cryptography.Native (for Linux Bionic) and libSystem.Globalization.Native (for Filip's ICU PR).
I wonder if we should generate this list based on the .a files instead of hardcoding.
I'm ok with addressing this in a follow-up PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will be addressed in a follow up.
<Output TaskParameter="CompiledAssemblies" ItemName="_AndroidAssembliesInternal" /> | ||
</MonoAOTCompiler> | ||
|
||
<ItemGroup> | ||
<_AndroidAssembliesInternal Include="@(_AOT_InternalForceInterpretAssemblies)" /> | ||
<AppAssembliesInternal Include="@(_AndroidAssembliesInternal)" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is still unresolved
...unctionalTests/Android/Device_Emulator/AOT_LLVM/Android.Device_Emulator.Aot_Llvm.Test.csproj
Outdated
Show resolved
Hide resolved
/azp run runtime-android |
Azure Pipelines successfully started running 1 pipeline(s). |
Failure is known build error #80619 |
dotnet#81919 introduced a regression where the gss framework was omitted from the sample build. This change adds it back in. Fixes dotnet/performance#2924
#81919 introduced a regression where the gss framework was omitted from the sample build. This change adds it back in. Fixes dotnet/performance#2924
This change adds a build task to generate a self-contained shared or static library when using the aot compiler and will only export symbols for methods decorated with
UnmanagedCallersOnly
attributes (similar to NativeAOT).For android, there is full testing integration that can be triggered by supplying
/p:NativeLib=shared|static
. iOS will come at a later date as it is a bit more complex trying to generate a framework project.Contributes to #79377