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

3 4 5
## Copyright (C) 2005-2011 Red Hat, Inc.
## See COPYING.LIB for the License of this software

6 7
# No libraries with the exception of LIBXML should be listed
# here. List them against the individual XXX_la_CFLAGS targets
8
# that actually use them. Also keep GETTEXT_CPPFLAGS at the end.
E
Eric Blake 已提交
9
INCLUDES =	-I$(top_srcdir)/gnulib/lib			\
10 11
		-I../gnulib/lib					\
		-I../include					\
12
		-I@top_srcdir@/src/util				\
13
		-I@top_srcdir@/include				\
14 15
		-DIN_LIBVIRT					\
		$(GETTEXT_CPPFLAGS)
E
Eric Blake 已提交
16 17

AM_CFLAGS =	$(DRIVER_MODULE_CFLAGS)				\
18 19
		$(LIBXML_CFLAGS)				\
		$(WARN_CFLAGS)					\
E
Eric Blake 已提交
20 21 22
		$(LOCK_CHECKING_CFLAGS)				\
		$(WIN32_EXTRA_CFLAGS)				\
		$(COVERAGE_CFLAGS)
23 24
AM_LDFLAGS = $(COVERAGE_LDFLAGS)

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

27
BUILT_SOURCES =
28 29 30
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
31

32 33 34
if WITH_NETWORK
UUID=$(shell uuidgen 2>/dev/null)
endif
35

C
Chris Lalancette 已提交
36
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la
37

38
moddir = $(libdir)/libvirt/connection-driver
39 40
mod_LTLIBRARIES =

A
Amy Griffis 已提交
41 42
confdir = $(sysconfdir)/libvirt
conf_DATA =
43

44 45 46 47 48 49
augeasdir = $(datadir)/augeas/lenses
augeas_DATA =

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

50 51
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
52
UTIL_SOURCES =							\
53
		util/authhelper.c util/authhelper.h		\
54
		util/bitmap.c util/bitmap.h			\
55 56
		util/bridge.c util/bridge.h			\
		util/buf.c util/buf.h				\
57
		util/command.c util/command.h			\
58 59 60
		util/conf.c util/conf.h				\
		util/cgroup.c util/cgroup.h			\
		util/event.c util/event.h			\
61
		util/event_poll.c util/event_poll.h		\
62
		util/hash.c util/hash.h				\
D
Daniel Veillard 已提交
63
		util/hooks.c util/hooks.h			\
64
		util/iptables.c util/iptables.h			\
G
Gerhard Stenzel 已提交
65
		util/ebtables.c util/ebtables.h			\
66
		util/dnsmasq.c util/dnsmasq.h                   \
67
		util/json.c util/json.h				\
68
		util/logging.c util/logging.h			\
69
		util/macvtap.c util/macvtap.h			\
70
		util/memory.c util/memory.h			\
71
		util/netlink.c util/netlink.h			\
72
		util/pci.c util/pci.h				\
73
		util/processinfo.c util/processinfo.h		\
74
		util/hostusb.c util/hostusb.h			\
75
		util/network.c util/network.h			\
76
		util/interface.c util/interface.h		\
77
		util/qparams.c util/qparams.h			\
M
Markus Groß 已提交
78
		util/sexpr.c util/sexpr.h			\
79
		util/stats_linux.c util/stats_linux.h		\
80
		util/storage_file.c util/storage_file.h		\
81
		util/sysinfo.c util/sysinfo.h			\
82 83 84
		util/threads.c util/threads.h			\
		util/threads-pthread.h				\
		util/threads-win32.h				\
H
Hu Tao 已提交
85
		util/threadpool.c util/threadpool.h		\
86 87
		util/uuid.c util/uuid.h				\
		util/util.c util/util.h				\
88
		util/viraudit.c util/viraudit.h			\
E
Eric Blake 已提交
89
		util/virfile.c util/virfile.h			\
90
		util/virpidfile.c util/virpidfile.h		\
91
		util/xml.c util/xml.h				\
L
Lai Jiangshan 已提交
92 93 94 95 96 97 98 99 100
		util/virterror.c util/virterror_internal.h	\
		util/virkeycode.c util/virkeycode.h		\
		util/virkeymaps.h

EXTRA_DIST += $(srcdir)/util/virkeymaps.h $(srcdir)/util/keymaps.csv \
		$(srcdir)/util/virkeycode-mapgen.py

$(srcdir)/util/virkeymaps.h: $(srcdir)/util/keymaps.csv	\
		$(srcdir)/util/virkeycode-mapgen.py
101
	$(AM_V_GEN)$(PYTHON) $(srcdir)/util/virkeycode-mapgen.py <$(srcdir)/util/keymaps.csv >$@
L
Lai Jiangshan 已提交
102 103

$(srcdir)/util/virkeycode.c: $(srcdir)/util/virkeycode.h $(srcdir)/util/virkeymaps.h
104 105

EXTRA_DIST += util/threads-pthread.c util/threads-win32.c
106

107
# Internal generic driver infrastructure
108
NODE_INFO_SOURCES = nodeinfo.h nodeinfo.c
109
DRIVER_SOURCES =						\
110
		driver.c driver.h				\
111 112
		internal.h					\
		datatypes.c datatypes.h				\
113
		fdstream.c fdstream.h                 \
114
		$(NODE_INFO_SOURCES)				\
115
		libvirt.c libvirt_internal.h			\
116 117
		locking/lock_manager.c locking/lock_manager.h   \
		locking/lock_driver.h 				\
118 119
		locking/lock_driver_nop.h locking/lock_driver_nop.c \
		locking/domain_lock.h locking/domain_lock.c
120

121 122 123
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

124

125
# XML configuration format handling sources
126 127
# Domain driver generic impl APIs
DOMAIN_CONF_SOURCES =						\
128
		conf/capabilities.c conf/capabilities.h		\
129
		conf/domain_conf.c conf/domain_conf.h		\
130
		conf/domain_audit.c conf/domain_audit.h		\
131
		conf/domain_nwfilter.c conf/domain_nwfilter.h
132 133 134

DOMAIN_EVENT_SOURCES =						\
		conf/domain_event.c conf/domain_event.h
135 136

# Network driver generic impl APIs
137
NETWORK_CONF_SOURCES =						\
138
		conf/network_conf.c conf/network_conf.h
139

140 141
# Network filter driver generic impl APIs
NWFILTER_PARAM_CONF_SOURCES =					\
142 143
		conf/nwfilter_params.c conf/nwfilter_params.h	\
		conf/nwfilter_conf.h
144 145 146 147 148

NWFILTER_CONF_SOURCES =					\
		$(NWFILTER_PARAM_CONF_SOURCES)			\
		conf/nwfilter_conf.c conf/nwfilter_conf.h

149
# Storage driver generic impl APIs
150 151
STORAGE_CONF_SOURCES =                                         \
		conf/storage_conf.h conf/storage_conf.c
152

153
# Interface driver generic impl APIs
154 155
INTERFACE_CONF_SOURCES =                                       \
		conf/interface_conf.c conf/interface_conf.h
156

157
# Secret driver generic impl APIs
158 159 160 161 162 163 164 165 166 167
SECRET_CONF_SOURCES =                                          \
		conf/secret_conf.h conf/secret_conf.c

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

ENCRYPTION_CONF_SOURCES =					\
		conf/storage_encryption_conf.c conf/storage_encryption_conf.h

168 169 170
CPU_CONF_SOURCES =						\
		conf/cpu_conf.c conf/cpu_conf.h

171 172 173 174
CONF_SOURCES =							\
		$(DOMAIN_CONF_SOURCES)				\
		$(DOMAIN_EVENT_SOURCES)				\
		$(NETWORK_CONF_SOURCES)				\
175
		$(NWFILTER_CONF_SOURCES)			\
