[Vm-dev] Re: Uploaded squeak-vm 3.11.3

K. K. Subramaniam subbukk at gmail.com
Thu Jan 28 03:13:24 UTC 2010


On Wednesday 27 January 2010 08:56:07 pm Bert Freudenberg wrote:
> On 27.01.2010, at 05:37, K. K. Subramaniam wrote:
> > On Tuesday 26 January 2010 11:09:26 pm Bert Freudenberg wrote:
> >> Well, there is a source for this of course (in the VMMaker Squeak
> >> package). Generating the C code is a manual, interactive process and
> >> requires a running Squeak installation. Making that scriptable is
> >> possible, but so far nobody has done it AFAIK
> >
> > That is because most of the builds so far have been one target (which is
> > also the host). Batch builds are needed for multiple variants (e.g
> > debug/release) or when cross-compiling (say to ARM targets).
> 
> Ian does batched cross-builds. But the source is still only generated once.
>  All targets use the same generated sources.
The generated files are not the "source". To reiterate the issue raised in the 
bug report - 
---
the file platforms/unix/src/vm/interp.c starts with:

/* Automatically generated from Squeak on an Array(9 May 2008 11:24:03 am)
by VMMaker 3.8b6 [...]

However, I cannot identify the source file for that file. Also,
debian/copyright doesn't contain any hint how this file is generated.
----
The "source" for this file is in embedded in vmmaker image. The header only 
states that VMMaker was used as a tool but it is not evident that this version 
of VMMaker also embeds the "source" for the interpreter (and the plugins). I 
realize the tool and the sources are all one big blob in Squeak, but we still 
need to consider interpreter and plugins as separate units during builds.

So the questions that arise for downstream builders are :

 a) Where is the information about generating this intermediate file from the 
source? (i.e. tool, makefile, batch script)
 b) What is the license on that particular source unit which was used to 
generate this intermediate file? Should all plugins use the same license as the 
interpreter?

In a manual process, these are all "in the head" but that doesn't help 
downstream builders like Debian. In a batch process these steps are recorded 
in scripts for anyone to read, follow and modify, if necessary.

Isn't "generated source" an oxymoron :-)? I would favor getting rid of these 
files from version control and go directly to filing Slang changesets into 
VMMaker and translating them on the fly in Makefiles. I would even support 
writing unix/ and Cross/ in Slang. Let C become the assembly language in 
Squeak.

Subbu


More information about the Vm-dev mailing list