Makefile.am 98.2 KB
Newer Older
D
Daniel Veillard 已提交
1 2
## Process this file with automake to produce Makefile.in

3
## Copyright (C) 2005-2016 Red Hat, Inc.
E
Eric Blake 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16 17
##
## This library is free software; you can redistribute it and/or
## modify it under the terms of the GNU Lesser General Public
## License as published by the Free Software Foundation; either
## version 2.1 of the License, or (at your option) any later version.
##
## This library is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## Lesser General Public License for more details.
##
## You should have received a copy of the GNU Lesser General Public
## License along with this library.  If not, see
## <http://www.gnu.org/licenses/>.
18

19 20
# old automake does not provide abs_{src,build}dir variables
abs_builddir = $(shell pwd)
21
abs_topbuilddir = $(shell cd .. && pwd)
22
abs_srcdir = $(shell cd $(srcdir) && pwd)
M
Michal Privoznik 已提交
23
abs_topsrcdir = $(shell cd $(top_srcdir) && pwd)
24

25 26
# No libraries with the exception of LIBXML should be listed
# here. List them against the individual XXX_la_CFLAGS targets
27
# that actually use them. Also keep GETTEXT_CPPFLAGS at the end.
28 29
INCLUDES =	-I../gnulib/lib					\
		-I$(top_srcdir)/gnulib/lib			\
30
		-I$(top_srcdir)					\
31
		-I../include					\
32
		-I$(top_srcdir)/include				\
33
		-I$(srcdir)/util				\
A
Andrea Bolognani 已提交
34
		-I./util					\
35
		-DIN_LIBVIRT					\
36
		-Dabs_topbuilddir="\"$(abs_topbuilddir)\""	\
37
		-Dabs_topsrcdir="\"$(abs_topsrcdir)\""		\
38
		$(GETTEXT_CPPFLAGS)
E
Eric Blake 已提交
39

40
AM_CFLAGS =	$(LIBXML_CFLAGS)				\
41
		$(WARN_CFLAGS)					\
E
Eric Blake 已提交
42 43 44
		$(LOCK_CHECKING_CFLAGS)				\
		$(WIN32_EXTRA_CFLAGS)				\
		$(COVERAGE_CFLAGS)
45
AM_LDFLAGS =	$(DRIVER_MODULE_LDFLAGS)			\
G
Guido Günther 已提交
46 47
		$(COVERAGE_LDFLAGS)				\
		$(RELRO_LDFLAGS)				\
48
		$(NO_INDIRECT_LDFLAGS)				\
G
Guido Günther 已提交
49
		$(NULL)
50

L
Lai Jiangshan 已提交
51
EXTRA_DIST = $(conf_DATA) util/keymaps.csv
52

53
BUILT_SOURCES =
54 55 56
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
57
nodist_conf_DATA =
58

E
Eric Blake 已提交
59 60
THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)

J
Jim Fehlig 已提交
61
SECDRIVER_CFLAGS =
62 63
SECDRIVER_LIBS =
if WITH_SECDRIVER_SELINUX
J
Jim Fehlig 已提交
64
SECDRIVER_CFLAGS += $(SELINUX_CFLAGS)
65
SECDRIVER_LIBS += $(SELINUX_LIBS)
66
endif WITH_SECDRIVER_SELINUX
67
if WITH_SECDRIVER_APPARMOR
J
Jim Fehlig 已提交
68
SECDRIVER_CFLAGS += $(APPARMOR_CFLAGS)
69
SECDRIVER_LIBS += $(APPARMOR_LIBS)
70
endif WITH_SECDRIVER_APPARMOR
71

72 73
if WITH_NETWORK
UUID=$(shell uuidgen 2>/dev/null)
74
endif WITH_NETWORK
75

76
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la libvirt-lxc.la
77

78
moddir = $(libdir)/libvirt/connection-driver
79 80
mod_LTLIBRARIES =

A
Amy Griffis 已提交
81
confdir = $(sysconfdir)/libvirt
82
conf_DATA = libvirt.conf libvirt-admin.conf
83

84 85 86 87 88 89
augeasdir = $(datadir)/augeas/lenses
augeas_DATA =

augeastestdir = $(datadir)/augeas/lenses/tests
augeastest_DATA =

90 91
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
92
UTIL_SOURCES =							\
93
		util/viralloc.c util/viralloc.h			\
94
		util/virarch.h util/virarch.c			\
95
		util/viratomic.h util/viratomic.c		\
96
		util/viraudit.c util/viraudit.h			\
97
		util/virauth.c util/virauth.h			\
98
		util/virauthconfig.c util/virauthconfig.h	\
99
		util/virbitmap.c util/virbitmap.h		\
100
		util/virbuffer.c util/virbuffer.h		\
101
		util/virperf.c util/virperf.h			\
102
		util/vircgroup.c util/vircgroup.h util/vircgrouppriv.h	\
103
		util/virclosecallbacks.c util/virclosecallbacks.h		\
104
		util/vircommand.c util/vircommand.h util/vircommandpriv.h \
105
		util/virconf.c util/virconf.h			\
106
		util/vircrypto.c util/vircrypto.h		\
L
Laine Stump 已提交
107
		util/virdbus.c util/virdbus.h util/virdbuspriv.h	\
108
		util/virdnsmasq.c util/virdnsmasq.h		\
109
		util/virebtables.c util/virebtables.h		\
E
Eric Blake 已提交
110
		util/virendian.h				\
111
		util/virerror.c util/virerror.h			\
112
		util/virevent.c util/virevent.h			\
113
		util/vireventpoll.c util/vireventpoll.h		\
E
Eric Blake 已提交
114
		util/virfile.c util/virfile.h			\
115 116
		util/virfirewall.c util/virfirewall.h		\
		util/virfirewallpriv.h				\
117
		util/virfirmware.c util/virfirmware.h		\
118
		util/virgettext.c util/virgettext.h		\
119
		util/virgic.c util/virgic.h			\
120 121
		util/virhash.c util/virhash.h			\
		util/virhashcode.c util/virhashcode.h		\
122
		util/virhook.c util/virhook.h			\
123
		util/virhostcpu.c util/virhostcpu.h util/virhostcpupriv.h \
124
		util/virhostdev.c util/virhostdev.h		\
125
		util/virhostmem.c util/virhostmem.h		\
126
		util/viridentity.c util/viridentity.h		\
127
		util/virinitctl.c util/virinitctl.h		\
128
		util/viriptables.c util/viriptables.h		\
129
		util/viriscsi.c util/viriscsi.h			\
130
		util/virjson.c util/virjson.h			\
L
Lai Jiangshan 已提交
131
		util/virkeycode.c util/virkeycode.h		\
132
		util/virkeyfile.c util/virkeyfile.h		\
133
		util/virkeymaps.h				\
134
		util/virlease.c util/virlease.h			\
135
		util/virlockspace.c util/virlockspace.h		\
136
		util/virlog.c util/virlog.h			\
137
		util/virmacaddr.h util/virmacaddr.c		\
138
		util/virnetdev.h util/virnetdev.c		\
139
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
140
		util/virnetdevbridge.h util/virnetdevbridge.c	\
141
		util/virnetdevip.h util/virnetdevip.c		\
142
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h	\
143
		util/virnetdevmidonet.h util/virnetdevmidonet.c \
A
Ansis Atteka 已提交
144
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
145
		util/virnetdevtap.h util/virnetdevtap.c		\
146 147
		util/virnetdevveth.h util/virnetdevveth.c	\
		util/virnetdevvlan.h util/virnetdevvlan.c	\
148
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
149
		util/virnetlink.c util/virnetlink.h		\
150
		util/virnodesuspend.c util/virnodesuspend.h	\
151
		util/virkmod.c util/virkmod.h                   \
152
		util/virnuma.c util/virnuma.h			\
153 154 155
		util/virobject.c util/virobject.h		\
		util/virpci.c util/virpci.h			\
		util/virpidfile.c util/virpidfile.h		\
156
		util/virpolkit.c util/virpolkit.h               \
D
Daniel P. Berrange 已提交
157
		util/virportallocator.c util/virportallocator.h \
158
		util/virprobe.h					\
159
		util/virprocess.c util/virprocess.h		\
160
		util/virqemu.c util/virqemu.h			\
161
		util/virrandom.h util/virrandom.c		\
162
		util/virrotatingfile.h util/virrotatingfile.c   \
163
		util/virscsi.c util/virscsi.h			\
164
		util/virseclabel.c util/virseclabel.h		\
165
		util/virsecret.c util/virsecret.h		\
166 167
		util/virsexpr.c util/virsexpr.h			\
		util/virsocketaddr.h util/virsocketaddr.c	\
168
		util/virstats.c util/virstats.h	\
169
		util/virstorageencryption.c util/virstorageencryption.h \
170 171 172
		util/virstoragefile.c util/virstoragefile.h	\
		util/virstring.h util/virstring.c		\
		util/virsysinfo.c util/virsysinfo.h		\
173
		util/virsystemd.c util/virsystemd.h		\
174
		util/virthread.c util/virthread.h		\
P
Pavel Hrdina 已提交
175
		util/virthreadjob.c util/virthreadjob.h		\
176 177
		util/virthreadpool.c util/virthreadpool.h	\
		util/virtime.h util/virtime.c			\
178
		util/virtpm.h util/virtpm.c			\
179
		util/virtypedparam.c util/virtypedparam.h	\
180
		util/virusb.c util/virusb.h			\
181 182
		util/viruri.h util/viruri.c			\
		util/virutil.c util/virutil.h			\
183
		util/viruuid.c util/viruuid.h			\
184
		util/virxdrdefs.h                               \
185
		util/virxml.c util/virxml.h			\
186
		$(NULL)
L
Lai Jiangshan 已提交
187

188
EXTRA_DIST += $(srcdir)/util/keymaps.csv $(srcdir)/util/virkeycode-mapgen.py
L
Lai Jiangshan 已提交
189

E
Eric Blake 已提交
190
BUILT_SOURCES += util/virkeymaps.h
191
MAINTAINERCLEANFILES += util/virkeymaps.h
192

E
Eric Blake 已提交
193
util/virkeymaps.h: $(srcdir)/util/keymaps.csv	\
L
Lai Jiangshan 已提交
194
		$(srcdir)/util/virkeycode-mapgen.py
195
	$(MKDIR_P) util/
196
	$(AM_V_GEN)$(PYTHON) $(srcdir)/util/virkeycode-mapgen.py \
197
	  <$(srcdir)/util/keymaps.csv >util/virkeymaps.h
L
Lai Jiangshan 已提交
198

199
# Internal generic driver infrastructure
200
NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c
O
Osier Yang 已提交
201 202 203
DATATYPES_SOURCES = datatypes.h datatypes.c
DRIVER_SOURCES =							\
		driver.c driver.h					\
204 205 206 207 208 209 210 211 212
		driver-hypervisor.h					\
		driver-interface.h					\
		driver-network.h					\
		driver-nodedev.h					\
		driver-nwfilter.h					\
		driver-secret.h						\
		driver-state.h						\
		driver-storage.h					\
		driver-stream.h						\
O
Osier Yang 已提交
213 214 215 216 217
		internal.h						\
		$(DATATYPES_SOURCES)					\
		fdstream.c fdstream.h					\
		$(NODE_INFO_SOURCES)					\
		libvirt.c libvirt_internal.h				\
218
		libvirt-domain.c 					\
219
		libvirt-domain-snapshot.c 				\
220
		libvirt-host.c 						\
221
		libvirt-interface.c	 				\
222
		libvirt-network.c	 				\
223
		libvirt-nodedev.c	 				\
224
		libvirt-nwfilter.c	 				\
225
		libvirt-secret.c	 				\
226
		libvirt-storage.c	 				\
227
		libvirt-stream.c	 				\
O
Osier Yang 已提交
228 229 230
		locking/lock_manager.c locking/lock_manager.h		\
		locking/lock_driver.h					\
		locking/lock_driver_nop.h locking/lock_driver_nop.c	\
231 232 233
		locking/domain_lock.h locking/domain_lock.c		\
		logging/log_manager.c logging/log_manager.h		\
		$(NULL)
234

235 236 237
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

238 239
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
240

241
LOCK_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
242 243
		locking/lock_protocol.h \
		locking/lock_protocol.c \
244 245
		$(NULL)

246 247 248
LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
EXTRA_DIST += $(LOCK_PROTOCOL) \
	$(LOCK_PROTOCOL_GENERATED)
249 250 251
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

252
LOCK_DAEMON_GENERATED = \
253
		locking/lock_daemon_dispatch_stubs.h
254 255 256
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
257
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
258 259
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

260 261
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
262
		locking/lock_driver_lockd.h \
263 264
		$(NULL)

265 266 267 268 269
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
270 271
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
272 273
		$(NULL)

E
Eric Blake 已提交
274
locking/lock_daemon_dispatch_stubs.h: $(LOCK_PROTOCOL) \
275
		$(srcdir)/rpc/gendispatch.pl Makefile.am
276 277
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	    virLockSpaceProtocol VIR_LOCK_SPACE_PROTOCOL \
E
Eric Blake 已提交
278
	    $(LOCK_PROTOCOL) > $(srcdir)/locking/lock_daemon_dispatch_stubs.h
279 280


281 282 283 284 285
LOG_PROTOCOL_GENERATED = \
		logging/log_protocol.h \
		logging/log_protocol.c \
		$(NULL)

286 287
DRIVER_SOURCES += $(LOG_PROTOCOL_GENERATED)

288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
LOG_PROTOCOL = $(srcdir)/logging/log_protocol.x
EXTRA_DIST += $(LOG_PROTOCOL) \
	$(LOG_PROTOCOL_GENERATED)
BUILT_SOURCES += $(LOG_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOG_PROTOCOL_GENERATED)

LOG_DAEMON_GENERATED = \
		logging/log_daemon_dispatch_stubs.h
		$(NULL)

BUILT_SOURCES += $(LOG_DAEMON_GENERATED)
EXTRA_DIST += $(LOG_DAEMON_GENERATED)
MAINTAINERCLEANFILES += $(LOG_DAEMON_GENERATED)

LOG_DAEMON_SOURCES = \
		logging/log_daemon.h \
		logging/log_daemon.c \
		logging/log_daemon_config.h \
		logging/log_daemon_config.c \
		logging/log_daemon_dispatch.c \
		logging/log_daemon_dispatch.h \
309 310
		logging/log_handler.c \
		logging/log_handler.h \
311 312 313 314 315 316 317 318 319
		$(NULL)

logging/log_daemon_dispatch_stubs.h: $(LOG_PROTOCOL) \
		$(srcdir)/rpc/gendispatch.pl Makefile.am
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	    virLogManagerProtocol VIR_LOG_MANAGER_PROTOCOL \
	    $(LOG_PROTOCOL) > $(srcdir)/logging/log_daemon_dispatch_stubs.h


320 321
NETDEV_CONF_SOURCES =						\
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
322 323
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
324

325
# XML configuration format handling sources
326 327
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
328
		conf/capabilities.c conf/capabilities.h		\
329
		conf/domain_addr.c conf/domain_addr.h		\
M
Michal Privoznik 已提交
330
		conf/domain_capabilities.c conf/domain_capabilities.h	\
331
		conf/domain_conf.c conf/domain_conf.h		\
332
		conf/domain_audit.c conf/domain_audit.h		\
333
		conf/domain_nwfilter.c conf/domain_nwfilter.h	\
334
		conf/snapshot_conf.c conf/snapshot_conf.h	\
335 336
		conf/numa_conf.c conf/numa_conf.h	\
		conf/virdomainobjlist.c conf/virdomainobjlist.h
337

338 339 340 341
OBJECT_EVENT_SOURCES =						\
		conf/object_event.c conf/object_event.h \
		conf/object_event_private.h

342 343
DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
344

345 346 347
NETWORK_EVENT_SOURCES =						\
		conf/network_event.c conf/network_event.h

348 349 350
STORAGE_EVENT_SOURCES =						\
                conf/storage_event.c conf/storage_event.h

351 352 353
NODE_DEVICE_EVENT_SOURCES =					\
                conf/node_device_event.c conf/node_device_event.h

