Skip to content

[clr-ios] Update AppleAppBuilder to support dynamic R2R images #120045

@kotlarmilos

Description

@kotlarmilos

Description

Integrate Mach-O objects produced by Crossgen2 into the Apple app build. Ensure the .o files are linked into a dylib, correctly referenced by the app, signed, packaged into the .app bundle, and accompanied by debug symbols. Cache composite R2R outputs in Debug to speed up incremental builds.

Tasks:

  • Add an MSBuild task/target that links Crossgen2 .o into a .dylib
    • Accept multiple .o inputs and emit a single composite R2R .dylib
  • Link the app with:
    • libcoreclr.dylib via @rpath
    • The composite R2R .dylib produced above
    • Ensure @rpath entries include @executable_path/Frameworks
  • Place the composite R2R .dylib in the bundle
  • Generate debug symbols (.dSYM) for both the app and the composite R2R .dylib
  • Sign the app and all embedded dylibs
  • Implement Debug build caching for R2R artifacts
    • Persist composite R2R inputs/outputs under an incremental cache key
    • Reuse cached .o and .dylib when inputs are unchanged
  • Add CI validation step to verify dylib presence, code signature and rpath load commands

DoD: The Apple build produces a signed dylib inside the .app bundle.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions