[Vm-dev] simplifying build system

Eliot Miranda eliot.miranda at gmail.com
Tue Oct 18 23:53:42 UTC 2016

Hi Ben,

On Mon, Oct 17, 2016 at 5:22 PM, Ben Coman <btc at openinworld.com> wrote:

> On Sun, Oct 16, 2016 at 10:52 AM, Gerardo Santana Gómez Garrido
> <gerardo.santana at gmail.com> wrote:
> >
> > I want to refer to https://github.com/OpenSmalltalk/opensmalltalk-
> vm/pull/75
> >
> > The idea is to reduce duplication to the minimum. There's no need to
> have so much code duplicated. The changes introduced in pull request #75
> factorizes code and still creates a different directory to output
> intermediate products, as I think was the intention of having so many
> subdirectories and copies of the mvm script.
> >
> > Consider this change as a first shy step towards having a single source
> tree and Makefile to build any platform.
> >From another thread...
> on Tue, Oct 18, 2016 at 5:31 AM, Eliot Miranda <eliot.miranda at gmail.com>
> wrote:
> > - we will write linux makefiles in the style of the windows and mac
> makefiles, all using gmake
> Hi Eliot,
> I notice that the Windows build root directory...
> https://github.com/OpenSmalltalk/opensmalltalk-vm/tree/Cog/build.win32x86/
> squeak.cog.spur
> doesn't have the directories build, build.debug, build.assert, etc...
> https://github.com/OpenSmalltalk/opensmalltalk-
> vm/tree/Cog/build.linux32x86/squeak.cog.spur

That's right.  Neither the Windows nor the Mac build directories need the
subdirectories.  Their gmake makefiles create them as required.  That's a
distinct advantage; any configuration info (e.g. the include dependency
information in build.macos32x86/squeak.cog.spur/deps) gets generated once
and shared between the builds instead of having to run it separately for
each build (another reason why builds are faster than with autoconf/cmake).

Gerado's changes here...
>   https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/75/files
> move in that direction.  Could you skim an architectural review to
> advise if this is heading the right way and I can work with Gerardo to
> do detailed testing.

Will do.  Thanks.

> 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.

Also, until after Pharo 6 Release, maybe this work should be done
> under a new directory buildnew.linux32x86 ??


cheers -ben

best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20161018/64cdbeb0/attachment.htm

More information about the Vm-dev mailing list