354
# Network driver generic impl APIs
355
NETWORK_CONF_SOURCES =						\
356 357
		conf/network_conf.c conf/network_conf.h \
		conf/networkcommon_conf.c conf/networkcommon_conf.h
358

359 360
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
361
		conf/nwfilter_params.c conf/nwfilter_params.h	\
362 363
		conf/nwfilter_ipaddrmap.c			\
		conf/nwfilter_ipaddrmap.h			\
364
		conf/nwfilter_conf.h
365

366
NWFILTER_CONF_SOURCES =						\
367 368 369
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

370
# Storage driver generic impl APIs
371 372
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
373

374
# Interface driver generic impl APIs
375 376
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
377

378
# Secret driver generic impl APIs
379
SECRET_CONF_SOURCES =                                          \
380 381
		conf/secret_conf.h conf/secret_conf.c          \
		conf/virsecretobj.h conf/virsecretobj.c
382 383 384 385 386

# Network driver generic impl APIs
NODE_DEVICE_CONF_SOURCES =                                     \
		conf/node_device_conf.c conf/node_device_conf.h

387 388
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h
389

390 391
# Safe character device handling helper APIs
CHRDEV_CONF_SOURCES =						\
392
		conf/virchrdev.c conf/virchrdev.h
393

394 395 396 397
# Device Helper APIs
DEVICE_CONF_SOURCES =                                           \
		conf/device_conf.c conf/device_conf.h

398
CONF_SOURCES =							\
399
		$(NETDEV_CONF_SOURCES)				\
400
		$(DOMAIN_CONF_SOURCES)				\
401
		$(OBJECT_EVENT_SOURCES)				\
402
		$(DOMAIN_EVENT_SOURCES)				\
403
		$(NETWORK_EVENT_SOURCES)			\
404
		$(STORAGE_EVENT_SOURCES)			\
405
		$(NODE_DEVICE_EVENT_SOURCES)			\
406
		$(NETWORK_CONF_SOURCES)				\
407
		$(NWFILTER_CONF_SOURCES)			\
408 409 410
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(INTERFACE_CONF_SOURCES)			\
411
		$(SECRET_CONF_SOURCES)				\
412
		$(CPU_CONF_SOURCES)				\
413
		$(CHRDEV_CONF_SOURCES)				\
414
		$(DEVICE_CONF_SOURCES)
415

416
# The remote RPC driver, covering domains, storage, networks, etc
417
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
418 419 420 421 422 423 424 425 426 427
		remote/remote_protocol.c		\
		remote/remote_protocol.h		\
		remote/remote_client_bodies.h		\
		remote/lxc_protocol.c			\
		remote/lxc_protocol.h			\
		remote/lxc_client_bodies.h		\
		remote/qemu_protocol.c			\
		remote/qemu_protocol.h			\
		remote/qemu_client_bodies.h		\
		$(NULL)
E
Eric Blake 已提交
428 429

REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
430
LXC_PROTOCOL = $(srcdir)/remote/lxc_protocol.x
E
Eric Blake 已提交
431
QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
432
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL) $(LXC_PROTOCOL)
433

E
Eric Blake 已提交
434
remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
435
		$(REMOTE_PROTOCOL) Makefile.am
436
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
437 438
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/remote/remote_client_bodies.h
439

E
Eric Blake 已提交
440
remote/lxc_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
441
		$(LXC_PROTOCOL) Makefile.am
442
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
443 444
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/remote/lxc_client_bodies.h
445

E
Eric Blake 已提交
446
remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
447
		$(QEMU_PROTOCOL) Makefile.am
448
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
449 450
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/remote/qemu_client_bodies.h
451 452 453 454

REMOTE_DRIVER_SOURCES =						\
		remote/remote_driver.c remote/remote_driver.h	\
		$(REMOTE_DRIVER_GENERATED)
455

456
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
457
		$(REMOTE_DRIVER_GENERATED)
458

M
Martin Kletzander 已提交
459 460 461 462
ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x

ADMIN_PROTOCOL_GENERATED = \
		admin/admin_protocol.c	\
463 464 465 466 467 468 469 470
		admin/admin_protocol.h	\
		admin/admin_client.h

