[sigc] VPATH build fails if template.macros.m4 is newer than a header file.



  If I untar the latest sigc++ release (2.2.1) and run the following:

$ touch sigc++/macros/template.macros.m4
$ mkdir builddir
$ cd builddir
$ ../configure
$ make

  the build will fail like this:

make[1]: Entering directory `/tmp/libsigc++-2.2.1/builddir'
Making all in sigc++
make[2]: Entering directory `/tmp/libsigc++-2.2.1/builddir/sigc++'
m4   -I ../../sigc++/macros -I macros ../../sigc++/macros/signal.h.m4  > signal.h
m4   -I ../../sigc++/macros -I macros ../../sigc++/macros/slot.h.m4  > slot.h
m4   -I ../../sigc++/macros -I macros ../../sigc++/macros/method_slot.h.m4  > method_slot.h
m4   -I ../../sigc++/macros -I macros ../../sigc++/macros/object_slot.h.m4  > object_slot.h
m4   -I ../../sigc++/macros -I macros ../../sigc++/macros/class_slot.h.m4  > class_slot.h
m4   -I ../../sigc++/macros -I macros ../../sigc++/macros/hide.h.m4  > hide.h
m4   -I ../../sigc++/macros -I macros ../../sigc++/macros/retype.h.m4  > retype.h
m4   -I ../../sigc++/macros -I macros ../../sigc++/macros/limit_reference.h.m4  > limit_reference.h
m4   -I ../../sigc++/macros -I macros ../../sigc++/functors/macros/functor_trait.h.m4  > functors/functor_trait.h
/bin/sh: functors/functor_trait.h: No such file or directory

  Commenting out the rule that tries to rebuild .h and .cc files seems
to prevent the build failure; since the files shipped in the .tar.gz are
presumably correct, I'll do that for now in the Debian package.  I
don't know what a proper fix looks like: presumably if those files are
autogenerated they should be produced in the build directory, not the
source directory, but that probably requires changing more of the build
system.

  Are VPATH builds generally supported by libsigc++, or should I look at
transitioning the Debian packaging away from using VPATH?

  Daniel


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]