176 177 178 179
		$(NODE_DEVICE_CONF_SOURCES)			\
		$(STORAGE_CONF_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
		$(INTERFACE_CONF_SOURCES)			\
180 181
		$(SECRET_CONF_SOURCES)				\
		$(CPU_CONF_SOURCES)
182

183
# The remote RPC driver, covering domains, storage, networks, etc
184
REMOTE_DRIVER_GENERATED = \
E
Eric Blake 已提交
185 186 187 188 189 190 191 192 193
		$(srcdir)/remote/remote_protocol.c		\
		$(srcdir)/remote/remote_protocol.h		\
		$(srcdir)/remote/remote_client_bodies.h		\
		$(srcdir)/remote/qemu_protocol.c		\
		$(srcdir)/remote/qemu_protocol.h		\
		$(srcdir)/remote/qemu_client_bodies.h

REMOTE_PROTOCOL = $(srcdir)/remote/remote_protocol.x
QEMU_PROTOCOL = $(srcdir)/remote/qemu_protocol.x
194
REMOTE_DRIVER_PROTOCOL = $(REMOTE_PROTOCOL) $(QEMU_PROTOCOL)
195

196 197 198
$(srcdir)/remote/remote_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(REMOTE_PROTOCOL)
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl \
199
	  -k remote $(REMOTE_PROTOCOL) > $@
200

201 202 203
$(srcdir)/remote/qemu_client_bodies.h: $(srcdir)/rpc/gendispatch.pl \
		$(QEMU_PROTOCOL)
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl \
204 205 206 207 208 209
	  -k qemu $(QEMU_PROTOCOL) > $@

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

211
EXTRA_DIST +=  $(REMOTE_DRIVER_PROTOCOL) \
212
		$(REMOTE_DRIVER_GENERATED)
213

214 215 216 217 218 219 220 221 222 223
# 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
224 225 226 227

# With pdwtags 1.8, --verbose output includes separators like these:
# /* 93 */
# /* <0> (null):0 */
228 229
# with the second line omitted for intrinsic types.
# Whereas with pdwtags 1.3, they look like this:
230
# /* <2d2> /usr/include/libio.h:180 */
231 232
# The alternation of the following regexps matches both cases.
r1 = /\* \d+ \*/
233 234
r2 = /\* <[[:xdigit:]]+> \S+:\d+ \*/

235
PDWTAGS = \
236
	$(AM_V_GEN)if (pdwtags --help) > /dev/null 2>&1; then		\
237
	  pdwtags --verbose $(<:.lo=.$(OBJEXT))				\
238
	    | perl -0777 -n						\
239 240 241
		-e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {'	\
		-e '  if ($$p =~ /^(struct|enum) (remote_|qemu_|virNet)/ ||' \
		-e '      $$p =~ /^enum {/) {' \
242 243 244
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;'			\
		-e '    $$p =~ s!\s+\n!\n!sg;'				\
		-e '    $$p =~ s!\s+$$!!;'				\
245
		-e '    $$p =~ s!\t!        !g;'			\
246 247 248 249
		-e '    print "$$p\n";'					\
		-e '    $$n++;'						\
		-e '  }'						\
		-e '}'							\
250 251 252
		-e 'BEGIN {'						\
		-e '  print "/* -*- c -*- */\n";'			\
		-e '}'							\
253
		-e 'END {'						\
254
		-e '  if ($$n < 3) {'					\
255 256 257 258 259 260
		-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 '}'							\
261
		> $(@F)-t;						\
262
	  case $$? in 8) exit 0;; 0) ;; *) exit 1;; esac;		\
263
	  diff -u $(@F)-t $@; st=$$?; rm -f $(@F)-t; exit $$st;		\
264
	else								\
265 266
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2;	\
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
267
	fi
268 269 270 271 272 273 274 275 276 277 278 279

PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
	$(srcdir)/qemu_protocol-structs \
	$(srcdir)/virnetprotocol-structs
if WITH_REMOTE
# 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.
$(srcdir)/%_protocol-structs: libvirt_driver_remote_la-%_protocol.lo
	$(PDWTAGS)
$(srcdir)/virnetprotocol-structs: libvirt_net_rpc_la-virnetprotocol.lo
	$(PDWTAGS)
280
else !WITH_REMOTE
281
# These generated files must live in git, because they cannot be re-generated
282
# when configured --without-remote.
283
$(PROTOCOL_STRUCTS):
284
endif
285 286
EXTRA_DIST += $(PROTOCOL_STRUCTS)
check-local: $(PROTOCOL_STRUCTS)
287

288 289
# Mock driver, covering domains, storage, networks, etc
TEST_DRIVER_SOURCES =						\
290
		test/test_driver.c test/test_driver.h
291 292 293

# Now the Hypervisor specific drivers
XEN_DRIVER_SOURCES =						\
294 295 296 297 298 299
		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
300
if WITH_XEN_INOTIFY
301
XEN_DRIVER_SOURCES += xen/xen_inotify.c xen/xen_inotify.h
302
endif
303 304

LXC_DRIVER_SOURCES =						\
305 306 307
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
		lxc/lxc_driver.c lxc/lxc_driver.h		\
308
		lxc/veth.c lxc/veth.h
309

310
LXC_CONTROLLER_SOURCES =					\
311 312 313
		lxc/lxc_conf.c lxc/lxc_conf.h			\
		lxc/lxc_container.c lxc/lxc_container.h		\
		lxc/lxc_controller.c				\
314
		lxc/veth.c lxc/veth.h
315

J
Jamie Strandboge 已提交
316 317 318
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES =			\
		security/virt-aa-helper.c

319 320 321
PHYP_DRIVER_SOURCES =						\
		phyp/phyp_driver.c phyp/phyp_driver.h

322
OPENVZ_DRIVER_SOURCES =						\
323 324
		openvz/openvz_conf.c openvz/openvz_conf.h	\
		openvz/openvz_driver.c openvz/openvz_driver.h
325

E
Eric Blake 已提交
326
VMWARE_DRIVER_SOURCES =						\
327
		vmware/vmware_driver.c vmware/vmware_driver.h	\
328 329
		vmware/vmware_conf.c vmware/vmware_conf.h

330
VBOX_DRIVER_SOURCES =						\
E
Eric Blake 已提交
331 332 333 334 335 336 337
	vbox/vbox_glue.c vbox/vbox_glue.h			\
	vbox/vbox_driver.c vbox/vbox_driver.h			\
	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			\
	vbox/vbox_V4_0.c vbox/vbox_CAPI_v4_0.h
338

E
Eric Blake 已提交
339
VBOX_DRIVER_EXTRA_DIST =					\
340 341 342
		vbox/vbox_tmpl.c vbox/README			\
		vbox/vbox_MSCOMGlue.c vbox/vbox_MSCOMGlue.h	\
		vbox/vbox_XPCOMCGlue.c vbox/vbox_XPCOMCGlue.h
343

344
QEMU_DRIVER_SOURCES =						\
345
		qemu/qemu_capabilities.c qemu/qemu_capabilities.h\
346
		qemu/qemu_command.c qemu/qemu_command.h		\
347
		qemu/qemu_domain.c qemu/qemu_domain.h		\
348
		qemu/qemu_cgroup.c qemu/qemu_cgroup.h		\
349
		qemu/qemu_hostdev.c qemu/qemu_hostdev.h		\
350
		qemu/qemu_hotplug.c qemu/qemu_hotplug.h		\
351
		qemu/qemu_conf.c qemu/qemu_conf.h		\
352 353
		qemu/qemu_process.c qemu/qemu_process.h		\
		qemu/qemu_migration.c qemu/qemu_migration.h	\
354
		qemu/qemu_monitor.c qemu/qemu_monitor.h		\
355 356
		qemu/qemu_monitor_text.c			\
		qemu/qemu_monitor_text.h			\
D
Daniel P. Berrange 已提交
357 358 359
		qemu/qemu_monitor_json.c			\
		qemu/qemu_monitor_json.h			\
		qemu/qemu_driver.c qemu/qemu_driver.h		\
E
Eric Blake 已提交
360
		qemu/qemu_bridge_filter.c			\
361
		qemu/qemu_bridge_filter.h
R
Richard W.M. Jones 已提交
362

363 364
XENAPI_DRIVER_SOURCES =								\
		xenapi/xenapi_driver.c xenapi/xenapi_driver.h	\
365
		xenapi/xenapi_driver_private.h					\
366 367
		xenapi/xenapi_utils.c xenapi/xenapi_utils.h

J
Jim Fehlig 已提交
368 369 370 371
LIBXL_DRIVER_SOURCES =						\
		libxl/libxl_conf.c libxl/libxl_conf.h		\
		libxl/libxl_driver.c libxl/libxl_driver.h

372
UML_DRIVER_SOURCES =						\
D
Daniel P. Berrange 已提交
373 374
		uml/uml_conf.c uml/uml_conf.h			\
		uml/uml_driver.c uml/uml_driver.h
375

376
ESX_DRIVER_SOURCES =						\
377
		esx/esx_private.h						\
378
		esx/esx_driver.c esx/esx_driver.h		\
379 380 381 382 383
		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		\
		esx/esx_device_monitor.c esx/esx_device_monitor.h		\
		esx/esx_secret_driver.c esx/esx_secret_driver.h		\
M
Matthias Bolte 已提交
384
		esx/esx_nwfilter_driver.c esx/esx_nwfilter_driver.h		\
385 386
		esx/esx_util.c esx/esx_util.h			\
		esx/esx_vi.c esx/esx_vi.h			\
387
		esx/esx_vi_methods.c esx/esx_vi_methods.h	\
388
		esx/esx_vi_types.c esx/esx_vi_types.h
389

390
ESX_DRIVER_GENERATED =							\
391 392
		esx/esx_vi_methods.generated.c				\
		esx/esx_vi_methods.generated.h				\
393
		esx/esx_vi_methods.generated.macro			\
394 395 396 397 398
		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			\
399 400 401
		esx/esx_vi_types.generated.typefromstring		\
		esx/esx_vi.generated.c					\
		esx/esx_vi.generated.h
402 403 404 405 406 407 408

ESX_DRIVER_EXTRA_DIST =						\
		esx/README						\
		esx/esx_vi_generator.input				\
		esx/esx_vi_generator.py					\
		$(ESX_DRIVER_GENERATED)

M
Matthias Bolte 已提交
409 410 411 412 413 414 415 416
HYPERV_DRIVER_SOURCES =								\
		hyperv/hyperv_private.h							\
		hyperv/hyperv_driver.c hyperv/hyperv_driver.h				\
		hyperv/hyperv_interface_driver.c hyperv/hyperv_interface_driver.h	\
		hyperv/hyperv_network_driver.c hyperv/hyperv_network_driver.h		\
		hyperv/hyperv_storage_driver.c hyperv/hyperv_storage_driver.h		\
		hyperv/hyperv_device_monitor.c hyperv/hyperv_device_monitor.h		\
		hyperv/hyperv_secret_driver.c hyperv/hyperv_secret_driver.h		\
417
		hyperv/hyperv_nwfilter_driver.c hyperv/hyperv_nwfilter_driver.h		\
418
		hyperv/hyperv_util.c hyperv/hyperv_util.h				\
419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434
		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)

435
NETWORK_DRIVER_SOURCES =					\
436
		network/bridge_driver.h network/bridge_driver.c
437

438
INTERFACE_DRIVER_SOURCES =					\
439
		interface/netcf_driver.h interface/netcf_driver.c
440

441
SECRET_DRIVER_SOURCES =						\
442
		secret/secret_driver.h secret/secret_driver.c
443

444
# Storage backend specific impls
445
STORAGE_DRIVER_SOURCES =					\
446 447
		storage/storage_driver.h storage/storage_driver.c		\
		storage/storage_backend.h storage/storage_backend.c
448 449

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

452
STORAGE_DRIVER_LVM_SOURCES =					\
453 454
		storage/storage_backend_logical.h			\
		storage/storage_backend_logical.c
455 456

STORAGE_DRIVER_ISCSI_SOURCES =					\
457
		storage/storage_backend_iscsi.h storage/storage_backend_iscsi.c
458

459
STORAGE_DRIVER_SCSI_SOURCES =					\
460
		storage/storage_backend_scsi.h storage/storage_backend_scsi.c
461

D
Dave Allan 已提交
462
STORAGE_DRIVER_MPATH_SOURCES =					\
463
		storage/storage_backend_mpath.h storage/storage_backend_mpath.c
D
Dave Allan 已提交
464

465
STORAGE_DRIVER_DISK_SOURCES =					\
466
		storage/storage_backend_disk.h storage/storage_backend_disk.c
467 468

STORAGE_HELPER_DISK_SOURCES =					\
469
		storage/parthelper.c
470

471 472 473
UTIL_IO_HELPER_SOURCES =					\
		util/iohelper.c

474 475 476
# Network filters
NWFILTER_DRIVER_SOURCES =					\
		nwfilter/nwfilter_driver.h nwfilter/nwfilter_driver.c	\
477 478 479
		nwfilter/nwfilter_gentech_driver.c			\
		nwfilter/nwfilter_gentech_driver.h			\
		nwfilter/nwfilter_ebiptables_driver.c			\
480 481 482
		nwfilter/nwfilter_ebiptables_driver.h			\
		nwfilter/nwfilter_learnipaddr.c				\
		nwfilter/nwfilter_learnipaddr.h
483

484

485
# Security framework and drivers for various models
486
SECURITY_DRIVER_SOURCES =					\
487 488 489 490 491
		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 \
		security/security_manager.h security/security_manager.c
492

493
SECURITY_DRIVER_SELINUX_SOURCES =				\
494
		security/security_selinux.h security/security_selinux.c
495

J
Jamie Strandboge 已提交
496 497 498
SECURITY_DRIVER_APPARMOR_SOURCES =				\
		security/security_apparmor.h security/security_apparmor.c

499

500
NODE_DEVICE_DRIVER_SOURCES =					\
501 502 503
		node_device/node_device_driver.c \
		node_device/node_device_driver.h \
		node_device/node_device_linux_sysfs.c
504 505

NODE_DEVICE_DRIVER_HAL_SOURCES =				\
506
		node_device/node_device_hal.c			\
507
		node_device/node_device_hal.h
508

509
NODE_DEVICE_DRIVER_UDEV_SOURCES =				\
D
Daniel Veillard 已提交
510 511
		node_device/node_device_udev.c			\
		node_device/node_device_udev.h
512

J
Jiri Denemark 已提交
513 514 515 516 517
CPU_SOURCES =							\
		cpu/cpu.h cpu/cpu.c				\
		cpu/cpu_generic.h cpu/cpu_generic.c		\
		cpu/cpu_x86.h cpu/cpu_x86.c cpu/cpu_x86_data.h	\
		cpu/cpu_map.h cpu/cpu_map.c
518

519 520 521
VMX_SOURCES =							\
		vmx/vmx.c vmx/vmx.h

522 523
XENXS_SOURCES =							\
		xenxs/xenxs_private.h				\
524 525
		xenxs/xen_sxpr.c xenxs/xen_sxpr.h		\
		xenxs/xen_xm.c xenxs/xen_xm.h
526

J
Jiri Denemark 已提交
527 528
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
529
EXTRA_DIST +=	$(pkgdata_DATA)
530

531 532 533 534 535 536
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

537
noinst_LTLIBRARIES = libvirt_util.la
538 539
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD = libvirt_util.la
540 541
libvirt_util_la_SOURCES =					\
		$(UTIL_SOURCES)
542
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
543
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS)
544
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
545
		$(LIB_PTHREAD) $(AUDIT_LIBS) $(DEVMAPPER_LIBS)
546

547 548

noinst_LTLIBRARIES += libvirt_conf.la
549
libvirt_la_BUILT_LIBADD += libvirt_conf.la
550
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
551 552
libvirt_conf_la_CFLAGS = $(AM_CFLAGS)
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
553

J
Jiri Denemark 已提交
554
noinst_LTLIBRARIES += libvirt_cpu.la
555
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
556
libvirt_cpu_la_CFLAGS = \
557
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
558 559
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

560 561 562 563 564 565 566 567
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
endif

568
if WITH_XENXS
569 570 571 572 573 574 575
noinst_LTLIBRARIES += libvirt_xenxs.la
libvirt_la_BUILT_LIBADD += libvirt_xenxs.la
libvirt_xenxs_la_CFLAGS = \
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_xenxs_la_SOURCES = $(XENXS_SOURCES)
endif

576

577
noinst_LTLIBRARIES += libvirt_driver.la
578
libvirt_la_BUILT_LIBADD += libvirt_driver.la
579
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
580

M
Matthias Bolte 已提交
581
libvirt_driver_la_CFLAGS = $(NUMACTL_CFLAGS) $(GNUTLS_CFLAGS) \
582
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
M
Matthias Bolte 已提交
583
libvirt_driver_la_LIBADD = $(NUMACTL_LIBS) $(GNUTLS_LIBS) $(DLOPEN_LIBS)
584