admin/admin_client.h: $(srcdir)/rpc/gendispatch.pl \
		$(ADMIN_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
	  admin ADMIN $(ADMIN_PROTOCOL) \
	  > $(srcdir)/admin/admin_client.h
M
Martin Kletzander 已提交
471 472 473 474 475

EXTRA_DIST += $(ADMIN_PROTOCOL) $(ADMIN_PROTOCOL_GENERATED)
BUILT_SOURCES += $(ADMIN_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(ADMIN_PROTOCOL_GENERATED)

476 477 478 479 480 481 482 483 484 485
# Ensure that we don't change the struct or member names or member ordering
# in remote_protocol.x  The embedded perl below needs a few comments, and
# presumes you know what pdwtags output looks like:
# * use -0777 -n to slurp the entire file into $_.
# * the "split" splits on the /* DD */ comments, so that $p iterates
#     through the struct definitions.
# * process only "struct remote_..." entries
# * remove comments and preceding TAB throughout
# * remove empty lines throughout
# * remove white space at end of buffer
486 487 488 489

# With pdwtags 1.8, --verbose output includes separators like these:
# /* 93 */
# /* <0> (null):0 */
490 491
# with the second line omitted for intrinsic types.
# Whereas with pdwtags 1.3, they look like this:
492
# /* <2d2> /usr/include/libio.h:180 */
493 494
# The alternation of the following regexps matches both cases.
r1 = /\* \d+ \*/
495
r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/
M
Martin Kletzander 已提交
496 497 498
libs_prefix = remote_|qemu_|lxc_|admin_
other_prefix = keepalive|vir(Net|LockSpace|LXCMonitor)
struct_prefix = ($(libs_prefix)|$(other_prefix))
499

500
# Depending on configure options, libtool creates one or both of
E
Eric Blake 已提交
501 502
# remote/{,.libs/}libvirt_driver_remote_la-remote_protocol.o.  We want
# the newest of the two, in case configure options changed and a stale
503
# file is left around from an earlier build.
504
PDWTAGS = \
505
	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then		\
E
Eric Blake 已提交
506 507
	  o=`ls -t $(<:.lo=.$(OBJEXT))					\
	     $(subst /,/.libs/,$(<:.lo=.$(OBJEXT)))			\
508 509 510
	    2>/dev/null | sed -n 1p`;					\
	  test -f "$$o" || { echo ".o for $< not found" >&2; exit 1; };	\
	  pdwtags --verbose $$o > $(@F)-t1 2> $(@F)-t2;			\
E
Eric Blake 已提交
511
	  if test ! -s $(@F)-t1 && test -s $(@F)-t2; then		\
512 513 514
	    rm -rf $(@F)-t?;						\
	    echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\
	  else								\
515
	    $(PERL) -0777 -n						\
516
		-e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {'	\
517
		-e '  if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||'	\
518
		-e '      $$p =~ /^enum \{/) {'				\
519 520 521
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;'			\
		-e '    $$p =~ s!\s+\n!\n!sg;'				\
		-e '    $$p =~ s!\s+$$!!;'				\
522
		-e '    $$p =~ s!\t!        !g;'			\
523 524 525 526
		-e '    print "$$p\n";'					\
		-e '    $$n++;'						\
		-e '  }'						\
		-e '}'							\
527 528 529
		-e 'BEGIN {'						\
		-e '  print "/* -*- c -*- */\n";'			\
		-e '}'							\
530
		-e 'END {'						\
531
		-e '  if ($$n < 1) {'					\
532 533 534 535 536 537
		-e '    warn "WARNING: your pdwtags program is too old\n";' \
		-e '    warn "WARNING: skipping the $@ test\n";'	\
		-e '    warn "WARNING: install dwarves-1.3 or newer\n";' \
		-e '    exit 8;'					\
		-e '  }'						\
		-e '}'							\
538 539
		< $(@F)-t1 > $(@F)-t3;					\
	    case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
540
	    diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st;	\
541
	  fi;								\
542
	else								\
543 544
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;	\
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
545
	fi
546

547
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
548 549
# rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
if WITH_LINUX
550 551 552
check-symfile: libvirt.syms libvirt.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
	  .libs/libvirt.so
553 554 555
check-admin-symfile: libvirt_admin.syms libvirt-admin.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt_admin.syms \
	  .libs/libvirt-admin.so
556
else ! WITH_LINUX
557
check-symfile:
558
check-admin-symfile:
559
endif ! WITH_LINUX
560
check-symsorting:
561
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
562
		$(srcdir) $(SYM_FILES)
563 564 565
check-admin-symsorting:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
		$(srcdir) $(ADMIN_SYM_FILES)
J
Jiri Denemark 已提交
566
EXTRA_DIST += check-symfile.pl check-symsorting.pl
567

E
Eric Blake 已提交
568
# Keep this list synced with RPC_PROBE_FILES
569 570
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
571
	$(srcdir)/lxc_protocol-structs \
572
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
573
	$(srcdir)/virnetprotocol-structs \
E
Eric Blake 已提交
574 575 576
	$(srcdir)/virkeepaliveprotocol-structs \
	$(srcdir)/lxc_monitor_protocol-structs \
	$(srcdir)/lock_protocol-structs \
M
Martin Kletzander 已提交
577
	$(srcdir)/admin_protocol-structs \
E
Eric Blake 已提交
578 579
	$(NULL)

580
if WITH_REMOTE
581 582
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

583 584
# The .o file that pdwtags parses is created as a side effect of running
# libtool; but from make's perspective we depend on the .lo file.
585 586 587
$(srcdir)/remote_protocol-struct \
	$(srcdir)/qemu_protocol-struct \
	$(srcdir)/lxc_protocol-struct: \
E
Eric Blake 已提交
588
		$(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
589
	$(PDWTAGS)
590
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
E
Eric Blake 已提交
591
		$(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
592
	$(PDWTAGS)
E
Eric Blake 已提交
593
$(srcdir)/lxc_monitor_protocol-struct: \
E
Eric Blake 已提交
594
		$(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
E
Eric Blake 已提交
595 596
	$(PDWTAGS)
$(srcdir)/lock_protocol-struct: \
E
Eric Blake 已提交
597
		$(srcdir)/%-struct: locking/lockd_la-%.lo
E
Eric Blake 已提交
598
	$(PDWTAGS)
M
Martin Kletzander 已提交
599 600 601
$(srcdir)/admin_protocol-struct: \
		$(srcdir)/%-struct: admin/libvirt_admin_la-%.lo
	$(PDWTAGS)
E
Eric Blake 已提交
602

603
else !WITH_REMOTE
604 605 606
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
607
endif !WITH_REMOTE
J
Jiri Denemark 已提交
608
EXTRA_DIST += $(PROTOCOL_STRUCTS)
609 610 611 612 613

check-drivername:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
		$(srcdir)/driver.h \
		$(srcdir)/libvirt_public.syms \
614
		$(srcdir)/libvirt_admin_public.syms \
615 616 617 618 619
		$(srcdir)/libvirt_qemu.syms \
		$(srcdir)/libvirt_lxc.syms

EXTRA_DIST += check-drivername.pl

620
DRIVER_SOURCE_FILES = \
621 622 623 624 625 626 627 628 629 630 631
	$(ESX_DRIVER_SOURCES) \
	$(HYPERV_DRIVER_SORUCES) \
	$(INTERFACE_DRIVER_SOURCES) \
	$(LIBXL_DRIVER_SOURCES) \
	$(LXC_DRIVER_SOURCES) \
	$(NETWORK_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_HAL_SOURCES) \
	$(NODE_DEVICE_DRIVER_UDEV_SOURCES) \
	$(NWFILTER_DRIVER_SOURCES) \
	$(OPENVZ_DRIVER_SOURCES) \
632
	$(VZ_DRIVER_SOURCES) \
633 634 635 636 637 638 639 640
	$(PHYP_DRIVER_SOURCES) \
	$(QEMU_DRIVER_SOURCES) \
	$(REMOTE_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
	$(TEST_DRIVER_SOURCES) \
	$(UML_DRIVER_SOURCES) \
	$(VBOX_DRIVER_SOURCES) \
641
	vbox/vbox_tmpl.c \
642 643 644
	$(VMWARE_DRIVER_SOURCES) \
	$(XEN_DRIVER_SOURCES) \
	$(XENAPI_DRIVER_SOURCES) \
645 646
	$(NULL)

647
STATEFUL_DRIVER_SOURCE_FILES = \
R
Roman Bogorodskiy 已提交
648
	$(BHYVE_DRIVER_SOURCES) \
649 650 651 652 653 654 655 656 657 658 659 660 661
	$(INTERFACE_DRIVER_SOURCES) \
	$(LIBXL_DRIVER_SOURCES) \
	$(LXC_DRIVER_SOURCES) \
	$(NETWORK_DRIVER_SOURCES) \
	$(NODE_DEVICE_DRIVER_SOURCES) \
	$(NWFILTER_DRIVER_SOURCES) \
	$(QEMU_DRIVER_SOURCES) \
	$(SECRET_DRIVER_SOURCES) \
	$(STORAGE_DRIVER_SOURCES) \
	$(UML_DRIVER_SOURCES) \
	$(XEN_DRIVER_SOURCES) \
	$(NULL)

662 663 664

check-driverimpls:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-driverimpls.pl \
665
		$(filter /%,$(DRIVER_SOURCE_FILES)) \
E
Eric Blake 已提交
666 667 668
		$(filter $(srcdir)/%,$(DRIVER_SOURCE_FILES)) \
		$(addprefix $(srcdir)/,$(filter-out $(srcdir)/%, \
			$(filter-out /%,$(DRIVER_SOURCE_FILES))))
669

670 671
check-aclrules:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclrules.pl \
E
Eric Blake 已提交
672
		$(REMOTE_PROTOCOL) \
673
		$(addprefix $(srcdir)/,$(filter-out /%,$(STATEFUL_DRIVER_SOURCE_FILES)))
674

675 676 677 678 679
check-aclperms:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclperms.pl \
		$(srcdir)/access/viraccessperm.h \
		$(srcdir)/access/viraccessperm.c

G
Guido Günther 已提交
680
EXTRA_DIST += check-driverimpls.pl check-aclrules.pl check-aclperms.pl
681

682
check-local: check-protocol check-symfile check-symsorting \
683
	check-drivername check-driverimpls check-aclrules \
684
	check-aclperms check-admin-symfile check-admin-symsorting
685
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
686

687 688
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
689
		test/test_driver.c test/test_driver.h
690 691 692

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
693 694 695 696 697 698
		xen/block_stats.c xen/block_stats.h		\
		xen/xen_hypervisor.c xen/xen_hypervisor.h	\
		xen/xen_driver.c xen/xen_driver.h		\
		xen/xend_internal.c xen/xend_internal.h		\
		xen/xm_internal.c xen/xm_internal.h		\
		xen/xs_internal.c xen/xs_internal.h
699
if WITH_XEN_INOTIFY
700
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
701
endif WITH_XEN_INOTIFY
702

703
LXC_MONITOR_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
704 705
	lxc/lxc_monitor_protocol.h \
	lxc/lxc_monitor_protocol.c \
706 707 708
	$(NULL)

LXC_MONITOR_GENERATED = \
E
Eric Blake 已提交
709
	lxc/lxc_monitor_dispatch.h \
710 711 712
	$(NULL)

LXC_CONTROLLER_GENERATED = \
E
Eric Blake 已提交
713
	lxc/lxc_controller_dispatch.h \
714 715 716
	$(NULL)

LXC_GENERATED = \
717
	$(LXC_MONITOR_PROTOCOL_GENERATED) \
718 719 720 721
	$(LXC_MONITOR_GENERATED) \
	$(LXC_CONTROLLER_GENERATED) \
	$(NULL)

722
LXC_MONITOR_PROTOCOL = $(srcdir)/lxc/lxc_monitor_protocol.x
723

E
Eric Blake 已提交
724
lxc/lxc_monitor_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
725
		$(LXC_MONITOR_PROTOCOL) Makefile.am
726
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=client \
E
Eric Blake 已提交
727 728
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_monitor_dispatch.h
729

E
Eric Blake 已提交
730
lxc/lxc_controller_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
731
		$(REMOTE_PROTOCOL) Makefile.am
732
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
E
Eric Blake 已提交
733 734
	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
	  $(srcdir)/lxc/lxc_controller_dispatch.h
735 736

EXTRA_DIST += \
737
	$(LXC_MONITOR_PROTOCOL) \
738 739 740 741 742
	$(LXC_GENERATED) \
	$(NULL)

BUILT_SOURCES += $(LXC_GENERATED)

743 744
CLEANFILES += $(LXC_GENERATED)

745
LXC_DRIVER_SOURCES =						\
746
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
747
		$(LXC_MONITOR_GENERATED)			\
748 749
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
750
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
751
		lxc/lxc_domain.c lxc/lxc_domain.h		\
752
		lxc/lxc_hostdev.c lxc/lxc_hostdev.h		\
753
		lxc/lxc_monitor.c lxc/lxc_monitor.h		\
754
		lxc/lxc_process.c lxc/lxc_process.h		\
G
Gao feng 已提交
755
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
756
		lxc/lxc_native.c lxc/lxc_native.h		\
757
		lxc/lxc_driver.c lxc/lxc_driver.h
758

759
LXC_CONTROLLER_SOURCES =					\
760
		$(LXC_MONITOR_PROTOCOL_GENERATED)		\
761
		$(LXC_CONTROLLER_GENERATED)			\
762 763
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
764
		lxc/lxc_cgroup.c lxc/lxc_cgroup.h		\
765
		lxc/lxc_domain.c lxc/lxc_domain.h		\
G
Gao feng 已提交
766
		lxc/lxc_fuse.c lxc/lxc_fuse.h			\
767
		lxc/lxc_controller.c
768

J
Jamie Strandboge 已提交
769
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
E
Eric Blake 已提交
770
		$(DATATYPES_SOURCES)				\
J
Jamie Strandboge 已提交
771 772
		security/virt-aa-helper.c

773 774 775
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

776
OPENVZ_DRIVER_SOURCES =						\
777
		openvz/openvz_conf.c openvz/openvz_conf.h	\
778 779
		openvz/openvz_driver.c openvz/openvz_driver.h   \
		openvz/openvz_util.c openvz/openvz_util.h
780

E
Eric Blake 已提交
781
VMWARE_DRIVER_SOURCES =						\
782
		vmware/vmware_driver.c vmware/vmware_driver.h	\
783 784
		vmware/vmware_conf.c vmware/vmware_conf.h

785
VBOX_DRIVER_SOURCES =						\
E
Eric Blake 已提交
786 787
	vbox/vbox_glue.c vbox/vbox_glue.h			\
	vbox/vbox_driver.c vbox/vbox_driver.h			\
T
Taowei 已提交
788
	vbox/vbox_snapshot_conf.c vbox/vbox_snapshot_conf.h     \
E
Eric Blake 已提交
789 790 791 792
	vbox/vbox_V2_2.c vbox/vbox_CAPI_v2_2.h			\
	vbox/vbox_V3_0.c vbox/vbox_CAPI_v3_0.h			\
	vbox/vbox_V3_1.c vbox/vbox_CAPI_v3_1.h			\
	vbox/vbox_V3_2.c vbox/vbox_CAPI_v3_2.h			\
793
	vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h			\
794
	vbox/vbox_V4_1.c vbox/vbox_CAPI_v4_1.h			\
R
Ryota Ozaki 已提交
795
	vbox/vbox_V4_2.c vbox/vbox_CAPI_v4_2.h			\
T
Taowei 已提交
796
	vbox/vbox_V4_2_20.c vbox/vbox_CAPI_v4_2_20.h		\
797
	vbox/vbox_V4_3.c vbox/vbox_CAPI_v4_3.h			\
T
Taowei 已提交
798
	vbox/vbox_V4_3_4.c vbox/vbox_CAPI_v4_3_4.h              \
M
Martin Pietsch 已提交
799
	vbox/vbox_V5_0.c vbox/vbox_CAPI_v5_0.h			\
T
Taowei 已提交
800 801
	vbox/vbox_common.c vbox/vbox_common.h                   \
	vbox/vbox_uniformed_api.h                               \
802 803 804
	vbox/vbox_get_driver.h					\
	vbox/vbox_network.c					\
	vbox/vbox_storage.c
T
Taowei Luo 已提交
805

E
Eric Blake 已提交
806
VBOX_DRIVER_EXTRA_DIST =					\
807 808 809
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
810

O
Osier Yang 已提交
811 812
QEMU_DRIVER_SOURCES =							\
		qemu/qemu_agent.c qemu/qemu_agent.h			\
813
		qemu/qemu_alias.c qemu/qemu_alias.h			\
814
		qemu/qemu_blockjob.c qemu/qemu_blockjob.h		\
O
Osier Yang 已提交
815 816
		qemu/qemu_capabilities.c qemu/qemu_capabilities.h	\
		qemu/qemu_command.c qemu/qemu_command.h			\
817
		qemu/qemu_parse_command.c qemu/qemu_parse_command.h	\
O
Osier Yang 已提交
818
		qemu/qemu_domain.c qemu/qemu_domain.h			\
819
		qemu/qemu_domain_address.c qemu/qemu_domain_address.h	\
O
Osier Yang 已提交
820 821 822
		qemu/qemu_cgroup.c qemu/qemu_cgroup.h			\
		qemu/qemu_hostdev.c qemu/qemu_hostdev.h			\
		qemu/qemu_hotplug.c qemu/qemu_hotplug.h			\
823
		qemu/qemu_hotplugpriv.h					\
O
Osier Yang 已提交
824 825
		qemu/qemu_conf.c qemu/qemu_conf.h			\
		qemu/qemu_process.c qemu/qemu_process.h			\
826
		qemu/qemu_processpriv.h					\
O
Osier Yang 已提交
827 828 829 830 831 832
		qemu/qemu_migration.c qemu/qemu_migration.h		\
		qemu/qemu_monitor.c qemu/qemu_monitor.h			\
		qemu/qemu_monitor_text.c				\
		qemu/qemu_monitor_text.h				\
		qemu/qemu_monitor_json.c				\
		qemu/qemu_monitor_json.h				\
833
		qemu/qemu_driver.c qemu/qemu_driver.h	\
834 835
		qemu/qemu_interface.c qemu/qemu_interface.h		\
		qemu/qemu_capspriv.h
R
Richard W.M. Jones 已提交
836

O
Osier Yang 已提交
837
XENAPI_DRIVER_SOURCES =						\
838
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
O
Osier Yang 已提交
839
		xenapi/xenapi_driver_private.h			\
840 841
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

842 843 844 845 846
LIBXL_DRIVER_SOURCES =							\
		libxl/libxl_conf.c libxl/libxl_conf.h			\
		libxl/libxl_capabilities.c libxl/libxl_capabilities.h	\
		libxl/libxl_domain.c libxl/libxl_domain.h       	\
		libxl/libxl_driver.c libxl/libxl_driver.h       	\
J
Jim Fehlig 已提交
847
		libxl/libxl_migration.c libxl/libxl_migration.h
J
Jim Fehlig 已提交
848

849
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
850 851
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
852

O
Osier Yang 已提交
853 854 855 856 857 858
ESX_DRIVER_SOURCES =							\
		esx/esx_private.h					\
		esx/esx_driver.c esx/esx_driver.h			\
		esx/esx_interface_driver.c esx/esx_interface_driver.h	\
		esx/esx_network_driver.c esx/esx_network_driver.h	\
		esx/esx_storage_driver.c esx/esx_storage_driver.h	\
859
		esx/esx_storage_backend_vmfs.c esx/esx_storage_backend_vmfs.h	\
860
		esx/esx_storage_backend_iscsi.c esx/esx_storage_backend_iscsi.h	\
861
		esx/esx_stream.c esx/esx_stream.h			\
O
Osier Yang 已提交
862 863 864
		esx/esx_util.c esx/esx_util.h				\
		esx/esx_vi.c esx/esx_vi.h				\
		esx/esx_vi_methods.c esx/esx_vi_methods.h		\
865
		esx/esx_vi_types.c esx/esx_vi_types.h
866

867
ESX_DRIVER_GENERATED =							\
868 869
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
870
		esx/esx_vi_methods.generated.macro			\
871 872 873 874 875
		esx/esx_vi_types.generated.c				\
		esx/esx_vi_types.generated.h				\
		esx/esx_vi_types.generated.typedef			\
		esx/esx_vi_types.generated.typeenum			\
		esx/esx_vi_types.generated.typetostring			\
876 877 878
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
879

O
Osier Yang 已提交
880
ESX_DRIVER_EXTRA_DIST =							\
881 882 883 884 885
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

O
Osier Yang 已提交
886
HYPERV_DRIVER_SOURCES =									\
M
Matthias Bolte 已提交
887 888
		hyperv/hyperv_private.h							\
		hyperv/hyperv_driver.c hyperv/hyperv_driver.h				\
889
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905
		hyperv/hyperv_wmi.c hyperv/hyperv_wmi.h					\
		hyperv/hyperv_wmi_classes.c hyperv/hyperv_wmi_classes.h			\
		hyperv/openwsman.h

HYPERV_DRIVER_GENERATED =							\
		hyperv/hyperv_wmi.generated.c					\
		hyperv/hyperv_wmi.generated.h					\
		hyperv/hyperv_wmi_classes.generated.c				\
		hyperv/hyperv_wmi_classes.generated.h				\
		hyperv/hyperv_wmi_classes.generated.typedef

HYPERV_DRIVER_EXTRA_DIST =							\
		hyperv/hyperv_wmi_generator.input				\
		hyperv/hyperv_wmi_generator.py					\
		$(HYPERV_DRIVER_GENERATED)

906
VZ_DRIVER_SOURCES =				\
907 908 909 910 911 912
		vz/vz_driver.h			\
		vz/vz_driver.c			\
		vz/vz_utils.c			\
		vz/vz_utils.h			\
		vz/vz_sdk.h			\
		vz/vz_sdk.c
D
Dmitry Guryanov 已提交
913

R
Roman Bogorodskiy 已提交
914
BHYVE_DRIVER_SOURCES =						\
915 916
		bhyve/bhyve_capabilities.c			\
		bhyve/bhyve_capabilities.h			\
R
Roman Bogorodskiy 已提交
917 918
		bhyve/bhyve_command.c				\
		bhyve/bhyve_command.h				\
919 920
		bhyve/bhyve_parse_command.c			\
		bhyve/bhyve_parse_command.h			\
921 922 923 924
		bhyve/bhyve_device.c				\
		bhyve/bhyve_device.h				\
		bhyve/bhyve_domain.c				\
		bhyve/bhyve_domain.h				\
R
Roman Bogorodskiy 已提交
925 926
		bhyve/bhyve_driver.h				\
		bhyve/bhyve_driver.c				\
927 928
		bhyve/bhyve_monitor.c				\
		bhyve/bhyve_monitor.h				\
R
Roman Bogorodskiy 已提交
929 930 931 932 933
		bhyve/bhyve_process.c				\
		bhyve/bhyve_process.h				\
		bhyve/bhyve_utils.h				\
		$(NULL)

934
NETWORK_DRIVER_SOURCES =					\
935 936 937 938 939
		network/bridge_driver.h network/bridge_driver.c \
		network/bridge_driver_platform.h 		\
		network/bridge_driver_platform.c		\
		$(NULL)
EXTRA_DIST += network/bridge_driver_linux.c network/bridge_driver_nop.c
940

941 942 943 944
INTERFACE_DRIVER_SOURCES =

if WITH_INTERFACE
INTERFACE_DRIVER_SOURCES +=					\
945 946
		interface/interface_driver.h        \
		interface/interface_driver.c
947 948 949 950

if WITH_NETCF
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_netcf.c
951
endif WITH_NETCF
952
if WITH_UDEV
953 954
INTERFACE_DRIVER_SOURCES +=					\
		interface/interface_backend_udev.c
955 956
endif WITH_UDEV
endif WITH_INTERFACE
957

958 959 960
SECRET_UTIL_SOURCES =						\
		secret/secret_util.h secret/secret_util.c

961
SECRET_DRIVER_SOURCES =						\
962
		secret/secret_driver.h secret/secret_driver.c
963

964
# Storage backend specific impls
O
Osier Yang 已提交
965 966
STORAGE_DRIVER_SOURCES =						\
		storage/storage_driver.h storage/storage_driver.c	\
967
		storage/storage_backend.h storage/storage_backend.c
968 969

STORAGE_DRIVER_FS_SOURCES =					\
970
		storage/storage_backend_fs.h storage/storage_backend_fs.c
R
Richard W.M. Jones 已提交
971

972
STORAGE_DRIVER_LVM_SOURCES =					\
O
Osier Yang 已提交
973
		storage/storage_backend_logical.h		\
974
		storage/storage_backend_logical.c
975 976

STORAGE_DRIVER_ISCSI_SOURCES =					\
977
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
978

979
STORAGE_DRIVER_SCSI_SOURCES =					\
980
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
981

D
Dave Allan 已提交
982
STORAGE_DRIVER_MPATH_SOURCES =					\
983
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
984

985
STORAGE_DRIVER_DISK_SOURCES =					\
986
		storage/storage_backend_disk.h storage/storage_backend_disk.c
987

988 989 990
STORAGE_DRIVER_RBD_SOURCES =					\
		storage/storage_backend_rbd.h storage/storage_backend_rbd.c

991 992 993
STORAGE_DRIVER_SHEEPDOG_SOURCES =				\
		storage/storage_backend_sheepdog.h storage/storage_backend_sheepdog.c

994 995 996
STORAGE_DRIVER_GLUSTER_SOURCES =				\
		storage/storage_backend_gluster.h storage/storage_backend_gluster.c

R
Roman Bogorodskiy 已提交
997 998 999
STORAGE_DRIVER_ZFS_SOURCES =					\
                storage/storage_backend_zfs.h storage/storage_backend_zfs.c

1000
STORAGE_HELPER_DISK_SOURCES =					\
1001
		storage/parthelper.c
1002

1003 1004 1005
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

1006 1007 1008
NETWORK_LEASES_HELPER_SOURCES =                                 \
               network/leaseshelper.c

1009
# Network filters
O
Osier Yang 已提交
1010
NWFILTER_DRIVER_SOURCES =						\
1011
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
1012
		nwfilter/nwfilter_tech_driver.h				\
1013 1014
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
S
Stefan Berger 已提交
1015 1016
		nwfilter/nwfilter_dhcpsnoop.c				\
		nwfilter/nwfilter_dhcpsnoop.h				\
1017
		nwfilter/nwfilter_ebiptables_driver.c			\
1018 1019 1020
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
1021

1022

1023
# Security framework and drivers for various models
O
Osier Yang 已提交
1024 1025 1026 1027 1028
SECURITY_DRIVER_SOURCES =						\
		security/security_driver.h security/security_driver.c	\
		security/security_nop.h security/security_nop.c		\
		security/security_stack.h security/security_stack.c	\
		security/security_dac.h security/security_dac.c		\
1029
		security/security_manager.h security/security_manager.c
1030

1031
SECURITY_DRIVER_SELINUX_SOURCES =				\
1032
		security/security_selinux.h security/security_selinux.c
1033

J
Jamie Strandboge 已提交
1034 1035 1036
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

1037
ACCESS_DRIVER_GENERATED = \
E
Eric Blake 已提交
1038 1039 1040 1041 1042 1043 1044
		access/viraccessapicheck.h \
		access/viraccessapicheck.c \
		access/viraccessapicheckqemu.h \
		access/viraccessapicheckqemu.c \
		access/viraccessapichecklxc.h \
		access/viraccessapichecklxc.c \
		$(NULL)
1045

1046
ACCESS_DRIVER_SYM_FILES = \
1047 1048 1049
		libvirt_access.syms \
		libvirt_access_qemu.syms \
		libvirt_access_lxc.syms
1050

1051 1052 1053 1054 1055
ACCESS_DRIVER_API_FILES = \
		libvirt_access.xml \
		libvirt_access_qemu.xml \
		libvirt_access_lxc.xml

1056 1057 1058 1059 1060 1061 1062
ACCESS_DRIVER_SOURCES = \
		access/viraccessperm.h access/viraccessperm.c \
		access/viraccessmanager.h access/viraccessmanager.c \
		access/viraccessdriver.h \
		access/viraccessdrivernop.h access/viraccessdrivernop.c \
		access/viraccessdriverstack.h access/viraccessdriverstack.c

1063 1064 1065 1066
ACCESS_DRIVER_POLKIT_SOURCES = \
		access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c

ACCESS_DRIVER_POLKIT_POLICY = \
1067
		$(srcdir)/access/org.libvirt.api.policy
1068 1069


1070
NODE_DEVICE_DRIVER_SOURCES =					\
O
Osier Yang 已提交
1071 1072
		node_device/node_device_driver.c		\
		node_device/node_device_driver.h		\
1073 1074
		node_device/node_device_linux_sysfs.c           \
		node_device/node_device_linux_sysfs.h
1075 1076

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
1077
		node_device/node_device_hal.c			\
1078
		node_device/node_device_hal.h
1079

1080
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
1081 1082
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
1083

J
Jiri Denemark 已提交
1084 1085 1086
CPU_SOURCES =							\
		cpu/cpu.h cpu/cpu.c				\
		cpu/cpu_x86.h cpu/cpu_x86.c cpu/cpu_x86_data.h	\
T
Thang Pham 已提交
1087
		cpu/cpu_s390.h cpu/cpu_s390.c			\
C
Chuck Short 已提交
1088
		cpu/cpu_arm.h cpu/cpu_arm.c			\
1089 1090 1091
		cpu/cpu_ppc64.h cpu/cpu_ppc64.c			\
		cpu/cpu_ppc64_data.h				\
		cpu/cpu_map.h cpu/cpu_map.c
1092

1093 1094 1095
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

1096 1097
XENCONFIG_SOURCES =						\
		xenconfig/xenxs_private.h			\
1098
		xenconfig/xen_common.c xenconfig/xen_common.h   \
1099
		xenconfig/xen_sxpr.c xenconfig/xen_sxpr.h	\
1100
		xenconfig/xen_xm.c xenconfig/xen_xm.h
1101 1102 1103 1104
if WITH_LIBXL
XENCONFIG_SOURCES +=						\
		xenconfig/xen_xl.c xenconfig/xen_xl.h
endif WITH_LIBXL
1105

J
Jiri Denemark 已提交
1106 1107
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
1108
EXTRA_DIST +=	$(pkgdata_DATA)
1109

1110 1111 1112 1113 1114 1115
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

1116
noinst_LTLIBRARIES = libvirt_util.la
1117 1118
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
1119 1120
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
1121
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
1122
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
1123
		$(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS)	\
1124
		$(POLKIT_CFLAGS) $(GNUTLS_CFLAGS) \
1125
		-I$(srcdir)/conf
1126
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
1127
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
1128
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(MSCOM_LIBS) $(LIBXML_LIBS) \
1129
		$(SECDRIVER_LIBS) $(NUMACTL_LIBS) \
1130
		$(POLKIT_LIBS)
1131

1132 1133

noinst_LTLIBRARIES += libvirt_conf.la
1134
libvirt_la_BUILT_LIBADD += libvirt_conf.la
1135
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
1136 1137
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
1138
libvirt_conf_la_LIBADD = $(LIBXML_LIBS)
1139

J
Jiri Denemark 已提交
1140
noinst_LTLIBRARIES += libvirt_cpu.la
1141
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
1142
libvirt_cpu_la_CFLAGS = \
1143
		-I$(srcdir)/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
1144 1145
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

1146 1147 1148 1149 1150 1151
noinst_LTLIBRARIES += libvirt_secret.la
libvirt_la_BUILT_LIBADD += libvirt_secret.la
libvirt_secret_la_CFLAGS = $(AM_CFLAGS)
libvirt_secret_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_secret_la_SOURCES = $(SECRET_UTIL_SOURCES)

1152 1153 1154 1155
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
1156
		-I$(srcdir)/conf $(AM_CFLAGS)
1157
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
1158
endif WITH_VMX
1159

J
Jim Fehlig 已提交
1160 1161 1162
if WITH_XENCONFIG
noinst_LTLIBRARIES += libvirt_xenconfig.la
libvirt_la_BUILT_LIBADD += libvirt_xenconfig.la
1163
libvirt_xenconfig_la_LIBADD = $(LIBXL_LIBS)
J
Jim Fehlig 已提交
1164
libvirt_xenconfig_la_CFLAGS = \
J
Jim Fehlig 已提交
1165
		-I$(srcdir)/conf -I$(srcdir)/libxl $(AM_CFLAGS)
J
Jim Fehlig 已提交
1166 1167
libvirt_xenconfig_la_SOURCES = $(XENCONFIG_SOURCES)
endif WITH_XENCONFIG
1168

1169

1170
noinst_LTLIBRARIES += libvirt_driver.la
1171
libvirt_la_BUILT_LIBADD += libvirt_driver.la
1172
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
1173

1174
libvirt_driver_la_CFLAGS = \
1175
		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) $(XDR_CFLAGS) \
1176
		-I$(srcdir)/conf $(AM_CFLAGS)
1177
libvirt_driver_la_LIBADD = \
1178
		$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
1179

1180 1181
# All .syms files should be placed in exactly one of these three lists,
# depending on whether they are stored in git and/or used in the build.
1182
SYM_FILES = $(USED_SYM_FILES)
1183
USED_SYM_FILES = $(srcdir)/libvirt_private.syms
1184 1185 1186
GENERATED_SYM_FILES = \
	$(ACCESS_DRIVER_SYM_FILES) \
	libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
1187
	libvirt_admin.syms libvirt_admin.def \
1188
	$(NULL)
1189

1190
if WITH_TEST
1191
noinst_LTLIBRARIES += libvirt_driver_test.la
1192
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
1193
libvirt_driver_test_la_CFLAGS = \
1194
		-I$(srcdir)/conf $(AM_CFLAGS)
1195
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
1196
endif WITH_TEST
1197 1198

if WITH_REMOTE
1199
noinst_LTLIBRARIES += libvirt_driver_remote.la
1200
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
1201 1202
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
1203
		$(XDR_CFLAGS)					\
1204 1205
		-I$(srcdir)/conf				\
		-I$(srcdir)/rpc					\
1206 1207
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
1208 1209 1210 1211
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
                libvirt-net-rpc-client.la \
                libvirt-net-rpc-server.la \
                libvirt-net-rpc.la
1212
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
1213

E
Eric Blake 已提交
1214
BUILT_SOURCES += $(REMOTE_DRIVER_GENERATED)
C
Chris Lalancette 已提交
1215

1216 1217
endif WITH_REMOTE

1218
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
1219
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
1220
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1221

1222
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
1223
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
1224
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
1225

1226
if WITH_XEN
E
Eric Blake 已提交
1227 1228 1229
noinst_LTLIBRARIES += libvirt_driver_xen_impl.la
libvirt_driver_xen_la_SOURCES =
libvirt_driver_xen_la_LIBADD = libvirt_driver_xen_impl.la
1230 1231
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
E
Eric Blake 已提交
1232
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
1233
libvirt_driver_xen_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1234
else ! WITH_DRIVER_MODULES
1235
noinst_LTLIBRARIES += libvirt_driver_xen.la
1236 1237
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
1238
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1239

1240
libvirt_driver_xen_impl_la_CFLAGS =				\
1241
		$(XEN_CFLAGS)					\
1242 1243 1244
		-I$(srcdir)/access				\
		-I$(srcdir)/conf				\
		-I$(srcdir)/xenconfig				\
1245
		$(AM_CFLAGS)
E
Eric Blake 已提交
1246
libvirt_driver_xen_impl_la_LDFLAGS = $(AM_LDFLAGS)
P
Pavel Hrdina 已提交
1247
libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS) libvirt_xenconfig.la
E
Eric Blake 已提交
1248
libvirt_driver_xen_impl_la_SOURCES = $(XEN_DRIVER_SOURCES)
1249
endif WITH_XEN
1250

1251 1252
if WITH_PHYP
noinst_LTLIBRARIES += libvirt_driver_phyp.la
1253
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
1254 1255
libvirt_driver_phyp_la_LIBADD = $(SSH2_LIBS)
libvirt_driver_phyp_la_CFLAGS = $(SSH2_CFLAGS) \
1256
		-I$(srcdir)/conf $(AM_CFLAGS)
1257
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
1258
endif WITH_PHYP
1259

1260
if WITH_OPENVZ
1261
noinst_LTLIBRARIES += libvirt_driver_openvz.la
1262
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
1263
libvirt_driver_openvz_la_CFLAGS = \
1264
		-I$(srcdir)/conf $(AM_CFLAGS)
1265
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
1266
endif WITH_OPENVZ
1267

1268 1269 1270 1271
if WITH_VMWARE
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
libvirt_driver_vmware_la_CFLAGS = \
1272
		-I$(srcdir)/conf -I$(srcdir)/vmx $(AM_CFLAGS)
1273
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
1274
endif WITH_VMWARE
1275

1276
if WITH_VBOX
M
Michal Privoznik 已提交
1277
noinst_LTLIBRARIES += \
1278
		libvirt_driver_vbox_impl.la
1279 1280 1281
libvirt_driver_vbox_la_SOURCES =
libvirt_driver_vbox_la_LIBADD = libvirt_driver_vbox_impl.la
if WITH_DRIVER_MODULES
M
Michal Privoznik 已提交
1282
mod_LTLIBRARIES += \
1283
		libvirt_driver_vbox.la
1284
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
1285
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1286
else ! WITH_DRIVER_MODULES
1287
noinst_LTLIBRARIES += libvirt_driver_vbox.la
1288 1289 1290
# GPLv2-only license requries that it be linked into
# libvirtd and *not* libvirt.so
#libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
1291
endif ! WITH_DRIVER_MODULES
1292 1293

libvirt_driver_vbox_impl_la_CFLAGS =				\
1294 1295
		-I$(srcdir)/conf				\
		$(AM_CFLAGS)					\
M
Michal Privoznik 已提交
1296
		-DVBOX_DRIVER
1297
libvirt_driver_vbox_impl_la_LDFLAGS = $(AM_LDFLAGS)
1298 1299 1300
libvirt_driver_vbox_impl_la_LIBADD =  $(DLOPEN_LIBS)		\
		$(MSCOM_LIBS)					\
		$(LIBXML_LIBS)
1301
libvirt_driver_vbox_impl_la_SOURCES = $(VBOX_DRIVER_SOURCES)
1302
endif WITH_VBOX
1303

1304 1305
if WITH_XENAPI
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
1306
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
1307
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(CURL_CFLAGS) \
P
Pavel Hrdina 已提交
1308
		-I$(srcdir)/conf -I$(srcdir)/xenconfig $(AM_CFLAGS)
1309
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
1310
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(CURL_LIBS)
1311
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
1312
endif WITH_XENAPI
1313

J
Jim Fehlig 已提交
1314
if WITH_LIBXL
E
Eric Blake 已提交
1315 1316 1317
noinst_LTLIBRARIES += libvirt_driver_libxl_impl.la
libvirt_driver_libxl_la_SOURCES =
libvirt_driver_libxl_la_LIBADD = libvirt_driver_libxl_impl.la
J
Jim Fehlig 已提交
1318 1319
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
E
Eric Blake 已提交
1320
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
1321
libvirt_driver_libxl_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1322
else ! WITH_DRIVER_MODULES
J
Jim Fehlig 已提交
1323 1324 1325
noinst_LTLIBRARIES += libvirt_driver_libxl.la
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
1326
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1327

1328 1329
libvirt_driver_libxl_impl_la_CFLAGS = 		\
		$(LIBXL_CFLAGS)			\
1330 1331
		-I$(srcdir)/access	\
		-I$(srcdir)/conf	\
1332
		-I$(srcdir)/secret      \
1333
		-I$(srcdir)/xenconfig	\
1334
		$(AM_CFLAGS)
E
Eric Blake 已提交
1335
libvirt_driver_libxl_impl_la_LDFLAGS = $(AM_LDFLAGS)
1336 1337 1338
libvirt_driver_libxl_impl_la_LIBADD = $(LIBXL_LIBS) \
				      libvirt_xenconfig.la \
				      libvirt_secret.la
E
Eric Blake 已提交
1339
libvirt_driver_libxl_impl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
1340 1341 1342 1343 1344 1345

conf_DATA += libxl/libxl.conf
augeas_DATA += libxl/libvirtd_libxl.aug
augeastest_DATA += test_libvirtd_libxl.aug
CLEANFILES += test_libvirtd_libxl.aug

1346
endif WITH_LIBXL
1347 1348
EXTRA_DIST += libxl/libxl.conf libxl/libvirtd_libxl.aug \
		libxl/test_libvirtd_libxl.aug.in
J
Jim Fehlig 已提交
1349

1350
if WITH_QEMU
E
Eric Blake 已提交
1351 1352 1353
noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
libvirt_driver_qemu_la_SOURCES =
libvirt_driver_qemu_la_LIBADD = libvirt_driver_qemu_impl.la
1354 1355
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
E
Eric Blake 已提交
1356
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
1357
libvirt_driver_qemu_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1358
else ! WITH_DRIVER_MODULES
1359
noinst_LTLIBRARIES += libvirt_driver_qemu.la
1360
# Stateful, so linked to daemon instead
1361
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
1362
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1363

1364 1365 1366
libvirt_driver_qemu_impl_la_CFLAGS = \
		$(GNUTLS_CFLAGS) \
		$(LIBNL_CFLAGS) \
1367
		$(XDR_CFLAGS) \
1368 1369
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1370
		-I$(srcdir)/secret \
1371
		$(AM_CFLAGS)
E
Eric Blake 已提交
1372
libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
1373
libvirt_driver_qemu_impl_la_LIBADD = $(CAPNG_LIBS) \
1374
                                $(GNUTLS_LIBS) \
1375 1376
				$(LIBNL_LIBS) \
				$(LIBXML_LIBS) \
1377
				libvirt_secret.la \
1378
				$(NULL)
E
Eric Blake 已提交
1379
libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
1380

A
Amy Griffis 已提交
1381
conf_DATA += qemu/qemu.conf
1382

1383
augeas_DATA += qemu/libvirtd_qemu.aug
1384 1385
augeastest_DATA += test_libvirtd_qemu.aug
CLEANFILES += test_libvirtd_qemu.aug
1386

1387
endif WITH_QEMU
1388
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
1389
		qemu/test_libvirtd_qemu.aug.in qemu/THREADS.txt
1390

1391 1392

if WITH_LXC
E
Eric Blake 已提交
1393 1394 1395
noinst_LTLIBRARIES += libvirt_driver_lxc_impl.la
libvirt_driver_lxc_la_SOURCES =
libvirt_driver_lxc_la_LIBADD = libvirt_driver_lxc_impl.la
1396 1397
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
E
Eric Blake 已提交
1398 1399
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1400
else ! WITH_DRIVER_MODULES
1401
noinst_LTLIBRARIES += libvirt_driver_lxc.la
1402
# Stateful, so linked to daemon instead
1403
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
1404
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1405 1406

libvirt_driver_lxc_impl_la_CFLAGS = \
S
Serge Hallyn 已提交
1407
		$(LIBNL_CFLAGS) \
G
Gao feng 已提交
1408
		$(FUSE_CFLAGS) \
P
Pavel Fedin 已提交
1409
		$(XDR_CFLAGS) \
1410 1411
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1412
		$(AM_CFLAGS)
I
ik.nitk 已提交
1413 1414 1415 1416 1417 1418
libvirt_driver_lxc_impl_la_LIBADD = \
               $(CAPNG_LIBS) \
               $(LIBNL_LIBS) \
               $(LIBXML_LIBS) \
               $(FUSE_LIBS)

1419
if WITH_BLKID
E
Eric Blake 已提交
1420 1421
libvirt_driver_lxc_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_lxc_impl_la_LIBADD += $(BLKID_LIBS)
1422
endif WITH_BLKID
1423
libvirt_driver_lxc_impl_la_LIBADD += $(SECDRIVER_LIBS)
E
Eric Blake 已提交
1424
libvirt_driver_lxc_impl_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
1425 1426 1427

conf_DATA += lxc/lxc.conf

1428
augeas_DATA += lxc/libvirtd_lxc.aug
1429 1430
augeastest_DATA += test_libvirtd_lxc.aug
CLEANFILES += test_libvirtd_lxc.aug
1431

1432
endif WITH_LXC
1433
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug.in
1434

1435
if WITH_UML
E
Eric Blake 已提交
1436 1437 1438
noinst_LTLIBRARIES += libvirt_driver_uml_impl.la
libvirt_driver_uml_la_SOURCES =
libvirt_driver_uml_la_LIBADD = libvirt_driver_uml_impl.la
1439 1440
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
E
Eric Blake 已提交
1441
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
1442
libvirt_driver_uml_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1443
else ! WITH_DRIVER_MODULES
1444 1445
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
1446
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
1447
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1448

1449
libvirt_driver_uml_impl_la_CFLAGS = \
1450 1451
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1452
		$(AM_CFLAGS)
E
Eric Blake 已提交
1453
libvirt_driver_uml_impl_la_LDFLAGS = $(AM_LDFLAGS)
1454
# libvirt_driver_uml_impl_la_LIBADD =
E
Eric Blake 已提交
1455
libvirt_driver_uml_impl_la_SOURCES = $(UML_DRIVER_SOURCES)
1456
endif WITH_UML
1457

D
Daniel Veillard 已提交
1458

1459
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
1460

1461 1462
ESX_GENERATED_STAMP = .esx_vi_generator.stamp

E
Eric Blake 已提交
1463 1464
EXTRA_DIST += $(ESX_GENERATED_STAMP)

1465 1466 1467
$(ESX_DRIVER_GENERATED): $(ESX_GENERATED_STAMP)

$(ESX_GENERATED_STAMP): $(srcdir)/esx/esx_vi_generator.input \
1468
                         $(srcdir)/esx/esx_vi_generator.py
1469 1470 1471 1472 1473
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py \
	  && touch $@

MAINTAINERCLEANFILES += $(ESX_DRIVER_GENERATED) $(ESX_GENERATED_STAMP)

D
Daniel Veillard 已提交
1474

1475 1476
if WITH_ESX
noinst_LTLIBRARIES += libvirt_driver_esx.la
1477
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
1478
libvirt_driver_esx_la_CFLAGS = $(CURL_CFLAGS) \
1479
		-I$(srcdir)/conf -I$(srcdir)/vmx $(AM_CFLAGS)
1480
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
1481
libvirt_driver_esx_la_LIBADD = $(CURL_LIBS)
1482
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
1483
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
1484
endif WITH_ESX
1485

M
Matthias Bolte 已提交
1486

1487 1488
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

1489 1490
HYPERV_GENERATED_STAMP = .hyperv_wmi_generator.stamp

E
Eric Blake 已提交
1491 1492
EXTRA_DIST += $(HYPERV_GENERATED_STAMP)

1493 1494 1495
$(HYPERV_DRIVER_GENERATED): $(HYPERV_GENERATED_STAMP)

$(HYPERV_GENERATED_STAMP): $(srcdir)/hyperv/hyperv_wmi_generator.input \
1496
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
1497 1498
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) \
	  $(srcdir)/hyperv/hyperv_wmi_generator.py \
1499 1500 1501
	  && touch $@

MAINTAINERCLEANFILES += $(HYPERV_DRIVER_GENERATED) $(HYPERV_GENERATED_STAMP)
1502

M
Matthias Bolte 已提交
1503 1504 1505 1506
if WITH_HYPERV
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
1507
		-I$(srcdir)/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
1508 1509 1510
libvirt_driver_hyperv_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_hyperv_la_LIBADD = $(OPENWSMAN_LIBS)
libvirt_driver_hyperv_la_SOURCES = $(HYPERV_DRIVER_SOURCES)
1511
endif WITH_HYPERV
M
Matthias Bolte 已提交
1512

1513
if WITH_VZ
1514 1515 1516 1517 1518 1519 1520 1521
noinst_LTLIBRARIES += libvirt_driver_vz_impl.la
libvirt_driver_vz_la_SOURCES =
libvirt_driver_vz_la_LIBADD = libvirt_driver_vz_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vz.la
libvirt_driver_vz_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_vz_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else ! WITH_DRIVER_MODULES
1522
noinst_LTLIBRARIES += libvirt_driver_vz.la
1523 1524
endif ! WITH_DRIVER_MODULES
libvirt_driver_vz_impl_la_CFLAGS = \
1525
		-I$(srcdir)/conf $(AM_CFLAGS) \
1526
		$(PARALLELS_SDK_CFLAGS) $(LIBNL_CFLAGS)
1527 1528
libvirt_driver_vz_impl_la_SOURCES = $(VZ_DRIVER_SOURCES)
libvirt_driver_vz_impl_la_LIBADD =  $(PARALLELS_SDK_LIBS) $(LIBNL_LIBS)
1529
endif WITH_VZ
D
Dmitry Guryanov 已提交
1530

R
Roman Bogorodskiy 已提交
1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543
if WITH_BHYVE
noinst_LTLIBRARIES += libvirt_driver_bhyve_impl.la
libvirt_driver_bhyve_la_SOURCES =
libvirt_driver_bhyve_la_LIBADD = libvirt_driver_bhyve_impl.la
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_bhyve.la
libvirt_driver_bhyve_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_bhyve_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
else ! WITH_DRIVER_MODULES
noinst_LTLIBRARIES += libvirt_driver_bhyve.la
endif ! WITH_DRIVER_MODULES

libvirt_driver_bhyve_impl_la_CFLAGS = \
1544 1545
	-I$(srcdir)/access \
	-I$(srcdir)/conf \
R
Roman Bogorodskiy 已提交
1546 1547 1548 1549 1550
	$(AM_CFLAGS)
libvirt_driver_bhyve_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_bhyve_impl_la_SOURCES = $(BHYVE_DRIVER_SOURCES)
endif WITH_BHYVE

1551
if WITH_NETWORK
E
Eric Blake 已提交
1552 1553 1554
noinst_LTLIBRARIES += libvirt_driver_network_impl.la
libvirt_driver_network_la_SOURCES =
libvirt_driver_network_la_LIBADD = libvirt_driver_network_impl.la
1555 1556
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
1557 1558 1559 1560
libvirt_driver_network_la_LIBADD += ../gnulib/lib/libgnu.la \
	$(LIBNL_LIBS) \
	$(DBUS_LIBS) \
	$(NULL)
E
Eric Blake 已提交
1561
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1562
else ! WITH_DRIVER_MODULES
1563
noinst_LTLIBRARIES += libvirt_driver_network.la
1564
# Stateful, so linked to daemon instead
1565
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
1566
endif ! WITH_DRIVER_MODULES
E
Eric Blake 已提交
1567 1568

libvirt_driver_network_impl_la_CFLAGS = \
1569 1570
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
1571 1572
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1573
		$(AM_CFLAGS)
E
Eric Blake 已提交
1574
libvirt_driver_network_impl_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
1575
libvirt_driver_network_impl_la_LIBADD  = $(DBUS_LIBS)
1576
endif WITH_NETWORK
1577 1578 1579
EXTRA_DIST += network/default.xml


1580
if WITH_INTERFACE
1581 1582
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
1583
else ! WITH_DRIVER_MODULES
1584
noinst_LTLIBRARIES += libvirt_driver_interface.la
1585 1586
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
1587
endif ! WITH_DRIVER_MODULES
1588
libvirt_driver_interface_la_CFLAGS = \
1589 1590
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1591
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1592
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
1593 1594 1595 1596
libvirt_driver_interface_la_LIBADD =
if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
1597
endif WITH_NETCF
1598
if WITH_UDEV
1599 1600
libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS)
1601
endif WITH_UDEV
1602
if WITH_DRIVER_MODULES
1603
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
1604
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
1605
endif WITH_DRIVER_MODULES
1606
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
1607
endif WITH_INTERFACE
D
Daniel Veillard 已提交
1608

D
Daniel P. Berrange 已提交
1609
if WITH_SECRETS
1610 1611
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
1612
else ! WITH_DRIVER_MODULES
1613
noinst_LTLIBRARIES += libvirt_driver_secret.la
1614
# Stateful, so linked to daemon instead
1615
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
1616
endif ! WITH_DRIVER_MODULES
1617
libvirt_driver_secret_la_CFLAGS = \
1618 1619
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1620
		$(AM_CFLAGS)
1621
if WITH_DRIVER_MODULES
1622
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
1623
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1624
endif WITH_DRIVER_MODULES
1625
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
1626
endif WITH_SECRETS
1627

1628
# Needed to keep automake quiet about conditionals
1629 1630
libvirt_driver_storage_impl_la_SOURCES =
libvirt_driver_storage_impl_la_CFLAGS = \
1631 1632
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1633
		-I$(srcdir)/secret \
1634
		$(AM_CFLAGS)
1635 1636
libvirt_driver_storage_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_storage_impl_la_LIBADD =
1637
libvirt_driver_storage_impl_la_LIBADD += $(SECDRIVER_LIBS) $(LIBXML_LIBS)
1638
if WITH_BLKID
1639 1640
libvirt_driver_storage_impl_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(BLKID_LIBS)
1641
endif WITH_BLKID
1642
if WITH_STORAGE
1643 1644 1645
noinst_LTLIBRARIES += libvirt_driver_storage_impl.la
libvirt_driver_storage_la_SOURCES =
libvirt_driver_storage_la_LIBADD = libvirt_driver_storage_impl.la
1646 1647
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
1648
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
1649
libvirt_driver_storage_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1650
else ! WITH_DRIVER_MODULES
1651
noinst_LTLIBRARIES += libvirt_driver_storage.la
1652
# Stateful, so linked to daemon instead
1653
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
1654
endif ! WITH_DRIVER_MODULES
1655 1656
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
1657
endif WITH_STORAGE
1658

1659
if WITH_STORAGE_LVM
1660
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
1661
endif WITH_STORAGE_LVM
1662

1663
if WITH_STORAGE_ISCSI
1664
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
1665
endif WITH_STORAGE_ISCSI
1666

1667
if WITH_STORAGE_SCSI
1668
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
1669
endif WITH_STORAGE_SCSI
1670

D
Dave Allan 已提交
1671
if WITH_STORAGE_MPATH
1672 1673 1674
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_MPATH_SOURCES)
libvirt_driver_storage_impl_la_CFLAGS += $(DEVMAPPER_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(DEVMAPPER_LIBS)
1675
endif WITH_STORAGE_MPATH
D
Dave Allan 已提交
1676

1677
if WITH_STORAGE_DISK
1678
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1679
endif WITH_STORAGE_DISK
1680

1681
if WITH_STORAGE_RBD
1682 1683
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_RBD_SOURCES)
libvirt_driver_storage_impl_la_LIBADD += $(LIBRBD_LIBS)
1684
endif WITH_STORAGE_RBD
1685

1686
if WITH_STORAGE_SHEEPDOG
1687
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_SHEEPDOG_SOURCES)
1688
endif WITH_STORAGE_SHEEPDOG
1689

1690 1691 1692 1693 1694 1695
if WITH_STORAGE_GLUSTER
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_GLUSTER_SOURCES)
libvirt_driver_storage_impl_la_CFLAGS += $(GLUSTERFS_CFLAGS)
libvirt_driver_storage_impl_la_LIBADD += $(GLUSTERFS_LIBS)
endif WITH_STORAGE_GLUSTER

