Imported Upstream version 1.2.5
[archive/platform/upstream/libvirt.git] / src / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2
3 ## Copyright (C) 2005-2014 Red Hat, Inc.
4 ##
5 ## This library is free software; you can redistribute it and/or
6 ## modify it under the terms of the GNU Lesser General Public
7 ## License as published by the Free Software Foundation; either
8 ## version 2.1 of the License, or (at your option) any later version.
9 ##
10 ## This library is distributed in the hope that it will be useful,
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 ## Lesser General Public License for more details.
14 ##
15 ## You should have received a copy of the GNU Lesser General Public
16 ## License along with this library.  If not, see
17 ## <http://www.gnu.org/licenses/>.
18
19 # old automake does not provide abs_{src,build}dir variables
20 abs_builddir = $(shell pwd)
21 abs_topbuilddir = $(shell cd .. && pwd)
22 abs_srcdir = $(shell cd $(srcdir) && pwd)
23
24 # No libraries with the exception of LIBXML should be listed
25 # here. List them against the individual XXX_la_CFLAGS targets
26 # that actually use them. Also keep GETTEXT_CPPFLAGS at the end.
27 INCLUDES =      -I../gnulib/lib                                 \
28                 -I$(top_srcdir)/gnulib/lib                      \
29                 -I$(top_srcdir)                                 \
30                 -I../include                                    \
31                 -I$(top_srcdir)/include                         \
32                 -I$(top_srcdir)/src/util                        \
33                 -DIN_LIBVIRT                                    \
34                 -Dabs_topbuilddir="\"$(abs_topbuilddir)\""      \
35                 $(GETTEXT_CPPFLAGS)
36
37 AM_CFLAGS =     $(LIBXML_CFLAGS)                                \
38                 $(WARN_CFLAGS)                                  \
39                 $(LOCK_CHECKING_CFLAGS)                         \
40                 $(WIN32_EXTRA_CFLAGS)                           \
41                 $(COVERAGE_CFLAGS)
42 AM_LDFLAGS =    $(DRIVER_MODULE_LDFLAGS)                        \
43                 $(COVERAGE_LDFLAGS)                             \
44                 $(RELRO_LDFLAGS)                                \
45                 $(NO_INDIRECT_LDFLAGS)                          \
46                 $(NULL)
47
48 EXTRA_DIST = $(conf_DATA) util/keymaps.csv
49
50 BUILT_SOURCES =
51 CLEANFILES =
52 DISTCLEANFILES =
53 MAINTAINERCLEANFILES =
54 nodist_conf_DATA =
55
56 THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)
57
58 SECDRIVER_CFLAGS =
59 SECDRIVER_LIBS =
60 if WITH_SECDRIVER_SELINUX
61 SECDRIVER_CFLAGS += $(SELINUX_CFLAGS)
62 SECDRIVER_LIBS += $(SELINUX_LIBS)
63 endif WITH_SECDRIVER_SELINUX
64 if WITH_SECDRIVER_APPARMOR
65 SECDRIVER_CFLAGS += $(APPARMOR_CFLAGS)
66 SECDRIVER_LIBS += $(APPARMOR_LIBS)
67 endif WITH_SECDRIVER_APPARMOR
68
69 if WITH_NETWORK
70 UUID=$(shell uuidgen 2>/dev/null)
71 endif WITH_NETWORK
72
73 lib_LTLIBRARIES = libvirt.la libvirt-qemu.la libvirt-lxc.la
74
75 moddir = $(libdir)/libvirt/connection-driver
76 mod_LTLIBRARIES =
77
78 confdir = $(sysconfdir)/libvirt
79 conf_DATA = libvirt.conf
80
81 augeasdir = $(datadir)/augeas/lenses
82 augeas_DATA =
83
84 augeastestdir = $(datadir)/augeas/lenses/tests
85 augeastest_DATA =
86
87 # These files are not related to driver APIs. Simply generic
88 # helper APIs for various purposes
89 UTIL_SOURCES =                                                  \
90                 util/viralloc.c util/viralloc.h                 \
91                 util/virarch.h util/virarch.c                   \
92                 util/viratomic.h util/viratomic.c               \
93                 util/viraudit.c util/viraudit.h                 \
94                 util/virauth.c util/virauth.h                   \
95                 util/virauthconfig.c util/virauthconfig.h       \
96                 util/virbitmap.c util/virbitmap.h               \
97                 util/virbuffer.c util/virbuffer.h               \
98                 util/vircgroup.c util/vircgroup.h util/vircgrouppriv.h  \
99                 util/virclosecallbacks.c util/virclosecallbacks.h               \
100                 util/vircommand.c util/vircommand.h util/vircommandpriv.h \
101                 util/virconf.c util/virconf.h                   \
102                 util/vircrypto.c util/vircrypto.h               \
103                 util/virdbus.c util/virdbus.h util/virdbuspriv.h        \
104                 util/virdnsmasq.c util/virdnsmasq.h             \
105                 util/virebtables.c util/virebtables.h           \
106                 util/virendian.h                                \
107                 util/virerror.c util/virerror.h                 \
108                 util/virevent.c util/virevent.h                 \
109                 util/vireventpoll.c util/vireventpoll.h         \
110                 util/virfile.c util/virfile.h                   \
111                 util/virfirewall.c util/virfirewall.h           \
112                 util/virfirewallpriv.h                          \
113                 util/virhash.c util/virhash.h                   \
114                 util/virhashcode.c util/virhashcode.h           \
115                 util/virhook.c util/virhook.h                   \
116                 util/virhostdev.c util/virhostdev.h             \
117                 util/viridentity.c util/viridentity.h           \
118                 util/virinitctl.c util/virinitctl.h             \
119                 util/viriptables.c util/viriptables.h           \
120                 util/viriscsi.c util/viriscsi.h                 \
121                 util/virjson.c util/virjson.h                   \
122                 util/virkeycode.c util/virkeycode.h             \
123                 util/virkeyfile.c util/virkeyfile.h             \
124                 util/virkeymaps.h                               \
125                 util/virlockspace.c util/virlockspace.h         \
126                 util/virlog.c util/virlog.h                     \
127                 util/virmacaddr.h util/virmacaddr.c             \
128                 util/virnetdev.h util/virnetdev.c               \
129                 util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
130                 util/virnetdevbridge.h util/virnetdevbridge.c   \
131                 util/virnetdevmacvlan.c util/virnetdevmacvlan.h \
132                 util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
133                 util/virnetdevtap.h util/virnetdevtap.c         \
134                 util/virnetdevveth.h util/virnetdevveth.c       \
135                 util/virnetdevvlan.h util/virnetdevvlan.c       \
136                 util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
137                 util/virnetlink.c util/virnetlink.h             \
138                 util/virnodesuspend.c util/virnodesuspend.h     \
139                 util/virkmod.c util/virkmod.h                   \
140                 util/virnuma.c util/virnuma.h                   \
141                 util/virobject.c util/virobject.h               \
142                 util/virpci.c util/virpci.h                     \
143                 util/virpidfile.c util/virpidfile.h             \
144                 util/virportallocator.c util/virportallocator.h \
145                 util/virprobe.h                                 \
146                 util/virprocess.c util/virprocess.h             \
147                 util/virrandom.h util/virrandom.c               \
148                 util/virscsi.c util/virscsi.h                   \
149                 util/virseclabel.c util/virseclabel.h           \
150                 util/virsexpr.c util/virsexpr.h                 \
151                 util/virsocketaddr.h util/virsocketaddr.c       \
152                 util/virstatslinux.c util/virstatslinux.h       \
153                 util/virstorageencryption.c util/virstorageencryption.h \
154                 util/virstoragefile.c util/virstoragefile.h     \
155                 util/virstring.h util/virstring.c               \
156                 util/virsysinfo.c util/virsysinfo.h             \
157                 util/virsystemd.c util/virsystemd.h             \
158                 util/virthread.c util/virthread.h               \
159                 util/virthreadpool.c util/virthreadpool.h       \
160                 util/virtime.h util/virtime.c                   \
161                 util/virtpm.h util/virtpm.c                     \
162                 util/virtypedparam.c util/virtypedparam.h       \
163                 util/virusb.c util/virusb.h                     \
164                 util/viruri.h util/viruri.c                     \
165                 util/virutil.c util/virutil.h                   \
166                 util/viruuid.c util/viruuid.h                   \
167                 util/virxml.c util/virxml.h                     \
168                 $(NULL)
169
170
171 EXTRA_DIST += $(srcdir)/util/virkeymaps.h $(srcdir)/util/keymaps.csv \
172                 $(srcdir)/util/virkeycode-mapgen.py
173
174 BUILT_SOURCES += util/virkeymaps.h
175
176 util/virkeymaps.h: $(srcdir)/util/keymaps.csv   \
177                 $(srcdir)/util/virkeycode-mapgen.py
178         $(AM_V_GEN)$(PYTHON) $(srcdir)/util/virkeycode-mapgen.py \
179           <$(srcdir)/util/keymaps.csv >$(srcdir)/util/virkeymaps.h
180
181 # Internal generic driver infrastructure
182 NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c nodeinfopriv.h
183 DATATYPES_SOURCES = datatypes.h datatypes.c
184 DRIVER_SOURCES =                                                        \
185                 driver.c driver.h                                       \
186                 internal.h                                              \
187                 $(DATATYPES_SOURCES)                                    \
188                 fdstream.c fdstream.h                                   \
189                 $(NODE_INFO_SOURCES)                                    \
190                 libvirt.c libvirt_internal.h                            \
191                 locking/lock_manager.c locking/lock_manager.h           \
192                 locking/lock_driver.h                                   \
193                 locking/lock_driver_nop.h locking/lock_driver_nop.c     \
194                 locking/domain_lock.h locking/domain_lock.c
195
196 LOCK_DRIVER_SANLOCK_SOURCES = \
197                 locking/lock_driver_sanlock.c
198
199 LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
200                 locking/sanlock_helper.c
201
202 LOCK_PROTOCOL_GENERATED = \
203                 locking/lock_protocol.h \
204                 locking/lock_protocol.c \
205                 $(NULL)
206
207 LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
208 EXTRA_DIST += $(LOCK_PROTOCOL) \
209         $(LOCK_PROTOCOL_GENERATED)
210 BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
211 MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)
212
213 LOCK_DAEMON_GENERATED = \
214                 locking/lock_daemon_dispatch_stubs.h
215                 $(NULL)
216
217 BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
218 EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
219 MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)
220
221 LOCK_DRIVER_LOCKD_SOURCES = \
222                 locking/lock_driver_lockd.c \
223                 $(NULL)
224
225 LOCK_DAEMON_SOURCES = \
226                 locking/lock_daemon.h \
227                 locking/lock_daemon.c \
228                 locking/lock_daemon_config.h \
229                 locking/lock_daemon_config.c \
230                 locking/lock_daemon_dispatch.c \
231                 locking/lock_daemon_dispatch.h \
232                 $(NULL)
233
234 locking/lock_daemon_dispatch_stubs.h: $(LOCK_PROTOCOL) \
235                 $(srcdir)/rpc/gendispatch.pl Makefile.am
236         $(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
237             virLockSpaceProtocol VIR_LOCK_SPACE_PROTOCOL \
238             $(LOCK_PROTOCOL) > $(srcdir)/locking/lock_daemon_dispatch_stubs.h
239
240
241 NETDEV_CONF_SOURCES =                                           \
242                 conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
243                 conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
244                 conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
245
246 # XML configuration format handling sources
247 # Domain driver generic impl APIs
248 DOMAIN_CONF_SOURCES =                                           \
249                 conf/capabilities.c conf/capabilities.h         \
250                 conf/domain_addr.c conf/domain_addr.h           \
251                 conf/domain_conf.c conf/domain_conf.h           \
252                 conf/domain_audit.c conf/domain_audit.h         \
253                 conf/domain_nwfilter.c conf/domain_nwfilter.h   \
254                 conf/snapshot_conf.c conf/snapshot_conf.h
255
256 OBJECT_EVENT_SOURCES =                                          \
257                 conf/object_event.c conf/object_event.h \
258                 conf/object_event_private.h
259
260 DOMAIN_EVENT_SOURCES =                                          \
261                 conf/domain_event.c conf/domain_event.h
262
263 NETWORK_EVENT_SOURCES =                                         \
264                 conf/network_event.c conf/network_event.h
265
266 # Network driver generic impl APIs
267 NETWORK_CONF_SOURCES =                                          \
268                 conf/network_conf.c conf/network_conf.h
269
270 # Network filter driver generic impl APIs
271 NWFILTER_PARAM_CONF_SOURCES =                                   \
272                 conf/nwfilter_params.c conf/nwfilter_params.h   \
273                 conf/nwfilter_ipaddrmap.c                       \
274                 conf/nwfilter_ipaddrmap.h                       \
275                 conf/nwfilter_conf.h
276
277 NWFILTER_CONF_SOURCES =                                         \
278                 $(NWFILTER_PARAM_CONF_SOURCES)                  \
279                 conf/nwfilter_conf.c conf/nwfilter_conf.h
280
281 # Storage driver generic impl APIs
282 STORAGE_CONF_SOURCES =                                         \
283                 conf/storage_conf.h conf/storage_conf.c
284
285 # Interface driver generic impl APIs
286 INTERFACE_CONF_SOURCES =                                       \
287                 conf/interface_conf.c conf/interface_conf.h
288
289 # Secret driver generic impl APIs
290 SECRET_CONF_SOURCES =                                          \
291                 conf/secret_conf.h conf/secret_conf.c
292
293 # Network driver generic impl APIs
294 NODE_DEVICE_CONF_SOURCES =                                     \
295                 conf/node_device_conf.c conf/node_device_conf.h
296
297 CPU_CONF_SOURCES =                                              \
298                 conf/cpu_conf.c conf/cpu_conf.h
299
300 # Safe character device handling helper APIs
301 CHRDEV_CONF_SOURCES =                                           \
302                 conf/virchrdev.c conf/virchrdev.h
303
304 # Device Helper APIs
305 DEVICE_CONF_SOURCES =                                           \
306                 conf/device_conf.c conf/device_conf.h
307
308 CONF_SOURCES =                                                  \
309                 $(NETDEV_CONF_SOURCES)                          \
310                 $(DOMAIN_CONF_SOURCES)                          \
311                 $(OBJECT_EVENT_SOURCES)                         \
312                 $(DOMAIN_EVENT_SOURCES)                         \
313                 $(NETWORK_EVENT_SOURCES)                        \
314                 $(NETWORK_CONF_SOURCES)                         \
315                 $(NWFILTER_CONF_SOURCES)                        \
316                 $(NODE_DEVICE_CONF_SOURCES)                     \
317                 $(STORAGE_CONF_SOURCES)                         \
318                 $(INTERFACE_CONF_SOURCES)                       \
319                 $(SECRET_CONF_SOURCES)                          \
320                 $(CPU_CONF_SOURCES)                             \
321                 $(CHRDEV_CONF_SOURCES)                          \
322                 $(DEVICE_CONF_SOURCES)
323
324 # The remote RPC driver, covering domains, storage, networks, etc
325 REMOTE_DRIVER_GENERATED = \
326                 remote/remote_protocol.c                \
327                 remote/remote_protocol.h                \
328                 remote/remote_client_bodies.h           \
329                 remote/lxc_protocol.c                   \
330                 remote/lxc_protocol.h                   \
331                 remote/lxc_client_bodies.h              \
332                 remote/qemu_protocol.c                  \
333                 remote/qemu_protocol.h                  \
334                 remote/qemu_client_bodies.h             \
335                 $(NULL)
336
337 REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
338 LXC_PROTOCOL = $(srcdir)/remote/lxc_protocol.x
339 QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
340 REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL) $(LXC_PROTOCOL)
341
342 remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
343                 $(REMOTE_PROTOCOL) Makefile.am
344         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
345           remote REMOTE $(REMOTE_PROTOCOL) \
346           > $(srcdir)/remote/remote_client_bodies.h
347
348 remote/lxc_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
349                 $(LXC_PROTOCOL) Makefile.am
350         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
351           lxc LXC $(LXC_PROTOCOL) \
352           > $(srcdir)/remote/lxc_client_bodies.h
353
354 remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
355                 $(QEMU_PROTOCOL) Makefile.am
356         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
357           qemu QEMU $(QEMU_PROTOCOL) \
358           > $(srcdir)/remote/qemu_client_bodies.h
359
360 REMOTE_DRIVER_SOURCES =                                         \
361                 gnutls_1_0_compat.h                             \
362                 remote/remote_driver.c remote/remote_driver.h   \
363                 $(REMOTE_DRIVER_GENERATED)
364
365 EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
366                 $(REMOTE_DRIVER_GENERATED)
367
368 # Ensure that we don't change the struct or member names or member ordering
369 # in remote_protocol.x  The embedded perl below needs a few comments, and
370 # presumes you know what pdwtags output looks like:
371 # * use -0777 -n to slurp the entire file into $_.
372 # * the "split" splits on the /* DD */ comments, so that $p iterates
373 #     through the struct definitions.
374 # * process only "struct remote_..." entries
375 # * remove comments and preceding TAB throughout
376 # * remove empty lines throughout
377 # * remove white space at end of buffer
378
379 # With pdwtags 1.8, --verbose output includes separators like these:
380 # /* 93 */
381 # /* <0> (null):0 */
382 # with the second line omitted for intrinsic types.
383 # Whereas with pdwtags 1.3, they look like this:
384 # /* <2d2> /usr/include/libio.h:180 */
385 # The alternation of the following regexps matches both cases.
386 r1 = /\* \d+ \*/
387 r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/
388 struct_prefix = (remote_|qemu_|lxc_|keepalive|vir(Net|LockSpace|LXCMonitor))
389
390 # Depending on configure options, libtool creates one or both of
391 # remote/{,.libs/}libvirt_driver_remote_la-remote_protocol.o.  We want
392 # the newest of the two, in case configure options changed and a stale
393 # file is left around from an earlier build.
394 PDWTAGS = \
395         $(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then           \
396           o=`ls -t $(<:.lo=.$(OBJEXT))                                  \
397              $(subst /,/.libs/,$(<:.lo=.$(OBJEXT)))                     \
398             2>/dev/null | sed -n 1p`;                                   \
399           test -f "$$o" || { echo ".o for $< not found" >&2; exit 1; }; \
400           pdwtags --verbose $$o > $(@F)-t1 2> $(@F)-t2;                 \
401           if test ! -s $(@F)-t1 && test -s $(@F)-t2; then               \
402             rm -rf $(@F)-t?;                                            \
403             echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\
404           else                                                          \
405             $(PERL) -0777 -n                                            \
406                 -e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {'   \
407                 -e '  if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||'  \
408                 -e '      $$p =~ /^enum {/) {'                          \
409                 -e '    $$p =~ s!\t*/\*.*?\*/!!sg;'                     \
410                 -e '    $$p =~ s!\s+\n!\n!sg;'                          \
411                 -e '    $$p =~ s!\s+$$!!;'                              \
412                 -e '    $$p =~ s!\t!        !g;'                        \
413                 -e '    print "$$p\n";'                                 \
414                 -e '    $$n++;'                                         \
415                 -e '  }'                                                \
416                 -e '}'                                                  \
417                 -e 'BEGIN {'                                            \
418                 -e '  print "/* -*- c -*- */\n";'                       \
419                 -e '}'                                                  \
420                 -e 'END {'                                              \
421                 -e '  if ($$n < 1) {'                                   \
422                 -e '    warn "WARNING: your pdwtags program is too old\n";' \
423                 -e '    warn "WARNING: skipping the $@ test\n";'        \
424                 -e '    warn "WARNING: install dwarves-1.3 or newer\n";' \
425                 -e '    exit 8;'                                        \
426                 -e '  }'                                                \
427                 -e '}'                                                  \
428                 < $(@F)-t1 > $(@F)-t3;                                  \
429             case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
430             diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st;  \
431           fi;                                                           \
432         else                                                            \
433           echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;   \
434           echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
435         fi
436
437 # .libs/libvirt.so is built by libtool as a side-effect of the Makefile
438 # rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
439 if WITH_LINUX
440 check-symfile: libvirt.syms libvirt.la
441         $(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
442           .libs/libvirt.so
443 else ! WITH_LINUX
444 check-symfile:
445 endif ! WITH_LINUX
446 check-symsorting:
447         $(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
448                 $(srcdir) $(SYM_FILES)
449 EXTRA_DIST += check-symfile.pl check-symsorting.pl
450
451 # Keep this list synced with RPC_PROBE_FILES
452 PROTOCOL_STRUCTS = \
453         $(srcdir)/remote_protocol-structs \
454         $(srcdir)/lxc_protocol-structs \
455         $(srcdir)/qemu_protocol-structs \
456         $(srcdir)/virnetprotocol-structs \
457         $(srcdir)/virkeepaliveprotocol-structs \
458         $(srcdir)/lxc_monitor_protocol-structs \
459         $(srcdir)/lock_protocol-structs \
460         $(NULL)
461
462 if WITH_REMOTE
463 check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)
464
465 # The .o file that pdwtags parses is created as a side effect of running
466 # libtool; but from make's perspective we depend on the .lo file.
467 $(srcdir)/remote_protocol-struct \
468         $(srcdir)/qemu_protocol-struct \
469         $(srcdir)/lxc_protocol-struct: \
470                 $(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
471         $(PDWTAGS)
472 $(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
473                 $(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
474         $(PDWTAGS)
475 $(srcdir)/lxc_monitor_protocol-struct: \
476                 $(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
477         $(PDWTAGS)
478 $(srcdir)/lock_protocol-struct: \
479                 $(srcdir)/%-struct: locking/lockd_la-%.lo
480         $(PDWTAGS)
481
482 else !WITH_REMOTE
483 # The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
484 # re-generated when configured --without-remote.
485 check-protocol:
486 endif !WITH_REMOTE
487 EXTRA_DIST += $(PROTOCOL_STRUCTS)
488
489 check-drivername:
490         $(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
491                 $(srcdir)/driver.h \
492                 $(srcdir)/libvirt_public.syms \
493                 $(srcdir)/libvirt_qemu.syms \
494                 $(srcdir)/libvirt_lxc.syms
495
496 EXTRA_DIST += check-drivername.pl
497
498 DRIVER_SOURCE_FILES = \
499         $(ESX_DRIVER_SOURCES) \
500         $(HYPERV_DRIVER_SORUCES) \
501         $(INTERFACE_DRIVER_SOURCES) \
502         $(LIBXL_DRIVER_SOURCES) \
503         $(LXC_DRIVER_SOURCES) \
504         $(NETWORK_DRIVER_SOURCES) \
505         $(NODE_DEVICE_DRIVER_SOURCES) \
506         $(NODE_DEVICE_DRIVER_HAL_SOURCES) \
507         $(NODE_DEVICE_DRIVER_UDEV_SOURCES) \
508         $(NWFILTER_DRIVER_SOURCES) \
509         $(OPENVZ_DRIVER_SOURCES) \
510         $(PARALLELS_DRIVER_SOURCES) \
511         $(PHYP_DRIVER_SOURCES) \
512         $(QEMU_DRIVER_SOURCES) \
513         $(REMOTE_DRIVER_SOURCES) \
514         $(SECRET_DRIVER_SOURCES) \
515         $(STORAGE_DRIVER_SOURCES) \
516         $(TEST_DRIVER_SOURCES) \
517         $(UML_DRIVER_SOURCES) \
518         $(VBOX_DRIVER_SOURCES) \
519         vbox/vbox_tmpl.c \
520         $(VMWARE_DRIVER_SOURCES) \
521         $(XEN_DRIVER_SOURCES) \
522         $(XENAPI_DRIVER_SOURCES) \
523         $(NULL)
524
525 STATEFUL_DRIVER_SOURCE_FILES = \
526         $(BHYVE_DRIVER_SOURCES) \
527         $(INTERFACE_DRIVER_SOURCES) \
528         $(LIBXL_DRIVER_SOURCES) \
529         $(LXC_DRIVER_SOURCES) \
530         $(NETWORK_DRIVER_SOURCES) \
531         $(NODE_DEVICE_DRIVER_SOURCES) \
532         $(NWFILTER_DRIVER_SOURCES) \
533         $(QEMU_DRIVER_SOURCES) \
534         $(SECRET_DRIVER_SOURCES) \
535         $(STORAGE_DRIVER_SOURCES) \
536         $(UML_DRIVER_SOURCES) \
537         $(XEN_DRIVER_SOURCES) \
538         $(NULL)
539
540
541 check-driverimpls:
542         $(AM_V_GEN)$(PERL) $(srcdir)/check-driverimpls.pl \
543                 $(filter /%,$(DRIVER_SOURCE_FILES)) \
544                 $(filter $(srcdir)/%,$(DRIVER_SOURCE_FILES)) \
545                 $(addprefix $(srcdir)/,$(filter-out $(srcdir)/%, \
546                         $(filter-out /%,$(DRIVER_SOURCE_FILES))))
547
548 check-aclrules:
549         $(AM_V_GEN)$(PERL) $(srcdir)/check-aclrules.pl \
550                 $(REMOTE_PROTOCOL) \
551                 $(addprefix $(srcdir)/,$(filter-out /%,$(STATEFUL_DRIVER_SOURCE_FILES)))
552
553 check-aclperms:
554         $(AM_V_GEN)$(PERL) $(srcdir)/check-aclperms.pl \
555                 $(srcdir)/access/viraccessperm.h \
556                 $(srcdir)/access/viraccessperm.c
557
558 EXTRA_DIST += check-driverimpls.pl check-aclrules.pl check-aclperms.pl
559
560 check-local: check-protocol check-symfile check-symsorting \
561         check-drivername check-driverimpls check-aclrules \
562         check-aclperms
563 .PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
564
565 # Mock driver, covering domains, storage, networks, etc
566 TEST_DRIVER_SOURCES =                                           \
567                 test/test_driver.c test/test_driver.h
568
569 # Now the Hypervisor specific drivers
570 XEN_DRIVER_SOURCES =                                            \
571                 xen/block_stats.c xen/block_stats.h             \
572                 xen/xen_hypervisor.c xen/xen_hypervisor.h       \
573                 xen/xen_driver.c xen/xen_driver.h               \
574                 xen/xend_internal.c xen/xend_internal.h         \
575                 xen/xm_internal.c xen/xm_internal.h             \
576                 xen/xs_internal.c xen/xs_internal.h
577 if WITH_XEN_INOTIFY
578 XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
579 endif WITH_XEN_INOTIFY
580
581 LXC_MONITOR_PROTOCOL_GENERATED = \
582         lxc/lxc_monitor_protocol.h \
583         lxc/lxc_monitor_protocol.c \
584         $(NULL)
585
586 LXC_MONITOR_GENERATED = \
587         lxc/lxc_monitor_dispatch.h \
588         $(NULL)
589
590 LXC_CONTROLLER_GENERATED = \
591         lxc/lxc_controller_dispatch.h \
592         $(NULL)
593
594 LXC_GENERATED = \
595         $(LXC_MONITOR_PROTOCOL_GENERATED) \
596         $(LXC_MONITOR_GENERATED) \
597         $(LXC_CONTROLLER_GENERATED) \
598         $(NULL)
599
600 LXC_MONITOR_PROTOCOL = $(srcdir)/lxc/lxc_monitor_protocol.x
601
602 lxc/lxc_monitor_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
603                 $(LXC_MONITOR_PROTOCOL) Makefile.am
604         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
605           virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
606           $(srcdir)/lxc/lxc_monitor_dispatch.h
607
608 lxc/lxc_controller_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
609                 $(REMOTE_PROTOCOL) Makefile.am
610         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
611           virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
612           $(srcdir)/lxc/lxc_controller_dispatch.h
613
614 EXTRA_DIST += \
615         $(LXC_MONITOR_PROTOCOL) \
616         $(LXC_GENERATED) \
617         $(NULL)
618
619 BUILT_SOURCES += $(LXC_GENERATED)
620
621 CLEANFILES += $(LXC_GENERATED)
622
623 LXC_DRIVER_SOURCES =                                            \
624                 $(LXC_MONITOR_PROTOCOL_GENERATED)               \
625                 $(LXC_MONITOR_GENERATED)                        \
626                 lxc/lxc_conf.c lxc/lxc_conf.h                   \
627                 lxc/lxc_container.c lxc/lxc_container.h         \
628                 lxc/lxc_cgroup.c lxc/lxc_cgroup.h               \
629                 lxc/lxc_domain.c lxc/lxc_domain.h               \
630                 lxc/lxc_hostdev.c lxc/lxc_hostdev.h             \
631                 lxc/lxc_monitor.c lxc/lxc_monitor.h             \
632                 lxc/lxc_process.c lxc/lxc_process.h             \
633                 lxc/lxc_fuse.c lxc/lxc_fuse.h                   \
634                 lxc/lxc_native.c lxc/lxc_native.h               \
635                 lxc/lxc_driver.c lxc/lxc_driver.h
636
637 LXC_CONTROLLER_SOURCES =                                        \
638                 $(LXC_MONITOR_PROTOCOL_GENERATED)               \
639                 $(LXC_CONTROLLER_GENERATED)                     \
640                 lxc/lxc_conf.c lxc/lxc_conf.h                   \
641                 lxc/lxc_container.c lxc/lxc_container.h         \
642                 lxc/lxc_cgroup.c lxc/lxc_cgroup.h               \
643                 lxc/lxc_domain.c lxc/lxc_domain.h               \
644                 lxc/lxc_fuse.c lxc/lxc_fuse.h                   \
645                 lxc/lxc_controller.c
646
647 SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =                       \
648                 $(DATATYPES_SOURCES)                            \
649                 security/virt-aa-helper.c
650
651 PHYP_DRIVER_SOURCES =                                           \
652                 phyp/phyp_driver.c phyp/phyp_driver.h
653
654 OPENVZ_DRIVER_SOURCES =                                         \
655                 openvz/openvz_conf.c openvz/openvz_conf.h       \
656                 openvz/openvz_driver.c openvz/openvz_driver.h   \
657                 openvz/openvz_util.c openvz/openvz_util.h
658
659 VMWARE_DRIVER_SOURCES =                                         \
660                 vmware/vmware_driver.c vmware/vmware_driver.h   \
661                 vmware/vmware_conf.c vmware/vmware_conf.h
662
663 VBOX_DRIVER_SOURCES =                                           \
664         vbox/vbox_glue.c vbox/vbox_glue.h                       \
665         vbox/vbox_driver.c vbox/vbox_driver.h                   \
666         vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h                  \
667         vbox/vbox_V3_0.c vbox/vbox_CAPI_v3_0.h                  \
668         vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h                  \
669         vbox/vbox_V3_2.c vbox/vbox_CAPI_v3_2.h                  \
670         vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h                  \
671         vbox/vbox_V4_1.c vbox/vbox_CAPI_v4_1.h                  \
672         vbox/vbox_V4_2.c vbox/vbox_CAPI_v4_2.h                  \
673         vbox/vbox_V4_2_20.c vbox/vbox_CAPI_v4_2_20.h                    \
674         vbox/vbox_V4_3.c vbox/vbox_CAPI_v4_3.h                  \
675         vbox/vbox_V4_3_4.c vbox/vbox_CAPI_v4_3_4.h
676
677 VBOX_DRIVER_EXTRA_DIST =                                        \
678                 vbox/vbox_tmpl.c vbox/README                    \
679                 vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h     \
680                 vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
681
682 QEMU_DRIVER_SOURCES =                                                   \
683                 qemu/qemu_agent.c qemu/qemu_agent.h                     \
684                 qemu/qemu_capabilities.c qemu/qemu_capabilities.h       \
685                 qemu/qemu_command.c qemu/qemu_command.h                 \
686                 qemu/qemu_domain.c qemu/qemu_domain.h                   \
687                 qemu/qemu_cgroup.c qemu/qemu_cgroup.h                   \
688                 qemu/qemu_hostdev.c qemu/qemu_hostdev.h                 \
689                 qemu/qemu_hotplug.c qemu/qemu_hotplug.h                 \
690                 qemu/qemu_hotplugpriv.h                                 \
691                 qemu/qemu_conf.c qemu/qemu_conf.h                       \
692                 qemu/qemu_process.c qemu/qemu_process.h                 \
693                 qemu/qemu_processpriv.h                                 \
694                 qemu/qemu_migration.c qemu/qemu_migration.h             \
695                 qemu/qemu_monitor.c qemu/qemu_monitor.h                 \
696                 qemu/qemu_monitor_text.c                                \
697                 qemu/qemu_monitor_text.h                                \
698                 qemu/qemu_monitor_json.c                                \
699                 qemu/qemu_monitor_json.h                                \
700                 qemu/qemu_driver.c qemu/qemu_driver.h
701
702 XENAPI_DRIVER_SOURCES =                                         \
703                 xenapi/xenapi_driver.c xenapi/xenapi_driver.h   \
704                 xenapi/xenapi_driver_private.h                  \
705                 xenapi/xenapi_utils.c xenapi/xenapi_utils.h
706
707 LIBXL_DRIVER_SOURCES =                                          \
708                 libxl/libxl_conf.c libxl/libxl_conf.h           \
709                 libxl/libxl_domain.c libxl/libxl_domain.h       \
710                 libxl/libxl_driver.c libxl/libxl_driver.h
711
712 UML_DRIVER_SOURCES =                                            \
713                 uml/uml_conf.c uml/uml_conf.h                   \
714                 uml/uml_driver.c uml/uml_driver.h
715
716 ESX_DRIVER_SOURCES =                                                    \
717                 esx/esx_private.h                                       \
718                 esx/esx_driver.c esx/esx_driver.h                       \
719                 esx/esx_interface_driver.c esx/esx_interface_driver.h   \
720                 esx/esx_network_driver.c esx/esx_network_driver.h       \
721                 esx/esx_storage_driver.c esx/esx_storage_driver.h       \
722                 esx/esx_storage_backend_vmfs.c esx/esx_storage_backend_vmfs.h   \
723                 esx/esx_storage_backend_iscsi.c esx/esx_storage_backend_iscsi.h \
724                 esx/esx_device_monitor.c esx/esx_device_monitor.h       \
725                 esx/esx_secret_driver.c esx/esx_secret_driver.h         \
726                 esx/esx_nwfilter_driver.c esx/esx_nwfilter_driver.h     \
727                 esx/esx_util.c esx/esx_util.h                           \
728                 esx/esx_vi.c esx/esx_vi.h                               \
729                 esx/esx_vi_methods.c esx/esx_vi_methods.h               \
730                 esx/esx_vi_types.c esx/esx_vi_types.h
731
732 ESX_DRIVER_GENERATED =                                                  \
733                 esx/esx_vi_methods.generated.c                          \
734                 esx/esx_vi_methods.generated.h                          \
735                 esx/esx_vi_methods.generated.macro                      \
736                 esx/esx_vi_types.generated.c                            \
737                 esx/esx_vi_types.generated.h                            \
738                 esx/esx_vi_types.generated.typedef                      \
739                 esx/esx_vi_types.generated.typeenum                     \
740                 esx/esx_vi_types.generated.typetostring                 \
741                 esx/esx_vi_types.generated.typefromstring               \
742                 esx/esx_vi.generated.c                                  \
743                 esx/esx_vi.generated.h
744
745 ESX_DRIVER_EXTRA_DIST =                                                 \
746                 esx/README                                              \
747                 esx/esx_vi_generator.input                              \
748                 esx/esx_vi_generator.py                                 \
749                 $(ESX_DRIVER_GENERATED)
750
751 HYPERV_DRIVER_SOURCES =                                                                 \
752                 hyperv/hyperv_private.h                                                 \
753                 hyperv/hyperv_driver.c hyperv/hyperv_driver.h                           \
754                 hyperv/hyperv_interface_driver.c hyperv/hyperv_interface_driver.h       \
755                 hyperv/hyperv_network_driver.c hyperv/hyperv_network_driver.h           \
756                 hyperv/hyperv_storage_driver.c hyperv/hyperv_storage_driver.h           \
757                 hyperv/hyperv_device_monitor.c hyperv/hyperv_device_monitor.h           \
758                 hyperv/hyperv_secret_driver.c hyperv/hyperv_secret_driver.h             \
759                 hyperv/hyperv_nwfilter_driver.c hyperv/hyperv_nwfilter_driver.h         \
760                 hyperv/hyperv_util.c hyperv/hyperv_util.h                               \
761                 hyperv/hyperv_wmi.c hyperv/hyperv_wmi.h                                 \
762                 hyperv/hyperv_wmi_classes.c hyperv/hyperv_wmi_classes.h                 \
763                 hyperv/openwsman.h
764
765 HYPERV_DRIVER_GENERATED =                                                       \
766                 hyperv/hyperv_wmi.generated.c                                   \
767                 hyperv/hyperv_wmi.generated.h                                   \
768                 hyperv/hyperv_wmi_classes.generated.c                           \
769                 hyperv/hyperv_wmi_classes.generated.h                           \
770                 hyperv/hyperv_wmi_classes.generated.typedef
771
772 HYPERV_DRIVER_EXTRA_DIST =                                                      \
773                 hyperv/hyperv_wmi_generator.input                               \
774                 hyperv/hyperv_wmi_generator.py                                  \
775                 $(HYPERV_DRIVER_GENERATED)
776
777 PARALLELS_DRIVER_SOURCES =                                      \
778                 parallels/parallels_driver.h                    \
779                 parallels/parallels_driver.c                    \
780                 parallels/parallels_utils.c                     \
781                 parallels/parallels_utils.h                     \
782                 parallels/parallels_storage.c           \
783                 parallels/parallels_network.c
784
785 BHYVE_DRIVER_SOURCES =                                          \
786                 bhyve/bhyve_capabilities.c                      \
787                 bhyve/bhyve_capabilities.h                      \
788                 bhyve/bhyve_command.c                           \
789                 bhyve/bhyve_command.h                           \
790                 bhyve/bhyve_driver.h                            \
791                 bhyve/bhyve_driver.c                            \
792                 bhyve/bhyve_process.c                           \
793                 bhyve/bhyve_process.h                           \
794                 bhyve/bhyve_utils.h                             \
795                 $(NULL)
796
797 NETWORK_DRIVER_SOURCES =                                        \
798                 network/bridge_driver.h network/bridge_driver.c \
799                 network/bridge_driver_platform.h                \
800                 network/bridge_driver_platform.c                \
801                 $(NULL)
802 EXTRA_DIST += network/bridge_driver_linux.c network/bridge_driver_nop.c
803
804 INTERFACE_DRIVER_SOURCES =
805
806 if WITH_INTERFACE
807 INTERFACE_DRIVER_SOURCES +=                                     \
808                 interface/interface_driver.h        \
809                 interface/interface_driver.c
810
811 if WITH_NETCF
812 INTERFACE_DRIVER_SOURCES +=                                     \
813                 interface/interface_backend_netcf.c
814 endif WITH_NETCF
815 if WITH_UDEV
816 INTERFACE_DRIVER_SOURCES +=                                     \
817                 interface/interface_backend_udev.c
818 endif WITH_UDEV
819 endif WITH_INTERFACE
820
821 SECRET_DRIVER_SOURCES =                                         \
822                 secret/secret_driver.h secret/secret_driver.c
823
824 # Storage backend specific impls
825 STORAGE_DRIVER_SOURCES =                                                \
826                 storage/storage_driver.h storage/storage_driver.c       \
827                 storage/storage_backend.h storage/storage_backend.c
828
829 STORAGE_DRIVER_FS_SOURCES =                                     \
830                 storage/storage_backend_fs.h storage/storage_backend_fs.c
831
832 STORAGE_DRIVER_LVM_SOURCES =                                    \
833                 storage/storage_backend_logical.h               \
834                 storage/storage_backend_logical.c
835
836 STORAGE_DRIVER_ISCSI_SOURCES =                                  \
837                 storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
838
839 STORAGE_DRIVER_SCSI_SOURCES =                                   \
840                 storage/storage_backend_scsi.h storage/storage_backend_scsi.c
841
842 STORAGE_DRIVER_MPATH_SOURCES =                                  \
843                 storage/storage_backend_mpath.h storage/storage_backend_mpath.c
844
845 STORAGE_DRIVER_DISK_SOURCES =                                   \
846                 storage/storage_backend_disk.h storage/storage_backend_disk.c
847
848 STORAGE_DRIVER_RBD_SOURCES =                                    \
849                 storage/storage_backend_rbd.h storage/storage_backend_rbd.c
850
851 STORAGE_DRIVER_SHEEPDOG_SOURCES =                               \
852                 storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c
853
854 STORAGE_DRIVER_GLUSTER_SOURCES =                                \
855                 storage/storage_backend_gluster.h storage/storage_backend_gluster.c
856
857 STORAGE_HELPER_DISK_SOURCES =                                   \
858                 storage/parthelper.c
859
860 UTIL_IO_HELPER_SOURCES =                                        \
861                 util/iohelper.c
862
863 # Network filters
864 NWFILTER_DRIVER_SOURCES =                                               \
865                 nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c   \
866                 nwfilter/nwfilter_tech_driver.h                         \
867                 nwfilter/nwfilter_gentech_driver.c                      \
868                 nwfilter/nwfilter_gentech_driver.h                      \
869                 nwfilter/nwfilter_dhcpsnoop.c                           \
870                 nwfilter/nwfilter_dhcpsnoop.h                           \
871                 nwfilter/nwfilter_ebiptables_driver.c                   \
872                 nwfilter/nwfilter_ebiptables_driver.h                   \
873                 nwfilter/nwfilter_learnipaddr.c                         \
874                 nwfilter/nwfilter_learnipaddr.h
875
876
877 # Security framework and drivers for various models
878 SECURITY_DRIVER_SOURCES =                                               \
879                 security/security_driver.h security/security_driver.c   \
880                 security/security_nop.h security/security_nop.c         \
881                 security/security_stack.h security/security_stack.c     \
882                 security/security_dac.h security/security_dac.c         \
883                 security/security_manager.h security/security_manager.c
884
885 SECURITY_DRIVER_SELINUX_SOURCES =                               \
886                 security/security_selinux.h security/security_selinux.c
887
888 SECURITY_DRIVER_APPARMOR_SOURCES =                              \
889                 security/security_apparmor.h security/security_apparmor.c
890
891 ACCESS_DRIVER_GENERATED = \
892                 access/viraccessapicheck.h \
893                 access/viraccessapicheck.c \
894                 access/viraccessapicheckqemu.h \
895                 access/viraccessapicheckqemu.c \
896                 access/viraccessapichecklxc.h \
897                 access/viraccessapichecklxc.c \
898                 $(NULL)
899
900 ACCESS_DRIVER_SYM_FILES = \
901                 libvirt_access.syms \
902                 libvirt_access_qemu.syms \
903                 libvirt_access_lxc.syms
904
905 ACCESS_DRIVER_API_FILES = \
906                 libvirt_access.xml \
907                 libvirt_access_qemu.xml \
908                 libvirt_access_lxc.xml
909
910 ACCESS_DRIVER_SOURCES = \
911                 access/viraccessperm.h access/viraccessperm.c \
912                 access/viraccessmanager.h access/viraccessmanager.c \
913                 access/viraccessdriver.h \
914                 access/viraccessdrivernop.h access/viraccessdrivernop.c \
915                 access/viraccessdriverstack.h access/viraccessdriverstack.c
916
917 ACCESS_DRIVER_POLKIT_SOURCES = \
918                 access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c
919
920 ACCESS_DRIVER_POLKIT_POLICY = \
921                 $(srcdir)/access/org.libvirt.api.policy
922
923
924 NODE_DEVICE_DRIVER_SOURCES =                                    \
925                 node_device/node_device_driver.c                \
926                 node_device/node_device_driver.h                \
927                 node_device/node_device_linux_sysfs.c
928
929 NODE_DEVICE_DRIVER_HAL_SOURCES =                                \
930                 node_device/node_device_hal.c                   \
931                 node_device/node_device_hal.h
932
933 NODE_DEVICE_DRIVER_UDEV_SOURCES =                               \
934                 node_device/node_device_udev.c                  \
935                 node_device/node_device_udev.h
936
937 CPU_SOURCES =                                                   \
938                 cpu/cpu.h cpu/cpu.c                             \
939                 cpu/cpu_generic.h cpu/cpu_generic.c             \
940                 cpu/cpu_x86.h cpu/cpu_x86.c cpu/cpu_x86_data.h  \
941                 cpu/cpu_s390.h cpu/cpu_s390.c                   \
942                 cpu/cpu_arm.h cpu/cpu_arm.c                     \
943                 cpu/cpu_aarch64.h cpu/cpu_aarch64.c             \
944                 cpu/cpu_map.h cpu/cpu_map.c cpu/cpu_powerpc.h   \
945                 cpu/cpu_powerpc.c cpu/cpu_ppc_data.h
946
947 VMX_SOURCES =                                                   \
948                 vmx/vmx.c vmx/vmx.h
949
950 XENXS_SOURCES =                                                 \
951                 xenxs/xenxs_private.h                           \
952                 xenxs/xen_sxpr.c xenxs/xen_sxpr.h               \
953                 xenxs/xen_xm.c xenxs/xen_xm.h
954
955 pkgdata_DATA =  cpu/cpu_map.xml
956
957 EXTRA_DIST +=   $(pkgdata_DATA)
958
959 #########################
960 #
961 # Build up list of libvirt.la source files based on configure conditions
962 #
963 # First deal with sources usable in non-daemon context
964
965 noinst_LTLIBRARIES = libvirt_util.la
966 libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
967 libvirt_la_BUILT_LIBADD = libvirt_util.la
968 libvirt_util_la_SOURCES =                                       \
969                 $(UTIL_SOURCES)
970 libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
971                 $(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
972                 $(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS)  \
973                 $(SYSTEMD_DAEMON_CFLAGS) -I$(top_srcdir)/src/conf
974 libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
975                 $(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
976                 $(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS) \
977                 $(SECDRIVER_LIBS) $(NUMACTL_LIBS) $(SYSTEMD_DAEMON_LIBS)
978
979
980 noinst_LTLIBRARIES += libvirt_conf.la
981 libvirt_la_BUILT_LIBADD += libvirt_conf.la
982 libvirt_conf_la_SOURCES = $(CONF_SOURCES)
983 libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
984 libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
985
986 noinst_LTLIBRARIES += libvirt_cpu.la
987 libvirt_la_BUILT_LIBADD += libvirt_cpu.la
988 libvirt_cpu_la_CFLAGS = \
989                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
990 libvirt_cpu_la_SOURCES = $(CPU_SOURCES)
991 libvirt_cpu_la_DEPENDENCIES = $(abs_builddir)/cpu/cpu_map.xml
992
993 $(abs_builddir)/cpu/cpu_map.xml:
994         $(AM_V_GEN)ln -s $(abs_srcdir)/cpu/cpu_map.xml $@
995
996 if WITH_VMX
997 noinst_LTLIBRARIES += libvirt_vmx.la
998 libvirt_la_BUILT_LIBADD += libvirt_vmx.la
999 libvirt_vmx_la_CFLAGS = \
1000                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1001 libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
1002 endif WITH_VMX
1003
1004 if WITH_XENXS
1005 noinst_LTLIBRARIES += libvirt_xenxs.la
1006 libvirt_la_BUILT_LIBADD += libvirt_xenxs.la
1007 libvirt_xenxs_la_CFLAGS = \
1008                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1009 libvirt_xenxs_la_SOURCES = $(XENXS_SOURCES)
1010 endif WITH_XENXS
1011
1012
1013 noinst_LTLIBRARIES += libvirt_driver.la
1014 libvirt_la_BUILT_LIBADD += libvirt_driver.la
1015 libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
1016
1017 libvirt_driver_la_CFLAGS = \
1018                 $(GNUTLS_CFLAGS) $(CURL_CFLAGS) \
1019                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1020 libvirt_driver_la_LIBADD = \
1021                 $(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
1022
1023 # All .syms files should be placed in exactly one of these three lists,
1024 # depending on whether they are stored in git and/or used in the build.
1025 SYM_FILES = $(USED_SYM_FILES)
1026 USED_SYM_FILES = $(srcdir)/libvirt_private.syms
1027 GENERATED_SYM_FILES = \
1028         $(ACCESS_DRIVER_SYM_FILES) \
1029         libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
1030         $(NULL)
1031
1032 if WITH_TEST
1033 noinst_LTLIBRARIES += libvirt_driver_test.la
1034 libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
1035 libvirt_driver_test_la_CFLAGS = \
1036                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1037 libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
1038 endif WITH_TEST
1039
1040 if WITH_REMOTE
1041 noinst_LTLIBRARIES += libvirt_driver_remote.la
1042 libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
1043 libvirt_driver_remote_la_CFLAGS =                               \
1044                 $(GNUTLS_CFLAGS)                                \
1045                 $(XDR_CFLAGS)                                   \
1046                 -I$(top_srcdir)/src/conf                        \
1047                 -I$(top_srcdir)/src/rpc                         \
1048                 $(AM_CFLAGS)
1049 libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
1050 libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
1051                 libvirt-net-rpc-client.la \
1052                 libvirt-net-rpc-server.la \
1053                 libvirt-net-rpc.la
1054 libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
1055
1056 BUILT_SOURCES += $(REMOTE_DRIVER_GENERATED)
1057
1058 endif WITH_REMOTE
1059
1060 %protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
1061         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
1062                $< $(srcdir)/$(subst $(srcdir)/,,$@)
1063
1064 %protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
1065         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
1066                $< $(srcdir)/$(subst $(srcdir)/,,$@)
1067
1068 if WITH_XEN
1069 noinst_LTLIBRARIES += libvirt_driver_xen_impl.la
1070 libvirt_driver_xen_la_SOURCES =
1071 libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
1072 if WITH_DRIVER_MODULES
1073 mod_LTLIBRARIES += libvirt_driver_xen.la
1074 libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
1075 libvirt_driver_xen_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1076 else ! WITH_DRIVER_MODULES
1077 noinst_LTLIBRARIES += libvirt_driver_xen.la
1078 # Stateful, so linked to daemon instead
1079 #libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
1080 endif ! WITH_DRIVER_MODULES
1081
1082 libvirt_driver_xen_impl_la_CFLAGS =                                     \
1083                 $(XEN_CFLAGS)                                   \
1084                 -I$(top_srcdir)/src/access                      \
1085                 -I$(top_srcdir)/src/conf                        \
1086                 -I$(top_srcdir)/src/xenxs                       \
1087                 $(AM_CFLAGS)
1088 libvirt_driver_xen_impl_la_LDFLAGS = $(AM_LDFLAGS)
1089 libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS)
1090 libvirt_driver_xen_impl_la_SOURCES = $(XEN_DRIVER_SOURCES)
1091 endif WITH_XEN
1092
1093 if WITH_PHYP
1094 noinst_LTLIBRARIES += libvirt_driver_phyp.la
1095 libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
1096 libvirt_driver_phyp_la_LIBADD = $(SSH2_LIBS)
1097 libvirt_driver_phyp_la_CFLAGS = $(SSH2_CFLAGS) \
1098                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1099 libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
1100 endif WITH_PHYP
1101
1102 if WITH_OPENVZ
1103 noinst_LTLIBRARIES += libvirt_driver_openvz.la
1104 libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
1105 libvirt_driver_openvz_la_CFLAGS = \
1106                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1107 libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
1108 endif WITH_OPENVZ
1109
1110 if WITH_VMWARE
1111 noinst_LTLIBRARIES += libvirt_driver_vmware.la
1112 libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
1113 libvirt_driver_vmware_la_CFLAGS = \
1114                 -I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
1115 libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
1116 endif WITH_VMWARE
1117
1118 if WITH_VBOX
1119 noinst_LTLIBRARIES += libvirt_driver_vbox_impl.la
1120 libvirt_driver_vbox_la_SOURCES =
1121 libvirt_driver_vbox_la_LIBADD = libvirt_driver_vbox_impl.la
1122 if WITH_DRIVER_MODULES
1123 mod_LTLIBRARIES += libvirt_driver_vbox.la
1124 libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
1125 libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1126 else ! WITH_DRIVER_MODULES
1127 noinst_LTLIBRARIES += libvirt_driver_vbox.la
1128 # GPLv2-only license requries that it be linked into
1129 # libvirtd and *not* libvirt.so
1130 #libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
1131 endif ! WITH_DRIVER_MODULES
1132
1133 libvirt_driver_vbox_impl_la_CFLAGS =                            \
1134                 -I$(top_srcdir)/src/conf                        \
1135                 $(AM_CFLAGS)
1136 libvirt_driver_vbox_impl_la_LDFLAGS = $(AM_LDFLAGS)
1137 libvirt_driver_vbox_impl_la_LIBADD =  $(DLOPEN_LIBS) $(MSCOM_LIBS)
1138 libvirt_driver_vbox_impl_la_SOURCES = $(VBOX_DRIVER_SOURCES)
1139 endif WITH_VBOX
1140
1141 if WITH_XENAPI
1142 noinst_LTLIBRARIES += libvirt_driver_xenapi.la
1143 libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
1144 libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(CURL_CFLAGS) \
1145                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1146 libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
1147 libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(CURL_LIBS)
1148 libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
1149 endif WITH_XENAPI
1150
1151 if WITH_LIBXL
1152 noinst_LTLIBRARIES += libvirt_driver_libxl_impl.la
1153 libvirt_driver_libxl_la_SOURCES =
1154 libvirt_driver_libxl_la_LIBADD = libvirt_driver_libxl_impl.la
1155 if WITH_DRIVER_MODULES
1156 mod_LTLIBRARIES += libvirt_driver_libxl.la
1157 libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
1158 libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1159 else ! WITH_DRIVER_MODULES
1160 noinst_LTLIBRARIES += libvirt_driver_libxl.la
1161 # Stateful, so linked to daemon instead
1162 #libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
1163 endif ! WITH_DRIVER_MODULES
1164
1165 libvirt_driver_libxl_impl_la_CFLAGS =           \
1166                 $(LIBXL_CFLAGS)                 \
1167                 -I$(top_srcdir)/src/access      \
1168                 -I$(top_srcdir)/src/conf        \
1169                 -I$(top_srcdir)/src/xenxs       \
1170                 $(AM_CFLAGS)
1171 libvirt_driver_libxl_impl_la_LDFLAGS = $(AM_LDFLAGS)
1172 libvirt_driver_libxl_impl_la_LIBADD = $(LIBXL_LIBS) libvirt_xenxs.la
1173 libvirt_driver_libxl_impl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
1174 endif WITH_LIBXL
1175
1176 if WITH_QEMU
1177 noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
1178 libvirt_driver_qemu_la_SOURCES =
1179 libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
1180 if WITH_DRIVER_MODULES
1181 mod_LTLIBRARIES += libvirt_driver_qemu.la
1182 libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
1183 libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1184 else ! WITH_DRIVER_MODULES
1185 noinst_LTLIBRARIES += libvirt_driver_qemu.la
1186 # Stateful, so linked to daemon instead
1187 #libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
1188 endif ! WITH_DRIVER_MODULES
1189
1190 libvirt_driver_qemu_impl_la_CFLAGS = \
1191                 $(GNUTLS_CFLAGS) \
1192                 $(LIBNL_CFLAGS) \
1193                 -I$(top_srcdir)/src/access \
1194                 -I$(top_srcdir)/src/conf \
1195                 $(AM_CFLAGS)
1196 libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
1197 libvirt_driver_qemu_impl_la_LIBADD = $(CAPNG_LIBS) \
1198                                 $(GNUTLS_LIBS) \
1199                                 $(LIBNL_LIBS) \
1200                                 $(LIBXML_LIBS) \
1201                                 $(NULL)
1202 libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
1203
1204 conf_DATA += qemu/qemu.conf
1205
1206 augeas_DATA += qemu/libvirtd_qemu.aug
1207 augeastest_DATA += test_libvirtd_qemu.aug
1208 CLEANFILES += test_libvirtd_qemu.aug
1209
1210 endif WITH_QEMU
1211 EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
1212                 qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
1213
1214
1215 if WITH_LXC
1216 noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
1217 libvirt_driver_lxc_la_SOURCES =
1218 libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
1219 if WITH_DRIVER_MODULES
1220 mod_LTLIBRARIES += libvirt_driver_lxc.la
1221 libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
1222 libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1223 else ! WITH_DRIVER_MODULES
1224 noinst_LTLIBRARIES += libvirt_driver_lxc.la
1225 # Stateful, so linked to daemon instead
1226 #libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
1227 endif ! WITH_DRIVER_MODULES
1228
1229 libvirt_driver_lxc_impl_la_CFLAGS = \
1230                 $(LIBNL_CFLAGS) \
1231                 $(FUSE_CFLAGS) \
1232                 -I$(top_srcdir)/src/access \
1233                 -I$(top_srcdir)/src/conf \
1234                 $(AM_CFLAGS)
1235 libvirt_driver_lxc_impl_la_LIBADD = $(CAPNG_LIBS) $(LIBNL_LIBS) $(FUSE_LIBS)
1236 if WITH_BLKID
1237 libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
1238 libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
1239 endif WITH_BLKID
1240 libvirt_driver_lxc_impl_la_LIBADD += $(SECDRIVER_LIBS)
1241 libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
1242
1243 conf_DATA += lxc/lxc.conf
1244
1245 augeas_DATA += lxc/libvirtd_lxc.aug
1246 augeastest_DATA += test_libvirtd_lxc.aug
1247 CLEANFILES += test_libvirtd_lxc.aug
1248
1249 endif WITH_LXC
1250 EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
1251
1252 if WITH_UML
1253 noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
1254 libvirt_driver_uml_la_SOURCES =
1255 libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
1256 if WITH_DRIVER_MODULES
1257 mod_LTLIBRARIES += libvirt_driver_uml.la
1258 libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
1259 libvirt_driver_uml_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1260 else ! WITH_DRIVER_MODULES
1261 noinst_LTLIBRARIES += libvirt_driver_uml.la
1262 # Stateful, so linked to daemon instead
1263 #libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
1264 endif ! WITH_DRIVER_MODULES
1265
1266 libvirt_driver_uml_impl_la_CFLAGS = \
1267                 -I$(top_srcdir)/src/access \
1268                 -I$(top_srcdir)/src/conf \
1269                 $(AM_CFLAGS)
1270 libvirt_driver_uml_impl_la_LDFLAGS = $(AM_LDFLAGS)
1271 # libvirt_driver_uml_impl_la_LIBADD =
1272 libvirt_driver_uml_impl_la_SOURCES = $(UML_DRIVER_SOURCES)
1273 endif WITH_UML
1274
1275
1276 BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
1277
1278 ESX_GENERATED_STAMP = .esx_vi_generator.stamp
1279
1280 EXTRA_DIST += $(ESX_GENERATED_STAMP)
1281
1282 $(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)
1283
1284 $(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1285                          $(srcdir)/esx/esx_vi_generator.py
1286         $(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
1287           && touch $@
1288
1289 MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)
1290
1291
1292 if WITH_ESX
1293 noinst_LTLIBRARIES += libvirt_driver_esx.la
1294 libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
1295 libvirt_driver_esx_la_CFLAGS = $(CURL_CFLAGS) \
1296                 -I$(top_srcdir)/src/conf -I$(top_srcdir)/src/vmx $(AM_CFLAGS)
1297 libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
1298 libvirt_driver_esx_la_LIBADD = $(CURL_LIBS)
1299 libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
1300 libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
1301 endif WITH_ESX
1302
1303
1304 BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)
1305
1306 HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp
1307
1308 EXTRA_DIST += $(HYPERV_GENERATED_STAMP)
1309
1310 $(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)
1311
1312 $(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1313                             $(srcdir)/hyperv/hyperv_wmi_generator.py
1314         $(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) \
1315           $(srcdir)/hyperv/hyperv_wmi_generator.py \
1316           && touch $@
1317
1318 MAINTAINERCLEANFILES += $(HYPERV_DRIVER_GENERATED) $(HYPERV_GENERATED_STAMP)
1319
1320 if WITH_HYPERV
1321 noinst_LTLIBRARIES += libvirt_driver_hyperv.la
1322 libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
1323 libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1324                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1325 libvirt_driver_hyperv_la_LDFLAGS = $(AM_LDFLAGS)
1326 libvirt_driver_hyperv_la_LIBADD = $(OPENWSMAN_LIBS)
1327 libvirt_driver_hyperv_la_SOURCES = $(HYPERV_DRIVER_SOURCES)
1328 endif WITH_HYPERV
1329
1330 if WITH_PARALLELS
1331 noinst_LTLIBRARIES += libvirt_driver_parallels.la
1332 libvirt_la_BUILT_LIBADD += libvirt_driver_parallels.la
1333 libvirt_driver_parallels_la_CFLAGS = \
1334                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1335 libvirt_driver_parallels_la_SOURCES = $(PARALLELS_DRIVER_SOURCES)
1336 endif WITH_PARALLELS
1337
1338 if WITH_BHYVE
1339 noinst_LTLIBRARIES += libvirt_driver_bhyve_impl.la
1340 libvirt_driver_bhyve_la_SOURCES =
1341 libvirt_driver_bhyve_la_LIBADD = libvirt_driver_bhyve_impl.la
1342 if WITH_DRIVER_MODULES
1343 mod_LTLIBRARIES += libvirt_driver_bhyve.la
1344 libvirt_driver_bhyve_la_LIBADD += ../gnulib/lib/libgnu.la
1345 libvirt_driver_bhyve_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1346 else ! WITH_DRIVER_MODULES
1347 noinst_LTLIBRARIES += libvirt_driver_bhyve.la
1348 endif ! WITH_DRIVER_MODULES
1349
1350 libvirt_driver_bhyve_impl_la_CFLAGS = \
1351         -I$(top_srcdir)/src/access \
1352         -I$(top_srcdir)/src/conf \
1353         $(AM_CFLAGS)
1354 libvirt_driver_bhyve_impl_la_LDFLAGS = $(AM_LDFLAGS)
1355 libvirt_driver_bhyve_impl_la_SOURCES = $(BHYVE_DRIVER_SOURCES)
1356 endif WITH_BHYVE
1357
1358 if WITH_NETWORK
1359 noinst_LTLIBRARIES += libvirt_driver_network_impl.la
1360 libvirt_driver_network_la_SOURCES =
1361 libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1362 if WITH_DRIVER_MODULES
1363 mod_LTLIBRARIES += libvirt_driver_network.la
1364 libvirt_driver_network_la_LIBADD += ../gnulib/lib/libgnu.la \
1365         $(LIBNL_LIBS) \
1366         $(DBUS_LIBS) \
1367         $(NULL)
1368 libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1369 else ! WITH_DRIVER_MODULES
1370 noinst_LTLIBRARIES += libvirt_driver_network.la
1371 # Stateful, so linked to daemon instead
1372 #libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
1373 endif ! WITH_DRIVER_MODULES
1374
1375 libvirt_driver_network_impl_la_CFLAGS = \
1376                 $(LIBNL_CFLAGS) \
1377                 $(DBUS_CFLAGS) \
1378                 -I$(top_srcdir)/src/access \
1379                 -I$(top_srcdir)/src/conf \
1380                 $(AM_CFLAGS)
1381 libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1382 libvirt_driver_network_impl_la_LIBADD  = $(DBUS_LIBS)
1383 endif WITH_NETWORK
1384 EXTRA_DIST += network/default.xml
1385
1386
1387 if WITH_INTERFACE
1388 if WITH_DRIVER_MODULES
1389 mod_LTLIBRARIES += libvirt_driver_interface.la
1390 else ! WITH_DRIVER_MODULES
1391 noinst_LTLIBRARIES += libvirt_driver_interface.la
1392 # Stateful, so linked to daemon instead
1393 #libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
1394 endif ! WITH_DRIVER_MODULES
1395 libvirt_driver_interface_la_CFLAGS = \
1396                 -I$(top_srcdir)/src/access \
1397                 -I$(top_srcdir)/src/conf \
1398                 $(AM_CFLAGS)
1399 libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
1400 libvirt_driver_interface_la_LIBADD =
1401 if WITH_NETCF
1402 libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
1403 libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
1404 else ! WITH_NETCF
1405 if WITH_UDEV
1406 libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
1407 libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
1408 endif WITH_UDEV
1409 endif ! WITH_NETCF
1410 if WITH_DRIVER_MODULES
1411 libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
1412 libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
1413 endif WITH_DRIVER_MODULES
1414 libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
1415 endif WITH_INTERFACE
1416
1417 if WITH_SECRETS
1418 if WITH_DRIVER_MODULES
1419 mod_LTLIBRARIES += libvirt_driver_secret.la
1420 else ! WITH_DRIVER_MODULES
1421 noinst_LTLIBRARIES += libvirt_driver_secret.la
1422 # Stateful, so linked to daemon instead
1423 #libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
1424 endif ! WITH_DRIVER_MODULES
1425 libvirt_driver_secret_la_CFLAGS = \
1426                 -I$(top_srcdir)/src/access \
1427                 -I$(top_srcdir)/src/conf \
1428                 $(AM_CFLAGS)
1429 if WITH_DRIVER_MODULES
1430 libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
1431 libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1432 endif WITH_DRIVER_MODULES
1433 libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
1434 endif WITH_SECRETS
1435
1436 # Needed to keep automake quiet about conditionals
1437 libvirt_driver_storage_impl_la_SOURCES =
1438 libvirt_driver_storage_impl_la_CFLAGS = \
1439                 -I$(top_srcdir)/src/access \
1440                 -I$(top_srcdir)/src/conf \
1441                 $(AM_CFLAGS)
1442 libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS)
1443 libvirt_driver_storage_impl_la_LIBADD =
1444 libvirt_driver_storage_impl_la_LIBADD += $(SECDRIVER_LIBS)
1445 if WITH_BLKID
1446 libvirt_driver_storage_impl_la_CFLAGS += $(BLKID_CFLAGS)
1447 libvirt_driver_storage_impl_la_LIBADD += $(BLKID_LIBS)
1448 endif WITH_BLKID
1449 if WITH_STORAGE
1450 noinst_LTLIBRARIES += libvirt_driver_storage_impl.la
1451 libvirt_driver_storage_la_SOURCES =
1452 libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
1453 if WITH_DRIVER_MODULES
1454 mod_LTLIBRARIES += libvirt_driver_storage.la
1455 libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
1456 libvirt_driver_storage_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1457 else ! WITH_DRIVER_MODULES
1458 noinst_LTLIBRARIES += libvirt_driver_storage.la
1459 # Stateful, so linked to daemon instead
1460 #libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
1461 endif ! WITH_DRIVER_MODULES
1462 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
1463 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
1464 endif WITH_STORAGE
1465
1466 if WITH_STORAGE_LVM
1467 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1468 endif WITH_STORAGE_LVM
1469
1470 if WITH_STORAGE_ISCSI
1471 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1472 endif WITH_STORAGE_ISCSI
1473
1474 if WITH_STORAGE_SCSI
1475 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1476 endif WITH_STORAGE_SCSI
1477
1478 if WITH_STORAGE_MPATH
1479 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_MPATH_SOURCES)
1480 libvirt_driver_storage_impl_la_CFLAGS += $(DEVMAPPER_CFLAGS)
1481 libvirt_driver_storage_impl_la_LIBADD += $(DEVMAPPER_LIBS)
1482 endif WITH_STORAGE_MPATH
1483
1484 if WITH_STORAGE_DISK
1485 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1486 endif WITH_STORAGE_DISK
1487
1488 if WITH_STORAGE_RBD
1489 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
1490 libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1491 endif WITH_STORAGE_RBD
1492
1493 if WITH_STORAGE_SHEEPDOG
1494 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1495 endif WITH_STORAGE_SHEEPDOG
1496
1497 if WITH_STORAGE_GLUSTER
1498 libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_GLUSTER_SOURCES)
1499 libvirt_driver_storage_impl_la_CFLAGS += $(GLUSTERFS_CFLAGS)
1500 libvirt_driver_storage_impl_la_LIBADD += $(GLUSTERFS_LIBS)
1501 endif WITH_STORAGE_GLUSTER
1502
1503 if WITH_NODE_DEVICES
1504 # Needed to keep automake quiet about conditionals
1505 if WITH_DRIVER_MODULES
1506 mod_LTLIBRARIES += libvirt_driver_nodedev.la
1507 else ! WITH_DRIVER_MODULES
1508 noinst_LTLIBRARIES += libvirt_driver_nodedev.la
1509 # Stateful, so linked to daemon instead
1510 #libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1511 endif ! WITH_DRIVER_MODULES
1512 libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)
1513
1514 libvirt_driver_nodedev_la_CFLAGS = \
1515                 -I$(top_srcdir)/src/access \
1516                 -I$(top_srcdir)/src/conf \
1517                 $(AM_CFLAGS)
1518 libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1519 libvirt_driver_nodedev_la_LIBADD =
1520
1521 if WITH_LIBVIRTD
1522 if WITH_HAL
1523 libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
1524 libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1525 libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1526 endif WITH_HAL
1527 if WITH_UDEV
1528 libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1529 libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1530 libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1531 endif WITH_UDEV
1532 endif WITH_LIBVIRTD
1533
1534 if WITH_DRIVER_MODULES
1535 libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1536 libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
1537 endif WITH_DRIVER_MODULES
1538 endif WITH_NODE_DEVICES
1539
1540
1541 if WITH_NWFILTER
1542 noinst_LTLIBRARIES += libvirt_driver_nwfilter_impl.la
1543 libvirt_driver_nwfilter_la_SOURCES =
1544 libvirt_driver_nwfilter_la_LIBADD = libvirt_driver_nwfilter_impl.la
1545 if WITH_DRIVER_MODULES
1546 mod_LTLIBRARIES += libvirt_driver_nwfilter.la
1547 libvirt_driver_nwfilter_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1548 else ! WITH_DRIVER_MODULES
1549 noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
1550 # Stateful, so linked to daemon instead
1551 #libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
1552 endif ! WITH_DRIVER_MODULES
1553 libvirt_driver_nwfilter_impl_la_CFLAGS = \
1554                 $(LIBPCAP_CFLAGS) \
1555                 $(LIBNL_CFLAGS) \
1556                 $(DBUS_CFLAGS) \
1557                 -I$(top_srcdir)/src/access \
1558                 -I$(top_srcdir)/src/conf \
1559                 $(AM_CFLAGS)
1560 libvirt_driver_nwfilter_impl_la_LDFLAGS = $(AM_LDFLAGS)
1561 libvirt_driver_nwfilter_impl_la_LIBADD = \
1562                 $(LIBPCAP_LIBS) \
1563                 $(LIBNL_LIBS) \
1564                 $(DBUS_LIBS)
1565 if WITH_DRIVER_MODULES
1566 libvirt_driver_nwfilter_impl_la_LIBADD += ../gnulib/lib/libgnu.la
1567 libvirt_driver_nwfilter_impl_la_LDFLAGS += -module -avoid-version
1568 endif WITH_DRIVER_MODULES
1569 libvirt_driver_nwfilter_impl_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
1570 endif WITH_NWFILTER
1571
1572
1573 libvirt_security_manager_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
1574 noinst_LTLIBRARIES += libvirt_security_manager.la
1575 libvirt_la_BUILT_LIBADD += libvirt_security_manager.la
1576 libvirt_security_manager_la_CFLAGS = \
1577                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1578 libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
1579 libvirt_security_manager_la_LIBADD = $(SECDRIVER_LIBS)
1580 if WITH_SECDRIVER_SELINUX
1581 libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
1582 libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
1583 endif WITH_SECDRIVER_SELINUX
1584 if WITH_SECDRIVER_APPARMOR
1585 libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
1586 libvirt_security_manager_la_CFLAGS += $(APPARMOR_CFLAGS)
1587 endif WITH_SECDRIVER_APPARMOR
1588
1589 libvirt_driver_access_la_SOURCES = \
1590         $(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
1591 noinst_LTLIBRARIES += libvirt_driver_access.la
1592 libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
1593 libvirt_driver_access_la_CFLAGS = \
1594                 -I$(top_srcdir)/src/conf $(AM_CFLAGS)
1595 libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
1596 libvirt_driver_access_la_LIBADD =
1597
1598 EXTRA_DIST += access/genpolkit.pl
1599
1600 $(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
1601     $(srcdir)/access/genpolkit.pl Makefile.am
1602         $(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@
1603
1604 if WITH_POLKIT1
1605 libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)
1606
1607 polkitactiondir = $(datadir)/polkit-1/actions
1608 if WITH_LIBVIRTD
1609 polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
1610 endif WITH_LIBVIRTD
1611
1612 CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
1613 BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
1614 else ! WITH_POLKIT1
1615 EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
1616 endif ! WITH_POLKIT1
1617
1618
1619 BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
1620 CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
1621
1622 libvirt_access.syms: $(srcdir)/rpc/gendispatch.pl \
1623                         $(REMOTE_PROTOCOL) Makefile.am
1624         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
1625           remote REMOTE $(REMOTE_PROTOCOL) > $@
1626 libvirt_access_qemu.syms: $(srcdir)/rpc/gendispatch.pl \
1627                         $(QEMU_PROTOCOL) Makefile.am
1628         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
1629           qemu QEMU $(QEMU_PROTOCOL) > $@
1630 libvirt_access_lxc.syms: $(srcdir)/rpc/gendispatch.pl \
1631                         $(LXC_PROTOCOL) Makefile.am
1632         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
1633           lxc LXC $(LXC_PROTOCOL) > $@
1634
1635 libvirt_access.xml: $(srcdir)/rpc/gendispatch.pl \
1636                         $(REMOTE_PROTOCOL) Makefile.am
1637         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
1638           remote REMOTE $(REMOTE_PROTOCOL) > $@
1639 libvirt_access_qemu.xml: $(srcdir)/rpc/gendispatch.pl \
1640                         $(QEMU_PROTOCOL) Makefile.am
1641         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
1642           qemu QEMU $(QEMU_PROTOCOL) > $@
1643 libvirt_access_lxc.xml: $(srcdir)/rpc/gendispatch.pl \
1644                         $(LXC_PROTOCOL) Makefile.am
1645         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
1646           lxc LXC $(LXC_PROTOCOL) > $@
1647
1648 access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
1649                         $(REMOTE_PROTOCOL) Makefile.am
1650         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
1651           remote REMOTE $(REMOTE_PROTOCOL) \
1652           > $(srcdir)/access/viraccessapicheck.h
1653 access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
1654                         $(REMOTE_PROTOCOL) Makefile.am
1655         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
1656           remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
1657           > $(srcdir)/access/viraccessapicheck.c
1658
1659 access/viraccessapicheckqemu.h: $(srcdir)/rpc/gendispatch.pl \
1660                         $(QEMU_PROTOCOL) Makefile.am
1661         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
1662           qemu QEMU $(QEMU_PROTOCOL) \
1663           > $(srcdir)/access/viraccessapicheckqemu.h
1664 access/viraccessapicheckqemu.c: $(srcdir)/rpc/gendispatch.pl \
1665                         $(QEMU_PROTOCOL) Makefile.am
1666         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
1667           qemu QEMU $(QEMU_PROTOCOL) access/viraccessapicheckqemu.h \
1668           > $(srcdir)/access/viraccessapicheckqemu.c
1669
1670 access/viraccessapichecklxc.h: $(srcdir)/rpc/gendispatch.pl \
1671                         $(LXC_PROTOCOL) Makefile.am
1672         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
1673           lxc LXC $(LXC_PROTOCOL) \
1674           > $(srcdir)/access/viraccessapichecklxc.h
1675 access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
1676                         $(LXC_PROTOCOL) Makefile.am
1677         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
1678           lxc LXC $(LXC_PROTOCOL) access/viraccessapichecklxc.h \
1679           > $(srcdir)/access/viraccessapichecklxc.c
1680
1681 # Add all conditional sources just in case...
1682 EXTRA_DIST +=                                                   \
1683                 $(TEST_DRIVER_SOURCES)                          \
1684                 $(REMOTE_DRIVER_SOURCES)                        \
1685                 $(XEN_DRIVER_SOURCES)                           \
1686                 $(QEMU_DRIVER_SOURCES)                          \
1687                 $(LXC_DRIVER_SOURCES)                           \
1688                 $(UML_DRIVER_SOURCES)                           \
1689                 $(OPENVZ_DRIVER_SOURCES)                        \
1690                 $(PHYP_DRIVER_SOURCES)                          \
1691                 $(VBOX_DRIVER_SOURCES)                          \
1692                 $(XENAPI_DRIVER_SOURCES)                        \
1693                 $(LIBXL_DRIVER_SOURCES)                         \
1694                 $(ESX_DRIVER_SOURCES)                           \
1695                 $(ESX_DRIVER_EXTRA_DIST)                        \
1696                 $(HYPERV_DRIVER_SOURCES)                        \
1697                 $(HYPERV_DRIVER_EXTRA_DIST)                     \
1698                 $(PARALLELS_DRIVER_SOURCES)                     \
1699                 $(BHYVE_DRIVER_SOURCES)                         \
1700                 $(NETWORK_DRIVER_SOURCES)                       \
1701                 $(INTERFACE_DRIVER_SOURCES)                     \
1702                 $(STORAGE_DRIVER_SOURCES)                       \
1703                 $(STORAGE_DRIVER_FS_SOURCES)                    \
1704                 $(STORAGE_DRIVER_LVM_SOURCES)                   \
1705                 $(STORAGE_DRIVER_ISCSI_SOURCES)                 \
1706                 $(STORAGE_DRIVER_SCSI_SOURCES)                  \
1707                 $(STORAGE_DRIVER_MPATH_SOURCES)                 \
1708                 $(STORAGE_DRIVER_DISK_SOURCES)                  \
1709                 $(STORAGE_DRIVER_RBD_SOURCES)                   \
1710                 $(STORAGE_DRIVER_SHEEPDOG_SOURCES)              \
1711                 $(STORAGE_DRIVER_GLUSTER_SOURCES)               \
1712                 $(NODE_DEVICE_DRIVER_SOURCES)                   \
1713                 $(NODE_DEVICE_DRIVER_HAL_SOURCES)               \
1714                 $(NODE_DEVICE_DRIVER_UDEV_SOURCES)              \
1715                 $(NWFILTER_DRIVER_SOURCES)                      \
1716                 $(SECURITY_DRIVER_SELINUX_SOURCES)              \
1717                 $(SECURITY_DRIVER_APPARMOR_SOURCES)             \
1718                 $(SECRET_DRIVER_SOURCES)                        \
1719                 $(VBOX_DRIVER_EXTRA_DIST)                       \
1720                 $(VMWARE_DRIVER_SOURCES)                        \
1721                 $(XENXS_SOURCES)                                \
1722                 $(ACCESS_DRIVER_POLKIT_POLICY)
1723
1724 check-local: check-augeas
1725
1726 .PHONY: check-augeas \
1727         check-augeas-qemu \
1728         check-augeas-lxc \
1729         check-augeas-sanlock \
1730         check-augeas-lockd \
1731         $(NULL)
1732
1733 check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock \
1734         check-augeas-lockd check-augeas-virtlockd
1735
1736 AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1737 EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1738
1739 if WITH_QEMU
1740 test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
1741                 $(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
1742         $(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1743
1744 check-augeas-qemu: test_libvirtd_qemu.aug
1745         $(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1746             '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1747         fi
1748 else ! WITH_QEMU
1749 check-augeas-qemu:
1750 endif ! WITH_QEMU
1751
1752 if WITH_LXC
1753 test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
1754                 $(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
1755         $(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1756
1757 check-augeas-lxc: test_libvirtd_lxc.aug
1758         $(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1759             '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1760         fi
1761 else ! WITH_LXC
1762 check-augeas-lxc:
1763 endif ! WITH_LXC
1764
1765 if WITH_SANLOCK
1766 test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
1767                 locking/qemu-sanlock.conf $(AUG_GENTEST)
1768         $(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1769
1770 check-augeas-sanlock: test_libvirt_sanlock.aug
1771         $(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1772             '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1773         fi
1774 else ! WITH_SANLOCK
1775 check-augeas-sanlock:
1776 endif ! WITH_SANLOCK
1777
1778 if WITH_QEMU
1779 test_libvirt_lockd.aug: locking/test_libvirt_lockd.aug.in \
1780                 locking/qemu-lockd.conf $(AUG_GENTEST)
1781         $(AM_V_GEN)$(AUG_GENTEST) locking/qemu-lockd.conf $< $@
1782 else ! WITH_QEMU
1783 test_libvirt_lockd.aug:
1784 endif ! WITH_QEMU
1785
1786 test_virtlockd.aug: locking/test_virtlockd.aug.in \
1787                 locking/virtlockd.conf $(AUG_GENTEST)
1788         $(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
1789
1790 if WITH_QEMU
1791 check-augeas-lockd: test_libvirt_lockd.aug
1792         $(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1793             '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
1794         fi
1795 else ! WITH_QEMU
1796 check-augeas-lockd:
1797 endif ! WITH_QEMU
1798
1799 check-augeas-virtlockd: test_virtlockd.aug
1800         $(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1801             '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
1802         fi
1803
1804 #
1805 # Build our version script.  This is composed of three parts:
1806 #
1807 # 1. libvirt_public.syms - public API.  These functions are always
1808 # present in the library and should never change incompatibly.
1809 #
1810 # 2. libvirt_private.syms - private API.  These symbols are private and
1811 # semantics may change on every release, hence the version number is
1812 # spliced in at build time. This ensures that if libvirtd, virsh, or a
1813 # driver module was built against one libvirt release, it will refuse to
1814 # load with another where symbols may have same names but different
1815 # semantics. Such symbols should never be visible in an (installed)
1816 # public header file.
1817 #
1818 # 3. libvirt_*.syms - dynamic private API.  Like libvirt_private.syms,
1819 # except that build options (such as --enable-debug) can mean these
1820 # symbols aren't present at all.
1821 #
1822
1823 if WITH_DRIVER_MODULES
1824 USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1825 else ! WITH_DRIVER_MODULES
1826 SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1827 endif ! WITH_DRIVER_MODULES
1828
1829 if WITH_LINUX
1830 USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
1831 else ! WITH_LINUX
1832 SYM_FILES += $(srcdir)/libvirt_linux.syms
1833 endif ! WITH_LINUX
1834
1835 if WITH_ESX
1836 USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
1837 else ! WITH_ESX
1838 SYM_FILES += $(srcdir)/libvirt_esx.syms
1839 endif ! WITH_ESX
1840
1841 if WITH_LIBVIRTD
1842 USED_SYM_FILES += $(srcdir)/libvirt_daemon.syms
1843 else ! WITH_LIBVIRTD
1844 SYM_FILES += $(srcdir)/libvirt_daemon.syms
1845 endif ! WITH_LIBVIRTD
1846
1847 if WITH_REMOTE
1848 USED_SYM_FILES += $(srcdir)/libvirt_remote.syms
1849 else ! WITH_REMOTE
1850 SYM_FILES += $(srcdir)/libvirt_remote.syms
1851 endif ! WITH_REMOTE
1852
1853 if WITH_OPENVZ
1854 USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms
1855 else ! WITH_OPENVZ
1856 SYM_FILES += $(srcdir)/libvirt_openvz.syms
1857 endif ! WITH_OPENVZ
1858
1859 if WITH_VMX
1860 USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
1861 else ! WITH_VMX
1862 SYM_FILES += $(srcdir)/libvirt_vmx.syms
1863 endif ! WITH_VMX
1864
1865 if WITH_VMWARE
1866 USED_SYM_FILES += $(srcdir)/libvirt_vmware.syms
1867 else ! WITH_VMWARE
1868 SYM_FILES += $(srcdir)/libvirt_vmware.syms
1869 endif ! WITH_VMWARE
1870
1871 if WITH_XENXS
1872 USED_SYM_FILES += $(srcdir)/libvirt_xenxs.syms
1873 else ! WITH_XENXS
1874 SYM_FILES += $(srcdir)/libvirt_xenxs.syms
1875 endif ! WITH_XENXS
1876
1877 if WITH_SASL
1878 USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
1879 else ! WITH_SASL
1880 SYM_FILES += $(srcdir)/libvirt_sasl.syms
1881 endif ! WITH_SASL
1882
1883 if WITH_GNUTLS
1884 USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
1885 else ! WITH_GNUTLS
1886 SYM_FILES += $(srcdir)/libvirt_gnutls.syms
1887 endif ! WITH_GNUTLS
1888
1889 if WITH_SSH2
1890 USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1891 else ! WITH_SSH2
1892 SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1893 endif ! WITH_SSH2
1894
1895 if WITH_ATOMIC_OPS_PTHREAD
1896 USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
1897 else ! WITH_ATOMIC_OPS_PTHREAD
1898 SYM_FILES += $(srcdir)/libvirt_atomic.syms
1899 endif ! WITH_ATOMIC_OPS_PTHREAD
1900
1901 EXTRA_DIST += \
1902         libvirt_public.syms             \
1903         libvirt_lxc.syms                \
1904         libvirt_qemu.syms               \
1905         $(SYM_FILES)                    \
1906         $(NULL)
1907
1908 BUILT_SOURCES += $(GENERATED_SYM_FILES)
1909
1910 libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
1911                 $(ACCESS_DRIVER_SYM_FILES) \
1912                 $(top_builddir)/config.status
1913         $(AM_V_GEN)rm -f $@-tmp $@ ; \
1914         printf '# WARNING: generated from the following:\n# $^\n\n' >$@-tmp && \
1915         cat $(srcdir)/libvirt_public.syms >>$@-tmp && \
1916         printf '\n\n# Private symbols\n\n' >>$@-tmp && \
1917         printf 'LIBVIRT_PRIVATE_$(VERSION) {\n\n'  >>$@-tmp && \
1918         printf 'global:\n\n' >>$@-tmp && \
1919         cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
1920         printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
1921         chmod a-w $@-tmp && \
1922         mv $@-tmp libvirt.syms
1923
1924 libvirt.def: libvirt.syms
1925         $(AM_V_GEN)rm -f -- $@-tmp $@ ; \
1926         printf 'EXPORTS\n' > $@-tmp && \
1927         sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'   \
1928             -e 's/[      ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1929         chmod a-w $@-tmp && \
1930         mv $@-tmp libvirt.def
1931
1932 libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
1933         $(AM_V_GEN)rm -f -- $@-tmp $@ ; \
1934         printf 'EXPORTS\n' > $@-tmp && \
1935         sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'   \
1936             -e 's/[      ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1937         chmod a-w $@-tmp && \
1938         mv $@-tmp libvirt_qemu.def
1939
1940 libvirt_lxc.def: $(srcdir)/libvirt_lxc.syms
1941         $(AM_V_GEN)rm -f -- $@-tmp $@ ; \
1942         printf 'EXPORTS\n' > $@-tmp && \
1943         sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'   \
1944             -e 's/[      ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1945         chmod a-w $@-tmp && \
1946         mv $@-tmp libvirt_lxc.def
1947
1948 # Empty source list - it merely links a bunch of convenience libs together
1949 libvirt_la_SOURCES =
1950 libvirt_la_LDFLAGS = \
1951                 $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
1952                 -version-info $(LIBVIRT_VERSION_INFO) \
1953                 $(LIBVIRT_NODELETE) \
1954                 $(AM_LDFLAGS) \
1955                 $(CYGWIN_EXTRA_LDFLAGS) \
1956                 $(MINGW_EXTRA_LDFLAGS) \
1957                 $(NULL)
1958 libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1959 libvirt_la_LIBADD += \
1960                     $(DRIVER_MODULE_LIBS) \
1961                     $(CYGWIN_EXTRA_LIBADD)
1962 libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1963 # Because we specify libvirt_la_DEPENDENCIES for $(LIBVIRT_SYMBOL_FILE), we
1964 # lose automake's automatic dependencies on an appropriate subset of
1965 # $(libvirt_la_LIBADD).  But we were careful to create
1966 # $(libvirt_la_BUILT_LIBADD) as the subset that automake would have
1967 # picked out for us.
1968 libvirt_la_DEPENDENCIES = $(libvirt_la_BUILT_LIBADD) $(LIBVIRT_SYMBOL_FILE)
1969
1970 if WITH_DTRACE_PROBES
1971 libvirt_la_BUILT_LIBADD += libvirt_probes.lo
1972 libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
1973 nodist_libvirt_la_SOURCES = libvirt_probes.h
1974 if WITH_REMOTE
1975 nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
1976 endif WITH_REMOTE
1977 if WITH_DRIVER_MODULES
1978 DTRACE2SYSTEMTAP_FLAGS = --with-modules
1979 endif WITH_DRIVER_MODULES
1980
1981 BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp
1982
1983 if WITH_QEMU
1984 libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
1985 nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
1986 BUILT_SOURCES += libvirt_qemu_probes.h
1987 endif WITH_QEMU
1988
1989 tapsetdir = $(datadir)/systemtap/tapset
1990 tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
1991
1992 %_probes.h: %_probes.d
1993         $(AM_V_GEN)$(DTRACE) -o $@ -h -s $<
1994
1995 .PRECIOUS: %_probes.o
1996 %_probes.o: %_probes.d
1997         $(AM_V_GEN)$(DTRACE) -o $@ -G -s $<
1998
1999 %_probes.lo: %_probes.o
2000         $(AM_V_GEN)printf %s\\n \
2001           '# $@ - a libtool object file' \
2002           '# Generated by libtool (GNU libtool) 2.4' \
2003           '# Actually generated by Makefile.am, in order to shut up libtool' \
2004           "pic_object='$<'" \
2005           "non_pic_object='$<'" \
2006         > $@
2007
2008 # Keep this list synced with PROTOCOL_STRUCTS
2009 RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
2010                   $(srcdir)/rpc/virkeepaliveprotocol.x \
2011                   $(srcdir)/remote/remote_protocol.x \
2012                   $(srcdir)/remote/lxc_protocol.x \
2013                   $(srcdir)/remote/qemu_protocol.x \
2014                   $(srcdir)/lxc/lxc_monitor_protocol.x \
2015                   $(srcdir)/locking/lock_protocol.x
2016
2017 libvirt_functions.stp: $(RPC_PROBE_FILES) $(srcdir)/rpc/gensystemtap.pl
2018         $(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gensystemtap.pl $(RPC_PROBE_FILES) > $@
2019
2020 %_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
2021                 $(top_builddir)/config.status
2022         $(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
2023           $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
2024
2025 CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
2026               libvirt_qemu_probes.h libvirt_qemu_probes.o \
2027               libvirt_qemu_probes.lo\
2028               libvirt_functions.stp libvirt_probes.stp \
2029               libvirt_qemu_probes.stp
2030 endif WITH_DTRACE_PROBES
2031
2032 EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
2033
2034 libvirt_qemu_la_SOURCES = libvirt-qemu.c
2035 libvirt_qemu_la_LDFLAGS = \
2036                 $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
2037                 -version-info $(LIBVIRT_VERSION_INFO) \
2038                 $(AM_LDFLAGS) \
2039                 $(CYGWIN_EXTRA_LDFLAGS) \
2040                 $(MINGW_EXTRA_LDFLAGS) \
2041                 $(NULL)
2042 libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
2043 libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
2044
2045 libvirt_lxc_la_SOURCES = libvirt-lxc.c
2046 libvirt_lxc_la_LDFLAGS = \
2047                 $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_LXC_SYMBOL_FILE) \
2048                 -version-info $(LIBVIRT_VERSION_INFO) \
2049                 $(AM_LDFLAGS) \
2050                 $(CYGWIN_EXTRA_LDFLAGS) \
2051                 $(MINGW_EXTRA_LDFLAGS) \
2052                 $(NULL)
2053 libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
2054 libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
2055
2056 # Since virt-login-shell will be setuid, we must do everything
2057 # we can to avoid linking to other libraries. Many of them do
2058 # unsafe things in functions marked __atttribute__((constructor)).
2059 # This library is built to include the bare minimum required to
2060 # have a RPC client for local UNIX socket access only. We use
2061 # the ../config-post.h header to disable all external deps that
2062 # we don't want
2063 if WITH_LXC
2064 noinst_LTLIBRARIES += libvirt-setuid-rpc-client.la
2065
2066 libvirt_setuid_rpc_client_la_SOURCES =          \
2067                 util/viralloc.c                 \
2068                 util/viratomic.c                \
2069                 util/viratomic.h                \
2070                 util/virbitmap.c                \
2071                 util/virbuffer.c                \
2072                 util/vircommand.c               \
2073                 util/virconf.c                  \
2074                 util/virerror.c                 \
2075                 util/virevent.c                 \
2076                 util/vireventpoll.c             \
2077                 util/virfile.c                  \
2078                 util/virhash.c                  \
2079                 util/virhashcode.c              \
2080                 util/virjson.c                  \
2081                 util/virlog.c                   \
2082                 util/virobject.c                \
2083                 util/virpidfile.c               \
2084                 util/virprocess.c               \
2085                 util/virrandom.c                \
2086                 util/virsocketaddr.c            \
2087                 util/virstring.c                \
2088                 util/virtime.c                  \
2089                 util/virthread.c                \
2090                 util/virtypedparam.c            \
2091                 util/viruri.c                   \
2092                 util/virutil.c                  \
2093                 util/viruuid.c                  \
2094                 conf/domain_event.c             \
2095                 conf/network_event.c            \
2096                 conf/object_event.c             \
2097                 rpc/virnetsocket.c              \
2098                 rpc/virnetsocket.h              \
2099                 rpc/virnetmessage.h             \
2100                 rpc/virnetmessage.c             \
2101                 rpc/virkeepalive.c              \
2102                 rpc/virkeepalive.h              \
2103                 rpc/virnetclient.c              \
2104                 rpc/virnetclientprogram.c       \
2105                 rpc/virnetclientstream.c        \
2106                 rpc/virnetprotocol.c            \
2107                 remote/remote_driver.c          \
2108                 remote/remote_protocol.c        \
2109                 remote/qemu_protocol.c          \
2110                 remote/lxc_protocol.c           \
2111                 datatypes.c                     \
2112                 libvirt.c                       \
2113                 libvirt-lxc.c                   \
2114                 $(NULL)
2115
2116 libvirt_setuid_rpc_client_la_LDFLAGS =          \
2117                 $(AM_LDFLAGS)                   \
2118                 $(LIBXML_LIBS)                  \
2119                 $(SECDRIVER_LIBS)               \
2120                 $(NULL)
2121 libvirt_setuid_rpc_client_la_CFLAGS =           \
2122                 -DLIBVIRT_SETUID_RPC_CLIENT     \
2123                 -I$(top_srcdir)/src/conf        \
2124                 -I$(top_srcdir)/src/rpc         \
2125                 $(AM_CFLAGS)                    \
2126                 $(SECDRIVER_CFLAGS)             \
2127                 $(NULL)
2128 endif WITH_LXC
2129
2130 lockdriverdir = $(libdir)/libvirt/lock-driver
2131 lockdriver_LTLIBRARIES =
2132
2133 if WITH_LIBVIRTD
2134 lockdriver_LTLIBRARIES += lockd.la
2135 lockd_la_SOURCES = \
2136                 $(LOCK_DRIVER_LOCKD_SOURCES) \
2137                 $(LOCK_PROTOCOL_GENERATED) \
2138                 $(NULL)
2139 lockd_la_CFLAGS = -I$(top_srcdir)/src/conf \
2140                 $(XDR_CFLAGS) \
2141                 $(AM_CFLAGS)
2142 lockd_la_LDFLAGS = -module -avoid-version
2143 lockd_la_LIBADD = ../gnulib/lib/libgnu.la \
2144         libvirt-net-rpc.la \
2145         libvirt-net-rpc-client.la \
2146         $(NULL)
2147 augeas_DATA += locking/libvirt_lockd.aug
2148 if WITH_DTRACE_PROBES
2149 lockd_la_LIBADD += libvirt_probes.lo
2150 endif WITH_DTRACE_PROBES
2151 if WITH_QEMU
2152 augeastest_DATA += test_libvirt_lockd.aug
2153 CLEANFILES += test_libvirt_lockd.aug
2154 nodist_conf_DATA += locking/qemu-lockd.conf
2155 BUILT_SOURCES += locking/qemu-lockd.conf
2156 DISTCLEANFILES += locking/qemu-lockd.conf
2157 endif WITH_QEMU
2158
2159 locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
2160         $(AM_V_GEN)$(MKDIR_P) locking ; \
2161         cp $< $@
2162
2163
2164 sbin_PROGRAMS = virtlockd
2165
2166 virtlockd_SOURCES = \
2167                 $(LOCK_DAEMON_SOURCES) \
2168                 $(LOCK_PROTOCOL_GENERATED) \
2169                 $(LOCK_DAEMON_GENERATED) \
2170                 $(NULL)
2171 virtlockd_CFLAGS = \
2172                 $(AM_CFLAGS) \
2173                 $(PIE_CFLAGS) \
2174                 $(XDR_CFLAGS) \
2175                 $(NULL)
2176 virtlockd_LDFLAGS = \
2177                 $(AM_LDFLAGS) \
2178                 $(PIE_LDFLAGS) \
2179                 $(CYGWIN_EXTRA_LDFLAGS) \
2180                 $(MINGW_EXTRA_LDFLAGS) \
2181                 $(NULL)
2182 virtlockd_LDADD = \
2183                 libvirt-net-rpc-server.la \
2184                 libvirt-net-rpc.la \
2185                 libvirt_util.la \
2186                 ../gnulib/lib/libgnu.la \
2187                 $(CYGWIN_EXTRA_LIBADD) \
2188                 $(NULL)
2189 if WITH_DTRACE_PROBES
2190 virtlockd_LDADD += libvirt_probes.lo
2191 endif WITH_DTRACE_PROBES
2192
2193 else ! WITH_LIBVIRTD
2194 EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
2195               $(LOCK_DRIVER_LOCKD_SOURCES)
2196 endif ! WITH_LIBVIRTD
2197
2198 EXTRA_DIST += locking/virtlockd.sysconf \
2199         locking/lockd.conf \
2200         locking/libvirt_lockd.aug \
2201         locking/test_libvirt_lockd.aug.in
2202
2203 install-sysconfig:
2204         $(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
2205         $(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \
2206           $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
2207
2208 uninstall-sysconfig:
2209         rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
2210         rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
2211
2212 EXTRA_DIST += locking/virtlockd.init.in
2213
2214 if WITH_LIBVIRTD
2215 if LIBVIRT_INIT_SCRIPT_RED_HAT
2216 install-init:: virtlockd.init install-sysconfig
2217         $(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
2218         $(INSTALL_SCRIPT) virtlockd.init \
2219           $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
2220
2221 uninstall-init:: uninstall-sysconfig
2222         rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
2223         rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
2224
2225 BUILT_SOURCES += virtlockd.init
2226 DISTCLEANFILES += virtlockd.init
2227 else ! LIBVIRT_INIT_SCRIPT_RED_HAT
2228 install-init::
2229 uninstall-init::
2230 endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
2231 else ! WITH_LIBVIRTD
2232 install-init::
2233 uninstall-init::
2234 endif ! WITH_LIBVIRTD
2235
2236 virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
2237         $(AM_V_GEN)sed                                          \
2238             -e 's|[@]localstatedir[@]|$(localstatedir)|g'       \
2239             -e 's|[@]sbindir[@]|$(sbindir)|g'                   \
2240             -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'             \
2241             < $< > $@-t &&                                      \
2242             chmod a+x $@-t &&                                   \
2243             mv $@-t $@
2244
2245 POD2MAN = pod2man -c "Virtualization Support" \
2246                         -r "$(PACKAGE)-$(VERSION)" -s 8
2247
2248 $(srcdir)/virtlockd.8.in: locking/virtlockd.pod.in $(top_srcdir)/configure.ac
2249         $(AM_V_GEN)$(POD2MAN) --name VIRTLOCKD $< $@ \
2250             && if grep 'POD ERROR' $@ ; then rm $@; exit 1; fi
2251
2252 virtlockd.8: $(srcdir)/virtlockd.8.in
2253         $(AM_V_GEN)sed \
2254             -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
2255             -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
2256             < $< > $@-t && \
2257         mv $@-t $@
2258
2259 if WITH_LIBVIRTD
2260 man8_MANS = virtlockd.8
2261
2262 conf_DATA += locking/virtlockd.conf
2263
2264 augeas_DATA += locking/virtlockd.aug
2265 augeastest_DATA += test_virtlockd.aug
2266 endif WITH_LIBVIRTD
2267
2268 CLEANFILES += test_virtlockd.aug virtlockd.8
2269 MAINTAINERCLEANFILES += $(srcdir)/virtlockd.8.in
2270
2271 EXTRA_DIST += \
2272         locking/virtlockd.service.in \
2273         locking/virtlockd.socket.in \
2274         locking/virtlockd.pod.in \
2275         virtlockd.8.in \
2276         locking/virtlockd.aug \
2277         locking/virtlockd.conf \
2278         locking/test_virtlockd.aug.in \
2279         $(NULL)
2280
2281
2282 if WITH_LIBVIRTD
2283 if LIBVIRT_INIT_SCRIPT_SYSTEMD
2284
2285 SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
2286
2287 BUILT_SOURCES += virtlockd.service virtlockd.socket
2288 DISTCLEANFILES += virtlockd.service virtlockd.socket
2289
2290 install-systemd: virtlockd.service virtlockd.socket install-sysconfig
2291         $(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
2292         $(INSTALL_DATA) virtlockd.service \
2293           $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2294         $(INSTALL_DATA) virtlockd.socket \
2295           $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2296
2297 uninstall-systemd: uninstall-sysconfig
2298         rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \
2299           $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket
2300         rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
2301 else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
2302 install-systemd:
2303 uninstall-systemd:
2304 endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
2305 else ! WITH_LIBVIRTD
2306 install-systemd:
2307 uninstall-systemd:
2308 endif ! WITH_LIBVIRTD
2309
2310 virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
2311         $(AM_V_GEN)sed                                          \
2312             -e 's|[@]sbindir[@]|$(sbindir)|g'                   \
2313             < $< > $@-t &&                                      \
2314             mv $@-t $@
2315
2316 virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
2317         $(AM_V_GEN)sed                                          \
2318             -e 's|[@]localstatedir[@]|$(localstatedir)|g'       \
2319             < $< > $@-t &&                                      \
2320             mv $@-t $@
2321
2322
2323 if WITH_SANLOCK
2324 lockdriver_LTLIBRARIES += sanlock.la
2325 sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
2326 sanlock_la_CFLAGS = -I$(top_srcdir)/src/conf $(AM_CFLAGS)
2327 sanlock_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
2328 sanlock_la_LIBADD = -lsanlock_client \
2329                 ../gnulib/lib/libgnu.la
2330
2331 augeas_DATA += locking/libvirt_sanlock.aug
2332 augeastest_DATA += test_libvirt_sanlock.aug
2333 CLEANFILES += test_libvirt_sanlock.aug
2334
2335 locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
2336         $(AM_V_GEN)$(MKDIR_P) locking ; \
2337         cp $< $@
2338
2339 if WITH_QEMU
2340 nodist_conf_DATA += locking/qemu-sanlock.conf
2341 BUILT_SOURCES += locking/qemu-sanlock.conf
2342 DISTCLEANFILES += locking/qemu-sanlock.conf
2343 endif WITH_QEMU
2344 else ! WITH_SANLOCK
2345 EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
2346 endif ! WITH_SANLOCK
2347 EXTRA_DIST += locking/sanlock.conf \
2348         locking/libvirt_sanlock.aug \
2349         locking/test_libvirt_sanlock.aug.in
2350
2351 noinst_LTLIBRARIES += \
2352         libvirt-net-rpc.la \
2353         libvirt-net-rpc-server.la \
2354         libvirt-net-rpc-client.la
2355
2356 EXTRA_DIST += \
2357         dtrace2systemtap.pl \
2358         rpc/gendispatch.pl \
2359         rpc/genprotocol.pl \
2360         rpc/gensystemtap.pl \
2361         rpc/virnetprotocol.x \
2362         rpc/virkeepaliveprotocol.x
2363
2364 VIR_NET_RPC_GENERATED = \
2365         rpc/virnetprotocol.h \
2366         rpc/virnetprotocol.c \
2367         rpc/virkeepaliveprotocol.h \
2368         rpc/virkeepaliveprotocol.c
2369
2370 BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
2371
2372 libvirt_net_rpc_la_SOURCES = \
2373         rpc/virnetmessage.h rpc/virnetmessage.c \
2374         rpc/virnetsocket.h rpc/virnetsocket.c \
2375         rpc/virkeepalive.h rpc/virkeepalive.c \
2376         $(VIR_NET_RPC_GENERATED)
2377 if WITH_SSH2
2378 libvirt_net_rpc_la_SOURCES += \
2379         rpc/virnetsshsession.h rpc/virnetsshsession.c
2380 else ! WITH_SSH2
2381 EXTRA_DIST += \
2382         rpc/virnetsshsession.h rpc/virnetsshsession.c
2383 endif ! WITH_SSH2
2384 if WITH_GNUTLS
2385 libvirt_net_rpc_la_SOURCES += \
2386         rpc/virnettlscontext.h rpc/virnettlscontext.c
2387 else ! WITH_GNUTLS
2388 EXTRA_DIST += \
2389         rpc/virnettlscontext.h rpc/virnettlscontext.c
2390 endif ! WITH_GNUTLS
2391 if WITH_SASL
2392 libvirt_net_rpc_la_SOURCES += \
2393         rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2394 else ! WITH_SASL
2395 EXTRA_DIST += \
2396         rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2397 endif ! WITH_SASL
2398 libvirt_net_rpc_la_CFLAGS = \
2399                         $(GNUTLS_CFLAGS) \
2400                         $(SASL_CFLAGS) \
2401                         $(SSH2_CFLAGS) \
2402                         $(XDR_CFLAGS) \
2403                         $(AM_CFLAGS)
2404 libvirt_net_rpc_la_LDFLAGS = \
2405                         $(GNUTLS_LIBS) \
2406                         $(SASL_LIBS) \
2407                         $(SSH2_LIBS)\
2408                         $(SECDRIVER_LIBS) \
2409                         $(AM_LDFLAGS) \
2410                         $(CYGWIN_EXTRA_LDFLAGS) \
2411                         $(MINGW_EXTRA_LDFLAGS)
2412 libvirt_net_rpc_la_LIBADD = \
2413                         $(CYGWIN_EXTRA_LIBADD)
2414
2415 libvirt_net_rpc_server_la_SOURCES = \
2416         rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
2417         rpc/virnetserverservice.h rpc/virnetserverservice.c \
2418         rpc/virnetserverclient.h rpc/virnetserverclient.c \
2419         rpc/virnetservermdns.h rpc/virnetservermdns.c \
2420         rpc/virnetserver.h rpc/virnetserver.c
2421 libvirt_net_rpc_server_la_CFLAGS = \
2422                         $(AVAHI_CFLAGS) \
2423                         $(DBUS_CFLAGS) \
2424                         $(XDR_CFLAGS) \
2425                         $(AM_CFLAGS) \
2426                         $(POLKIT_CFLAGS)
2427 libvirt_net_rpc_server_la_LDFLAGS = \
2428                         $(AM_LDFLAGS) \
2429                         $(AVAHI_LIBS) \
2430                         $(DBUS_LIBS) \
2431                         $(POLKIT_LIBS) \
2432                         $(CYGWIN_EXTRA_LDFLAGS) \
2433                         $(MINGW_EXTRA_LDFLAGS)
2434 libvirt_net_rpc_server_la_LIBADD = \
2435                         $(CYGWIN_EXTRA_LIBADD)
2436
2437 libvirt_net_rpc_client_la_SOURCES = \
2438         rpc/virnetclientprogram.h rpc/virnetclientprogram.c \
2439         rpc/virnetclientstream.h rpc/virnetclientstream.c \
2440         rpc/virnetclient.h rpc/virnetclient.c
2441 libvirt_net_rpc_client_la_CFLAGS = \
2442                         $(AM_CFLAGS) \
2443                         $(XDR_CFLAGS)
2444 libvirt_net_rpc_client_la_LDFLAGS = \
2445                         $(AM_LDFLAGS) \
2446                         $(CYGWIN_EXTRA_LDFLAGS) \
2447                         $(MINGW_EXTRA_LDFLAGS)
2448 libvirt_net_rpc_client_la_LIBADD = \
2449                         $(CYGWIN_EXTRA_LIBADD)
2450
2451 libexec_PROGRAMS =
2452
2453 if WITH_LIBVIRTD
2454 libexec_PROGRAMS += libvirt_iohelper
2455 libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
2456 libvirt_iohelper_LDFLAGS = \
2457                 $(AM_LDFLAGS) \
2458                 $(PIE_LDFLAGS) \
2459                 $(NULL)
2460 libvirt_iohelper_LDADD =                \
2461                 libvirt_util.la         \
2462                 ../gnulib/lib/libgnu.la
2463 if WITH_DTRACE_PROBES
2464 libvirt_iohelper_LDADD += libvirt_probes.lo
2465 endif WITH_DTRACE_PROBES
2466
2467 libvirt_iohelper_CFLAGS = \
2468                 $(AM_CFLAGS) \
2469                 $(PIE_CFLAGS) \
2470                 $(NULL)
2471 endif WITH_LIBVIRTD
2472
2473 if WITH_STORAGE_DISK
2474 if WITH_LIBVIRTD
2475 libexec_PROGRAMS += libvirt_parthelper
2476
2477 libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
2478 libvirt_parthelper_LDFLAGS = \
2479                 $(AM_LDFLAGS) \
2480                 $(PIE_LDFLAGS) \
2481                 $(NULL)
2482 libvirt_parthelper_LDADD =              \
2483                 $(LIBPARTED_LIBS)       \
2484                 libvirt_util.la         \
2485                 ../gnulib/lib/libgnu.la
2486 if WITH_DTRACE_PROBES
2487 libvirt_parthelper_LDADD += libvirt_probes.lo
2488 endif WITH_DTRACE_PROBES
2489
2490 libvirt_parthelper_CFLAGS = \
2491                 $(LIBPARTED_CFLAGS) \
2492                 $(AM_CFLAGS) \
2493                 $(PIE_CFLAGS) \
2494                 $(NULL)
2495 endif WITH_LIBVIRTD
2496 endif WITH_STORAGE_DISK
2497 EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)
2498
2499
2500 if WITH_SANLOCK
2501 libexec_PROGRAMS += libvirt_sanlock_helper
2502
2503 libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
2504 libvirt_sanlock_helper_CFLAGS = \
2505                 -I$(top_srcdir)/src/conf \
2506                 $(AM_CFLAGS) \
2507                 $(PIE_CFLAGS) \
2508                 $(NULL)
2509 libvirt_sanlock_helper_LDFLAGS = \
2510                 $(AM_LDFLAGS) \
2511                 $(PIE_LDFLAGS) \
2512                 $(NULL)
2513 libvirt_sanlock_helper_LDADD = libvirt.la
2514 endif WITH_SANLOCK
2515
2516 if WITH_LXC
2517 if WITH_LIBVIRTD
2518 libexec_PROGRAMS += libvirt_lxc
2519
2520 libvirt_lxc_SOURCES =                                           \
2521                 $(LXC_CONTROLLER_SOURCES)                       \
2522                 $(NODE_INFO_SOURCES)                            \
2523                 $(DATATYPES_SOURCES)
2524 libvirt_lxc_LDFLAGS = \
2525                 $(AM_LDFLAGS) \
2526                 $(PIE_LDFLAGS) \
2527                 $(NULL)
2528 libvirt_lxc_LDADD =                     \
2529                 $(FUSE_LIBS) \
2530                 libvirt-net-rpc-server.la \
2531                 libvirt-net-rpc.la \
2532                 libvirt_security_manager.la \
2533                 libvirt_conf.la \
2534                 libvirt_util.la \
2535                 ../gnulib/lib/libgnu.la
2536 if WITH_DTRACE_PROBES
2537 libvirt_lxc_LDADD += libvirt_probes.lo
2538 endif WITH_DTRACE_PROBES
2539 libvirt_lxc_LDADD += $(SECDRIVER_LIBS)
2540 libvirt_lxc_CFLAGS =                            \
2541                 -I$(top_srcdir)/src/conf        \
2542                 $(AM_CFLAGS)                    \
2543                 $(PIE_CFLAGS)                   \
2544                 $(LIBNL_CFLAGS)                 \
2545                 $(FUSE_CFLAGS)                  \
2546                 $(DBUS_CFLAGS)                  \
2547                 $(NULL)
2548 if WITH_BLKID
2549 libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
2550 libvirt_lxc_LDADD += $(BLKID_LIBS)
2551 endif WITH_BLKID
2552 libvirt_lxc_CFLAGS += $(SECDRIVER_CFLAGS)
2553 endif WITH_LIBVIRTD
2554 endif WITH_LXC
2555 EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)
2556
2557 if WITH_SECDRIVER_APPARMOR
2558 if WITH_LIBVIRTD
2559 libexec_PROGRAMS += virt-aa-helper
2560
2561 virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)
2562
2563 virt_aa_helper_LDFLAGS = \
2564                 $(AM_LDFLAGS) \
2565                 $(PIE_LDFLAGS) \
2566                 $(NULL)
2567 virt_aa_helper_LDADD =                                          \
2568                 libvirt_conf.la                                 \
2569                 libvirt_util.la                                 \
2570                 ../gnulib/lib/libgnu.la
2571 if WITH_DTRACE_PROBES
2572 virt_aa_helper_LDADD += libvirt_probes.lo
2573 endif WITH_DTRACE_PROBES
2574 virt_aa_helper_CFLAGS =                                         \
2575                 -I$(top_srcdir)/src/conf                        \
2576                 -I$(top_srcdir)/src/security                    \
2577                 $(AM_CFLAGS) \
2578                 $(PIE_CFLAGS) \
2579                 $(NULL)
2580 endif WITH_LIBVIRTD
2581 endif WITH_SECDRIVER_APPARMOR
2582 EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)
2583
2584 install-data-local: install-init install-systemd
2585 if WITH_LIBVIRTD
2586         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
2587         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
2588         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
2589 endif WITH_LIBVIRTD
2590         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
2591         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
2592         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
2593         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
2594 if WITH_SANLOCK
2595         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
2596 endif WITH_SANLOCK
2597 if WITH_QEMU
2598         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
2599         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu/channel/target"
2600         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
2601         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
2602         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
2603 endif WITH_QEMU
2604 if WITH_LXC
2605         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
2606         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
2607 endif WITH_LXC
2608 if WITH_LIBXL
2609         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
2610         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
2611         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
2612 endif WITH_LIBXL
2613 if WITH_UML
2614         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
2615         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
2616 endif WITH_UML
2617 if WITH_XEN
2618         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/xen"
2619 endif WITH_XEN
2620 if WITH_NETWORK
2621         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
2622         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
2623         $(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
2624         $(MKDIR_P) "$(DESTDIR)$(confdir)/qemu/networks/autostart"
2625         $(INSTALL_DATA) $(srcdir)/network/default.xml \
2626           $(DESTDIR)$(confdir)/qemu/networks/default.xml
2627         test -z "$(UUID)" || \
2628           { sed -e "s,</name>,</name>\n  <uuid>$(UUID)</uuid>," \
2629               $(DESTDIR)$(confdir)/qemu/networks/default.xml > \
2630               $(DESTDIR)$(confdir)/qemu/networks/default.xml.t && \
2631             cp $(DESTDIR)$(confdir)/qemu/networks/default.xml.t \
2632               $(DESTDIR)$(confdir)/qemu/networks/default.xml && \
2633             rm $(DESTDIR)$(confdir)/qemu/networks/default.xml.t; }
2634         test -e $(DESTDIR)$(confdir)/qemu/networks/autostart/default.xml || \
2635            ln -s ../default.xml \
2636             $(DESTDIR)$(confdir)/qemu/networks/autostart/default.xml
2637 endif WITH_NETWORK
2638
2639 uninstall-local:: uninstall-init uninstall-systemd
2640 if WITH_LIBVIRTD
2641         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
2642         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
2643         rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
2644 endif WITH_LIBVIRTD
2645         rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
2646         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
2647         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
2648         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
2649 if WITH_SANLOCK
2650         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
2651 endif WITH_SANLOCK
2652 if WITH_QEMU
2653         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu" ||:
2654         rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/qemu" ||:
2655         rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu" ||:
2656         rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/qemu" ||:
2657 endif WITH_QEMU
2658 if WITH_LXC
2659         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
2660         rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
2661 endif WITH_LXC
2662 if WITH_LIBXL
2663         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
2664         rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
2665         rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
2666 endif WITH_LIBXL
2667 if WITH_UML
2668         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
2669         rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
2670 endif WITH_UML
2671 if WITH_XEN
2672         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
2673 endif WITH_XEN
2674 if WITH_NETWORK
2675         rm -f $(DESTDIR)$(confdir)/qemu/networks/autostart/default.xml
2676         rm -f $(DESTDIR)$(confdir)/qemu/networks/default.xml
2677         rmdir "$(DESTDIR)$(confdir)/qemu/networks/autostart" || :
2678         rmdir "$(DESTDIR)$(confdir)/qemu/networks" || :
2679         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/network" ||:
2680         rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/network" ||:
2681 endif WITH_NETWORK
2682         rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
2683
2684 CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
2685 DISTCLEANFILES += $(GENERATED_SYM_FILES)
2686 MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)