Skip to content

Commit

Permalink
Move the pharo-specific deployment scripts from deploy/packaging to d…
Browse files Browse the repository at this point in the history
…eploy/packaging/pharo.

Mention in README.md that documentation for deployment is to be found in deploy.
Document the packaging process for single-exe win32 VMs using ResourceHacker.
  • Loading branch information
eliotmiranda committed May 7, 2024
1 parent 6c22cca commit 5e6de00
Show file tree
Hide file tree
Showing 40 changed files with 27 additions and 5 deletions.
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ will result in incorrect version stamps in your compiled VMs.
- Overview
- VM source directories
- Platform build directories
- Other directories
- Other directories (platforms, processors, deployment, image)


Overview
Expand Down Expand Up @@ -255,11 +255,14 @@ The JIT is developed in Smalltalk by using one of these processor simulators
to execute the code the JIT produces. Currently x86 & x86-64 are derived from
Bochs, and ARMv6/v7 & ARMv8 are derived from gdb.

Customization of builds may be done in two main ways, by adapting an existing
build directory, and by using facilities designed to be applied after the fact
to a preexisting build. Such facilities live in the top-level deploy directory
and are documented there; e.g. see deploy/packaging/README.win32.

Finally the image directory contains scripts that will build a "VMMaker" image,
a Squeak Smalltalk image containing all the packages that comprise the Cog
system, suitable for developing the VM and for generating (or updating) the
sources in the vm source directories. There is also a script for generating a
64-bit Spur image from a 32-bit Spur image.

Eliot Miranda
April 2021
64-bit Spur image from a 32-bit Spur image, and the VMMaker.oscog package includes
code for converting Spur images in either direction.
19 changes: 19 additions & 0 deletions deploy/packaging/README.win32
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
The Win32 VMs can be packaged to include the image file as a resource. In this configuration
a VM executable will only accept the image it includes and cannot be used to load other
images. An image resource is added to a VM executable using a suitable tool, for example
ResourceHacker, generously provided for free by Angus Johnson. Find ResourceHacker at
https://www.angusj.com/resourcehacker/.

An image resource has the type RT_RCDATA and any name (although resource names are limited
to 8 characters in length and are upper case). To use ResourceHacker to add a resource to
a VM executable
- download and install Resource Hacker
- locate a suitable VM executable, e.g. Squeak.exe, downloaded from Squeak.org/downloads or
built from the sources (e.g. in building/win64x64/squeak.cog.spur.MSVC/build/vm/Squeak.exe.
- launch ResourceHacker and open the VM executable from the File menu
- from the Action menu invoke the "Add an Image or Other Binary Resource ..." dialog
- in the dialog use the "Select File" button to choose the desired image file
- from the Resource Type pulldown menu choose RCDATA
- in the Resource Name edit the name as desired (it will have been filled with a
truncated upper case version of the image file name)
- from the File menu or the Floppy Disc icon buttons choose Save or Save As...
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 5e6de00

Please sign in to comment.