R
Roman Bogorodskiy 已提交
1696 1697 1698 1699
if WITH_STORAGE_ZFS
libvirt_driver_storage_impl_la_SOURCES += $(STORAGE_DRIVER_ZFS_SOURCES)
endif WITH_STORAGE_ZFS

1700 1701 1702 1703
if WITH_NODE_DEVICES
# Needed to keep automake quiet about conditionals
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nodedev.la
1704
else ! WITH_DRIVER_MODULES
1705 1706
noinst_LTLIBRARIES += libvirt_driver_nodedev.la
# Stateful, so linked to daemon instead
1707
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1708
endif ! WITH_DRIVER_MODULES
1709 1710
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1711
libvirt_driver_nodedev_la_CFLAGS = \
1712 1713
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1714
		$(AM_CFLAGS) $(LIBNL_CFLAGS)
1715
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1716
libvirt_driver_nodedev_la_LIBADD =
1717

D
Doug Goldstein 已提交
1718
if WITH_LIBVIRTD
1719
if WITH_HAL
1720 1721
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1722
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1723
endif WITH_HAL
1724
if WITH_UDEV
1725
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1726
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1727
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1728 1729
endif WITH_UDEV
endif WITH_LIBVIRTD
1730 1731

if WITH_DRIVER_MODULES
1732
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1733
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
1734 1735
endif WITH_DRIVER_MODULES
endif WITH_NODE_DEVICES
1736 1737