585
USED_SYM_FILES = libvirt_private.syms
586

587
if WITH_TEST
588 589 590
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_test.la
else
591
noinst_LTLIBRARIES += libvirt_driver_test.la
592
libvirt_la_BUILT_LIBADD += libvirt_driver_test.la
593
endif
594
libvirt_driver_test_la_CFLAGS = \
595
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
596
if WITH_DRIVER_MODULES
597
libvirt_driver_test_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
598
endif
599
libvirt_driver_test_la_SOURCES = $(TEST_DRIVER_SOURCES)
600 601 602
endif

if WITH_REMOTE
603 604 605
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_remote.la
else
606
noinst_LTLIBRARIES += libvirt_driver_remote.la
607
libvirt_la_BUILT_LIBADD += libvirt_driver_remote.la
608
endif
609 610
libvirt_driver_remote_la_CFLAGS =				\
		$(GNUTLS_CFLAGS)				\
E
Eric Blake 已提交
611
		$(XDR_CFLAGS)					\
612
		-I@top_srcdir@/src/conf				\
613
		-I@top_srcdir@/src/rpc				\
614 615
		$(AM_CFLAGS)
libvirt_driver_remote_la_LDFLAGS = $(AM_LDFLAGS)
616 617 618 619
libvirt_driver_remote_la_LIBADD = $(GNUTLS_LIBS) \
                libvirt-net-rpc-client.la \
                libvirt-net-rpc-server.la \
                libvirt-net-rpc.la
620
if WITH_DRIVER_MODULES
621
libvirt_driver_remote_la_LIBADD += ../gnulib/lib/libgnu.la
622 623
libvirt_driver_remote_la_LDFLAGS += -module -avoid-version
endif
624
libvirt_driver_remote_la_SOURCES = $(REMOTE_DRIVER_SOURCES)
625

C
Chris Lalancette 已提交
626

E
Eric Blake 已提交
627
$(srcdir)/remote/remote_driver.c: $(REMOTE_DRIVER_GENERATED)
C
Chris Lalancette 已提交
628

629 630
endif WITH_REMOTE

631
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
632
	$(AM_V_GEN)perl -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
E
Eric Blake 已提交
633
	       $< $@
634

635 636
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
	$(AM_V_GEN)perl -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
E
Eric Blake 已提交
637
	       $< $@
638

639
if WITH_XEN
640 641 642
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xen.la
else
643
noinst_LTLIBRARIES += libvirt_driver_xen.la
644
libvirt_la_BUILT_LIBADD += libvirt_driver_xen.la
645
endif
E
Eric Blake 已提交
646
libvirt_driver_xen_la_CFLAGS =					\
647
		$(XEN_CFLAGS)					\
648
		-I@top_srcdir@/src/conf				\
649
		-I@top_srcdir@/src/xenxs			\
650 651
		$(AM_CFLAGS)
libvirt_driver_xen_la_LDFLAGS = $(AM_LDFLAGS)
652
libvirt_driver_xen_la_LIBADD = $(XEN_LIBS)
653
if WITH_DRIVER_MODULES
654
libvirt_driver_xen_la_LIBADD += ../gnulib/lib/libgnu.la
655 656
libvirt_driver_xen_la_LDFLAGS += -module -avoid-version
endif
657
libvirt_driver_xen_la_SOURCES = $(XEN_DRIVER_SOURCES)
658 659
endif

660 661 662 663 664
if WITH_PHYP
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_phyp.la
else
noinst_LTLIBRARIES += libvirt_driver_phyp.la
665
libvirt_la_BUILT_LIBADD += libvirt_driver_phyp.la
666
endif
667
libvirt_driver_phyp_la_LIBADD = $(LIBSSH2_LIBS)
668 669 670 671
if WITH_DRIVER_MODULES
libvirt_driver_phyp_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_phyp_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
endif
672
libvirt_driver_phyp_la_CFLAGS = $(LIBSSH2_CFLAGS) \
673
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
674 675 676
libvirt_driver_phyp_la_SOURCES = $(PHYP_DRIVER_SOURCES)
endif

677
if WITH_OPENVZ
678 679 680
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_openvz.la
else
681
noinst_LTLIBRARIES += libvirt_driver_openvz.la
682
libvirt_la_BUILT_LIBADD += libvirt_driver_openvz.la
683
endif
684
libvirt_driver_openvz_la_CFLAGS = \
685
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
686
if WITH_DRIVER_MODULES
687
libvirt_driver_openvz_la_LIBADD = ../gnulib/lib/libgnu.la
688
libvirt_driver_openvz_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
689
endif
690
libvirt_driver_openvz_la_SOURCES = $(OPENVZ_DRIVER_SOURCES)
691 692
endif

693 694 695 696 697 698 699 700
if WITH_VMWARE
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vmware.la
else
noinst_LTLIBRARIES += libvirt_driver_vmware.la
libvirt_la_BUILT_LIBADD += libvirt_driver_vmware.la
endif
libvirt_driver_vmware_la_CFLAGS = \
E
Eric Blake 已提交
701
		-I@top_srcdir@/src/conf -I@top_srcdir@/src/vmx $(AM_CFLAGS)
702
if WITH_DRIVER_MODULES
703
libvirt_driver_vmware_la_LIBADD = ../gnulib/lib/libgnu.la
704 705 706 707 708
libvirt_driver_vmware_la_LDFLAGS = -module -avoid-version
endif
libvirt_driver_vmware_la_SOURCES = $(VMWARE_DRIVER_SOURCES)
endif

709 710 711 712 713
if WITH_VBOX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_vbox.la
else
noinst_LTLIBRARIES += libvirt_driver_vbox.la
714
libvirt_la_BUILT_LIBADD += libvirt_driver_vbox.la
715
endif
716
libvirt_driver_vbox_la_CFLAGS = \
717
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
718
libvirt_driver_vbox_la_LIBADD = $(DLOPEN_LIBS) $(MSCOM_LIBS)
719
if WITH_DRIVER_MODULES
720
libvirt_driver_vbox_la_LIBADD += ../gnulib/lib/libgnu.la
721
libvirt_driver_vbox_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
722 723 724 725
endif
libvirt_driver_vbox_la_SOURCES = $(VBOX_DRIVER_SOURCES)
endif

726 727 728 729 730
if WITH_XENAPI
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_xenapi.la
else
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
731
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
732 733
endif
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(LIBCURL_CFLAGS) \
734 735
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
736
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(LIBCURL_LIBS)
737
if WITH_DRIVER_MODULES
738
libvirt_driver_xenapi_la_LIBADD += ../gnulib/lib/libgnu.la
739 740 741 742 743
libvirt_driver_xenapi_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
endif

J
Jim Fehlig 已提交
744 745 746 747 748 749 750 751
if WITH_LIBXL
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_libxl.la
else
noinst_LTLIBRARIES += libvirt_driver_libxl.la
# Stateful, so linked to daemon instead
#libvirt_la_BUILT_LIBADD += libvirt_driver_libxl.la
endif
752 753 754 755
libvirt_driver_libxl_la_CFLAGS = $(LIBXL_CFLAGS)		\
		-I@top_srcdir@/src/conf				\
		-I@top_srcdir@/src/xenxs			\
		$(AM_CFLAGS)
J
Jim Fehlig 已提交
756
libvirt_driver_libxl_la_LDFLAGS = $(AM_LDFLAGS)
757
libvirt_driver_libxl_la_LIBADD = $(LIBXL_LIBS) libvirt_xenxs.la
J
Jim Fehlig 已提交
758 759 760 761 762 763 764
if WITH_DRIVER_MODULES
libvirt_driver_libxl_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_libxl_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_libxl_la_SOURCES = $(LIBXL_DRIVER_SOURCES)
endif

765
if WITH_QEMU
766 767 768
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_qemu.la
else
769
noinst_LTLIBRARIES += libvirt_driver_qemu.la
770
# Stateful, so linked to daemon instead
771
#libvirt_la_BUILT_LIBADD += libvirt_driver_qemu.la
772
endif
773
libvirt_driver_qemu_la_CFLAGS = $(NUMACTL_CFLAGS) \
774 775
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_qemu_la_LDFLAGS = $(AM_LDFLAGS)
776 777
libvirt_driver_qemu_la_LIBADD = $(NUMACTL_LIBS) \
				$(CAPNG_LIBS)
