[Vm-dev] simplifying build system

Ben Coman btc at openinworld.com
Thu Oct 20 00:55:49 UTC 2016


On Thu, Oct 20, 2016 at 3:00 AM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
>
>
> On Wed, Oct 19, 2016 at 5:37 AM, Ben Coman <btc at openinworld.com> wrote:
>>
>>
>> On Wed, Oct 19, 2016 at 7:43 PM, Ben Coman <btc at openinworld.com> wrote:
>> > On Wed, Oct 19, 2016 at 7:53 AM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>> >>
>> >> On Mon, Oct 17, 2016 at 5:22 PM, Ben Coman <btc at openinworld.com> wrote:
>> >>>
>> >>> Perhaps the following should be used as a template?
>> >>>   https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/build.win32x86/common/Makefile
>> >>
>> >> Either those or  https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/build.macos32x86/common/Makefile et al.  The Mac ones are newer and a little cleaner.
>> >
>> > Okay.
>> > So to get a bit of background understanding on the 32/64-bit build
>> > differences I did a bit of analysis.
>> > I've attached it for the curious.
>>
>> For the record this was produced by...
>> $ cd  build.macos32x86
>> $ find . -type f -print \
>>      -exec diff --side-by-side {} ../build.macos64x64/{} \; \
>>      | grep -e \| -e \< -e \> -e ^\.\/   >  diff-build.macosXxx
>> followed by some manual massaging of the resulting file.
>>
>> Apart from Makefile, plugins.int & plugin.ext most else seems the same
>> in almost 3000 lines of config.
>> I "wonder" if with a common32 and a common64 the 32-bit and 64-bit
>> builds might be merged,
>> All the sub-build-folders might be like pharo.stack.spur32.
>> But maybe later required differences turn up that would be harder to handle ??
>
>
> I did it that way to avoid a dependency between the two.

Makes sense.

> If one knows they're essentially the same

It is this "knowing" that newcomers don't start with a sense for.

> then they're easy to edit and keep in sync.

Still a bit more diligence required, but that is fine.

> I think the build.OsWordsizeProcessor scheme is simple and works.

> So it does mean that 32-bit and 64-bit platforms have a little bit of duplication.

Its not the duplication per se, its getting a sense for what differs
and what is common from file locations.
But I understand that not all needs are easy to satisfy together.

> Are you not willing to live with it?

Its a puzzle I might experiment with,
but ultimately I'm willing to live with the arrangement. Stability is
also important versus modifying things a lot trying to optimise a
particular point.

cheers -ben


More information about the Vm-dev mailing list