I reckon I ought to be using the more robust ->have_c_compiler method
in Module::Build, rather than just checking ->cbuilder, to determine
whether to do XS stuff in XML-Easy. (I can easily provide a backup
implementation of ->have_c_compiler to allow building with earlier
versions of M:B. (I prefer not to require any minimum version of M:B,
until configure_requires handling is all sorted out.)) But I found a
problem in its file handling. It calls ExtUtils::CBuilder->have_compiler,
which sticks its test files in a fixed location, /tmp/compilet.{c,o,so}
on Unix. Multiple simultaneous users will clash with each other.
EU:CB should probably be creating a temporary directory, with
unpredictable name, for the purposes of this test. There are modules to
help with this sort of thing. I'm a bit surprised that EU:CB doesn't
already have infrastructure for handling temporary files, but it looks
like this is the only compiling method that doesn't start with input
files already in the filesystem.
M:B has places for temporary files. Should it be able to tell EU:CB to
use a particular directory?
-zefram