778
if WITH_DRIVER_MODULES
779
libvirt_driver_qemu_la_LIBADD += ../gnulib/lib/libgnu.la
780 781
libvirt_driver_qemu_la_LDFLAGS += -module -avoid-version
endif
782
libvirt_driver_qemu_la_SOURCES = $(QEMU_DRIVER_SOURCES)
783

A
Amy Griffis 已提交
784
conf_DATA += qemu/qemu.conf
785

786 787
augeas_DATA += qemu/libvirtd_qemu.aug
augeastest_DATA += qemu/test_libvirtd_qemu.aug
788

789
endif
790 791
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug \
		qemu/test_libvirtd_qemu.aug qemu/THREADS.txt
792

793 794

if WITH_LXC
795 796 797
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_lxc.la
else
798
noinst_LTLIBRARIES += libvirt_driver_lxc.la
799
# Stateful, so linked to daemon instead
800
#libvirt_la_BUILT_LIBADD += libvirt_driver_lxc.la
801
endif
802
libvirt_driver_lxc_la_CFLAGS = \
803
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
804 805 806 807 808 809 810
libvirt_driver_lxc_la_LIBADD = $(CAPNG_LIBS)
if WITH_SECDRIVER_SELINUX
libvirt_driver_lxc_la_LIBADD += $(SELINUX_LIBS)
endif
if WITH_SECDRIVER_APPARMOR
libvirt_driver_lxc_la_LIBADD += $(APPARMOR_LIBS)
endif
811
if WITH_DRIVER_MODULES
812
libvirt_driver_lxc_la_LIBADD += ../gnulib/lib/libgnu.la
813
libvirt_driver_lxc_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
814
endif
815
libvirt_driver_lxc_la_SOURCES = $(LXC_DRIVER_SOURCES)
A
Amy Griffis 已提交
816 817 818

conf_DATA += lxc/lxc.conf

819 820 821
augeas_DATA += lxc/libvirtd_lxc.aug
augeastest_DATA += lxc/test_libvirtd_lxc.aug

822
endif
823
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug
824

825
if WITH_UML
826 827 828
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_uml.la
else
829 830
noinst_LTLIBRARIES += libvirt_driver_uml.la
# Stateful, so linked to daemon instead
831
#libvirt_la_BUILT_LIBADD += libvirt_driver_uml.la
832
endif
833
libvirt_driver_uml_la_CFLAGS = $(NUMACTL_CFLAGS) \
834 835
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_uml_la_LDFLAGS = $(AM_LDFLAGS)
836
libvirt_driver_uml_la_LIBADD = $(NUMACTL_LIBS)
837
if WITH_DRIVER_MODULES
838
libvirt_driver_uml_la_LIBADD += ../gnulib/lib/libgnu.la
839 840
libvirt_driver_uml_la_LDFLAGS += -module -avoid-version
endif
841 842
libvirt_driver_uml_la_SOURCES = $(UML_DRIVER_SOURCES)
endif
843

D
Daniel Veillard 已提交
844

845
BUILT_SOURCES += $(ESX_DRIVER_GENERATED)
D
Daniel Veillard 已提交
846

847 848 849
$(ESX_DRIVER_GENERATED): $(srcdir)/esx/esx_vi_generator.input \
                         $(srcdir)/esx/esx_vi_generator.py
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/esx/esx_vi_generator.py
D
Daniel Veillard 已提交
850

851 852 853 854 855
if WITH_ESX
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_esx.la
else
noinst_LTLIBRARIES += libvirt_driver_esx.la
856
libvirt_la_BUILT_LIBADD += libvirt_driver_esx.la
857
endif
858
libvirt_driver_esx_la_CFLAGS = $(LIBCURL_CFLAGS) \
859
		-I@top_srcdir@/src/conf -I@top_srcdir@/src/vmx $(AM_CFLAGS)
860
libvirt_driver_esx_la_LDFLAGS = $(AM_LDFLAGS)
861
libvirt_driver_esx_la_LIBADD = $(LIBCURL_LIBS)
862
if WITH_DRIVER_MODULES
863
libvirt_driver_esx_la_LIBADD += ../gnulib/lib/libgnu.la
864 865 866
libvirt_driver_esx_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_esx_la_SOURCES = $(ESX_DRIVER_SOURCES)
867
libvirt_driver_esx_la_DEPENDENCIES = $(ESX_DRIVER_GENERATED)
868 869
endif

M
Matthias Bolte 已提交
870

871 872 873 874 875 876
BUILT_SOURCES += $(HYPERV_DRIVER_GENERATED)

$(HYPERV_DRIVER_GENERATED): $(srcdir)/hyperv/hyperv_wmi_generator.input \
                            $(srcdir)/hyperv/hyperv_wmi_generator.py
	$(AM_V_GEN)srcdir=$(srcdir) $(PYTHON) $(srcdir)/hyperv/hyperv_wmi_generator.py

M
Matthias Bolte 已提交
877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894
if WITH_HYPERV
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_hyperv.la
else
noinst_LTLIBRARIES += libvirt_driver_hyperv.la
libvirt_la_BUILT_LIBADD += libvirt_driver_hyperv.la
endif
libvirt_driver_hyperv_la_CFLAGS = $(OPENWSMAN_CFLAGS) \
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_hyperv_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_hyperv_la_LIBADD = $(OPENWSMAN_LIBS)
if WITH_DRIVER_MODULES
libvirt_driver_hyperv_la_LIBADD += ../gnulib/lib/libgnu.la
libvirt_driver_hyperv_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_hyperv_la_SOURCES = $(HYPERV_DRIVER_SOURCES)
endif

895
if WITH_NETWORK
896 897 898
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_network.la
else
899
noinst_LTLIBRARIES += libvirt_driver_network.la
900
# Stateful, so linked to daemon instead
901
#libvirt_la_BUILT_LIBADD += libvirt_driver_network.la
902
endif
903
libvirt_driver_network_la_CFLAGS = \
904
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
905
if WITH_DRIVER_MODULES
906
libvirt_driver_network_la_LIBADD = ../gnulib/lib/libgnu.la
907
libvirt_driver_network_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
908
endif
909
libvirt_driver_network_la_SOURCES = $(NETWORK_DRIVER_SOURCES)
910
endif
911 912 913 914
EXTRA_DIST += network/default.xml



915

D
Daniel Veillard 已提交
916
if WITH_NETCF
917 918 919 920
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_interface.la
else
noinst_LTLIBRARIES += libvirt_driver_interface.la
921
libvirt_la_BUILT_LIBADD += libvirt_driver_interface.la
922
endif
923
libvirt_driver_interface_la_CFLAGS = $(NETCF_CFLAGS) \
924 925
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS)
926
libvirt_driver_interface_la_LIBADD = $(NETCF_LIBS)
927
if WITH_DRIVER_MODULES
928
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
929 930 931
libvirt_driver_interface_la_LDFLAGS += -module -avoid-version
endif
libvirt_driver_interface_la_SOURCES = $(INTERFACE_DRIVER_SOURCES)
D
Daniel Veillard 已提交
932 933
endif

D
Daniel P. Berrange 已提交
934
if WITH_SECRETS
935 936 937 938
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_secret.la
else
noinst_LTLIBRARIES += libvirt_driver_secret.la
939
# Stateful, so linked to daemon instead
940
#libvirt_la_BUILT_LIBADD += libvirt_driver_secret.la
941
endif
942
libvirt_driver_secret_la_CFLAGS = \
943
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
944
if WITH_DRIVER_MODULES
945
libvirt_driver_secret_la_LIBADD = ../gnulib/lib/libgnu.la
946
libvirt_driver_secret_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
947 948
endif
libvirt_driver_secret_la_SOURCES = $(SECRET_DRIVER_SOURCES)
D
Daniel P. Berrange 已提交
949
endif
950

