[Vm-dev] Ian's cmake design (was: svn git bridge?)

David T. Lewis lewis at mail.msen.com
Sun Apr 24 02:56:29 UTC 2016


On Sat, Apr 23, 2016 at 05:10:37PM -0700, Eliot Miranda wrote:
> 
> David,
> 
> > On Apr 23, 2016, at 3:13 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> > 
> > 
> >> On Sat, Apr 23, 2016 at 10:44:02AM -0700, Eliot Miranda wrote:
> >> 
> >>> On Apr 23, 2016, at 10:30 AM, Tobias Pape <Das.Linux at gmx.de> wrote:
> >>> 
> >>> PS: Personally (i.e. IMHO), I think that IF we go with cmake, we should follo Ians way with
> >>>   probably some mix of the self vm stuff. It can really work. And it can also help us
> >>>   getting things compiled on MS compilers, btw.
> >> 
> >> What do you mean by "Ian's way" exactly?  Please describe it.  
> >> 
> >> Things I know:
> >> - Ian's autoconf code (platforms/unix/conf, the various additional snippets that get included when one builds the autoconf support, rather than things that get computed at build time) is extremely difficult to work with
> >> - gmake files work with MS compilers too
> > 
> > My experience is different. I find it a bit obscure in the sense that it
> > would benefit from some better documentation and comments in the cmake files.
> > 
> > Aside from that, Ian got the design dead right. Cmake handles the overall
> > build. The VM build procedures are in a small number of files. Configurations
> > that are specific to some part of the build tree are located with the source,
> > and versioned with the source files to which they apply.
> 
> And how is that significantly different from the gmake files?  Gnu make ha goes the overall build, the VM build procedures are in a small number of files. Configurations that are specific to some part of the build tree are located with the source, and versioned with the source files to which they apply.  None of this is specific to cmake.
> 
> What is specific to both cmake and autoconf is their being Makefile compilers, with all the difficulties that implies (learning a specialized language, waiting for compiles, interpreting compile-time and run-time errors and mapping them back to the source.
> 

I don't know.

My point is that Ian's design is well considered, and works very well in my experience.


> > Looking back at the last seven years or so, I would say:
> > 
> > - The number of changes to the cmake procedures has been minimal.
> > - Building a VM with Ian's procedure is still remarkably easy.
> > - The total amount of code (cmake files) required to make this work is small.
> > - In the few cases where I needed to change something, I have been able to
> >  figure out what to do.
> > - Despite years of upgrades (sic) to my operating systems and compilers,
> >  it still works.
> 
> Looking back at the past 9 years I would say that Andreas' gnu makefiles for Windows never stopped working, were much easier to extend to Cog and Newspeak and the building of platform-specific Newspeak installers was straight-forward.
> 

I have no problem believing that :-)

> > 
> > I have very little patience for fiddling around with build systems, and
> > no patience whatsoever for autotools. But I have had no trouble using
> > and occasionally modifying Ian's cmake build procedures.
> 
> Have you used the gnu makefiles?  Have you extended them?
> 

If you are referring to e.g. the acinclude.m4 and Makefile.inc files, then
yes I have used and extended them.

Dave



More information about the Vm-dev mailing list