1738
if WITH_NWFILTER
1739 1740 1741
noinst_LTLIBRARIES += libvirt_driver_nwfilter_impl.la
libvirt_driver_nwfilter_la_SOURCES =
libvirt_driver_nwfilter_la_LIBADD = libvirt_driver_nwfilter_impl.la
1742 1743
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
1744
libvirt_driver_nwfilter_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
1745
else ! WITH_DRIVER_MODULES
1746
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
1747 1748
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
1749
endif ! WITH_DRIVER_MODULES
1750
libvirt_driver_nwfilter_impl_la_CFLAGS = \
1751 1752 1753
		$(LIBPCAP_CFLAGS) \
		$(LIBNL_CFLAGS) \
		$(DBUS_CFLAGS) \
1754 1755
		-I$(srcdir)/access \
		-I$(srcdir)/conf \
1756
		$(AM_CFLAGS)
1757 1758 1759 1760 1761
libvirt_driver_nwfilter_impl_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_nwfilter_impl_la_LIBADD = \
		$(LIBPCAP_LIBS) \
		$(LIBNL_LIBS) \
		$(DBUS_LIBS)
1762
if WITH_DRIVER_MODULES
1763 1764
libvirt_driver_nwfilter_impl_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_nwfilter_impl_la_LDFLAGS += -module -avoid-version
1765
endif WITH_DRIVER_MODULES
1766
libvirt_driver_nwfilter_impl_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
1767
endif WITH_NWFILTER
1768 1769


1770 1771 1772 1773
libvirt_security_manager_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_security_manager.la
libvirt_la_BUILT_LIBADD += libvirt_security_manager.la
libvirt_security_manager_la_CFLAGS = \
1774
		-I$(srcdir)/conf $(AM_CFLAGS)
1775
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
1776
libvirt_security_manager_la_LIBADD = $(SECDRIVER_LIBS)
1777
if WITH_SECDRIVER_SELINUX
1778 1779
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
1780
endif WITH_SECDRIVER_SELINUX
J
Jamie Strandboge 已提交
1781
if WITH_SECDRIVER_APPARMOR
1782 1783
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_security_manager_la_CFLAGS += $(APPARMOR_CFLAGS)
1784
endif WITH_SECDRIVER_APPARMOR
1785