951 952
# Needed to keep automake quiet about conditionals
libvirt_driver_storage_la_SOURCES =
953
libvirt_driver_storage_la_CFLAGS = \
954 955
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_storage_la_LDFLAGS = $(AM_LDFLAGS)
956
libvirt_driver_storage_la_LIBADD =
957 958 959 960 961 962
if WITH_SECDRIVER_SELINUX
libvirt_driver_storage_la_LIBADD += $(SELINUX_LIBS)
endif
if WITH_SECDRIVER_APPARMOR
libvirt_driver_storage_la_LIBADD += $(APPARMOR_LIBS)
endif
O
Osier Yang 已提交
963 964 965 966
if HAVE_LIBBLKID
libvirt_driver_storage_la_CFLAGS += $(BLKID_CFLAGS)
libvirt_driver_storage_la_LIBADD += $(BLKID_LIBS)
endif
967
if WITH_STORAGE_DIR
968 969 970
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_storage.la
else
971
noinst_LTLIBRARIES += libvirt_driver_storage.la
972
# Stateful, so linked to daemon instead
973
#libvirt_la_BUILT_LIBADD += libvirt_driver_storage.la
974 975
endif
if WITH_DRIVER_MODULES
976
libvirt_driver_storage_la_LIBADD += ../gnulib/lib/libgnu.la
977
libvirt_driver_storage_la_LDFLAGS += -module -avoid-version
978
endif
979 980
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SOURCES)
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_FS_SOURCES)
981 982
endif

983
if WITH_STORAGE_LVM
984
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_LVM_SOURCES)
985 986
endif

987
if WITH_STORAGE_ISCSI
988
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_ISCSI_SOURCES)
989 990
endif

991 992 993 994
if WITH_STORAGE_SCSI
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_SCSI_SOURCES)
endif

D
Dave Allan 已提交
995 996 997
if WITH_STORAGE_MPATH
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_MPATH_SOURCES)
libvirt_driver_storage_la_CFLAGS += $(DEVMAPPER_CFLAGS)
998
libvirt_driver_storage_la_LIBADD += $(DEVMAPPER_LIBS)
D
Dave Allan 已提交
999 1000
endif

1001
if WITH_STORAGE_DISK
1002
libvirt_driver_storage_la_SOURCES += $(STORAGE_DRIVER_DISK_SOURCES)
1003
endif
1004

1005 1006 1007 1008 1009 1010 1011
if WITH_NODE_DEVICES
# Needed to keep automake quiet about conditionals
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nodedev.la
else
noinst_LTLIBRARIES += libvirt_driver_nodedev.la
# Stateful, so linked to daemon instead
1012
#libvirt_la_BUILT_LIBADD += libvirt_driver_nodedev.la
1013 1014 1015
endif
libvirt_driver_nodedev_la_SOURCES = $(NODE_DEVICE_DRIVER_SOURCES)

1016
libvirt_driver_nodedev_la_CFLAGS = \
1017 1018
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nodedev_la_LDFLAGS = $(AM_LDFLAGS)
1019 1020 1021 1022
libvirt_driver_nodedev_la_LIBADD =       \
		libvirt_util.la          \
		../gnulib/lib/libgnu.la

1023 1024 1025
if HAVE_HAL
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_HAL_SOURCES)
libvirt_driver_nodedev_la_CFLAGS += $(HAL_CFLAGS)
1026
libvirt_driver_nodedev_la_LIBADD += $(HAL_LIBS)
1027
endif
1028 1029
if HAVE_UDEV
libvirt_driver_nodedev_la_SOURCES += $(NODE_DEVICE_DRIVER_UDEV_SOURCES)
1030
libvirt_driver_nodedev_la_CFLAGS += $(UDEV_CFLAGS) $(PCIACCESS_CFLAGS)
1031
libvirt_driver_nodedev_la_LIBADD += $(UDEV_LIBS) $(PCIACCESS_LIBS)
1032
endif
1033 1034

if WITH_DRIVER_MODULES
1035
libvirt_driver_nodedev_la_LIBADD += ../gnulib/lib/libgnu.la
1036 1037 1038 1039 1040
libvirt_driver_nodedev_la_LDFLAGS += -module -avoid-version
endif
endif


1041 1042 1043 1044
if WITH_NWFILTER
if WITH_DRIVER_MODULES
mod_LTLIBRARIES += libvirt_driver_nwfilter.la
else
1045
libvirt_la_BUILT_LIBADD += libvirt_driver_nwfilter.la
1046 1047
noinst_LTLIBRARIES += libvirt_driver_nwfilter.la
endif
1048
libvirt_driver_nwfilter_la_CFLAGS = $(LIBPCAP_CFLAGS) \
1049 1050
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_nwfilter_la_LDFLAGS = $(LD_AMFLAGS)
1051
libvirt_driver_nwfilter_la_LIBADD = $(LIBPCAP_LIBS)
1052
if WITH_DRIVER_MODULES
1053
libvirt_driver_nwfilter_la_LIBADD += ../gnulib/lib/libgnu.la
1054
libvirt_driver_nwfilter_la_LDFLAGS += -module -avoid-version
1055 1056 1057 1058 1059
endif
libvirt_driver_nwfilter_la_SOURCES = $(NWFILTER_DRIVER_SOURCES)
endif


1060 1061
libvirt_driver_security_la_SOURCES = $(SECURITY_DRIVER_SOURCES)
noinst_LTLIBRARIES += libvirt_driver_security.la
1062
libvirt_la_BUILT_LIBADD += libvirt_driver_security.la
1063
libvirt_driver_security_la_CFLAGS = \
1064 1065
		-I@top_srcdir@/src/conf $(AM_CFLAGS)
libvirt_driver_security_la_LDFLAGS = $(AM_LDFLAGS)
1066
libvirt_driver_security_la_LIBADD =
1067 1068
if WITH_SECDRIVER_SELINUX
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
J
Jim Fehlig 已提交
1069
libvirt_driver_security_la_CFLAGS += $(SELINUX_CFLAGS)
1070
libvirt_driver_security_la_LIBADD += $(SELINUX_LIBS)
1071
endif
J
Jamie Strandboge 已提交
1072 1073 1074
if WITH_SECDRIVER_APPARMOR
libvirt_driver_security_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_driver_security_la_CFLAGS += $(APPARMOR_CFLAGS)
1075
libvirt_driver_security_la_LIBADD += $(APPARMOR_LIBS)
J
Jamie Strandboge 已提交
1076
endif
1077

1078 1079 1080 1081 1082 1083 1084
# Add all conditional sources just in case...
EXTRA_DIST +=							\
		$(TEST_DRIVER_SOURCES)				\
		$(REMOTE_DRIVER_SOURCES)			\
		$(XEN_DRIVER_SOURCES)				\
		$(QEMU_DRIVER_SOURCES)				\
		$(LXC_DRIVER_SOURCES)				\
1085
		$(UML_DRIVER_SOURCES)				\
1086
		$(OPENVZ_DRIVER_SOURCES)			\
1087
		$(PHYP_DRIVER_SOURCES)				\
1088
		$(VBOX_DRIVER_SOURCES)				\
1089
		$(XENAPI_DRIVER_SOURCES)			\
J
Jim Fehlig 已提交
1090
		$(LIBXL_DRIVER_SOURCES)			\
1091
		$(ESX_DRIVER_SOURCES)				\
1092
		$(ESX_DRIVER_EXTRA_DIST)			\
M
Matthias Bolte 已提交
1093
		$(HYPERV_DRIVER_SOURCES)			\
1094
		$(HYPERV_DRIVER_EXTRA_DIST)			\
1095
		$(NETWORK_DRIVER_SOURCES)			\
1096
		$(INTERFACE_DRIVER_SOURCES)			\
1097 1098 1099 1100
		$(STORAGE_DRIVER_SOURCES)			\
		$(STORAGE_DRIVER_FS_SOURCES)			\
		$(STORAGE_DRIVER_LVM_SOURCES)			\
		$(STORAGE_DRIVER_ISCSI_SOURCES)			\
1101
		$(STORAGE_DRIVER_SCSI_SOURCES)			\
D
Dave Allan 已提交
1102
		$(STORAGE_DRIVER_MPATH_SOURCES)			\
1103 1104 1105
		$(STORAGE_DRIVER_DISK_SOURCES)			\
		$(NODE_DEVICE_DRIVER_SOURCES)			\
		$(NODE_DEVICE_DRIVER_HAL_SOURCES)		\
1106
		$(NODE_DEVICE_DRIVER_UDEV_SOURCES)		\
1107
		$(NWFILTER_DRIVER_SOURCES)			\
1108
		$(SECURITY_DRIVER_SELINUX_SOURCES)		\
J
Jamie Strandboge 已提交
1109
		$(SECURITY_DRIVER_APPARMOR_SOURCES)		\
