mirror of
https://github.com/libvirt/libvirt.git
synced 2026-10-02 12:20:06 -05:00
build: use library rather than cross-directory compilation
If we use subdir-objects with automake, any reference to a cross-directory .c file will result in automake creating rules that track dependency in the cross directory. But this presents a problem during 'make distclean' - if the cross directory is cleaned up first, then the daemon directory will be left with dangling references to .Po dependency files that no longer exist. Meanwhile, referring to the cross-directory .c file means that we are compiling the file twice - once in src, and once in daemon. Better is to compile just once in src into a convenience library, and then use that library from daemon. The tests directory had a similar situation of a cross-directory .c file; to solve that, we actually need a convenience library. * daemon/Makefile.am (DAEMON_SOURCES): Drop .c files... (libvirtd_LDADD): ...and instead use library. (libvirtd_conf_la_SOURCES): Declare a new convenience library. (libvirtd_LDFLAGS): Drop duplicate flag. * tests/Makefile.am (libvirtdconftest_SOURCES): Drop .c file... (libvirtdconftest_LDADD): ..and instead use library. Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
1 parent
073e157533
commit
012c25e88c
2 files changed
+27
-9
No files matched your search
+2
-2
@@ -599,8 +599,8 @@ commandhelper_LDFLAGS = -static
|
||||
if WITH_LIBVIRTD
|
||||
libvirtdconftest_SOURCES = \
|
||||
libvirtdconftest.c testutils.h testutils.c \
|
||||
../daemon/libvirtd-config.c
|
||||
libvirtdconftest_LDADD = $(LDADDS)
|
||||
$(NULL)
|
||||
libvirtdconftest_LDADD = ../daemon/libvirtd_conf.la $(LDADDS)
|
||||
else ! WITH_LIBVIRTD
|
||||
EXTRA_DIST += libvirtdconftest.c
|
||||
endif ! WITH_LIBVIRTD
|
||||
|
||||
Reference in new issue
Block a user