[Scummvm-devel] ScummVM goes buildbot

Max Horn max at quendi.de
Mon Mar 16 15:54:18 CET 2009


Am 16.03.2009 um 03:10 schrieb Kostas Nakos:

> Hello,
>
> Great work!
>
> Andre Heider wrote:
>> We hope that porters help out to add their build environment to the
>> buildbot server. I wrote down the toolchain/port requirements on the
>> wiki page, please take a look.
>
> I'll be happy to do so. I'll get in touch.
>
>> The ./configure script requirement is probably the biggest hurdle for
>> some ports (my Wii one included). Once a port is ready to be added -
>> or it already is - please ask for an account on the buildbot server.
>> Then we can set up the used tools and add it to the buildbot config.
>
> So, the problem is (and correct me if I get this wrong) that the  
> source
> gets checked out once at a specific dir A, then the configure is run
> from the target dir B. All build by-products are saved in dir B.

Yes. A is the "srcdir", and "B" is the current dir (we could define a  
"builddir" var I guess, but where's the point...)

As you probably know, this is a feature which our configure script  
supported for many years now :).


> If that is so, then perhaps we can slightly modify the custom  
> Makefiles
> to cope with that? Setting up 'srcdir', VPATH, and the includes in an
> absolute fashion, referring to the wince makefile should do the trick?
> Adding a variable override such as: 'make dist srcdir=path_to_A' is  
> no good?

> I haven't tried build for ce outside the tree yet, but is it worth
> taking a look at it, or we have given up completely on the idea of
> backends/* makefile builds for buildbot?


Andre should have the final word on this, and I mailed him a similar  
question last night. But I think that it should be possible to support  
build systems that don't use configure in principle; it's just a bit  
more work to support these extra setups compared to using configure  
everywhere. So on the long run, it still would still be nice to use  
configure for as many ports as possible. But for now, we should try to  
go for the most pragmatic solution.

So yes, if you enhance your Makefile in such a way that it sets up the  
required vpath data, and it allows specifying the src location, then  
we *should* be able to use that (pending Andre's agreement ;).  
Buildbot cold then skip the configure phase and compile it via "make - 
f backends/platform/wince/Makefil srcdir=PATH".

Here is what the custom Makefiles generated by configure look like --  
duplicating that should do (most of?) the trick:

# -------- Generated by configure -----------
srcdir = ../..
vpath %.h $(srcdir)
vpath %.cpp $(srcdir)
vpath %.c $(srcdir)
vpath %.m $(srcdir)
vpath %.asm $(srcdir)
vpath %.s $(srcdir)
include $(srcdir)/Makefile


Note that you could change the srcdir line to
   srcdir ?= .
to let it default to the current dir but be easily overridable.


Cheers,
Max




More information about the Scummvm-devel mailing list