Repository navigation
[mtouch] Guard RunRegistrar calls with platform ifdef checks - #25678
Conversation
The no-xcode-build target (used on Linux) was unconditionally adding registrar generation targets for all platforms. When some platforms are disabled (e.g. only iOS is enabled), the prerequisite DLLs don't exist and make fails with 'No rule to make target'. Wrap each group of RunRegistrar eval calls with the corresponding INCLUDE_IOS/INCLUDE_TVOS/INCLUDE_MACCATALYST/INCLUDE_MAC guards so only enabled platforms have their registrar rules defined. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
This PR fixes no-xcode-build (Linux/no-Xcode builds) by ensuring mtouch registrar-generation rules are only defined for platforms that are actually enabled in the current configuration, avoiding Make failures when prerequisite platform DLLs are missing.
Changes:
- Wrapped each platform’s
RunRegistrar$(eval ...)block inifdef INCLUDE_guards (iOS/tvOS/MacCatalyst/macOS). - Ensured
no-xcode-buildonly pulls in registrar generation prerequisites for enabled platforms.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
✅ [PR Build #d2755b0] Build passed (Detect API changes) ✅Pipeline on Agent |
This comment has been minimized.
This comment has been minimized.
✅ [PR Build #d2755b0] Build passed (Build packages) ✅Pipeline on Agent |
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
✅ [PR Build #d2755b0] Build passed (Build macOS tests) ✅Pipeline on Agent |
🔥 [CI Build #d2755b0] Test results 🔥Test results❌ Tests failed on VSTS: test results 0 tests crashed, 20 tests failed, 173 tests passed. Failures❌ monotouch tests (tvOS)20 tests failed, 0 tests passed.Failed tests
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
🚀 [CI Build #d2755b0] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 193 tests passed 🎉 Tests counts✅ cecil: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
The no-xcode-build target (used on Linux) was unconditionally adding
registrar generation targets for all platforms. When some platforms are
disabled (e.g. only iOS is enabled), the prerequisite DLLs don't exist
and make fails with 'No rule to make target'.
Wrap each group of RunRegistrar eval calls with the corresponding
INCLUDE_IOS/INCLUDE_TVOS/INCLUDE_MACCATALYST/INCLUDE_MAC guards so
only enabled platforms have their registrar rules defined.