Repository navigation
Phase 1: build the Mono runtime against NuttX 12 with build-mono.sh - #694
Merged
Merged
Conversation
Add build-mono.sh, which builds the .NET Mono runtime archives against this repository's NuttX headers. It is standalone for now; build.sh and CI will call it once the archives are linked into the OS (phase 3). - The runtime checkout comes from MEADOW_RUNTIME_DIR, or ../runtime beside this repository when that is not set, and must be at the commit and tree recorded in MONO_RUNTIME_COMMIT with no local changes. MEADOW_RUNTIME_ALLOW_UNPINNED=1 relaxes this for runtime development. - The compiler must be arm-none-eabi-gcc 15, the same as the rest of the OS. NuttX must be configured first. - Release by default; --debug builds Debug, --clean starts again and --verbose shows the runtime build output. - Output goes to monoruntime/<release|debug>/ (ignored by git), so several checkouts can build one runtime checkout without clashing. A build stamp records the runtime commit and local changes, the compiler version and a hash of the NuttX configuration; when any of them changes the build directory is discarded and CMake configures again. - The script checks that every archive the OS link needs was produced. Move MONO_RUNTIME_COMMIT to WildernessLabs/runtime Phase1 (a76e66e60c1), which builds cleanly against NuttX 12 with GCC 15. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
WildernessLabs/runtime#2 merged Phase1 into the runtime's MergeManagedCode as c668e4a3aea; the tree is unchanged (5cf48371256). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Second phase of bringing the Mono (.NET) runtime into Meadow.OS. This one builds the runtime archives; nothing is linked into the OS yet.
Changes
build-mono.sh(new, standalone;build.shand CI will call it in phase 3):MEADOW_RUNTIME_DIR, or../runtimebeside the repository when that's unset.MONO_RUNTIME_COMMITcommit and tree, or has local changes.MEADOW_RUNTIME_ALLOW_UNPINNED=1lifts this for runtime development.--debug,--cleanand--verboseare available.monoruntime/<release|debug>/, which is git-ignored..gitignore: ignoresmonoruntime/.MONO_RUNTIME_COMMIT: points at WildernessLabs/runtimePhase1(a76e66e60c1). That's the runtime half of this phase: Phase 1: build the NuttX runtime against NuttX 12 headers with GCC 15 runtime#2.Order
MergeManagedCode.MONO_RUNTIME_COMMIThere to that merge commit.Tested
./build.sh --clean --forcepasses.🤖 Generated with Claude Code