On 05/14/2010 05:28 PM, Eric Blake wrote:
On 05/14/2010 04:05 PM, Eric Blake wrote:
> make[3]: *** No rule to make target `-lxml2', needed by `libvirt.la'. Stop.
>
> Due to treating the wrong string as a dependency.
>
> * src/Makefile.am (libvirt_la_DEPENDENCIES): Depend only on
> locally-built file, not on strings that might resolve as '-lxml2'.
Aargh. This fixed incremental builds for cygwin, but broke fresh builds
everywhere. Followup patch coming soon, to unbreak the build.
> libvirt_la_LIBADD += $(LIBXML_LIBS) \
> $(LIBPCAP_LIBS) \
> $(DRIVER_MODULE_LIBS) \
> $(CYGWIN_EXTRA_LIBADD) ../gnulib/lib/libgnu.la
> libvirt_la_CFLAGS = $(COVERAGE_CFLAGS) -DIN_LIBVIRT
> -libvirt_la_DEPENDENCIES = $(libvirt_la_LIBADD) $(LIBVIRT_SYMBOL_FILE)
> +libvirt_la_DEPENDENCIES = ../gnulib/lib/libgnu.la $(LIBVIRT_SYMBOL_FILE)
$(DRIVER_MODULE_LIBS) is important, after all.
No, it's not that. Looking at the generated Makefile, it is that
automake gives you two choices: specify no dependencies, and automake
does everything for you:
libvirt_la_DEPENDENCIES = libvirt_util.la libvirt_conf.la \
libvirt_cpu.la libvirt_driver.la $(am__append_4) \
$(am__append_7) $(am__append_11) $(am__append_15) \
$(am__append_18) $(am__append_21) $(am__append_24) \
$(am__append_45) $(am__append_51) $(am__append_76) \
libvirt_driver_security.la $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) ../gnulib/lib/libgnu.la
Or specify dependencies, and lose all automatic tracking:
libvirt_la_DEPENDENCIES = ../gnulib/lib/libgnu.la $(LIBVIRT_SYMBOL_FILE)
I've asked on the automake list if there is a way to get what we want,
of all the automatic dependencies, plus one more that we specify for
$(LIBVIRT_SYMBOL_FILE):
http://thread.gmane.org/gmane.comp.sysutils.automake.general/11773
But until that is answered, I'm out of time for today, so I've just
reverted my cygwin-breaker patch until I come up with a complete
solution that works in fresh builds.
Sorry for the churn.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org