[Spice-devel] [spice-common RFC] Introduce SPICE_COMMON_SETUP m4 macro

Marc-André Lureau mlureau at redhat.com
Fri Nov 8 17:02:39 PST 2013



----- Original Message -----
> On Fri, Nov 08, 2013 at 04:10:16PM -0500, Marc-André Lureau wrote:
> > 
> > 
> > ----- Original Message -----
> > > This macro gathers the various checks/substitutions that spice-common's
> > > configure.ac needs to do. It's meant to be called by users of the
> > > spice-common submodule instead of calling AC_CONFIG_SUBDIRS() which is
> > > much slower and less flexible.
> > 
> > Speed? It takes less than 10s on my machine at configure time. benefit is
> > really marginal.
> 
> Good that you have a SSD, it takes 30 seconds here every time I run
> autogen.sh in spice/ or spice-gtk/, and most of these 30 seconds is
> duplicating work that has already been done in the toplevel configure.ac

If you autogen every day, you are doing it wrong. And 2x30s or 1x30s for something you do once in a while as a developer, that's really not that important.

> > But more, that goes in the wrong direction. The idea was
> > and is till to have a shared library. But for that to happen, somebody
> > needs to clean up API, and version it etc..
> 
> The devil is in that etc.., there is still this automagic code generation
> in the server/client code with inclusion of .c files and different
> #defines, so it's more involved than an API clean up. And it will also take
> much more time.
> 
> 
> > I would rather take this change happily than some awkward build change.
> 
> This shared library configure.ac could also use that macro, so we don't
> lose much by introducing it, it can also be just copied and pasted back to
> configure.ac the day there is such a shared library. This library did
> not get closer in the 18 months we have been using submodules, so I would
> not hold my breath for it to appear now ;)

It is easy today to start improving things, as you can build the submodule independently, like a regular project.

we had a clean configure.ac and you turn this into a horrible .m4 for bad reasons. Readability is more important here.

> Until this happens, using this macro will save every developer's time, and
> avoid some awkward weirdness in spice/ and spice-gtk/ builds (is config.h
> or spice-common/config.h used when compiling the various files,
> useless check for opus/celt in the main configure.ac just to be able to
> have an accurate Requires.private line in the .pc file, warnings used in
> the toplevel build and in spice-common do not seem to be consistent, ...)
> 
> I'll happily redo a configure.ac/fix make distcheck/... when we want to
> turn this into a standalone module.

I would prefer to save 1kb/s of bandwidth or 0.1% cpu rather than spending our time fighting 30s of autofoo...

If I am the only one, then I will let it go. But otherwise, I'll not ack such changes.


More information about the Spice-devel mailing list