1786 1787
libvirt_driver_access_la_SOURCES = \
	$(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
1788 1789 1790
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
1791
		-I$(srcdir)/conf $(AM_CFLAGS)
1792 1793 1794
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD =

1795 1796
EXTRA_DIST += access/genpolkit.pl

1797 1798 1799 1800
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
    $(srcdir)/access/genpolkit.pl Makefile.am
	$(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@

1801 1802 1803 1804
if WITH_POLKIT1
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)

polkitactiondir = $(datadir)/polkit-1/actions
1805
if WITH_LIBVIRTD
1806
polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
1807
endif WITH_LIBVIRTD
1808 1809 1810

CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
1811
else ! WITH_POLKIT1
1812
EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
1813
endif ! WITH_POLKIT1
1814

1815

1816 1817
BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831

libvirt_access.syms: $(srcdir)/rpc/gendispatch.pl \
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
	  remote REMOTE $(REMOTE_PROTOCOL) > $@
libvirt_access_qemu.syms: $(srcdir)/rpc/gendispatch.pl \
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
	  qemu QEMU $(QEMU_PROTOCOL) > $@
libvirt_access_lxc.syms: $(srcdir)/rpc/gendispatch.pl \
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclsym \
	  lxc LXC $(LXC_PROTOCOL) > $@

1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844
libvirt_access.xml: $(srcdir)/rpc/gendispatch.pl \
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
	  remote REMOTE $(REMOTE_PROTOCOL) > $@
libvirt_access_qemu.xml: $(srcdir)/rpc/gendispatch.pl \
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
	  qemu QEMU $(QEMU_PROTOCOL) > $@
libvirt_access_lxc.xml: $(srcdir)/rpc/gendispatch.pl \
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
	  lxc LXC $(LXC_PROTOCOL) > $@

E
Eric Blake 已提交
1845
access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
1846 1847
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1848 1849 1850
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheck.h
access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
1851 1852
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1853 1854
	  remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
	  > $(srcdir)/access/viraccessapicheck.c
1855

E
Eric Blake 已提交
1856
access/viraccessapicheckqemu.h: $(srcdir)/rpc/gendispatch.pl \
1857 1858
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1859 1860 1861
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheckqemu.h
access/viraccessapicheckqemu.c: $(srcdir)/rpc/gendispatch.pl \
1862 1863
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1864 1865
	  qemu QEMU $(QEMU_PROTOCOL) access/viraccessapicheckqemu.h \
	  > $(srcdir)/access/viraccessapicheckqemu.c
1866

E
Eric Blake 已提交
1867
access/viraccessapichecklxc.h: $(srcdir)/rpc/gendispatch.pl \
1868 1869
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1870 1871 1872
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/access/viraccessapichecklxc.h
access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
1873 1874
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1875 1876
	  lxc LXC $(LXC_PROTOCOL) access/viraccessapichecklxc.h \
	  > $(srcdir)/access/viraccessapichecklxc.c
1877

1878 1879 1880 1881 1882 1883 1884
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
1885
		$(UML_DRIVER_SOURCES)				\
1886
		$(OPENVZ_DRIVER_SOURCES)			\
1887
		$(PHYP_DRIVER_SOURCES)				\
1888
		$(VBOX_DRIVER_SOURCES)				\
1889
		$(XENAPI_DRIVER_SOURCES)			\
O
Osier Yang 已提交
1890
		$(LIBXL_DRIVER_SOURCES)				\
1891
		$(ESX_DRIVER_SOURCES)				\
1892
		$(ESX_DRIVER_EXTRA_DIST)			\
M
Matthias Bolte 已提交
1893
		$(HYPERV_DRIVER_SOURCES)			\
1894
		$(HYPERV_DRIVER_EXTRA_DIST)			\
1895
		$(VZ_DRIVER_SOURCES)				\
R
Roman Bogorodskiy 已提交
1896
		$(BHYVE_DRIVER_SOURCES)				\
1897
		$(NETWORK_DRIVER_SOURCES)			\
1898
		$(INTERFACE_DRIVER_SOURCES)			\
1899 1900 1901 1902
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
1903
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
1904
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
1905
		$(STORAGE_DRIVER_DISK_SOURCES)			\
1906
		$(STORAGE_DRIVER_RBD_SOURCES)			\
1907
		$(STORAGE_DRIVER_SHEEPDOG_SOURCES)		\
1908
		$(STORAGE_DRIVER_GLUSTER_SOURCES)		\
R
Roman Bogorodskiy 已提交
1909
		$(STORAGE_DRIVER_ZFS_SOURCES)			\
1910 1911
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
1912
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
1913
		$(NWFILTER_DRIVER_SOURCES)			\
1914
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
1915
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
1916
		$(SECRET_DRIVER_SOURCES)			\
1917
		$(SECRET_UTIL_SOURCES)				\
1918
		$(VBOX_DRIVER_EXTRA_DIST)			\
1919
		$(VMWARE_DRIVER_SOURCES)			\
J
Jim Fehlig 已提交
1920
		$(XENCONFIG_SOURCES)				\
1921
		$(ACCESS_DRIVER_POLKIT_POLICY)
1922

1923 1924
check-local: check-augeas

1925 1926 1927 1928 1929
.PHONY: check-augeas \
	check-augeas-qemu \
	check-augeas-lxc \
	check-augeas-sanlock \
	check-augeas-lockd \
1930
	check-augeas-libxl \
1931
	$(NULL)
1932

1933
check-augeas: check-augeas-qemu check-augeas-lxc check-augeas-sanlock \
1934 1935
	check-augeas-lockd check-augeas-virtlockd check-augeas-libxl \
	check-augeas-virtlogd
1936

1937
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1938
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1939

1940
if WITH_QEMU
1941 1942
test_libvirtd_qemu.aug: qemu/test_libvirtd_qemu.aug.in \
		$(srcdir)/qemu/qemu.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1943
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/qemu/qemu.conf $< $@
1944

1945
check-augeas-qemu: test_libvirtd_qemu.aug
1946
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1947
	    '$(AUGPARSE)' -I $(srcdir)/qemu test_libvirtd_qemu.aug; \
1948
	fi
1949
else ! WITH_QEMU
1950
check-augeas-qemu:
1951
endif ! WITH_QEMU
1952

1953
if WITH_LXC
1954 1955
test_libvirtd_lxc.aug: lxc/test_libvirtd_lxc.aug.in \
		$(srcdir)/lxc/lxc.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1956
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/lxc/lxc.conf $< $@
1957

1958
check-augeas-lxc: test_libvirtd_lxc.aug
1959
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1960
	    '$(AUGPARSE)' -I $(srcdir)/lxc test_libvirtd_lxc.aug; \
1961
	fi
1962
else ! WITH_LXC
1963
check-augeas-lxc:
1964
endif ! WITH_LXC
1965

1966
if WITH_SANLOCK
1967 1968
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1969
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1970

1971
check-augeas-sanlock: test_libvirt_sanlock.aug
1972
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1973
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1974
	fi
1975
else ! WITH_SANLOCK
1976
check-augeas-sanlock:
1977
endif ! WITH_SANLOCK
1978

1979
if WITH_QEMU
1980 1981 1982
test_libvirt_lockd.aug: locking/test_libvirt_lockd.aug.in \
		locking/qemu-lockd.conf $(AUG_GENTEST)
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-lockd.conf $< $@
1983 1984 1985
else ! WITH_QEMU
test_libvirt_lockd.aug:
endif ! WITH_QEMU
1986

1987 1988
test_virtlockd.aug: locking/test_virtlockd.aug.in \
		locking/virtlockd.conf $(AUG_GENTEST)
1989
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
1990

1991
if WITH_QEMU
1992 1993 1994 1995
check-augeas-lockd: test_libvirt_lockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
	fi
1996 1997 1998
else ! WITH_QEMU
check-augeas-lockd:
endif ! WITH_QEMU
1999

2000 2001 2002 2003 2004
check-augeas-virtlockd: test_virtlockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
	fi

2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
if WITH_LIBXL
test_libvirtd_libxl.aug: libxl/test_libvirtd_libxl.aug.in \
		$(srcdir)/libxl/libxl.conf $(AUG_GENTEST)
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/libxl/libxl.conf $< $@

check-augeas-libxl: test_libvirtd_libxl.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/libxl test_libvirtd_libxl.aug; \
	fi
else ! WITH_LIBXL
check-augeas-libxl:
endif ! WITH_LIBXL

2018 2019 2020 2021 2022 2023 2024 2025 2026
test_virtlogd.aug: logging/test_virtlogd.aug.in \
		logging/virtlogd.conf $(AUG_GENTEST)
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/logging/virtlogd.conf $< $@

check-augeas-virtlogd: test_virtlogd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/logging test_virtlogd.aug; \
	fi

2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045
#
# Build our version script.  This is composed of three parts:
#
# 1. libvirt_public.syms - public API.  These functions are always
# present in the library and should never change incompatibly.
#
# 2. libvirt_private.syms - private API.  These symbols are private and
# semantics may change on every release, hence the version number is
# spliced in at build time. This ensures that if libvirtd, virsh, or a
# driver module was built against one libvirt release, it will refuse to
# load with another where symbols may have same names but different
# semantics. Such symbols should never be visible in an (installed)
# public header file.
#
# 3. libvirt_*.syms - dynamic private API.  Like libvirt_private.syms,
# except that build options (such as --enable-debug) can mean these
# symbols aren't present at all.
#

2046
if WITH_DRIVER_MODULES
2047
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
2048
else ! WITH_DRIVER_MODULES
2049
SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
2050
endif ! WITH_DRIVER_MODULES
2051

2052
if WITH_LINUX
2053
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
2054
else ! WITH_LINUX
2055
SYM_FILES += $(srcdir)/libvirt_linux.syms
2056
endif ! WITH_LINUX
2057

2058
if WITH_ESX
2059
USED_SYM_FILES += $(srcdir)/libvirt_esx.syms
2060
else ! WITH_ESX
2061
SYM_FILES += $(srcdir)/libvirt_esx.syms
2062
endif ! WITH_ESX
2063

E
Eric Blake 已提交
2064 2065 2066 2067 2068 2069
if WITH_REMOTE
USED_SYM_FILES += $(srcdir)/libvirt_remote.syms
else ! WITH_REMOTE
SYM_FILES += $(srcdir)/libvirt_remote.syms
endif ! WITH_REMOTE

2070
if WITH_OPENVZ
2071
USED_SYM_FILES += $(srcdir)/libvirt_openvz.syms
2072
else ! WITH_OPENVZ
2073
SYM_FILES += $(srcdir)/libvirt_openvz.syms
2074
endif ! WITH_OPENVZ
2075

2076
if WITH_VMX
2077
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
2078
else ! WITH_VMX
2079
SYM_FILES += $(srcdir)/libvirt_vmx.syms
2080
endif ! WITH_VMX
2081

2082 2083 2084 2085 2086 2087
if WITH_VMWARE
USED_SYM_FILES += $(srcdir)/libvirt_vmware.syms
else ! WITH_VMWARE
SYM_FILES += $(srcdir)/libvirt_vmware.syms
endif ! WITH_VMWARE

J
Jim Fehlig 已提交
2088 2089 2090 2091 2092
if WITH_XENCONFIG
USED_SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
else ! WITH_XENCONFIG
SYM_FILES += $(srcdir)/libvirt_xenconfig.syms
endif ! WITH_XENCONFIG
2093

2094 2095 2096 2097 2098 2099
if WITH_LIBXL
USED_SYM_FILES += $(srcdir)/libvirt_xenxlconfig.syms
else ! WITH_LIBXL
SYM_FILES += $(srcdir)/libvirt_xenxlconfig.syms
endif ! WITH_LIBXL

2100
if WITH_SASL
2101
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
2102
else ! WITH_SASL
2103
SYM_FILES += $(srcdir)/libvirt_sasl.syms
2104
endif ! WITH_SASL
E
Eric Blake 已提交
2105

2106 2107
if WITH_GNUTLS
USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2108
else ! WITH_GNUTLS
2109
SYM_FILES += $(srcdir)/libvirt_gnutls.syms
2110
endif ! WITH_GNUTLS
2111

2112
if WITH_SSH2
2113
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2114
else ! WITH_SSH2
2115
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
2116
endif ! WITH_SSH2
2117

2118
if WITH_ATOMIC_OPS_PTHREAD
2119
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
2120
else ! WITH_ATOMIC_OPS_PTHREAD
2121
SYM_FILES += $(srcdir)/libvirt_atomic.syms
2122
endif ! WITH_ATOMIC_OPS_PTHREAD
2123

2124
EXTRA_DIST += \
2125 2126 2127
	libvirt_public.syms		\
	libvirt_lxc.syms		\
	libvirt_qemu.syms		\
2128
	libvirt_admin_public.syms	\
2129
	$(SYM_FILES)			\
2130
	$(ADMIN_SYM_FILES)		\
2131
	$(NULL)
2132

2133
BUILT_SOURCES += $(GENERATED_SYM_FILES)
2134

2135 2136
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(ACCESS_DRIVER_SYM_FILES) \
2137
		$(top_builddir)/config.status
2138 2139 2140 2141 2142 2143
	$(AM_V_GEN)rm -f $@-tmp $@ ; \
	printf '# WARNING: generated from the following:\n# $^\n\n' >$@-tmp && \
	cat $(srcdir)/libvirt_public.syms >>$@-tmp && \
	printf '\n\n# Private symbols\n\n' >>$@-tmp && \
	printf 'LIBVIRT_PRIVATE_$(VERSION) {\n\n'  >>$@-tmp && \
	printf 'global:\n\n' >>$@-tmp && \
2144
	cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
2145 2146
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
2147
	mv $@-tmp libvirt.syms
2148

2149
%.def: %.syms
2150 2151
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
2152 2153
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d'	\
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
2154
	chmod a-w $@-tmp && \
2155
	mv $@-tmp $@
2156

2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169
libvirt_admin.syms: libvirt_admin_public.syms $(ADMIN_SYM_FILES) \
		$(top_builddir)/config.status
	$(AM_V_GEN)rm -f $@-tmp $@ ; \
	printf '# WARNING: generated from the following:\n# $^\n\n' >$@-tmp && \
	cat $(srcdir)/libvirt_admin_public.syms >>$@-tmp && \
	printf '\n\n# Private symbols\n\n' >>$@-tmp && \
	printf 'LIBVIRT_ADMIN_PRIVATE_$(VERSION) {\n\n'  >>$@-tmp && \
	printf 'global:\n\n' >>$@-tmp && \
	cat $(ADMIN_SYM_FILES) >>$@-tmp && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_admin.syms

2170 2171 2172 2173
# admin/admin_remote.c is being included in libvirt-admin.c, so we
# need to include it in the dist
EXTRA_DIST += admin/admin_remote.c

M
Martin Kletzander 已提交
2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197
lib_LTLIBRARIES += libvirt-admin.la
libvirt_admin_la_SOURCES = \
		libvirt-admin.c			\
		$(ADMIN_PROTOCOL_GENERATED)	\
		$(DATATYPES_SOURCES)

libvirt_admin_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_ADMIN_SYMBOL_FILE)	\
		-version-info $(LIBVIRT_VERSION_INFO)			\
		$(AM_LDFLAGS) 						\
		$(CYGWIN_EXTRA_LDFLAGS) 				\
		$(MINGW_EXTRA_LDFLAGS)

libvirt_admin_la_LIBADD = \
		libvirt.la		\
		$(CYGWIN_EXTRA_LIBADD)

libvirt_admin_la_CFLAGS = \
		$(AM_CFLAGS)		\
		-I$(srcdir)/remote	\
		-I$(srcdir)/rpc		\
		-I$(srcdir)/admin

libvirt_admin_la_CFLAGS += \
2198
		$(XDR_CFLAGS)			\
M
Martin Kletzander 已提交
2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213
		$(CAPNG_CFLAGS)			\
		$(YAJL_CFLAGS)			\
		$(SSH2_CFLAGS)			\
		$(SASL_CFLAGS)			\
		$(GNUTLS_CFLAGS)

libvirt_admin_la_LIBADD += \
		$(CAPNG_LIBS)			\
		$(YAJL_LIBS)			\
		$(DEVMAPPER_LIBS)		\
		$(LIBXML_LIBS)			\
		$(SSH2_LIBS)			\
		$(SASL_LIBS)			\
		$(GNUTLS_LIBS)

2214 2215
ADMIN_SYM_FILES = $(srcdir)/libvirt_admin_private.syms

M
Martin Kletzander 已提交
2216 2217 2218 2219
if WITH_DTRACE_PROBES
libvirt_admin_la_LIBADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

2220 2221
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
D
Daniel P. Berrange 已提交
2222 2223 2224 2225 2226 2227 2228 2229
libvirt_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(LIBVIRT_NODELETE) \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
2230
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
2231
libvirt_la_LIBADD += \
2232
		    $(DRIVER_MODULE_LIBS) \