D
Daniel P. Berrange 已提交
1110
		$(SECRET_DRIVER_SOURCES)			\
1111
		$(VBOX_DRIVER_EXTRA_DIST)			\
1112 1113
		$(VMWARE_DRIVER_SOURCES)			\
		$(XENXS_SOURCES)
1114

1115 1116 1117 1118
check-local: augeas-check

.PHONY: augeas-check
augeas-check:
1119
if WITH_QEMU
1120
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1121 1122 1123 1124 1125
	    '$(AUGPARSE)' -I $(srcdir)/qemu \
	    $(srcdir)/qemu/test_libvirtd_qemu.aug; \
	fi
endif
if WITH_LXC
1126
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1127 1128 1129 1130
	    '$(AUGPARSE)' -I $(srcdir)/lxc \
	    $(srcdir)/lxc/test_libvirtd_lxc.aug; \
	fi
endif
1131 1132 1133 1134
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking \
	    $(srcdir)/locking/test_libvirt_sanlock.aug; \
	fi
1135

1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154
#
# 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.
#

1155
if WITH_DRIVER_MODULES
1156
USED_SYM_FILES += libvirt_driver_modules.syms
1157
endif
1158 1159

if WITH_BRIDGE
1160
USED_SYM_FILES += libvirt_bridge.syms
1161
endif
1162 1163

if WITH_LINUX
1164
USED_SYM_FILES += libvirt_linux.syms
1165
endif
1166

1167
if WITH_MACVTAP
1168
USED_SYM_FILES += libvirt_macvtap.syms
1169
endif
1170

1171 1172 1173 1174
if WITH_LIBVIRTD
USED_SYM_FILES += libvirt_daemon.syms
endif

1175 1176 1177 1178
if WITH_NWFILTER
USED_SYM_FILES += libvirt_nwfilter.syms
endif

1179 1180 1181 1182
if WITH_VMX
USED_SYM_FILES += libvirt_vmx.syms
endif

1183 1184 1185 1186
if WITH_XENXS
USED_SYM_FILES += libvirt_xenxs.syms
endif

1187 1188 1189 1190
if WITH_NETWORK
USED_SYM_FILES += libvirt_network.syms
endif

1191 1192 1193 1194 1195
EXTRA_DIST += \
  libvirt_public.syms		\
  libvirt_private.syms		\
  libvirt_driver_modules.syms	\
  libvirt_bridge.syms		\
1196
  libvirt_linux.syms		\
1197
  libvirt_macvtap.syms		\
1198
  libvirt_daemon.syms		\
M
Matthias Bolte 已提交
1199
  libvirt_nwfilter.syms	\
1200
  libvirt_vmx.syms		\
1201 1202
  libvirt_xenxs.syms		\
  libvirt_network.syms
1203

1204 1205 1206
GENERATED_SYM_FILES = libvirt.syms libvirt.def libvirt_qemu.def

BUILT_SOURCES += $(GENERATED_SYM_FILES)
1207

1208 1209
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(top_builddir)/config.status
1210 1211 1212 1213 1214 1215
	$(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 && \
1216
	for file in $(USED_SYM_FILES); do \
1217
	    cat $(srcdir)/$$file >>$@-tmp; \
1218 1219 1220
	done && \
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1221
	mv $@-tmp libvirt.syms
1222

1223 1224 1225
libvirt.def: libvirt.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1226
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1227 1228 1229
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt.def

1230 1231 1232
libvirt_qemu.def: $(srcdir)/libvirt_qemu.syms
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
E
Eric Blake 已提交
1233
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d; s/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1234 1235 1236
	chmod a-w $@-tmp && \
	mv $@-tmp libvirt_qemu.def

1237 1238
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
1239
libvirt_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
E
Eric Blake 已提交
1240
		     -version-info $(LIBVIRT_VERSION_INFO) \
1241
		    $(LIBVIRT_NODELETE) $(AM_LDFLAGS) \
1242
		    $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS)
1243
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1244
libvirt_la_LIBADD += $(LIBXML_LIBS) \
1245
		    $(DRIVER_MODULE_LIBS) \
1246
		    $(CYGWIN_EXTRA_LIBADD)
1247
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1248 1249 1250 1251 1252 1253
# 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)
1254

1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283
if WITH_DTRACE
libvirt_la_LIBADD += probes.o
nodist_libvirt_la_SOURCES = probes.h

BUILT_SOURCES += probes.h libvirt_probes.stp libvirt_functions.stp

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

probes.h: probes.d
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

probes.o: probes.d
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

RPC_PROBE_FILES = $(srcdir)/rpc/virnetprotocol.x $(srcdir)/remote/remote_protocol.x $(srcdir)/remote/qemu_protocol.x

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

libvirt_probes.stp: probes.d $(srcdir)/dtrace2systemtap.pl
	$(AM_V_GEN)perl -w $(srcdir)/dtrace2systemtap.pl $< > $@

CLEANFILES += probes.h probes.o libvirt_functions.stp libvirt_probes.stp
endif

EXTRA_DIST += probes.d


1284 1285 1286
# Create an automake "convenience library" version of libvirt_la,
# just for testing, since the test harness requires access to internal
# bits and pieces that we don't want to make publicly accessible.
1287
noinst_LTLIBRARIES += libvirt_test.la
1288

1289
# Remove version script from convenience library
1290 1291
test_LDFLAGS =						\
  $$(echo '$(libvirt_la_LDFLAGS)'			\
1292
     |sed 's!$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE)!!'	\
1293
     |sed 's!-version-info $(LIBVIRT_VERSION_INFO)!!')
1294 1295 1296 1297

# Just like the above, but with a slightly different set of public symbols.
libvirt_test_la_SOURCES = $(libvirt_la_SOURCES)
libvirt_test_la_LIBADD = $(libvirt_la_LIBADD)
1298 1299
libvirt_test_la_LDFLAGS = $(test_LDFLAGS) $(AM_LDFLAGS)
libvirt_test_la_CFLAGS = $(AM_CFLAGS)
1300

C
Chris Lalancette 已提交
1301 1302
libvirt_qemu_la_SOURCES = libvirt-qemu.c
libvirt_qemu_la_LDFLAGS = $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
E
Eric Blake 已提交
1303 1304
			  -version-info $(LIBVIRT_VERSION_INFO) \
			  $(CYGWIN_EXTRA_LDFLAGS) $(MINGW_EXTRA_LDFLAGS) \
1305 1306
			  $(AM_LDFLAGS)
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1307
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
E
Eric Blake 已提交
1308
EXTRA_DIST += $(LIBVIRT_QEMU_SYMBOL_FILE)
1309

1310 1311 1312 1313 1314 1315 1316
if HAVE_SANLOCK
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES = sanlock.la

sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
sanlock_la_CFLAGS = $(AM_CLFAGS)
sanlock_la_LDFLAGS = -module -avoid-version
1317
sanlock_la_LIBADD = -lsanlock_client \
1318 1319 1320 1321 1322 1323
		../gnulib/lib/libgnu.la

augeas_DATA += locking/libvirt_sanlock.aug
augeastest_DATA += locking/test_libvirt_sanlock.aug

$(builddir)/locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
1324
	$(AM_V_GEN)$(MKDIR_P) locking ; \
1325 1326 1327 1328 1329 1330
	cp $< $@

if WITH_QEMU
conf_DATA += locking/qemu-sanlock.conf
BUILT_SOURCES += locking/qemu-sanlock.conf
endif
1331
else
1332
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
1333
endif
1334 1335 1336
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
	locking/test_libvirt_sanlock.aug
1337

1338 1339 1340 1341
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
1342

1343 1344 1345 1346 1347
EXTRA_DIST += \
       rpc/virnetprotocol.x \
       rpc/gendispatch.pl \
       rpc/genprotocol.pl

E
Eric Blake 已提交
1348 1349 1350
VIR_NET_RPC_GENERATED = \
	$(srcdir)/rpc/virnetprotocol.h \
	$(srcdir)/rpc/virnetprotocol.c
1351

1352
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
1353

1354
libvirt_net_rpc_la_SOURCES = \
1355
	rpc/virnetmessage.h rpc/virnetmessage.c \
1356
	rpc/virnetprotocol.h rpc/virnetprotocol.c \
