-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Add support for building CoreCLR for iOS/tvOS simulator #89673
Conversation
Tagging subscribers to this area: @hoyosjs Issue DetailsBuild instructions:
SDK would need to be updated with RIDs in To do:
|
This comment was marked as outdated.
This comment was marked as outdated.
@@ -19,9 +19,15 @@ | |||
// For each hosting API, we define a function prototype and a function pointer | |||
// The prototype is useful for implicit linking against the dynamic coreclr | |||
// library and the pointer for explicit dynamic loading (dlopen, LoadLibrary) | |||
#ifdef __cplusplus | |||
#define CORECLR_HOSTING_API(function, ...) \ | |||
extern "C" int CORECLR_CALLING_CONVENTION function(__VA_ARGS__); \ |
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.
nit: there is EXTERN_C
macro to avoid the condition.
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 header is meant for external consumption and it cannot have other dependencies.
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.
Ah ok, maybe this header could use the same preamble as the other shared headers:
#ifdef __cplusplus
extern "C"
{
#endif // __cplusplus
... code ...
#ifdef __cplusplus
}
#endif // __cplusplus
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.
I have no personal preference for either style. They are nearly the same in terms of changed lines.
src/native/libs/System.Security.Cryptography.Native.Apple/entrypoints.c
Outdated
Show resolved
Hide resolved
afd554a
to
1de0882
Compare
/azp run runtime-ioslike |
Azure Pipelines successfully started running 1 pipeline(s). |
b337ff8
to
26fd151
Compare
Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it. |
@filipnavara do you plan to continue working on this? |
Yes, it needs a merge/rebase to resolve conflicts. (I am sick at the moment, so it may have to wait a few days) |
OK, reopening, get well soon! |
…ld.sh clr+clr.nativeaotlibs+libs+packs -os [iossimulator/maccatalyst/ios] -arch arm64 -cross'
…am.csproj -c Release /p:TargetOS=iossimulator /p:TargetArchitecture=arm64 /p:AppleAppBuilderRuntime=CoreCLR /p:DeployAndRun=true /p:UseMonoRuntime=false /p:RunAOTCompilation=false /p:MonoForceInterpreter=false
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
e2f60cb
to
f90f749
Compare
Draft Pull Request was automatically closed for 30 days of inactivity. Please let us know if you'd like to reopen it. |
Build instructions:
./build.sh clr+clr.nativeaotlibs+libs+packs -os [iossimulator/tvossimulator/maccatalyst] -arch arm64 -cross
./dotnet.sh publish src/mono/sample/iOS/Program.csproj -c Release /p:TargetOS=iossimulator /p:TargetArchitecture=arm64 /p:DeployAndRun=true /p:UseMonoRuntime=false /p:RunAOTCompilation=false /p:MonoForceInterpreter=false
SDK would need to be updated with RIDs in
KnownRuntimeFramework
to use this. Xamarin counterpart for bindings support: https://github.com/xamarin/xamarin-macios/compare/net8.0...filipnavara:xamarin-macios:net8.0-coreclr-ioslike?expand=1To do:
libcoreclr_static.a