2233
		    $(CYGWIN_EXTRA_LIBADD)
2234
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
2235 2236 2237 2238 2239 2240
# Because we specify libvirt_la_DEPENDENCIES for $(LIBVIRT_SYMBOL_FILE), we
# lose automake's automatic dependencies on an appropriate subset of
# $(libvirt_la_LIBADD).  But we were careful to create
# $(libvirt_la_BUILT_LIBADD) as the subset that automake would have
# picked out for us.
libvirt_la_DEPENDENCIES = $(libvirt_la_BUILT_LIBADD) $(LIBVIRT_SYMBOL_FILE)
2241

2242
if WITH_DTRACE_PROBES
2243
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
2244
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
2245
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2246
if WITH_REMOTE
E
Eric Blake 已提交
2247
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
2248
endif WITH_REMOTE
2249 2250
if WITH_DRIVER_MODULES
DTRACE2SYSTEMTAP_FLAGS = --with-modules
2251
endif WITH_DRIVER_MODULES
2252

2253 2254 2255
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

if WITH_QEMU
2256
libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
2257
nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
2258
BUILT_SOURCES += libvirt_qemu_probes.h
2259
endif WITH_QEMU
2260 2261

tapsetdir = $(datadir)/systemtap/tapset
2262
tapset_DATA = libvirt_probes.stp libvirt_qemu_probes.stp libvirt_functions.stp
2263

2264
%_probes.h: %_probes.d
2265 2266
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
2267
.PRECIOUS: %_probes.o
2268
%_probes.o: %_probes.d
2269 2270
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

2271 2272 2273 2274 2275 2276 2277 2278 2279
%_probes.lo: %_probes.o
	$(AM_V_GEN)printf %s\\n \
	  '# $@ - a libtool object file' \
	  '# Generated by libtool (GNU libtool) 2.4' \
	  '# Actually generated by Makefile.am, in order to shut up libtool' \
	  "pic_object='$<'" \
	  "non_pic_object='$<'" \
	> $@

E
Eric Blake 已提交
2280
# Keep this list synced with PROTOCOL_STRUCTS
J
Jiri Denemark 已提交
2281 2282 2283
RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x \
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
2284
		  $(srcdir)/remote/lxc_protocol.x \
2285 2286
		  $(srcdir)/remote/qemu_protocol.x \
		  $(srcdir)/lxc/lxc_monitor_protocol.x \
M
Martin Kletzander 已提交
2287 2288
		  $(srcdir)/locking/lock_protocol.x \
		  $(srcdir)/admin/admin_protocol.x
2289 2290

libvirt_functions.stp: $(RPC_PROBE_FILES) $(srcdir)/rpc/gensystemtap.pl
2291
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gensystemtap.pl $(RPC_PROBE_FILES) > $@
2292

2293 2294
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
		$(top_builddir)/config.status
2295
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
2296
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
2297

2298
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
2299
              libvirt_qemu_probes.h libvirt_qemu_probes.o \
2300
              libvirt_qemu_probes.lo\
2301 2302
              libvirt_functions.stp libvirt_probes.stp \
              libvirt_qemu_probes.stp
2303
endif WITH_DTRACE_PROBES
2304

2305
EXTRA_DIST += libvirt_probes.d libvirt_qemu_probes.d
2306

C
Chris Lalancette 已提交
2307
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
2308 2309 2310 2311 2312 2313 2314
libvirt_qemu_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
2315
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
2316
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
2317

2318
libvirt_lxc_la_SOURCES = libvirt-lxc.c
D
Daniel P. Berrange 已提交
2319 2320 2321 2322 2323 2324 2325
libvirt_lxc_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_LXC_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
2326 2327 2328
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)

2329 2330 2331 2332 2333 2334 2335
# Since virt-login-shell will be setuid, we must do everything
# we can to avoid linking to other libraries. Many of them do
# unsafe things in functions marked __atttribute__((constructor)).
# This library is built to include the bare minimum required to
# have a RPC client for local UNIX socket access only. We use
# the ../config-post.h header to disable all external deps that
# we don't want
2336
if WITH_SETUID_RPC_CLIENT
2337 2338 2339 2340
noinst_LTLIBRARIES += libvirt-setuid-rpc-client.la

libvirt_setuid_rpc_client_la_SOURCES = 		\
		util/viralloc.c			\
2341 2342
		util/viratomic.c		\
		util/viratomic.h		\
2343 2344
		util/virbitmap.c		\
		util/virbuffer.c		\
2345
		util/vircgroup.c		\
2346 2347
		util/vircommand.c		\
		util/virconf.c			\
2348
		util/virdbus.c			\
2349 2350 2351 2352
		util/virerror.c			\
		util/virevent.c			\
		util/vireventpoll.c		\
		util/virfile.c			\
2353
		util/virgettext.c		\
2354 2355
		util/virhash.c			\
		util/virhashcode.c		\
2356
		util/virhostcpu.c		\
2357 2358 2359 2360 2361 2362 2363 2364
		util/virjson.c			\
		util/virlog.c			\
		util/virobject.c		\
		util/virpidfile.c		\
		util/virprocess.c		\
		util/virrandom.c		\
		util/virsocketaddr.c		\
		util/virstring.c		\
2365
		util/virsystemd.c		\
2366 2367
		util/virtime.c			\
		util/virthread.c		\
2368
		util/virthreadjob.c		\
2369 2370 2371 2372 2373
		util/virtypedparam.c		\
		util/viruri.c			\
		util/virutil.c			\
		util/viruuid.c			\
		conf/domain_event.c		\
2374
		conf/network_event.c		\
2375
		conf/object_event.c		\
2376
		conf/storage_event.c            \
2377
		conf/node_device_event.c	\
2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393
		rpc/virnetsocket.c		\
		rpc/virnetsocket.h		\
		rpc/virnetmessage.h		\
		rpc/virnetmessage.c		\
		rpc/virkeepalive.c		\
		rpc/virkeepalive.h		\
		rpc/virnetclient.c		\
		rpc/virnetclientprogram.c	\
		rpc/virnetclientstream.c	\
		rpc/virnetprotocol.c		\
		remote/remote_driver.c		\
		remote/remote_protocol.c	\
		remote/qemu_protocol.c		\
		remote/lxc_protocol.c		\
		datatypes.c			\
		libvirt.c			\
2394
		libvirt-domain.c		\
2395
		libvirt-domain-snapshot.c	\
2396
		libvirt-host.c			\
2397
		libvirt-interface.c		\
2398
		libvirt-network.c		\
2399
		libvirt-nodedev.c		\
2400
		libvirt-nwfilter.c		\
2401
		libvirt-secret.c		\
2402
		libvirt-storage.c		\
2403
		libvirt-stream.c		\
2404 2405 2406 2407 2408 2409
		libvirt-lxc.c			\
		$(NULL)

libvirt_setuid_rpc_client_la_LDFLAGS =		\
		$(AM_LDFLAGS)			\
		$(LIBXML_LIBS)			\
J
Jim Fehlig 已提交
2410
		$(SECDRIVER_LIBS)		\
2411 2412 2413
		$(NULL)
libvirt_setuid_rpc_client_la_CFLAGS =		\
		-DLIBVIRT_SETUID_RPC_CLIENT	\
2414 2415
		-I$(srcdir)/conf		\
		-I$(srcdir)/rpc			\
2416
		$(AM_CFLAGS)			\
J
Jim Fehlig 已提交
2417
		$(SECDRIVER_CFLAGS)		\
P
Pavel Fedin 已提交
2418
		$(XDR_CFLAGS)			\
2419
		$(NULL)
2420
endif WITH_SETUID_RPC_CLIENT
2421

2422 2423 2424
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

2425
if WITH_LIBVIRTD
2426 2427 2428 2429 2430
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
2431
lockd_la_CFLAGS = -I$(srcdir)/conf \
E
Eric Blake 已提交
2432 2433
		$(XDR_CFLAGS) \
		$(AM_CFLAGS)
2434
lockd_la_LDFLAGS = -module -avoid-version
2435 2436 2437 2438
lockd_la_LIBADD = ../gnulib/lib/libgnu.la \
	libvirt-net-rpc.la \
	libvirt-net-rpc-client.la \
	$(NULL)
J
Jiri Denemark 已提交
2439
augeas_DATA += locking/libvirt_lockd.aug
2440 2441
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
2442
endif WITH_DTRACE_PROBES
2443
if WITH_QEMU
2444 2445
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
2446
nodist_conf_DATA += locking/qemu-lockd.conf
2447 2448
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
2449
endif WITH_QEMU
2450

2451 2452 2453 2454 2455 2456
if WITH_LIBXL
nodist_conf_DATA += locking/libxl-lockd.conf
BUILT_SOURCES += locking/libxl-lockd.conf
DISTCLEANFILES += locking/libxl-lockd.conf
endif WITH_LIBXL

2457 2458 2459 2460 2461
locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


2462
sbin_PROGRAMS = virtlockd virtlogd
2463

2464 2465 2466
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
2467
		$(LOCK_DAEMON_GENERATED) \
2468
		$(NULL)
2469 2470
virtlockd_CFLAGS = \
		$(AM_CFLAGS) \
D
Daniel P. Berrange 已提交
2471
		$(PIE_CFLAGS) \
2472
		$(XDR_CFLAGS) \
2473 2474 2475
		$(NULL)
virtlockd_LDFLAGS = \
		$(AM_LDFLAGS) \
D
Daniel P. Berrange 已提交
2476
		$(PIE_LDFLAGS) \
2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
virtlockd_LDADD = \
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
		libvirt_util.la \
		../gnulib/lib/libgnu.la \
		$(CYGWIN_EXTRA_LIBADD) \
		$(NULL)
if WITH_DTRACE_PROBES
virtlockd_LDADD += libvirt_probes.lo
2489
endif WITH_DTRACE_PROBES
2490

2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518

virtlogd_SOURCES = \
		$(LOG_DAEMON_SOURCES) \
		$(LOG_PROTOCOL_GENERATED) \
		$(LOG_DAEMON_GENERATED) \
		$(NULL)
virtlogd_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(XDR_CFLAGS) \
		$(NULL)
virtlogd_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
		$(NULL)
virtlogd_LDADD = \
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
		libvirt_util.la \
		../gnulib/lib/libgnu.la \
		$(CYGWIN_EXTRA_LIBADD) \
		$(NULL)
if WITH_DTRACE_PROBES
virtlogd_LDADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

2519
else ! WITH_LIBVIRTD
2520
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
2521 2522
              $(LOCK_DRIVER_LOCKD_SOURCES) \
	      $(LOG_DAEMON_SOURCES)
2523
endif ! WITH_LIBVIRTD
2524

2525 2526
EXTRA_DIST += \
	locking/virtlockd.sysconf \
J
Jiri Denemark 已提交
2527 2528
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
2529
	locking/test_libvirt_lockd.aug.in \
2530
	logging/virtlogd.sysconf
2531 2532

install-sysconfig:
E
Eric Blake 已提交
2533
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
2534 2535
	$(INSTALL_DATA) $(srcdir)/locking/virtlockd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
2536 2537
	$(INSTALL_DATA) $(srcdir)/logging/virtlogd.sysconf \
	  $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd
2538 2539

uninstall-sysconfig:
2540
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlogd
2541
	rm -f $(DESTDIR)$(sysconfdir)/sysconfig/virtlockd
E
Eric Blake 已提交
2542
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
2543

2544
EXTRA_DIST += locking/virtlockd.init.in logging/virtlogd.init.in
2545 2546 2547

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_RED_HAT
2548
install-init:: virtlockd.init virtlogd.init install-sysconfig
E
Eric Blake 已提交
2549
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
2550 2551
	$(INSTALL_SCRIPT) virtlockd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
2552 2553
	$(INSTALL_SCRIPT) virtlogd.init \
	  $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlogd
2554 2555

uninstall-init:: uninstall-sysconfig
E
Eric Blake 已提交
2556
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlockd
2557
	rm -f $(DESTDIR)$(sysconfdir)/rc.d/init.d/virtlogd
E
Eric Blake 已提交
2558
	rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
2559

2560 2561
BUILT_SOURCES += virtlockd.init virtlogd.init
DISTCLEANFILES += virtlockd.init virtlogd.init
2562
else ! LIBVIRT_INIT_SCRIPT_RED_HAT
2563 2564
install-init::
uninstall-init::
2565 2566
endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
else ! WITH_LIBVIRTD
2567 2568
install-init::
uninstall-init::
2569
endif ! WITH_LIBVIRTD
2570 2571

virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
2572 2573 2574 2575 2576 2577
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
2578 2579
	    mv $@-t $@

2580 2581 2582 2583 2584 2585 2586 2587 2588
virtlogd.init: logging/virtlogd.init.in $(top_builddir)/config.status
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g'		\
	    < $< > $@-t &&					\
	    chmod a+x $@-t &&					\
	    mv $@-t $@

2589
POD2MAN = pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)"
2590

2591
virtlockd.8.in: locking/virtlockd.pod
2592 2593 2594 2595 2596 2597 2598 2599
	$(AM_V_GEN)$(POD2MAN) --section=8 $< $@-t1 && \
	if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
	sed \
		-e 's|SYSCONFDIR|\@sysconfdir\@|g' \
		-e 's|LOCALSTATEDIR|\@localstatedir\@|g' \
		< $@-t1 > $@-t2 && \
	rm -f $@-t1 && \
	mv $@-t2 $@
2600

2601
virtlogd.8.in: logging/virtlogd.pod
2602 2603 2604 2605 2606 2607 2608 2609
	$(AM_V_GEN)$(POD2MAN) --section=8 $< $@-t1 && \
	if grep 'POD ERROR' $@-t1; then rm $@-t1; exit 1; fi && \
	sed \
		-e 's|SYSCONFDIR|\@sysconfdir\@|g' \
		-e 's|LOCALSTATEDIR|\@localstatedir\@|g' \
		< $@-t1 > $@-t2 && \
	rm -f $@-t1 && \
	mv $@-t2 $@
2610

2611
%.8: %.8.in $(top_srcdir)/configure.ac
2612
	$(AM_V_GEN)sed \
2613 2614 2615
		-e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
		-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
		< $< > $@-t && \
2616 2617
	mv $@-t $@

2618
if WITH_LIBVIRTD
2619
man8_MANS = virtlockd.8 virtlogd.8
2620

2621
conf_DATA += locking/virtlockd.conf logging/virtlogd.conf
2622

2623 2624
augeas_DATA += locking/virtlockd.aug logging/virtlogd.aug
augeastest_DATA += test_virtlockd.aug test_virtlogd.aug
2625
endif WITH_LIBVIRTD
2626

A
Andrea Bolognani 已提交
2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638
PODFILES = \
	locking/virtlockd.pod \
	logging/virtlogd.pod \
	$(NULL)

MANINFILES = \
	virtlockd.8.in \
	virtlogd.8.in \
	$(NULL)

CLEANFILES += test_virtlockd.aug test_virtlogd.aug $(man8_MANS)
MAINTAINERCLEANFILES += $(MANINFILES)
2639 2640 2641 2642

EXTRA_DIST += \
        locking/virtlockd.service.in \
        locking/virtlockd.socket.in \
2643 2644 2645
        locking/virtlockd.aug \
        locking/virtlockd.conf \
        locking/test_virtlockd.aug.in \
2646 2647 2648 2649 2650
        logging/virtlogd.service.in \
        logging/virtlogd.socket.in \
        logging/virtlogd.aug \
        logging/virtlogd.conf \
        logging/test_virtlogd.aug.in \
A
Andrea Bolognani 已提交
2651 2652
        $(PODFILES) \
        $(MANINFILES) \
2653
        $(NULL)
2654

2655 2656 2657 2658

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

2659
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
2660

2661 2662 2663 2664
BUILT_SOURCES += virtlockd.service virtlockd.socket \
		 virtlogd.service virtlogd.socket
DISTCLEANFILES += virtlockd.service virtlockd.socket \
		  virtlogd.service virtlogd.socket
2665