1357 1358
	rpc/virnetsocket.h rpc/virnetsocket.c \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
1359 1360 1361 1362 1363 1364 1365
if HAVE_SASL
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
else
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
endif
1366
libvirt_net_rpc_la_CFLAGS = \
1367
			$(GNUTLS_CFLAGS) \
1368
			$(SASL_CFLAGS) \
1369
			$(XDR_CFLAGS) \
1370 1371
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
1372
			$(GNUTLS_LIBS) \
1373
			$(SASL_LIBS) \
1374 1375 1376 1377 1378 1379
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1380 1381 1382 1383 1384
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
	rpc/virnetserver.h rpc/virnetserver.c
1385 1386 1387 1388 1389 1390 1391
if HAVE_AVAHI
libvirt_net_rpc_server_la_SOURCES += \
	rpc/virnetservermdns.h rpc/virnetservermdns.c
else
EXTRA_DIST += \
	rpc/virnetservermdns.h rpc/virnetservermdns.c
endif
1392
libvirt_net_rpc_server_la_CFLAGS = \
1393
			$(AVAHI_CFLAGS) \
E
Eric Blake 已提交
1394
			$(XDR_CFLAGS) \
J
Jim Fehlig 已提交
1395 1396
			$(AM_CFLAGS) \
			$(POLKIT_CFLAGS)
1397 1398
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
1399
			$(AVAHI_LIBS) \
J
Jim Fehlig 已提交
1400
			$(POLKIT_LIBS) \
1401 1402 1403 1404 1405
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1406 1407 1408 1409 1410
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 已提交
1411 1412
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
1413 1414 1415 1416 1417 1418
libvirt_net_rpc_client_la_LDFLAGS = \
			$(AM_LDFLAGS) \
			$(CYGWIN_EXTRA_LDFLAGS) \
			$(MINGW_EXTRA_LDFLAGS)
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
1419

1420 1421
libexec_PROGRAMS =

1422
if WITH_LIBVIRTD
1423 1424 1425 1426 1427 1428 1429 1430
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
libvirt_iohelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
libvirt_iohelper_LDADD =		\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la

libvirt_iohelper_CFLAGS = $(AM_CFLAGS)
1431
endif
1432

1433
if WITH_STORAGE_DISK
R
Richard W.M. Jones 已提交
1434
if WITH_LIBVIRTD
1435
libexec_PROGRAMS += libvirt_parthelper
1436

1437
libvirt_parthelper_SOURCES = $(STORAGE_HELPER_DISK_SOURCES)
1438
libvirt_parthelper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
1439 1440 1441 1442 1443
libvirt_parthelper_LDADD =		\
		$(LIBPARTED_LIBS)	\
		libvirt_util.la		\
		../gnulib/lib/libgnu.la

1444
libvirt_parthelper_CFLAGS = $(LIBPARTED_CFLAGS) $(AM_CFLAGS)
R
Richard W.M. Jones 已提交
1445
endif
1446
endif
1447 1448
EXTRA_DIST += $(STORAGE_HELPER_DISK_SOURCES)

1449

1450 1451 1452 1453 1454 1455
if WITH_LXC
if WITH_LIBVIRTD
libexec_PROGRAMS += libvirt_lxc

libvirt_lxc_SOURCES =						\
		$(LXC_CONTROLLER_SOURCES)			\
1456
		$(UTIL_SOURCES)					\
1457 1458
		$(NODE_INFO_SOURCES)				\
		$(ENCRYPTION_CONF_SOURCES)			\
1459
		$(DOMAIN_CONF_SOURCES)				\
1460 1461
		$(CPU_CONF_SOURCES)				\
		$(NWFILTER_PARAM_CONF_SOURCES)
1462
libvirt_lxc_LDFLAGS = $(WARN_CFLAGS) $(AM_LDFLAGS)
1463 1464
libvirt_lxc_LDADD = $(CAPNG_LIBS) $(YAJL_LIBS) \
		$(LIBXML_LIBS) $(NUMACTL_LIBS) $(LIB_PTHREAD) \
1465 1466
		$(LIBNL_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
		../gnulib/lib/libgnu.la
1467 1468 1469
if WITH_DTRACE
libvirt_lxc_LDADD += probes.o
endif
1470 1471 1472 1473
libvirt_lxc_CFLAGS =				\
		$(LIBPARTED_CFLAGS)		\
		$(NUMACTL_CFLAGS)		\
		$(CAPNG_CFLAGS)			\
1474
		$(YAJL_CFLAGS)			\
1475
		$(AUDIT_CFLAGS)			\
1476 1477
		-I@top_srcdir@/src/conf		\
		$(AM_CFLAGS)
1478 1479 1480 1481
endif
endif
EXTRA_DIST += $(LXC_CONTROLLER_SOURCES)

J
Jamie Strandboge 已提交
1482 1483 1484 1485 1486 1487
if WITH_SECDRIVER_APPARMOR
if WITH_LIBVIRTD
libexec_PROGRAMS += virt-aa-helper

virt_aa_helper_SOURCES = $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1488
virt_aa_helper_LDFLAGS = $(WARN_LDFLAGS) $(AM_LDFLAGS)
J
Jamie Strandboge 已提交
1489
virt_aa_helper_LDADD =						\
1490
		$(LIBXML_LIBS)					\
C
Chris Lalancette 已提交
1491 1492 1493
		libvirt_conf.la					\
		libvirt_util.la					\
		../gnulib/lib/libgnu.la
J
Jamie Strandboge 已提交
1494 1495
virt_aa_helper_CFLAGS =						\
		-I@top_srcdir@/src/conf				\
1496 1497
		-I@top_srcdir@/src/security			\
		$(AM_CFLAGS)
J
Jamie Strandboge 已提交
1498 1499 1500 1501
endif
endif
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

1502
install-data-local:
1503 1504 1505
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
1506 1507 1508
if HAVE_SANLOCK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
endif
1509 1510 1511
if WITH_QEMU
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/qemu"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/qemu"
1512
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt/qemu"
1513
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/qemu"
1514 1515 1516 1517 1518
endif
if WITH_LXC
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lxc"
endif
J
Jim Fehlig 已提交
1519 1520 1521
if WITH_LIBXL
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/libxl"
J
Jim Fehlig 已提交
1522
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/log/libvirt/libxl"
J
Jim Fehlig 已提交
1523
endif
1524 1525 1526 1527 1528 1529
if WITH_UML
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/uml"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/uml"
endif
if WITH_NETWORK
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/network"
1530
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/dnsmasq"
1531
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/network"
1532 1533 1534 1535
	$(MKDIR_P) "$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart"
	$(INSTALL_DATA) $(srcdir)/network/default.xml \
	  $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml
	test -z "$(UUID)" || \
E
Eric Blake 已提交
1536 1537 1538 1539 1540 1541
	  { sed -e "s,</name>,</name>\n  <uuid>$(UUID)</uuid>," \
	      $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml > \
	      $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml.t && \
	    cp $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml.t \
	      $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml && \
	    rm $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml.t; }
1542
	test -e $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml || \
E
Eric Blake 已提交
1543
	   ln -s ../default.xml \
1544 1545 1546 1547 1548 1549 1550
	    $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
endif

uninstall-local::
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
1551 1552 1553
if HAVE_SANLOCK
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
endif
1554 1555 1556 1557 1558
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" ||:
1559
endif
1560 1561 1562 1563
if WITH_LXC
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lxc" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lxc" ||:
endif
J
Jim Fehlig 已提交
1564 1565 1566
if WITH_LIBXL
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/libxl" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/libxl" ||:
J
Jim Fehlig 已提交
1567
	rmdir "$(DESTDIR)$(localstatedir)/log/libvirt/libxl" ||:
J
Jim Fehlig 已提交
1568
endif
1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581
if WITH_UML
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/uml" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/uml" ||:
endif
if WITH_NETWORK
	rm -f $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart/default.xml
	rm -f $(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/default.xml
	rmdir "$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks/autostart" || :
	rmdir "$(DESTDIR)$(sysconfdir)/libvirt/qemu/networks" || :
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/network" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/network" ||:
endif
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
1582

1583 1584 1585
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
MAINTAINERCLEANFILES += $(REMOTE_DRIVER_GENERATED) $(VIR_NET_RPC_GENERATED) $(ESX_DRIVER_GENERATED)