Repository navigation
Add SqueakLiveTyping VM build process (ARM + x64 on Win/Linux/Mac) - #778
hernanwilkinson wants to merge 1 commit into
Conversation
eliotmiranda
left a comment
There was a problem hiding this comment.
Hi Hernan,
the name scheme for the build directories should be
squeak.livetyping.spur
This matches e.g. squeak.sista.spur, since the live typing machinery implies cog. Sorry to ask you to do this but please resubmit the pull request with all squeak.cog.spur.livetyping directories renamed to squeak.livetyping.spur
Adds a first-class, CI-driven build for the LiveTyping variant of the Spur 64-bit Cog VM, branded SqueakLiveTyping, coexisting with the stock Squeak VM. - src/spur64.cog.livetyping: dedicated generated source tree (LiveTypingCoInterpreter / LiveTypingCogit, VMMaker.oscog-eem.3776), split out from the stock src/spur64.cog so both VMs can be built. - building/<arch>/squeak.cog.spur.livetyping for the six 64-bit targets (macos64x64, macos64ARMv8, win64x64, win64ARMv8, linux64x64, linux64ARMv8), mirroring each platform's squeak.cog.spur flavor but pointing VMSRCDIR/--with-src at the livetyping tree and branding the artifact SqueakLiveTyping (macOS Makefile.app.squeaklivetyping; Windows VM:=SqueakLiveTyping + SqueakLiveTyping.def.in/.rc/.exe.manifest; Linux INSTALLDIR sqcogspurlt64...). - CI: add squeak.cog.spur.livetyping to the matrix.flavor of the six platform workflows, with matrix excludes so LiveTyping builds only the supported 64-bit / threaded-heartbeat legs. Verified locally: macos64ARMv8 fast build produces SqueakLiveTyping.app whose binary reports LiveTypingCoInterpreter/LiveTypingCogit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4b04409 to
690ecb2
Compare
|
@eliotmiranda I renamed the directory as you suggested, and changed the related files. |
There was a problem hiding this comment.
Have you tried the regular OSVM builds? Callbacks (i.e. thunks) work fine on Windows ARM64. This change seems unnecessary unless your build works differents compared to win64ARMv8/squeak.cog.spur.
There was a problem hiding this comment.
If you are referring to a MinGW-w64 toolchain, please expand your commentary. I am referring to WinSDK builds, which we do in CI.
There was a problem hiding this comment.
This is a nice contribution for an extra pull request. It is rather surprising in this one. Please add also some more information about the change.
There was a problem hiding this comment.
This is a nice contribution for an extra pull request. It is rather surprising in this one. Please add also some more information about the change.
|
I object to the changes in the following files, which should rather be proposed as an extra pull request. As I commented in |
What
Adds a first-class, CI-driven build for the LiveTyping variant of the Spur 64-bit Cog VM, branded SqueakLiveTyping, coexisting with the stock Squeak VM. Produced for the six modern 64-bit targets:
macos64x64,macos64ARMv8,win64x64,win64ARMv8,linux64x64,linux64ARMv8.Why
LiveTyping is a runtime type-collection feature baked into a regenerated Spur64 Cog source tree (
LiveTypingCoInterpreter/LiveTypingCogit, VMMaker.oscog-eem.3776). Until now it had no dedicated artifact or CI. This PR turns it into a proper, reproducible build flavor.How
src/spur64.cog.livetyping/— dedicated generated source tree, split out from the stocksrc/spur64.cogso both VMs can be built side by side.building/<arch>/squeak.cog.spur.livetyping/— a new flavor dir per target, mirroring each platform'ssqueak.cog.spurbut pointingVMSRCDIR/--with-srcat the livetyping tree and branding the artifact SqueakLiveTyping:common/Makefile.app.squeaklivetypingsetsAPPNAME:=SqueakLiveTyping->SqueakLiveTyping.appVM:=SqueakLiveTyping+SqueakLiveTyping.def.in/.rc/.exe.manifestbuild*/mvmuse--with-src=src/spur64.cog.livetyping,INSTALLDIR=sqcogspurlt64...squeak.cog.spur.livetypingadded tomatrix.flavorof the six platform workflows, withexcludeblocks so it builds only the supported 64-bit (and threaded-heartbeat on Linux) legs. It rides the existingactions_build.sh->pack-vm.sh-> release pipeline, producingsqueak.cog.spur.livetyping_<arch>artifacts.Verification
Local
macos64ARMv8fast build producesSqueakLiveTyping.appwhose binary reportsLiveTypingCoInterpreter/LiveTypingCogit. The stocksqueak.cog.spurbuild is unaffected (it still compiles the restored stocksrc/spur64.cog).Note
The regenerated LiveTyping
interp.hdoes not#define IMMUTABILITY 1(immutability OFF), as generated by VMMaker; no build config restores it. Flagging in case that should change.