[Xcb] building xcb without check

Jamey Sharp jamey at minilop.net
Thu Aug 4 03:09:07 EST 2005

Thanks for looking into this, Trevor!

I've just tested without check installed, using automake 1.7, 1.8, and
1.9, and both with and without your patch.

With automake 1.7 and 1.8 (and I assume earlier versions) this patch
doesn't help any. It has the desired effect with automake 1.9, though:
without the patch, things die, and with the patch, they work. Sweet!

I also tested `./configure --without-check` just for the heck of it, and
it works like you say it does. :-)

I've committed your patch, plus a comment. This means people now have
three choices when building XCB:
     1. Install check (kinda preferred).
     2. Install automake 1.9.
     3. Follow the NoCheck directions.

FWIW, I also use stow, but I installed check as a Debian package so I've
never needed to pass -I to aclocal. That problem looks painful.

I did experiment with -I when trying to find workarounds for not having
check installed. I wouldn't mind committing to CVS the dummy check.m4
from the NoCheck directions if aclocal could be told to use it as a
*last* resort, but -I paths are searched *first*.


On Wed, 2005-08-03 at 11:12 -0400, Trevor Woerner wrote:
> I've been doing some investigation with the CHECK unit test suite
> [http://check.sourceforge.net/] that is used in xcb
> [http://xcb.freedesktop.org/wiki/]. That's a great tool, something for
> which I had been looking for a long time! I especially like the way it
> integrates with the autofoo framework.
> Everything seems to work well IF you have CHECK installed properly,
> but if you don't... special care needs to be taken
> [http://xcb.freedesktop.org/wiki/NoCheck].
> Personally, things that I ./configure and compile on my own I like to
> install into /usr/local/packages/<pacakge-version> and then use stow
> [http://directory.fsf.org/stow.html] to symlink those things into
> /usr/local/.... For this reason my check.m4 file ended up installed
> into /usr/local/share/aclocal, a location that is not checked by
> default by the aclocal program.
> One way to fix this is to simply copy (as root) the check.m4 file into
> /usr/share/aclocal (a location that is checked by aclocal). Another
> solution is to pass the "-I" (capital i) flag to aclocal as in:
> aclocal -I/usr/local/share/aclocal
> This will get aclocal to find the check.m4 macro and include it into
> the generated aclocal.m4.
> Unfortunately the autoreconf tool (which our autogen.sh script uses)
> doesn't provide a means to pass this option onto the aclocal program.
> In other words: the user would have to explicitly call "aclocal -I..."
> themselves, then they can use autoreconf (or keep calling all the
> subprograms individually).
> But what if the user really doesn't have CHECK installed and has no
> interest in installing it? I've been reading through the autofoo docs
> and I think I've found the proper solution. I've attached it as a
> diff. Could people with faster connections (who can pull down fresh
> xcb trees in seconds) please give this a whirl both with and without
> CHECK installed?
> Note that it's also possible to provide a "--without-check" option to
> ./configure even if you have CHECK installed but don't want to use it
> (i.e. aren't going to run the checks and would rather keep the extra
> code out of the binary).
> The solution I'm trying is to use the m4_ifdef() macro. Note: if you
> don't have CHECK installed aclocal will still give a warning.
> I've tested this on my machine and it appears to work fine for all three cases:
> 1) don't have CHECK
> 2) have CHECK but don't want to use it (--without-check)
> 3) have CHECK and want to use it
> But please test before you consider applying this patch because my
> source tree already has all the autofoo-generated files and I'm not
> 100% certain that I deleted all the necessary files each time.
> _______________________________________________
> xcb mailing list
> xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb

More information about the xcb mailing list