2666 2667
install-systemd: virtlockd.service virtlockd.socket \
                 virtlogd.service virtlogd.socket install-sysconfig
E
Eric Blake 已提交
2668
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
2669
	$(INSTALL_DATA) virtlockd.service \
2670
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2671
	$(INSTALL_DATA) virtlockd.socket \
2672
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2673 2674 2675 2676
	$(INSTALL_DATA) virtlogd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
	$(INSTALL_DATA) virtlogd.socket \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/
2677 2678

uninstall-systemd: uninstall-sysconfig
E
Eric Blake 已提交
2679 2680
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlockd.socket
2681 2682
	rm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlogd.service \
	  $(DESTDIR)$(SYSTEMD_UNIT_DIR)/virtlogd.socket
E
Eric Blake 已提交
2683
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
2684
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
2685 2686
install-systemd:
uninstall-systemd:
2687 2688
endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
else ! WITH_LIBVIRTD
2689 2690
install-systemd:
uninstall-systemd:
2691
endif ! WITH_LIBVIRTD
2692 2693

virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
2694 2695 2696
	$(AM_V_GEN)sed						\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    < $< > $@-t &&					\
2697 2698 2699
	    mv $@-t $@

virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
2700 2701 2702
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    < $< > $@-t &&					\
2703 2704
	    mv $@-t $@

2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716
virtlogd.service: logging/virtlogd.service.in $(top_builddir)/config.status
	$(AM_V_GEN)sed						\
	    -e 's|[@]sbindir[@]|$(sbindir)|g'			\
	    < $< > $@-t &&					\
	    mv $@-t $@

virtlogd.socket: logging/virtlogd.socket.in $(top_builddir)/config.status
	$(AM_V_GEN)sed						\
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g'	\
	    < $< > $@-t &&					\
	    mv $@-t $@

2717

2718
if WITH_SANLOCK
2719
lockdriver_LTLIBRARIES += sanlock.la
2720
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
2721
sanlock_la_CFLAGS = -I$(srcdir)/conf $(AM_CFLAGS)
2722
sanlock_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
2723
sanlock_la_LIBADD = -lsanlock_client \
2724 2725 2726
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
2727 2728
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
2729

E
Eric Blake 已提交
2730
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
2731
	$(AM_V_GEN)$(MKDIR_P) locking ; \
2732 2733 2734
	cp $< $@

if WITH_QEMU
2735
nodist_conf_DATA += locking/qemu-sanlock.conf
2736
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
2737
DISTCLEANFILES += locking/qemu-sanlock.conf
2738
endif WITH_QEMU
2739 2740 2741 2742 2743 2744

if WITH_LIBXL
nodist_conf_DATA += locking/libxl-sanlock.conf
BUILT_SOURCES += locking/libxl-sanlock.conf
DISTCLEANFILES += locking/libxl-sanlock.conf
endif WITH_LIBXL
2745
else ! WITH_SANLOCK
2746
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
2747
endif ! WITH_SANLOCK
2748 2749
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
2750
	locking/test_libvirt_sanlock.aug.in
2751

2752 2753 2754 2755
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
2756

2757
EXTRA_DIST += \
E
Eric Blake 已提交
2758 2759 2760 2761
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
2762 2763
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
2764

E
Eric Blake 已提交
2765
VIR_NET_RPC_GENERATED = \
2766 2767 2768 2769
	rpc/virnetprotocol.h \
	rpc/virnetprotocol.c \
	rpc/virkeepaliveprotocol.h \
	rpc/virkeepaliveprotocol.c
2770

2771
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
2772

2773
libvirt_net_rpc_la_SOURCES = \
2774
	rpc/virnetmessage.h rpc/virnetmessage.c \
2775
	rpc/virnetsocket.h rpc/virnetsocket.c \
2776 2777
	rpc/virkeepalive.h rpc/virkeepalive.c \
	$(VIR_NET_RPC_GENERATED)
2778
if WITH_SSH2
2779 2780
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2781
else ! WITH_SSH2
2782 2783
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
2784
endif ! WITH_SSH2
2785
if WITH_GNUTLS
2786 2787
libvirt_net_rpc_la_SOURCES += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2788
else ! WITH_GNUTLS
2789 2790
EXTRA_DIST += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
2791
endif ! WITH_GNUTLS
2792
if WITH_SASL
2793 2794
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2795
else ! WITH_SASL
2796 2797
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
2798
endif ! WITH_SASL
2799
libvirt_net_rpc_la_CFLAGS = \
2800
			$(GNUTLS_CFLAGS) \
2801
			$(SASL_CFLAGS) \
2802
			$(SSH2_CFLAGS) \
2803
			$(XDR_CFLAGS) \
2804 2805
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
2806
			$(GNUTLS_LIBS) \
2807
			$(SASL_LIBS) \
2808
			$(SSH2_LIBS)\
J
Jim Fehlig 已提交
2809
			$(SECDRIVER_LIBS) \
2810 2811 2812 2813 2814 2815
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2816 2817 2818 2819
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
2820
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
2821
	rpc/virnetdaemon.h rpc/virnetdaemon.c \
2822 2823
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
2824
			$(AVAHI_CFLAGS) \
2825
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
2826
			$(XDR_CFLAGS) \
2827
			$(AM_CFLAGS)
2828 2829
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
2830
			$(AVAHI_LIBS) \
2831
			$(DBUS_LIBS) \
2832 2833 2834 2835 2836
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

2837 2838 2839 2840 2841
libvirt_net_rpc_client_la_SOURCES = \
	rpc/virnetclientprogram.h rpc/virnetclientprogram.c \
	rpc/virnetclientstream.h rpc/virnetclientstream.c \
	rpc/virnetclient.h rpc/virnetclient.c
libvirt_net_rpc_client_la_CFLAGS = \
E
Eric Blake 已提交
2842 2843
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
2844 2845 2846 2847 2848 2849
libvirt_net_rpc_client_la_LDFLAGS = \
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
2850

2851 2852
libexec_PROGRAMS =

2853
if WITH_LIBVIRTD
2854 2855
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2856 2857 2858 2859
libvirt_iohelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2860 2861 2862
libvirt_iohelper_LDADD =		\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2863 2864
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
2865
endif WITH_DTRACE_PROBES
2866

D
Daniel P. Berrange 已提交
2867 2868 2869 2870
libvirt_iohelper_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2871 2872 2873 2874

if WITH_NETWORK
libexec_PROGRAMS += libvirt_leaseshelper
libvirt_leaseshelper_SOURCES = $(NETWORK_LEASES_HELPER_SOURCES)
2875 2876 2877 2878
libvirt_leaseshelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893
libvirt_leaseshelper_LDADD =           \
               libvirt_util.la         \
               ../gnulib/lib/libgnu.la
if WITH_DTRACE_PROBES
libvirt_leaseshelper_LDADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

libvirt_leaseshelper_CFLAGS = \
	       $(AM_CFLAGS) \
               $(PIE_CFLAGS) \
               $(NULL)
else ! WITH_NETWORK
EXTRA_DIST += $(NETWORK_LEASES_HELPER_SOURCES)
endif ! WITH_NETWORK

2894
endif WITH_LIBVIRTD
2895

2896
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
2897
if WITH_LIBVIRTD
2898
libexec_PROGRAMS += libvirt_parthelper
2899

2900
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
D
Daniel P. Berrange 已提交
2901 2902 2903 2904
libvirt_parthelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2905 2906 2907 2908
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la
2909 2910
if WITH_DTRACE_PROBES
libvirt_parthelper_LDADD += libvirt_probes.lo
2911
endif WITH_DTRACE_PROBES
2912

D
Daniel P. Berrange 已提交
2913 2914 2915 2916 2917
libvirt_parthelper_CFLAGS = \
		$(LIBPARTED_CFLAGS) \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
2918 2919
endif WITH_LIBVIRTD
endif WITH_STORAGE_DISK
2920 2921
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

2922

2923
if WITH_SANLOCK
2924 2925 2926
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
2927
libvirt_sanlock_helper_CFLAGS = \
2928
		-I$(srcdir)/conf \
D
Daniel P. Berrange 已提交
2929 2930 2931 2932 2933 2934 2935
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
libvirt_sanlock_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2936
libvirt_sanlock_helper_LDADD = libvirt.la
2937
endif WITH_SANLOCK
2938

2939 2940 2941 2942 2943 2944
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
O
Osier Yang 已提交
2945 2946
		$(NODE_INFO_SOURCES)				\
		$(DATATYPES_SOURCES)
D
Daniel P. Berrange 已提交
2947 2948 2949 2950
libvirt_lxc_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2951
libvirt_lxc_LDADD =			\
G
Gao feng 已提交
2952
		$(FUSE_LIBS) \
2953 2954
		libvirt-net-rpc-server.la \
		libvirt-net-rpc.la \
2955
		libvirt_security_manager.la \
2956 2957
		libvirt_conf.la \
		libvirt_util.la \
2958
		../gnulib/lib/libgnu.la
2959
if WITH_DTRACE_PROBES
2960
libvirt_lxc_LDADD += libvirt_probes.lo
2961
endif WITH_DTRACE_PROBES
2962
libvirt_lxc_LDADD += $(SECDRIVER_LIBS)
2963
libvirt_lxc_CFLAGS =				\
2964
		-I$(srcdir)/conf	\
2965
		$(AM_CFLAGS)                    \
D
Daniel P. Berrange 已提交
2966
		$(PIE_CFLAGS)			\
G
Gao feng 已提交
2967
		$(LIBNL_CFLAGS)			\
D
Daniel P. Berrange 已提交
2968
		$(FUSE_CFLAGS)			\
2969
		$(DBUS_CFLAGS)			\
P
Pavel Fedin 已提交
2970
		$(XDR_CFLAGS)			\
D
Daniel P. Berrange 已提交
2971
		$(NULL)
2972
if WITH_BLKID
2973 2974
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
2975
endif WITH_BLKID
J
Jim Fehlig 已提交
2976
libvirt_lxc_CFLAGS += $(SECDRIVER_CFLAGS)
2977 2978
endif WITH_LIBVIRTD
endif WITH_LXC
2979 2980
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
2981 2982 2983 2984 2985 2986
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

D
Daniel P. Berrange 已提交
2987 2988 2989 2990
virt_aa_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
J
Jamie Strandboge 已提交
2991
virt_aa_helper_LDADD =						\
2992
		libvirt.la					\
C
Chris Lalancette 已提交
2993 2994
		libvirt_conf.la					\
		libvirt_util.la					\
2995
		libvirt_driver_storage_impl.la			\
C
Chris Lalancette 已提交
2996
		../gnulib/lib/libgnu.la
2997
if WITH_DTRACE_PROBES
2998
virt_aa_helper_LDADD += libvirt_probes.lo
2999
endif WITH_DTRACE_PROBES
J
Jamie Strandboge 已提交
3000
virt_aa_helper_CFLAGS =						\
3001 3002 3003 3004
		-I$(srcdir)/conf				\
		-I$(srcdir)/security				\
		$(AM_CFLAGS) 					\
		$(PIE_CFLAGS) 					\
D
Daniel P. Berrange 已提交
3005
		$(NULL)
3006 3007
endif WITH_LIBVIRTD
endif WITH_SECDRIVER_APPARMOR
J
Jamie Strandboge 已提交
3008 3009
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066
noinst_LTLIBRARIES += libvirt-nss.la

libvirt_nss_la_SOURCES =		\
		util/viralloc.c			\
		util/viralloc.h			\
		util/virbitmap.c		\
		util/virbitmap.h		\
		util/virbuffer.c		\
		util/virbuffer.h		\
		util/vircommand.c		\
		util/vircommand.h		\
		util/virerror.c			\
		util/virerror.h			\
		util/virfile.c			\
		util/virfile.h			\
		util/virjson.c			\
		util/virjson.h			\
		util/virkmod.c			\
		util/virkmod.h			\
		util/virlease.c			\
		util/virlease.h			\
		util/virlog.c			\
		util/virlog.h			\
		util/virobject.c		\
		util/virobject.h		\
		util/virpidfile.c		\
		util/virpidfile.h		\
		util/virprocess.c		\
		util/virprocess.h		\
		util/virsocketaddr.c	\
		util/virsocketaddr.h	\
		util/virstring.c		\
		util/virstring.h		\
		util/virthread.c		\
		util/virthread.h		\
		util/virthreadjob.c		\
		util/virthreadjob.h		\
		util/virtime.c			\
		util/virtime.h			\
		util/virutil.c			\
		util/virutil.h			\
		$(NULL)

libvirt_nss_la_CFLAGS =			\
		-DLIBVIRT_NSS			\
		$(AM_CFLAGS)			\
		$(YAJL_CFLAGS)			\
		$(NULL)
libvirt_nss_la_LDFLAGS =		\
		$(AM_LDFLAGS)			\
		$(NULL)

libvirt_nss_la_LIBADD =			\
		$(YAJL_LIBS)			\
		$(NULL)


3067
install-data-local: install-init install-systemd
3068 3069
if WITH_LIBVIRTD
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
3070
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
3071
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
3072
endif WITH_LIBVIRTD
3073 3074
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
3075
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
3076
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
3077
if WITH_SANLOCK
3078
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
3079
endif WITH_SANLOCK
3080
if WITH_QEMU
3081
	$(MKDIR_P) -m 0751 "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
3082
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
3083
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
3084
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
3085
endif WITH_QEMU
3086 3087 3088
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
3089
endif WITH_LXC
J
Jim Fehlig 已提交
3090 3091 3092
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
J
Jim Fehlig 已提交
3093
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
3094
endif WITH_LIBXL
3095 3096 3097
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
3098
endif WITH_UML
3099 3100
if WITH_XEN
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/xen"
3101
endif WITH_XEN
3102 3103
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
3104
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
3105
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
3106
	$(MKDIR_P) "$(DESTDIR)$(confdir)/qemu/networks/autostart"
3107
	$(INSTALL_DATA) $(srcdir)/network/default.xml \
3108
	  $(DESTDIR)$(confdir)/qemu/networks/default.xml
3109
	test -z "$(UUID)" || \
3110 3111 3112
	  { sed -e "s,</name>,</name>;  <uuid>$(UUID)</uuid>," \
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml | \
	      tr ";" "\n" > \
3113 3114 3115 3116
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml.t && \
	    cp $(DESTDIR)$(confdir)/qemu/networks/default.xml.t \
	      $(DESTDIR)$(confdir)/qemu/networks/default.xml && \
	    rm $(DESTDIR)$(confdir)/qemu/networks/default.xml.t; }
A
Andrea Bolognani 已提交
3117
	( cd $(DESTDIR)$(confdir)/qemu/networks/autostart && \
3118 3119
	  rm -f default.xml && \
	  $(LN_S) ../default.xml default.xml )
3120
endif WITH_NETWORK
3121

3122
uninstall-local:: uninstall-init uninstall-systemd
3123
if WITH_LIBVIRTD
3124
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
3125 3126
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
3127
endif WITH_LIBVIRTD
3128 3129
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
3130
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
3131
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
3132
if WITH_SANLOCK
3133
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
3134
endif WITH_SANLOCK
3135 3136 3137 3138 3139
if WITH_QEMU
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/qemu" ||:
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu" ||:
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/qemu" ||:
3140
endif WITH_QEMU
3141 3142 3143
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
3144
endif WITH_LXC
J
Jim Fehlig 已提交
3145 3146 3147
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
3148
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
3149
endif WITH_LIBXL
3150 3151 3152
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
3153
endif WITH_UML
3154 3155
if WITH_XEN
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/xen" ||:
3156
endif WITH_XEN
3157
if WITH_NETWORK
3158 3159 3160 3161
	rm -f $(DESTDIR)$(confdir)/qemu/networks/autostart/default.xml
	rm -f $(DESTDIR)$(confdir)/qemu/networks/default.xml
	rmdir "$(DESTDIR)$(confdir)/qemu/networks/autostart" || :
	rmdir "$(DESTDIR)$(confdir)/qemu/networks" || :
3162 3163
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/network" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/network" ||:
3164
endif WITH_NETWORK
3165
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
3166

3167 3168
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
3169
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED)