Skip to content
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

Discussion: Fallback CoreCLR build to OSX/x64 when building for iOS #32662

Closed
akoeplinger opened this issue Feb 21, 2020 · 11 comments
Closed

Discussion: Fallback CoreCLR build to OSX/x64 when building for iOS #32662

akoeplinger opened this issue Feb 21, 2020 · 11 comments
Labels
area-Infrastructure untriaged New issue has not been triaged by the area owner

Comments

@akoeplinger
Copy link
Member

I'm working on a branch that adds an iOS target OS to the build system.

This causes an issue for the CoreCLR build because it doesn't know how to build for that target and until #32613 is fixed we need the CoreCLR build for the libraries build.

My current thinking was that the build can simply fallback to OSX.x64 in that case as it's the only platform where iOS can be built. I've implemented that in akoeplinger@23cca6b.

@ViktorHofer asked me to open a discussion issue so we can decide whether that is the correct approach and get some input from @jkotas.

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Feb 21, 2020
@jkotas
Copy link
Member

jkotas commented Feb 21, 2020

fallback to OSX.x64

That does not sound like the right approach to me. We should not building CoreCLR at all when building for iOS.

@akoeplinger
Copy link
Member Author

@jkotas I agree but the libraries build requires CoreCLR at the moment.

@jkotas
Copy link
Member

jkotas commented Feb 21, 2020

What does the libraries build require from CoreCLR?

@jkotas
Copy link
Member

jkotas commented Feb 21, 2020

It should be just System.Private.CoreLib and it should be trivial to switch libraries to consume System.Private.CoreLib from Mono.

@akoeplinger
Copy link
Member Author

I haven't looked into that but if it's trivial then yeah we should go that way instead.

@ViktorHofer can you take a look?

@steveisok
Copy link
Member

From what I've seen it requires System.Private.CoreLib, its pdb and dwarf file.

@akoeplinger
Copy link
Member Author

There's more logic that checks for CoreCLR artifacts like this one:

<Error Condition="!Exists('$(CoreCLRArtifactsPath)')" Text="The CoreCLR artifacts path does not exist '$(CoreCLRArtifactsPath)'. The CoreCLR subset category must be built before building this project." />

I'm not sure if it's the only place.

@ViktorHofer
Copy link
Member

We also need the Microsoft.NET.Sdk.IL (ilasm, ildasm)

@steveisok
Copy link
Member

Is it just ilasm / ildasm? If so, can we use a fixed version for them?

@ViktorHofer
Copy link
Member

ViktorHofer commented Feb 21, 2020

I believe we aren't using a live version yet, so this shouldn't be an issue at the moment: #1137.

@akoeplinger
Copy link
Member Author

Ok, given that the fallback approach isn't desirable and we should instead fix the libraries build to no longer require CoreCLR let's continue the discussion in #32613.

@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure untriaged New issue has not been triaged by the area owner
Projects
None yet
Development

No branches or pull requests

5 participants