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

3
## Copyright (C) 2005-2018 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 30 31 32 33 34 35 36 37
INCLUDES =	-I../gnulib/lib \
		-I$(top_srcdir)/gnulib/lib \
		-I$(top_srcdir) \
		-I../include \
		-I$(top_srcdir)/include \
		-I$(srcdir)/util \
		-I./util \
		-DIN_LIBVIRT \
		-Dabs_topbuilddir="\"$(abs_topbuilddir)\"" \
		-Dabs_topsrcdir="\"$(abs_topsrcdir)\"" \
38
		$(GETTEXT_CPPFLAGS)
E
Eric Blake 已提交
39

40 41
WARN_CFLAGS += $(STRICT_FRAME_LIMIT_CFLAGS)

42 43 44 45
AM_CFLAGS =	$(LIBXML_CFLAGS) \
		$(WARN_CFLAGS) \
		$(LOCK_CHECKING_CFLAGS) \
		$(WIN32_EXTRA_CFLAGS) \
E
Eric Blake 已提交
46
		$(COVERAGE_CFLAGS)
47 48 49 50 51 52
AM_LDFLAGS =	$(DRIVER_MODULES_LDFLAGS) \
		$(COVERAGE_LDFLAGS) \
		$(RELRO_LDFLAGS) \
		$(NO_INDIRECT_LDFLAGS) \
		$(CYGWIN_EXTRA_LDFLAGS) \
		$(MINGW_EXTRA_LDFLAGS) \
G
Guido Günther 已提交
53
		$(NULL)
54
AM_LDFLAGS_MOD = -module -avoid-version $(AM_LDFLAGS)
55
AM_LDFLAGS_MOD_NOUNDEF = $(AM_LDFLAGS_MOD) $(NO_UNDEFINED_LDFLAGS)
56

57 58
POD2MAN = pod2man -c "Virtualization Support" -r "$(PACKAGE)-$(VERSION)"

59
EXTRA_DIST = $(conf_DATA)
60

61
BUILT_SOURCES =
62 63 64
CLEANFILES =
DISTCLEANFILES =
MAINTAINERCLEANFILES =
65
nodist_conf_DATA =
66 67 68 69 70
DRIVER_SOURCE_FILES =
STATEFUL_DRIVER_SOURCE_FILES =
noinst_LTLIBRARIES =
mod_LTLIBRARIES =
INSTALL_DATA_DIRS =
71
libvirt_la_BUILT_LIBADD =
72 73 74
SYM_FILES =
USED_SYM_FILES =
GENERATED_SYM_FILES =
75 76 77 78 79 80 81
augeas_DATA =
augeastest_DATA =
conf_DATA =
AUGEAS_DIRS =
if WITH_DTRACE_PROBES
tapset_DATA =
endif WITH_DTRACE_PROBES
82 83
libexec_PROGRAMS =
RPC_PROBE_FILES =
84 85 86 87 88 89 90 91 92
LOGROTATE_FILES_IN =
PODFILES =
MANINFILES =
SYSTEMD_UNIT_FILES_IN =
SYSVINIT_FILES_IN =
UPSTART_FILES =
SYSCONF_FILES =
sbin_PROGRAMS =
man8_MANS =
93 94

include uml/Makefile.inc.am
95
include phyp/Makefile.inc.am
96
include test/Makefile.inc.am
97
include esx/Makefile.inc.am
98
include hyperv/Makefile.inc.am
99
include vmware/Makefile.inc.am
100
include vbox/Makefile.inc.am
101
include openvz/Makefile.inc.am
102
include qemu/Makefile.inc.am
103
include bhyve/Makefile.inc.am
104
include xenconfig/Makefile.inc.am
105
include libxl/Makefile.inc.am
106
include xen/Makefile.inc.am
107
include xenapi/Makefile.inc.am
108
include vz/Makefile.inc.am
109
include lxc/Makefile.inc.am
110
include interface/Makefile.inc.am
111
include network/Makefile.inc.am
112
include nwfilter/Makefile.inc.am
113
include node_device/Makefile.inc.am
114
include secret/Makefile.inc.am
115
include storage/Makefile.inc.am
116
include remote/Makefile.inc.am
117

118

E
Eric Blake 已提交
119 120
THREAD_LIBS = $(LIB_PTHREAD) $(LTLIBMULTITHREAD)

J
Jim Fehlig 已提交
121
SECDRIVER_CFLAGS =
122 123
SECDRIVER_LIBS =
if WITH_SECDRIVER_SELINUX
J
Jim Fehlig 已提交
124
SECDRIVER_CFLAGS += $(SELINUX_CFLAGS)
125
SECDRIVER_LIBS += $(SELINUX_LIBS)
126
endif WITH_SECDRIVER_SELINUX
127
if WITH_SECDRIVER_APPARMOR
J
Jim Fehlig 已提交
128
SECDRIVER_CFLAGS += $(APPARMOR_CFLAGS)
129
SECDRIVER_LIBS += $(APPARMOR_LIBS)
130
endif WITH_SECDRIVER_APPARMOR
131

132

133
lib_LTLIBRARIES = libvirt.la libvirt-qemu.la libvirt-lxc.la
134

135
moddir = $(libdir)/libvirt/connection-driver
136

A
Amy Griffis 已提交
137
confdir = $(sysconfdir)/libvirt
138
conf_DATA += libvirt.conf libvirt-admin.conf
139

140 141 142 143
augeasdir = $(datadir)/augeas/lenses

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

144 145
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
146 147 148 149 150 151 152 153 154 155 156 157
UTIL_SOURCES = \
		util/viralloc.c util/viralloc.h \
		util/virarch.h util/virarch.c \
		util/viratomic.h util/viratomic.c \
		util/viraudit.c util/viraudit.h \
		util/virauth.c util/virauth.h \
		util/virauthconfig.c util/virauthconfig.h \
		util/virbitmap.c util/virbitmap.h \
		util/virbuffer.c util/virbuffer.h \
		util/virperf.c util/virperf.h \
		util/vircgroup.c util/vircgroup.h util/vircgrouppriv.h \
		util/virclosecallbacks.c util/virclosecallbacks.h \
158
		util/vircommand.c util/vircommand.h util/vircommandpriv.h \
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
		util/virconf.c util/virconf.h \
		util/vircrypto.c util/vircrypto.h \
		util/virdbus.c util/virdbus.h util/virdbuspriv.h \
		util/virdnsmasq.c util/virdnsmasq.h \
		util/virebtables.c util/virebtables.h \
		util/virendian.h \
		util/virerror.c util/virerror.h \
		util/virevent.c util/virevent.h \
		util/vireventpoll.c util/vireventpoll.h \
		util/virfcp.c util/virfcp.h \
		util/virfdstream.c util/virfdstream.h \
		util/virfile.c util/virfile.h \
		util/virfirewall.c util/virfirewall.h \
		util/virfirewallpriv.h \
		util/virfirmware.c util/virfirmware.h \
		util/virgettext.c util/virgettext.h \
		util/virgic.c util/virgic.h \
		util/virhash.c util/virhash.h \
		util/virhashcode.c util/virhashcode.h \
		util/virhook.c util/virhook.h \
179
		util/virhostcpu.c util/virhostcpu.h util/virhostcpupriv.h \
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
		util/virhostdev.c util/virhostdev.h \
		util/virhostmem.c util/virhostmem.h \
		util/viridentity.c util/viridentity.h \
		util/virinitctl.c util/virinitctl.h \
		util/viriptables.c util/viriptables.h \
		util/viriscsi.c util/viriscsi.h \
		util/virjson.c util/virjson.h \
		util/virkeycode.c util/virkeycode.h \
		util/virkeyfile.c util/virkeyfile.h \
		util/virlease.c util/virlease.h \
		util/virlockspace.c util/virlockspace.h \
		util/virlog.c util/virlog.h \
		util/virmacaddr.h util/virmacaddr.c \
		util/virmacmap.h util/virmacmap.c \
		util/virnetdev.h util/virnetdev.c \
195
		util/virnetdevbandwidth.h util/virnetdevbandwidth.c \
196 197 198
		util/virnetdevbridge.h util/virnetdevbridge.c \
		util/virnetdevip.h util/virnetdevip.c \
		util/virnetdevmacvlan.c util/virnetdevmacvlan.h \
199
		util/virnetdevmidonet.h util/virnetdevmidonet.c \
A
Ansis Atteka 已提交
200
		util/virnetdevopenvswitch.h util/virnetdevopenvswitch.c \
201 202 203
		util/virnetdevtap.h util/virnetdevtap.c \
		util/virnetdevveth.h util/virnetdevveth.c \
		util/virnetdevvlan.h util/virnetdevvlan.c \
204
		util/virnetdevvportprofile.h util/virnetdevvportprofile.c \
205 206 207 208 209 210 211 212
		util/virnetlink.c util/virnetlink.h \
		util/virnodesuspend.c util/virnodesuspend.h \
		util/virkmod.c util/virkmod.h \
		util/virnuma.c util/virnuma.h \
		util/virobject.c util/virobject.h \
		util/virpci.c util/virpci.h \
		util/virpidfile.c util/virpidfile.h \
		util/virpolkit.c util/virpolkit.h \
D
Daniel P. Berrange 已提交
213
		util/virportallocator.c util/virportallocator.h \
214 215 216 217
		util/virprobe.h \
		util/virprocess.c util/virprocess.h \
		util/virqemu.c util/virqemu.h \
		util/virrandom.h util/virrandom.c \
218
		util/virresctrl.h util/virresctrl.c util/virresctrlpriv.h \
219 220 221 222 223 224 225 226
		util/virrotatingfile.h util/virrotatingfile.c \
		util/virscsi.c util/virscsi.h \
		util/virscsihost.c util/virscsihost.h \
		util/virscsivhost.c util/virscsivhost.h \
		util/virseclabel.c util/virseclabel.h \
		util/virsecret.c util/virsecret.h \
		util/virsexpr.c util/virsexpr.h \
		util/virsocketaddr.h util/virsocketaddr.c \
227
		util/virstorageencryption.c util/virstorageencryption.h \
228
		util/virstoragefile.c util/virstoragefile.h \
229
		util/virstoragefilebackend.c util/virstoragefilebackend.h \
230 231
		util/virstring.h util/virstring.c \
		util/virsysinfo.c util/virsysinfo.h util/virsysinfopriv.h \
232
		util/virsystemd.c util/virsystemd.h util/virsystemdpriv.h \
233 234 235 236 237 238 239 240 241 242 243 244 245 246 247
		util/virthread.c util/virthread.h \
		util/virthreadjob.c util/virthreadjob.h \
		util/virthreadpool.c util/virthreadpool.h \
		util/virtime.h util/virtime.c \
		util/virtpm.h util/virtpm.c \
		util/virtypedparam.c util/virtypedparam.h \
		util/virusb.c util/virusb.h \
		util/viruri.h util/viruri.c \
		util/virutil.c util/virutil.h \
		util/viruuid.c util/viruuid.h \
		util/virvhba.c util/virvhba.h \
		util/virxdrdefs.h \
		util/virxml.c util/virxml.h \
		util/virmdev.c util/virmdev.h \
		util/virfilecache.c util/virfilecache.h \
248
		$(NULL)
L
Lai Jiangshan 已提交
249

250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
EXTRA_DIST += \
	$(srcdir)/keycodemapdb/data/keymaps.csv \
	$(srcdir)/keycodemapdb/tools/keymap-gen \
	$(NULL)

util/virkeycodetable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeycodetable_,,' \
					      -e 's,\.h,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
			--lang stdc --varname virKeyCodeTable_$$NAME code-table \
			$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \
		mv $@-tmp $@ || rm -f $@-tmp

util/virkeynametable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeynametable_,,' \
					      -e 's,\.h,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
			--lang stdc --varname virKeyNameTable_$$NAME name-table \
			$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \
		mv $@-tmp $@ || rm -f $@-tmp

275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304
util/virkeycode-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeycode-,,' \
					      -e 's,\.pod,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
		--lang pod --varname "Key code values for $$NAME" code-docs \
		$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
			$@-tmp && mv $@-tmp $@ || rm $@-tmp

util/virkeyname-%.pod: $(srcdir)/keycodemapdb/data/keymaps.csv \
			$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
	$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeyname-,,' \
					      -e 's,\.pod,,'` && \
		$(MKDIR_P) util/ && \
		$(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
		--lang pod --varname "Key name values for $$NAME" name-docs \
		$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > \
			$@-tmp && mv $@-tmp $@ || rm $@-tmp

util/virkey%.7: util/virkey%.pod
	$(AM_V_GEN)$(POD2MAN) --section=7 $< $@-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 $@

305
KEYCODES = linux osx atset1 atset2 atset3 xtkbd usb win32 rfb
306 307 308 309 310 311 312
KEYNAMES = linux osx win32

KEYTABLES = \
	$(KEYCODES:%=util/virkeycodetable_%.h) \
	$(KEYNAMES:%=util/virkeynametable_%.h) \
	$(NULL)

313 314 315 316 317 318
KEYPODS = $(KEYCODES:%=util/virkeycode-%.pod) \
	  $(KEYNAMES:%=util/virkeyname-%.pod)
KEYMANS = $(KEYPODS:%.pod=%.7)

man7_MANS = $(KEYMANS)

319 320 321
UTIL_SOURCES += $(KEYTABLES)
BUILT_SOURCES += $(KEYTABLES)
MAINTAINERCLEANFILES += $(KEYTABLES)
322
CLEANFILES += $(KEYMANS) $(KEYPODS)
L
Lai Jiangshan 已提交
323

324
# Internal generic driver infrastructure
O
Osier Yang 已提交
325
DATATYPES_SOURCES = datatypes.h datatypes.c
326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354
DRIVER_SOURCES = \
		driver.c driver.h \
		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 \
		internal.h \
		$(DATATYPES_SOURCES) \
		libvirt.c libvirt_internal.h \
		libvirt-domain.c \
		libvirt-domain-snapshot.c \
		libvirt-host.c \
		libvirt-interface.c \
		libvirt-network.c \
		libvirt-nodedev.c \
		libvirt-nwfilter.c \
		libvirt-secret.c \
		libvirt-storage.c \
		libvirt-stream.c \
		locking/lock_manager.c locking/lock_manager.h \
		locking/lock_driver.h \
		locking/lock_driver_nop.h locking/lock_driver_nop.c \
		locking/domain_lock.h locking/domain_lock.c \
		logging/log_manager.c logging/log_manager.h \
355
		$(NULL)
356

357 358 359
LOCK_DRIVER_SANLOCK_SOURCES = \
		locking/lock_driver_sanlock.c

360 361
LOCK_DRIVER_SANLOCK_HELPER_SOURCES = \
		locking/sanlock_helper.c
362

363
LOCK_PROTOCOL_GENERATED = \
E
Eric Blake 已提交
364 365
		locking/lock_protocol.h \
		locking/lock_protocol.c \
366 367
		$(NULL)

368 369 370
LOCK_PROTOCOL = $(srcdir)/locking/lock_protocol.x
EXTRA_DIST += $(LOCK_PROTOCOL) \
	$(LOCK_PROTOCOL_GENERATED)
371 372 373
BUILT_SOURCES += $(LOCK_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(LOCK_PROTOCOL_GENERATED)

374
LOCK_DAEMON_GENERATED = \
375
		locking/lock_daemon_dispatch_stubs.h
376 377 378
		$(NULL)

BUILT_SOURCES += $(LOCK_DAEMON_GENERATED)
379
EXTRA_DIST += $(LOCK_DAEMON_GENERATED)
380 381
MAINTAINERCLEANFILES += $(LOCK_DAEMON_GENERATED)

382 383
LOCK_DRIVER_LOCKD_SOURCES = \
		locking/lock_driver_lockd.c \
384
		locking/lock_driver_lockd.h \
385 386
		$(NULL)

387 388 389 390 391
LOCK_DAEMON_SOURCES = \
		locking/lock_daemon.h \
		locking/lock_daemon.c \
		locking/lock_daemon_config.h \
		locking/lock_daemon_config.c \
392 393
		locking/lock_daemon_dispatch.c \
		locking/lock_daemon_dispatch.h \
394 395
		$(NULL)

E
Eric Blake 已提交
396
locking/lock_daemon_dispatch_stubs.h: $(LOCK_PROTOCOL) \
397
		$(srcdir)/rpc/gendispatch.pl Makefile.am
398 399
	$(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	    virLockSpaceProtocol VIR_LOCK_SPACE_PROTOCOL \
E
Eric Blake 已提交
400
	    $(LOCK_PROTOCOL) > $(srcdir)/locking/lock_daemon_dispatch_stubs.h
401 402


403 404 405 406 407
LOG_PROTOCOL_GENERATED = \
		logging/log_protocol.h \
		logging/log_protocol.c \
		$(NULL)

408 409
DRIVER_SOURCES += $(LOG_PROTOCOL_GENERATED)

410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430
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 \
431 432
		logging/log_handler.c \
		logging/log_handler.h \
433 434 435 436 437 438 439 440 441
		$(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


442
NETDEV_CONF_SOURCES = \
443
		conf/netdev_bandwidth_conf.h conf/netdev_bandwidth_conf.c \
444 445
		conf/netdev_vport_profile_conf.h conf/netdev_vport_profile_conf.c \
		conf/netdev_vlan_conf.h conf/netdev_vlan_conf.c
446

447
# XML configuration format handling sources
448
# Domain driver generic impl APIs
449 450 451 452 453 454 455 456 457 458
DOMAIN_CONF_SOURCES = \
		conf/capabilities.c conf/capabilities.h \
		conf/domain_addr.c conf/domain_addr.h \
		conf/domain_capabilities.c conf/domain_capabilities.h \
		conf/domain_conf.c conf/domain_conf.h \
		conf/domain_audit.c conf/domain_audit.h \
		conf/domain_nwfilter.c conf/domain_nwfilter.h \
		conf/virsavecookie.c conf/virsavecookie.h \
		conf/snapshot_conf.c conf/snapshot_conf.h \
		conf/numa_conf.c conf/numa_conf.h \
459
		conf/virdomainobjlist.c conf/virdomainobjlist.h
460

461
OBJECT_EVENT_SOURCES = \
462 463 464
		conf/object_event.c conf/object_event.h \
		conf/object_event_private.h

465
DOMAIN_EVENT_SOURCES = \
466
		conf/domain_event.c conf/domain_event.h
467

468
NETWORK_EVENT_SOURCES = \
469 470
		conf/network_event.c conf/network_event.h

471
STORAGE_EVENT_SOURCES = \
472 473
                conf/storage_event.c conf/storage_event.h

474
NODE_DEVICE_EVENT_SOURCES = \
475 476
                conf/node_device_event.c conf/node_device_event.h

477
SECRET_EVENT_SOURCES = \
478 479
                conf/secret_event.c conf/secret_event.h

480
# Network driver generic impl APIs
481 482 483
NETWORK_CONF_SOURCES = \
		conf/network_conf.c conf/network_conf.h \
		conf/virnetworkobj.c conf/virnetworkobj.h \
484
		conf/networkcommon_conf.c conf/networkcommon_conf.h
485

486
# Network filter driver generic impl APIs
487 488 489 490 491
NWFILTER_PARAM_CONF_SOURCES = \
		conf/nwfilter_params.c conf/nwfilter_params.h \
		conf/nwfilter_ipaddrmap.c \
		conf/nwfilter_ipaddrmap.h \
		conf/nwfilter_conf.h \
J
John Ferlan 已提交
492
		conf/virnwfilterobj.h
493

494 495 496
NWFILTER_CONF_SOURCES = \
		$(NWFILTER_PARAM_CONF_SOURCES) \
		conf/nwfilter_conf.c conf/nwfilter_conf.h \
J
John Ferlan 已提交
497
		conf/virnwfilterobj.c conf/virnwfilterobj.h
498

499
# Storage driver generic impl APIs
500
STORAGE_CONF_SOURCES = \
501
		conf/storage_adapter_conf.h conf/storage_adapter_conf.c \
502
		conf/storage_conf.h conf/storage_conf.c \
J
John Ferlan 已提交
503
		conf/virstorageobj.h conf/virstorageobj.c
504

505
# Interface driver generic impl APIs
506 507
INTERFACE_CONF_SOURCES = \
		conf/interface_conf.c conf/interface_conf.h \
J
John Ferlan 已提交
508
		conf/virinterfaceobj.c conf/virinterfaceobj.h
509

510
# Secret driver generic impl APIs
511 512
SECRET_CONF_SOURCES = \
		conf/secret_conf.h conf/secret_conf.c \
513
		conf/virsecretobj.h conf/virsecretobj.c
514 515

# Network driver generic impl APIs
516
NODE_DEVICE_CONF_SOURCES = \
J
John Ferlan 已提交
517 518
		conf/node_device_conf.c conf/node_device_conf.h \
		conf/virnodedeviceobj.c conf/virnodedeviceobj.h
519

520
CPU_CONF_SOURCES = \
521
		conf/cpu_conf.c conf/cpu_conf.h
522

523
# Safe character device handling helper APIs
524
CHRDEV_CONF_SOURCES = \
525
		conf/virchrdev.c conf/virchrdev.h
526

527
# Device Helper APIs
528
DEVICE_CONF_SOURCES = \
529 530
		conf/device_conf.c conf/device_conf.h

531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547
CONF_SOURCES = \
		$(NETDEV_CONF_SOURCES) \
		$(DOMAIN_CONF_SOURCES) \
		$(OBJECT_EVENT_SOURCES) \
		$(DOMAIN_EVENT_SOURCES) \
		$(NETWORK_EVENT_SOURCES) \
		$(STORAGE_EVENT_SOURCES) \
		$(NODE_DEVICE_EVENT_SOURCES) \
		$(SECRET_EVENT_SOURCES) \
		$(NETWORK_CONF_SOURCES) \
		$(NWFILTER_CONF_SOURCES) \
		$(NODE_DEVICE_CONF_SOURCES) \
		$(STORAGE_CONF_SOURCES) \
		$(INTERFACE_CONF_SOURCES) \
		$(SECRET_CONF_SOURCES) \
		$(CPU_CONF_SOURCES) \
		$(CHRDEV_CONF_SOURCES) \
548
		$(DEVICE_CONF_SOURCES)
549

550

M
Martin Kletzander 已提交
551 552 553
ADMIN_PROTOCOL = $(srcdir)/admin/admin_protocol.x

ADMIN_PROTOCOL_GENERATED = \
554 555
		admin/admin_protocol.c \
		admin/admin_protocol.h \
556 557 558
		admin/admin_client.h \
		admin/admin_server_dispatch_stubs.h \
		$(NULL)
559 560 561 562 563 564

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 已提交
565

566 567 568 569 570 571
admin/admin_server_dispatch_stubs.h: $(srcdir)/rpc/gendispatch.pl \
		$(ADMIN_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
	  admin ADMIN $(ADMIN_PROTOCOL) \
	  > $(srcdir)/admin/admin_server_dispatch_stubs.h

M
Martin Kletzander 已提交
572 573 574 575
EXTRA_DIST += $(ADMIN_PROTOCOL) $(ADMIN_PROTOCOL_GENERATED)
BUILT_SOURCES += $(ADMIN_PROTOCOL_GENERATED)
MAINTAINERCLEANFILES += $(ADMIN_PROTOCOL_GENERATED)

576 577 578 579 580 581 582 583 584 585
# 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
586 587 588 589

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

600
# Depending on configure options, libtool creates one or both of
E
Eric Blake 已提交
601 602
# remote/{,.libs/}libvirt_driver_remote_la-remote_protocol.o.  We want
# the newest of the two, in case configure options changed and a stale
603
# file is left around from an earlier build.
604 605 606
# The pdwtags output is completely different when building with clang
# which causes the comparison against expected output to fail, so skip
# if using clang as CC.
607
PDWTAGS = \
A
Andrea Bolognani 已提交
608
	$(AM_V_GEN)if $(CC) -v 2>&1 | grep -q clang; then \
609 610 611 612
	   echo 'WARNING: skipping pdwtags test with Clang' >&2; \
	   exit 0; \
	fi; \
	if (pdwtags --help) > /dev/null 2>&1; then \
613 614 615 616 617 618 619
	  o=`ls -t $(<:.lo=.$(OBJEXT)) \
	     $(subst /,/.libs/,$(<:.lo=.$(OBJEXT))) \
	    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; \
	  if test ! -s $(@F)-t1 && test -s $(@F)-t2; then \
	    rm -rf $(@F)-t?; \
620
	    echo 'WARNING: pdwtags appears broken; skipping the $@ test' >&2;\
621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638
	  else \
	    $(PERL) -0777 -n \
		-e 'foreach my $$p (split m!\n*(?:$(r1)|$(r2))\n!) {' \
		-e '  if ($$p =~ /^(struct|enum) $(struct_prefix)/ ||' \
		-e '      $$p =~ /^enum \{/) {' \
		-e '    $$p =~ s!\t*/\*.*?\*/!!sg;' \
		-e '    $$p =~ s!\s+\n!\n!sg;' \
		-e '    $$p =~ s!\s+$$!!;' \
		-e '    $$p =~ s!\t!        !g;' \
		-e '    print "$$p\n";' \
		-e '    $$n++;' \
		-e '  }' \
		-e '}' \
		-e 'BEGIN {' \
		-e '  print "/* -*- c -*- */\n";' \
		-e '}' \
		-e 'END {' \
		-e '  if ($$n < 1) {' \
639
		-e '    warn "WARNING: your pdwtags program is too old\n";' \
640
		-e '    warn "WARNING: skipping the $@ test\n";' \
641
		-e '    warn "WARNING: install dwarves-1.3 or newer\n";' \
642 643 644 645
		-e '    exit 8;' \
		-e '  }' \
		-e '}' \
		< $(@F)-t1 > $(@F)-t3; \
646
	    case $$? in 8) rm -f $(@F)-t?; exit 0;; 0) ;; *) exit 1;; esac;\
647 648 649 650
	    diff -u $(@)s $(@F)-t3; st=$$?; rm -f $(@F)-t?; exit $$st; \
	  fi; \
	else \
	  echo 'WARNING: you lack pdwtags; skipping the $@ test' >&2; \
651
	  echo 'WARNING: install the dwarves package to get pdwtags' >&2; \
652
	fi
653

654
# .libs/libvirt.so is built by libtool as a side-effect of the Makefile
655 656
# rule for libvirt.la.  However, checking symbols relies on Linux ELF layout
if WITH_LINUX
657 658 659
check-symfile: libvirt.syms libvirt.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt.syms \
	  .libs/libvirt.so
660 661 662
check-admin-symfile: libvirt_admin.syms libvirt-admin.la
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symfile.pl libvirt_admin.syms \
	  .libs/libvirt-admin.so
663
else ! WITH_LINUX
664
check-symfile:
665
check-admin-symfile:
666
endif ! WITH_LINUX
667
check-symsorting:
668
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
669
		$(srcdir) $(SYM_FILES)
670 671 672
check-admin-symsorting:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-symsorting.pl \
		$(srcdir) $(ADMIN_SYM_FILES)
J
Jiri Denemark 已提交
673
EXTRA_DIST += check-symfile.pl check-symsorting.pl
674

E
Eric Blake 已提交
675
# Keep this list synced with RPC_PROBE_FILES
676 677
PROTOCOL_STRUCTS = \
	$(srcdir)/remote_protocol-structs \
678
	$(srcdir)/lxc_protocol-structs \
679
	$(srcdir)/qemu_protocol-structs \
J
Jiri Denemark 已提交
680
	$(srcdir)/virnetprotocol-structs \
E
Eric Blake 已提交
681 682 683
	$(srcdir)/virkeepaliveprotocol-structs \
	$(srcdir)/lxc_monitor_protocol-structs \
	$(srcdir)/lock_protocol-structs \
M
Martin Kletzander 已提交
684
	$(srcdir)/admin_protocol-structs \
E
Eric Blake 已提交
685 686
	$(NULL)

687
if WITH_REMOTE
688 689
check-protocol: $(PROTOCOL_STRUCTS) $(PROTOCOL_STRUCTS:structs=struct)

690 691
# 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.
692 693 694
$(srcdir)/remote_protocol-struct \
	$(srcdir)/qemu_protocol-struct \
	$(srcdir)/lxc_protocol-struct: \
E
Eric Blake 已提交
695
		$(srcdir)/%-struct: remote/libvirt_driver_remote_la-%.lo
696
	$(PDWTAGS)
697
$(srcdir)/virnetprotocol-struct $(srcdir)/virkeepaliveprotocol-struct: \
E
Eric Blake 已提交
698
		$(srcdir)/%-struct: rpc/libvirt_net_rpc_la-%.lo
699
	$(PDWTAGS)
E
Eric Blake 已提交
700
$(srcdir)/lxc_monitor_protocol-struct: \
E
Eric Blake 已提交
701
		$(srcdir)/%-struct: lxc/libvirt_driver_lxc_impl_la-%.lo
E
Eric Blake 已提交
702 703
	$(PDWTAGS)
$(srcdir)/lock_protocol-struct: \
E
Eric Blake 已提交
704
		$(srcdir)/%-struct: locking/lockd_la-%.lo
E
Eric Blake 已提交
705
	$(PDWTAGS)
M
Martin Kletzander 已提交
706 707 708
$(srcdir)/admin_protocol-struct: \
		$(srcdir)/%-struct: admin/libvirt_admin_la-%.lo
	$(PDWTAGS)
E
Eric Blake 已提交
709

710
else !WITH_REMOTE
711 712 713
# The $(PROTOCOL_STRUCTS) files must live in git, because they cannot be
# re-generated when configured --without-remote.
check-protocol:
714
endif !WITH_REMOTE
J
Jiri Denemark 已提交
715
EXTRA_DIST += $(PROTOCOL_STRUCTS)
716 717 718 719 720

check-drivername:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-drivername.pl \
		$(srcdir)/driver.h \
		$(srcdir)/libvirt_public.syms \
721
		$(srcdir)/libvirt_admin_public.syms \
722 723 724 725 726
		$(srcdir)/libvirt_qemu.syms \
		$(srcdir)/libvirt_lxc.syms

EXTRA_DIST += check-drivername.pl

727 728
check-driverimpls:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-driverimpls.pl \
729
		$(filter /%,$(DRIVER_SOURCE_FILES)) \
E
Eric Blake 已提交
730 731 732
		$(filter $(srcdir)/%,$(DRIVER_SOURCE_FILES)) \
		$(addprefix $(srcdir)/,$(filter-out $(srcdir)/%, \
			$(filter-out /%,$(DRIVER_SOURCE_FILES))))
733

734 735
check-aclrules:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclrules.pl \
E
Eric Blake 已提交
736
		$(REMOTE_PROTOCOL) \
737
		$(addprefix $(srcdir)/,$(filter-out /%,$(STATEFUL_DRIVER_SOURCE_FILES)))
738

739 740 741 742 743
check-aclperms:
	$(AM_V_GEN)$(PERL) $(srcdir)/check-aclperms.pl \
		$(srcdir)/access/viraccessperm.h \
		$(srcdir)/access/viraccessperm.c

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

746
check-local: check-protocol check-symfile check-symsorting \
747
	check-drivername check-driverimpls check-aclrules \
748
	check-aclperms check-admin-symfile check-admin-symsorting
749
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
750

751

752 753
SECURITY_DRIVER_APPARMOR_HELPER_SOURCES = \
		$(DATATYPES_SOURCES) \
J
Jamie Strandboge 已提交
754 755
		security/virt-aa-helper.c

756 757


758
UTIL_IO_HELPER_SOURCES = \
759 760
		util/iohelper.c

761

762
# Security framework and drivers for various models
763 764 765 766 767
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 \
768
		security/security_manager.h security/security_manager.c
769

770
SECURITY_DRIVER_SELINUX_SOURCES = \
771
		security/security_selinux.h security/security_selinux.c
772

773
SECURITY_DRIVER_APPARMOR_SOURCES = \
J
Jamie Strandboge 已提交
774 775
		security/security_apparmor.h security/security_apparmor.c

776
ACCESS_DRIVER_GENERATED = \
E
Eric Blake 已提交
777 778 779 780 781 782 783
		access/viraccessapicheck.h \
		access/viraccessapicheck.c \
		access/viraccessapicheckqemu.h \
		access/viraccessapicheckqemu.c \
		access/viraccessapichecklxc.h \
		access/viraccessapichecklxc.c \
		$(NULL)
784

785
ACCESS_DRIVER_SYM_FILES = \
786 787 788
		libvirt_access.syms \
		libvirt_access_qemu.syms \
		libvirt_access_lxc.syms
789

790 791 792 793 794
ACCESS_DRIVER_API_FILES = \
		libvirt_access.xml \
		libvirt_access_qemu.xml \
		libvirt_access_lxc.xml

795 796 797 798 799 800 801
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

802 803 804 805
ACCESS_DRIVER_POLKIT_SOURCES = \
		access/viraccessdriverpolkit.h access/viraccessdriverpolkit.c

ACCESS_DRIVER_POLKIT_POLICY = \
806
		$(srcdir)/access/org.libvirt.api.policy
807 808


809 810 811 812 813 814 815
CPU_SOURCES = \
		cpu/cpu.h cpu/cpu.c \
		cpu/cpu_x86.h cpu/cpu_x86.c cpu/cpu_x86_data.h \
		cpu/cpu_s390.h cpu/cpu_s390.c \
		cpu/cpu_arm.h cpu/cpu_arm.c \
		cpu/cpu_ppc64.h cpu/cpu_ppc64.c \
		cpu/cpu_ppc64_data.h \
816
		cpu/cpu_map.h cpu/cpu_map.c
817

818
VMX_SOURCES = \
819 820
		vmx/vmx.c vmx/vmx.h

821

J
Jiri Denemark 已提交
822 823
pkgdata_DATA =	cpu/cpu_map.xml

E
Eric Blake 已提交
824
EXTRA_DIST +=	$(pkgdata_DATA)
825

826 827 828 829 830 831
#########################
#
# Build up list of libvirt.la source files based on configure conditions
#
# First deal with sources usable in non-daemon context

832
noinst_LTLIBRARIES += libvirt_util.la
833
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
834
libvirt_la_BUILT_LIBADD += libvirt_util.la
835
libvirt_util_la_SOURCES = \
836
		$(UTIL_SOURCES)
837
libvirt_util_la_CFLAGS = $(CAPNG_CFLAGS) $(YAJL_CFLAGS) $(LIBNL_CFLAGS) \
838
		$(AM_CFLAGS) $(AUDIT_CFLAGS) $(DEVMAPPER_CFLAGS) \
839
		$(DBUS_CFLAGS) $(LDEXP_LIBM) $(NUMACTL_CFLAGS) \
840
		$(POLKIT_CFLAGS) $(GNUTLS_CFLAGS) $(ACL_CFLAGS)
841
libvirt_util_la_LIBADD = $(CAPNG_LIBS) $(YAJL_LIBS) $(LIBNL_LIBS) \
842
		$(THREAD_LIBS) $(AUDIT_LIBS) $(DEVMAPPER_LIBS) \
843
		$(LIB_CLOCK_GETTIME) $(DBUS_LIBS) $(WIN32_EXTRA_LIBS) $(LIBXML_LIBS) \
M
Michal Privoznik 已提交
844
		$(SECDRIVER_LIBS) $(NUMACTL_LIBS) $(ACL_LIBS) \
845
		$(POLKIT_LIBS) $(GNUTLS_LIBS)
846

847 848

noinst_LTLIBRARIES += libvirt_conf.la
849
libvirt_la_BUILT_LIBADD += libvirt_conf.la
850
libvirt_conf_la_SOURCES = $(CONF_SOURCES)
851 852
libvirt_conf_la_CFLAGS = \
		-I$(srcdir)/conf $(AM_CFLAGS)
853
libvirt_conf_la_LDFLAGS = $(AM_LDFLAGS)
854
libvirt_conf_la_LIBADD = $(LIBXML_LIBS)
855

J
Jiri Denemark 已提交
856
noinst_LTLIBRARIES += libvirt_cpu.la
857
libvirt_la_BUILT_LIBADD += libvirt_cpu.la
J
Jiri Denemark 已提交
858
libvirt_cpu_la_CFLAGS = \
859
		-I$(srcdir)/conf $(AM_CFLAGS)
J
Jiri Denemark 已提交
860 861
libvirt_cpu_la_SOURCES = $(CPU_SOURCES)

862 863 864 865
if WITH_VMX
noinst_LTLIBRARIES += libvirt_vmx.la
libvirt_la_BUILT_LIBADD += libvirt_vmx.la
libvirt_vmx_la_CFLAGS = \
866
		-I$(srcdir)/conf $(AM_CFLAGS)
867
libvirt_vmx_la_SOURCES = $(VMX_SOURCES)
868
endif WITH_VMX
869

870

871
noinst_LTLIBRARIES += libvirt_driver.la
872
libvirt_la_BUILT_LIBADD += libvirt_driver.la
873
libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
874

875
libvirt_driver_la_CFLAGS = \
876
		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) $(XDR_CFLAGS) \
877
		-I$(srcdir)/conf $(AM_CFLAGS)
878
libvirt_driver_la_LIBADD = \
879
		$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
880

881 882
# 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.
883 884 885
SYM_FILES += $(USED_SYM_FILES)
USED_SYM_FILES += $(srcdir)/libvirt_private.syms
GENERATED_SYM_FILES += \
886 887
	$(ACCESS_DRIVER_SYM_FILES) \
	libvirt.syms libvirt.def libvirt_qemu.def libvirt_lxc.def \
888
	libvirt_admin.syms libvirt_admin.def \
889
	$(NULL)
890

C
Chris Lalancette 已提交
891

892

893
%protocol.c: %protocol.x %protocol.h $(srcdir)/rpc/genprotocol.pl
894
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -c \
895
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
896

897
%protocol.h: %protocol.x $(srcdir)/rpc/genprotocol.pl
898
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/genprotocol.pl $(RPCGEN) -h \
899
	       $< $(srcdir)/$(subst $(srcdir)/,,$@)
900

901

902

903

904

905

906 907 908 909
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 = \
910
		-I$(srcdir)/conf $(AM_CFLAGS)
911
libvirt_security_manager_la_LDFLAGS = $(AM_LDFLAGS)
912
libvirt_security_manager_la_LIBADD = $(SECDRIVER_LIBS)
913
if WITH_SECDRIVER_SELINUX
914 915
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_SELINUX_SOURCES)
libvirt_security_manager_la_CFLAGS += $(SELINUX_CFLAGS)
916
endif WITH_SECDRIVER_SELINUX
J
Jamie Strandboge 已提交
917
if WITH_SECDRIVER_APPARMOR
918 919
libvirt_security_manager_la_SOURCES += $(SECURITY_DRIVER_APPARMOR_SOURCES)
libvirt_security_manager_la_CFLAGS += $(APPARMOR_CFLAGS)
920
endif WITH_SECDRIVER_APPARMOR
921

922 923
libvirt_driver_access_la_SOURCES = \
	$(ACCESS_DRIVER_SOURCES) $(ACCESS_DRIVER_GENERATED)
924 925 926
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
927
		-I$(srcdir)/conf $(AM_CFLAGS)
928 929 930
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD =

931 932
EXTRA_DIST += access/genpolkit.pl

933 934 935 936
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
    $(srcdir)/access/genpolkit.pl Makefile.am
	$(AM_V_GEN)$(PERL) $(srcdir)/access/genpolkit.pl < $< > $@ || rm -f $@

937 938 939 940
if WITH_POLKIT1
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)

polkitactiondir = $(datadir)/polkit-1/actions
941
if WITH_LIBVIRTD
942
polkitaction_DATA = $(ACCESS_DRIVER_POLKIT_POLICY)
943
endif WITH_LIBVIRTD
944 945 946

CLEANFILES += $(ACCESS_DRIVER_POLKIT_POLICY)
BUILT_SOURCES += $(ACCESS_DRIVER_POLKIT_POLICY)
947
else ! WITH_POLKIT1
948
EXTRA_DIST += $(ACCESS_DRIVER_POLKIT_SOURCES)
949
endif ! WITH_POLKIT1
950

951

952 953
BUILT_SOURCES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
CLEANFILES += $(ACCESS_DRIVER_GENERATED) $(ACCESS_DRIVER_API_FILES)
954 955 956 957 958 959 960 961 962 963 964 965 966 967

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) > $@

968 969 970 971 972 973 974 975 976 977 978 979 980
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 已提交
981
access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
982 983
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
984 985 986
	  remote REMOTE $(REMOTE_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheck.h
access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
987 988
			$(REMOTE_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
989 990
	  remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
	  > $(srcdir)/access/viraccessapicheck.c
991

E
Eric Blake 已提交
992
access/viraccessapicheckqemu.h: $(srcdir)/rpc/gendispatch.pl \
993 994
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
995 996 997
	  qemu QEMU $(QEMU_PROTOCOL) \
	  > $(srcdir)/access/viraccessapicheckqemu.h
access/viraccessapicheckqemu.c: $(srcdir)/rpc/gendispatch.pl \
998 999
			$(QEMU_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1000 1001
	  qemu QEMU $(QEMU_PROTOCOL) access/viraccessapicheckqemu.h \
	  > $(srcdir)/access/viraccessapicheckqemu.c
1002

E
Eric Blake 已提交
1003
access/viraccessapichecklxc.h: $(srcdir)/rpc/gendispatch.pl \
1004 1005
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
E
Eric Blake 已提交
1006 1007 1008
	  lxc LXC $(LXC_PROTOCOL) \
	  > $(srcdir)/access/viraccessapichecklxc.h
access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
1009 1010
			$(LXC_PROTOCOL) Makefile.am
	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
E
Eric Blake 已提交
1011 1012
	  lxc LXC $(LXC_PROTOCOL) access/viraccessapichecklxc.h \
	  > $(srcdir)/access/viraccessapichecklxc.c
1013

1014
# Add all conditional sources just in case...
1015 1016 1017
EXTRA_DIST += \
		$(SECURITY_DRIVER_SELINUX_SOURCES) \
		$(SECURITY_DRIVER_APPARMOR_SOURCES) \
1018
		$(ACCESS_DRIVER_POLKIT_POLICY)
1019

1020 1021
check-local: check-augeas

1022 1023 1024 1025
.PHONY: check-augeas \
	check-augeas-sanlock \
	check-augeas-lockd \
	$(NULL)
1026

1027
check-augeas: $(AUGEAS_DIRS:%=check-augeas-%) \
1028
	check-augeas-sanlock \
1029
	check-augeas-lockd check-augeas-virtlockd \
1030
	check-augeas-virtlogd
1031

1032
AUG_GENTEST = $(PERL) $(top_srcdir)/build-aux/augeas-gentest.pl
1033
EXTRA_DIST += $(top_srcdir)/build-aux/augeas-gentest.pl
1034

1035

1036
if WITH_SANLOCK
1037 1038
test_libvirt_sanlock.aug: locking/test_libvirt_sanlock.aug.in \
		locking/qemu-sanlock.conf $(AUG_GENTEST)
E
Eric Blake 已提交
1039
	$(AM_V_GEN)$(AUG_GENTEST) locking/qemu-sanlock.conf $< $@
1040

1041
check-augeas-sanlock: test_libvirt_sanlock.aug
1042
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
1043
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_sanlock.aug; \
1044
	fi
1045
else ! WITH_SANLOCK
1046
check-augeas-sanlock:
1047
endif ! WITH_SANLOCK
1048

1049
if WITH_QEMU
1050 1051 1052
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 $< $@
1053 1054 1055
else ! WITH_QEMU
test_libvirt_lockd.aug:
endif ! WITH_QEMU
1056

1057 1058
test_virtlockd.aug: locking/test_virtlockd.aug.in \
		locking/virtlockd.conf $(AUG_GENTEST)
1059
	$(AM_V_GEN)$(AUG_GENTEST) $(srcdir)/locking/virtlockd.conf $< $@
1060

1061
if WITH_QEMU
1062 1063 1064 1065
check-augeas-lockd: test_libvirt_lockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_libvirt_lockd.aug; \
	fi
1066 1067 1068
else ! WITH_QEMU
check-augeas-lockd:
endif ! WITH_QEMU
1069

1070 1071 1072 1073 1074
check-augeas-virtlockd: test_virtlockd.aug
	$(AM_V_GEN)if test -x '$(AUGPARSE)'; then \
	    '$(AUGPARSE)' -I $(srcdir)/locking test_virtlockd.aug; \
	fi

1075

1076 1077 1078 1079 1080 1081 1082 1083 1084
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

1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103
#
# 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.
#

1104
USED_SYM_FILES += $(srcdir)/libvirt_driver_modules.syms
1105

1106
if WITH_LINUX
1107
USED_SYM_FILES += $(srcdir)/libvirt_linux.syms
1108
else ! WITH_LINUX
1109
SYM_FILES += $(srcdir)/libvirt_linux.syms
1110
endif ! WITH_LINUX
1111

1112
if WITH_VMX
1113
USED_SYM_FILES += $(srcdir)/libvirt_vmx.syms
1114
else ! WITH_VMX
1115
SYM_FILES += $(srcdir)/libvirt_vmx.syms
1116
endif ! WITH_VMX
1117

1118
if WITH_SASL
1119
USED_SYM_FILES += $(srcdir)/libvirt_sasl.syms
1120
else ! WITH_SASL
1121
SYM_FILES += $(srcdir)/libvirt_sasl.syms
1122
endif ! WITH_SASL
E
Eric Blake 已提交
1123

1124 1125
if WITH_GNUTLS
USED_SYM_FILES += $(srcdir)/libvirt_gnutls.syms
1126
else ! WITH_GNUTLS
1127
SYM_FILES += $(srcdir)/libvirt_gnutls.syms
1128
endif ! WITH_GNUTLS
1129

1130
if WITH_SSH2
1131
USED_SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1132
else ! WITH_SSH2
1133
SYM_FILES += $(srcdir)/libvirt_libssh2.syms
1134
endif ! WITH_SSH2
1135

1136
if WITH_ATOMIC_OPS_PTHREAD
1137
USED_SYM_FILES += $(srcdir)/libvirt_atomic.syms
1138
else ! WITH_ATOMIC_OPS_PTHREAD
1139
SYM_FILES += $(srcdir)/libvirt_atomic.syms
1140
endif ! WITH_ATOMIC_OPS_PTHREAD
1141

1142 1143 1144 1145 1146 1147
if WITH_LIBSSH
USED_SYM_FILES += $(srcdir)/libvirt_libssh.syms
else ! WITH_LIBSSH
SYM_FILES += $(srcdir)/libvirt_libssh.syms
endif ! WITH_LIBSSH

1148
EXTRA_DIST += \
1149 1150 1151 1152 1153 1154
	libvirt_public.syms \
	libvirt_lxc.syms \
	libvirt_qemu.syms \
	libvirt_admin_public.syms \
	$(SYM_FILES) \
	$(ADMIN_SYM_FILES) \
1155
	$(NULL)
1156

1157
BUILT_SOURCES += $(GENERATED_SYM_FILES)
1158

1159 1160
libvirt.syms: libvirt_public.syms $(USED_SYM_FILES) \
		$(ACCESS_DRIVER_SYM_FILES) \
1161
		$(top_builddir)/config.status
1162 1163 1164 1165 1166 1167
	$(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 && \
1168
	cat $(USED_SYM_FILES) $(ACCESS_DRIVER_SYM_FILES) >>$@-tmp && \
1169 1170
	printf '\n\nlocal:\n*;\n\n};' >>$@-tmp && \
	chmod a-w $@-tmp && \
1171
	mv $@-tmp libvirt.syms
1172

1173
%.def: %.syms
1174 1175
	$(AM_V_GEN)rm -f -- $@-tmp $@ ; \
	printf 'EXPORTS\n' > $@-tmp && \
1176
	sed -e '/^$$/d; /#/d; /:/d; /}/d; /\*/d; /LIBVIRT_/d' \
1177
	    -e 's/[	 ]*\(.*\)\;/    \1/g' $^ >> $@-tmp && \
1178
	chmod a-w $@-tmp && \
1179
	mv $@-tmp $@
1180

1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193
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

1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208

admin/admin_server_dispatch.c: admin/admin_server_dispatch_stubs.h

noinst_LTLIBRARIES += libvirt_driver_admin.la
libvirt_driver_admin_la_SOURCES = \
		admin/admin_protocol.c \
		admin/admin_protocol.h \
		admin/admin_server.c \
		admin/admin_server.h \
		admin/admin_server_dispatch.c \
		admin/admin_server_dispatch.h \
		admin/admin_server_dispatch_stubs.h \
		$(NULL)
libvirt_driver_admin_la_CFLAGS = \
		$(AM_CFLAGS) \
1209
		$(XDR_CFLAGS) \
1210 1211 1212 1213 1214 1215
		-I$(top_srcdir)/src/util \
		-I$(top_srcdir)/src/admin \
		$(NULL)
libvirt_driver_admin_la_LIBADD = ../gnulib/lib/libgnu.la
libvirt_driver_admin_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)

1216 1217 1218 1219
# 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 已提交
1220 1221
lib_LTLIBRARIES += libvirt-admin.la
libvirt_admin_la_SOURCES = \
1222 1223
		libvirt-admin.c \
		$(ADMIN_PROTOCOL_GENERATED) \
M
Martin Kletzander 已提交
1224 1225 1226
		$(DATATYPES_SOURCES)

libvirt_admin_la_LDFLAGS = \
1227 1228
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_ADMIN_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
1229
		$(AM_LDFLAGS)
M
Martin Kletzander 已提交
1230 1231

libvirt_admin_la_LIBADD = \
1232
		libvirt.la \
M
Martin Kletzander 已提交
1233 1234 1235
		$(CYGWIN_EXTRA_LIBADD)

libvirt_admin_la_CFLAGS = \
1236 1237 1238
		$(AM_CFLAGS) \
		-I$(srcdir)/remote \
		-I$(srcdir)/rpc \
M
Martin Kletzander 已提交
1239 1240 1241
		-I$(srcdir)/admin

libvirt_admin_la_CFLAGS += \
1242 1243 1244 1245 1246 1247
		$(XDR_CFLAGS) \
		$(CAPNG_CFLAGS) \
		$(YAJL_CFLAGS) \
		$(SSH2_CFLAGS) \
		$(SASL_CFLAGS) \
		$(GNUTLS_CFLAGS) \
1248
		$(LIBSSH_CFLAGS)
M
Martin Kletzander 已提交
1249 1250

libvirt_admin_la_LIBADD += \
1251 1252 1253 1254 1255 1256 1257
		$(CAPNG_LIBS) \
		$(YAJL_LIBS) \
		$(DEVMAPPER_LIBS) \
		$(LIBXML_LIBS) \
		$(SSH2_LIBS) \
		$(SASL_LIBS) \
		$(GNUTLS_LIBS) \
1258
		$(LIBSSH_LIBS)
M
Martin Kletzander 已提交
1259

1260 1261
ADMIN_SYM_FILES = $(srcdir)/libvirt_admin_private.syms

M
Martin Kletzander 已提交
1262 1263 1264 1265
if WITH_DTRACE_PROBES
libvirt_admin_la_LIBADD += libvirt_probes.lo
endif WITH_DTRACE_PROBES

1266 1267
# Empty source list - it merely links a bunch of convenience libs together
libvirt_la_SOURCES =
D
Daniel P. Berrange 已提交
1268 1269 1270 1271
libvirt_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(LIBVIRT_NODELETE) \
1272
		$(NO_UNDEFINED_LDFLAGS) \
D
Daniel P. Berrange 已提交
1273 1274
		$(AM_LDFLAGS) \
		$(NULL)
1275
libvirt_la_BUILT_LIBADD += ../gnulib/lib/libgnu.la
1276
libvirt_la_LIBADD += \
1277
		    $(DRIVER_MODULES_LIBS) \
1278
		    $(CYGWIN_EXTRA_LIBADD)
1279
libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
1280 1281 1282 1283 1284 1285
# 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)
1286

1287
if WITH_DTRACE_PROBES
1288
libvirt_la_BUILT_LIBADD += libvirt_probes.lo
1289
libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
1290
nodist_libvirt_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1291
if WITH_REMOTE
E
Eric Blake 已提交
1292
nodist_libvirt_driver_remote_la_SOURCES = libvirt_probes.h
E
Eric Blake 已提交
1293
endif WITH_REMOTE
1294
DTRACE2SYSTEMTAP_FLAGS = --with-modules
1295

1296 1297
BUILT_SOURCES += libvirt_probes.h libvirt_probes.stp libvirt_functions.stp

1298 1299

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

1302
%_probes.h: %_probes.d
1303 1304
	$(AM_V_GEN)$(DTRACE) -o $@ -h -s $<

E
Eric Blake 已提交
1305
.PRECIOUS: %_probes.o
1306
%_probes.o: %_probes.d
1307 1308
	$(AM_V_GEN)$(DTRACE) -o $@ -G -s $<

1309 1310 1311 1312 1313 1314 1315 1316 1317
%_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 已提交
1318
# Keep this list synced with PROTOCOL_STRUCTS
1319
RPC_PROBE_FILES += $(srcdir)/rpc/virnetprotocol.x \
J
Jiri Denemark 已提交
1320 1321
		  $(srcdir)/rpc/virkeepaliveprotocol.x \
		  $(srcdir)/remote/remote_protocol.x \
1322
		  $(srcdir)/remote/lxc_protocol.x \
1323
		  $(srcdir)/remote/qemu_protocol.x \
M
Martin Kletzander 已提交
1324 1325
		  $(srcdir)/locking/lock_protocol.x \
		  $(srcdir)/admin/admin_protocol.x
1326 1327

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

1330 1331
%_probes.stp: %_probes.d $(srcdir)/dtrace2systemtap.pl \
		$(top_builddir)/config.status
1332
	$(AM_V_GEN)$(PERL) -w $(srcdir)/dtrace2systemtap.pl \
1333
	  $(DTRACE2SYSTEMTAP_FLAGS) $(bindir) $(sbindir) $(libdir) $< > $@
1334

1335
CLEANFILES += libvirt_probes.h libvirt_probes.o libvirt_probes.lo \
1336
              libvirt_functions.stp libvirt_probes.stp
1337
endif WITH_DTRACE_PROBES
1338

1339
EXTRA_DIST += libvirt_probes.d
1340

C
Chris Lalancette 已提交
1341
libvirt_qemu_la_SOURCES = libvirt-qemu.c
D
Daniel P. Berrange 已提交
1342 1343 1344 1345 1346
libvirt_qemu_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_QEMU_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(NULL)
1347
libvirt_qemu_la_CFLAGS = $(AM_CFLAGS)
C
Chris Lalancette 已提交
1348
libvirt_qemu_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
1349

1350
libvirt_lxc_la_SOURCES = libvirt-lxc.c
D
Daniel P. Berrange 已提交
1351 1352 1353 1354 1355
libvirt_lxc_la_LDFLAGS = \
		$(VERSION_SCRIPT_FLAGS)$(LIBVIRT_LXC_SYMBOL_FILE) \
		-version-info $(LIBVIRT_VERSION_INFO) \
		$(AM_LDFLAGS) \
		$(NULL)
1356 1357 1358
libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)

1359 1360 1361 1362 1363 1364 1365
# 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
1366
if WITH_SETUID_RPC_CLIENT
1367 1368
noinst_LTLIBRARIES += libvirt-setuid-rpc-client.la

1369 1370
libvirt_setuid_rpc_client_la_SOURCES = \
		util/viralloc.c \
1371
		util/virarch.c \
1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436
		util/viratomic.c \
		util/viratomic.h \
		util/virbitmap.c \
		util/virbuffer.c \
		util/vircgroup.c \
		util/vircommand.c \
		util/virconf.c \
		util/virdbus.c \
		util/virerror.c \
		util/virevent.c \
		util/vireventpoll.c \
		util/virfile.c \
		util/virgettext.c \
		util/virhash.c \
		util/virhashcode.c \
		util/virhostcpu.c \
		util/virjson.c \
		util/virlog.c \
		util/virobject.c \
		util/virpidfile.c \
		util/virprocess.c \
		util/virrandom.c \
		util/virsocketaddr.c \
		util/virstring.c \
		util/virsystemd.c \
		util/virtime.c \
		util/virthread.c \
		util/virthreadjob.c \
		util/virtypedparam.c \
		util/viruri.c \
		util/virutil.c \
		util/viruuid.c \
		conf/domain_event.c \
		conf/network_event.c \
		conf/object_event.c \
		conf/storage_event.c \
		conf/node_device_event.c \
		conf/secret_event.c \
		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 \
		libvirt-domain.c \
		libvirt-domain-snapshot.c \
		libvirt-host.c \
		libvirt-interface.c \
		libvirt-network.c \
		libvirt-nodedev.c \
		libvirt-nwfilter.c \
		libvirt-secret.c \
		libvirt-storage.c \
		libvirt-stream.c \
		libvirt-lxc.c \
1437 1438
		$(NULL)

1439 1440 1441 1442
libvirt_setuid_rpc_client_la_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(LIBXML_LIBS) \
		$(SECDRIVER_LIBS) \
1443
		$(NULL)
1444 1445 1446 1447 1448 1449 1450
libvirt_setuid_rpc_client_la_CFLAGS = \
		-DLIBVIRT_SETUID_RPC_CLIENT \
		-I$(srcdir)/conf \
		-I$(srcdir)/rpc \
		$(AM_CFLAGS) \
		$(SECDRIVER_CFLAGS) \
		$(XDR_CFLAGS) \
1451
		$(NULL)
1452
endif WITH_SETUID_RPC_CLIENT
1453

1454 1455 1456
lockdriverdir = $(libdir)/libvirt/lock-driver
lockdriver_LTLIBRARIES =

1457
if WITH_LIBVIRTD
1458 1459 1460 1461 1462
lockdriver_LTLIBRARIES += lockd.la
lockd_la_SOURCES = \
		$(LOCK_DRIVER_LOCKD_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
		$(NULL)
1463
lockd_la_CFLAGS = -I$(srcdir)/conf \
E
Eric Blake 已提交
1464 1465
		$(XDR_CFLAGS) \
		$(AM_CFLAGS)
1466
lockd_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1467
lockd_la_LIBADD = libvirt.la ../gnulib/lib/libgnu.la
J
Jiri Denemark 已提交
1468
augeas_DATA += locking/libvirt_lockd.aug
1469 1470
if WITH_DTRACE_PROBES
lockd_la_LIBADD += libvirt_probes.lo
1471
endif WITH_DTRACE_PROBES
1472
if WITH_QEMU
1473 1474
augeastest_DATA += test_libvirt_lockd.aug
CLEANFILES += test_libvirt_lockd.aug
1475
nodist_conf_DATA += locking/qemu-lockd.conf
1476 1477
BUILT_SOURCES += locking/qemu-lockd.conf
DISTCLEANFILES += locking/qemu-lockd.conf
1478
endif WITH_QEMU
1479

1480 1481 1482 1483 1484 1485
if WITH_LIBXL
nodist_conf_DATA += locking/libxl-lockd.conf
BUILT_SOURCES += locking/libxl-lockd.conf
DISTCLEANFILES += locking/libxl-lockd.conf
endif WITH_LIBXL

1486 1487 1488 1489 1490
locking/%-lockd.conf: $(srcdir)/locking/lockd.conf
	$(AM_V_GEN)$(MKDIR_P) locking ; \
	cp $< $@


1491
sbin_PROGRAMS += virtlockd virtlogd
1492

1493 1494 1495
virtlockd_SOURCES = \
		$(LOCK_DAEMON_SOURCES) \
		$(LOCK_PROTOCOL_GENERATED) \
1496
		$(LOCK_DAEMON_GENERATED) \
1497
		$(NULL)
1498 1499
virtlockd_CFLAGS = \
		$(AM_CFLAGS) \
D
Daniel P. Berrange 已提交
1500
		$(PIE_CFLAGS) \
1501
		$(XDR_CFLAGS) \
1502 1503 1504
		$(NULL)
virtlockd_LDFLAGS = \
		$(AM_LDFLAGS) \
D
Daniel P. Berrange 已提交
1505
		$(PIE_LDFLAGS) \
1506
		$(NO_UNDEFINED_LDFLAGS) \
1507 1508
		$(NULL)
virtlockd_LDADD = \
1509
		libvirt_driver_admin.la \
1510 1511 1512 1513 1514 1515 1516 1517
		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
1518
endif WITH_DTRACE_PROBES
1519

1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533

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) \
1534
		$(NO_UNDEFINED_LDFLAGS) \
1535 1536
		$(NULL)
virtlogd_LDADD = \
1537
		libvirt_driver_admin.la \
1538 1539 1540 1541 1542 1543 1544 1545 1546 1547
		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

1548
else ! WITH_LIBVIRTD
1549
EXTRA_DIST += $(LOCK_DAEMON_SOURCES) \
1550 1551
              $(LOCK_DRIVER_LOCKD_SOURCES) \
	      $(LOG_DAEMON_SOURCES)
1552
endif ! WITH_LIBVIRTD
1553

1554
SYSCONF_FILES += \
1555
	locking/virtlockd.sysconf \
1556 1557 1558 1559
	logging/virtlogd.sysconf \
	$(NULL)

EXTRA_DIST += \
J
Jiri Denemark 已提交
1560 1561
	locking/lockd.conf \
	locking/libvirt_lockd.aug \
1562
	locking/test_libvirt_lockd.aug.in \
1563 1564
	$(SYSCONF_FILES) \
	$(NULL)
1565 1566

install-sysconfig:
E
Eric Blake 已提交
1567
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/sysconfig
1568 1569 1570
	for f in $(SYSCONF_FILES:%.sysconf=%) ; \
	do \
	  tgt=`basename $$f`; \
1571 1572
	  $(INSTALL_SCRIPT) $(srcdir)/$$f.sysconf \
	      $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
1573
	done
1574 1575

uninstall-sysconfig:
1576 1577 1578 1579 1580
	for f in $(SYSCONF_FILES:%.sysconf=%) ; \
	do \
	  tgt=`basename $$f`; \
	  rm -f $(DESTDIR)$(sysconfdir)/sysconfig/$$tgt; \
	done
E
Eric Blake 已提交
1581
	rmdir $(DESTDIR)$(sysconfdir)/sysconfig || :
1582

1583
SYSVINIT_FILES_IN += \
1584 1585 1586 1587 1588 1589 1590
	locking/virtlockd.init.in \
	logging/virtlogd.init.in \
	$(NULL)

SYSVINIT_FILES = $(notdir $(SYSVINIT_FILES_IN:%.in=%))

EXTRA_DIST += $(SYSVINIT_FILES_IN)
1591

1592
LOGROTATE_FILES := $(LOGROTATE_FILES_IN:remote/%.in=%)
1593 1594 1595 1596

EXTRA_DIST += $(LOGROTATE_FILES_IN)

BUILT_SOURCES += $(LOGROTATE_FILES)
1597
CLEANFILES += $(LOGROTATE_FILES)
1598 1599 1600 1601 1602 1603 1604

%.logrotate: remote/%.logrotate.in
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	mv $@-t $@

1605
if WITH_LIBVIRTD
1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617
install-logrotate: $(LOGROTATE_FILES)
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/logrotate.d/
	for f in $(LOGROTATE_FILES) ; \
	do \
	  tgt=`echo $$f | sed -e 's/.logrotate//'`; \
	  $(INSTALL_DATA) $$f \
		$(DESTDIR)$(sysconfdir)/logrotate.d/$$tgt; \
	done

uninstall-logrotate:
	rm -f $(LOGROTATE_FILES:%.logrotate=$(DESTDIR)$(sysconfdir)/logrotate.d/%)
	rmdir $(DESTDIR)$(sysconfdir)/logrotate.d || :
1618 1619 1620 1621
else ! WITH_LIBVIRTD
install-logrotate:
uninstall-logrotate:
endif ! WITH_LIBVIRTD
1622

1623
if LIBVIRT_INIT_SCRIPT_RED_HAT
1624
install-init:: $(SYSVINIT_FILES) install-sysconfig
E
Eric Blake 已提交
1625
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/rc.d/init.d
1626 1627 1628 1629
	for f in $(SYSVINIT_FILES:%.init=%) ; \
	do \
	  $(INSTALL_SCRIPT) $$f.init $(DESTDIR)$(sysconfdir)/rc.d/init.d/$$f; \
	done
1630 1631

uninstall-init:: uninstall-sysconfig
1632
	rm -f $(SYSVINIT_FILES:%.init=$(DESTDIR)$(sysconfdir)/rc.d/init.d/%)
E
Eric Blake 已提交
1633
	rmdir $(DESTDIR)$(sysconfdir)/rc.d/init.d || :
1634

1635 1636
BUILT_SOURCES += $(SYSVINIT_FILES)
DISTCLEANFILES += $(SYSVINIT_FILES)
1637
else ! LIBVIRT_INIT_SCRIPT_RED_HAT
1638 1639
install-init::
uninstall-init::
1640
endif ! LIBVIRT_INIT_SCRIPT_RED_HAT
1641

1642

1643
virtlockd.init: locking/virtlockd.init.in $(top_builddir)/config.status
1644 1645 1646 1647 1648 1649
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
	    < $< > $@-t && \
	    chmod a+x $@-t && \
1650 1651
	    mv $@-t $@

1652
virtlogd.init: logging/virtlogd.init.in $(top_builddir)/config.status
1653 1654 1655 1656 1657 1658
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    -e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
	    < $< > $@-t && \
	    chmod a+x $@-t && \
1659 1660
	    mv $@-t $@

1661
virtlockd.8.in: locking/virtlockd.pod
1662 1663 1664 1665 1666 1667 1668 1669
	$(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 $@
1670

1671
virtlogd.8.in: logging/virtlogd.pod
1672 1673 1674 1675 1676 1677 1678 1679
	$(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 $@
1680

1681
%.8: %.8.in $(top_srcdir)/configure.ac
1682
	$(AM_V_GEN)sed \
1683 1684 1685
		-e 's|[@]sysconfdir[@]|$(sysconfdir)|g' \
		-e 's|[@]localstatedir[@]|$(localstatedir)|g' \
		< $< > $@-t && \
1686 1687
	mv $@-t $@

1688
if WITH_LIBVIRTD
1689
man8_MANS += virtlockd.8 virtlogd.8
1690

1691
conf_DATA += locking/virtlockd.conf logging/virtlogd.conf
1692

1693 1694
augeas_DATA += locking/virtlockd.aug logging/virtlogd.aug
augeastest_DATA += test_virtlockd.aug test_virtlogd.aug
1695
endif WITH_LIBVIRTD
1696

1697
PODFILES += \
A
Andrea Bolognani 已提交
1698 1699 1700 1701
	locking/virtlockd.pod \
	logging/virtlogd.pod \
	$(NULL)

1702
MANINFILES += \
A
Andrea Bolognani 已提交
1703 1704 1705 1706 1707 1708
	virtlockd.8.in \
	virtlogd.8.in \
	$(NULL)

CLEANFILES += test_virtlockd.aug test_virtlogd.aug $(man8_MANS)
MAINTAINERCLEANFILES += $(MANINFILES)
1709

1710
SYSTEMD_UNIT_FILES_IN += \
1711 1712 1713 1714 1715 1716 1717 1718
	locking/virtlockd.service.in \
	locking/virtlockd.socket.in \
	locking/virtlockd-admin.socket.in \
	logging/virtlogd.service.in \
	logging/virtlogd.socket.in \
	logging/virtlogd-admin.socket.in \
	$(NULL)

1719
EXTRA_DIST += \
1720
        $(SYSTEMD_UNIT_FILES_IN) \
1721 1722 1723
        locking/virtlockd.aug \
        locking/virtlockd.conf \
        locking/test_virtlockd.aug.in \
1724 1725 1726
        logging/virtlogd.aug \
        logging/virtlogd.conf \
        logging/test_virtlogd.aug.in \
A
Andrea Bolognani 已提交
1727 1728
        $(PODFILES) \
        $(MANINFILES) \
1729
        $(NULL)
1730

1731 1732 1733 1734

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_SYSTEMD

1735
SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
1736
SYSTEMD_UNIT_FILES = $(notdir $(SYSTEMD_UNIT_FILES_IN:%.in=%))
1737

1738 1739
BUILT_SOURCES += $(SYSTEMD_UNIT_FILES)
DISTCLEANFILES += $(SYSTEMD_UNIT_FILES)
1740

1741
install-systemd: $(SYSTEMD_UNIT_FILES) install-sysconfig
E
Eric Blake 已提交
1742
	$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)
1743 1744 1745 1746
	for f in $(SYSTEMD_UNIT_FILES); \
	do \
	  $(INSTALL_DATA) $$f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/ ; \
	done
1747 1748

uninstall-systemd: uninstall-sysconfig
1749
	rm -f $(SYSTEMD_UNIT_FILES:%=$(DESTDIR)$(SYSTEMD_UNIT_DIR)/%)
E
Eric Blake 已提交
1750
	rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR) || :
1751
else ! LIBVIRT_INIT_SCRIPT_SYSTEMD
1752 1753
install-systemd:
uninstall-systemd:
1754 1755
endif ! LIBVIRT_INIT_SCRIPT_SYSTEMD
else ! WITH_LIBVIRTD
1756 1757
install-systemd:
uninstall-systemd:
1758
endif ! WITH_LIBVIRTD
1759 1760

virtlockd.service: locking/virtlockd.service.in $(top_builddir)/config.status
1761 1762 1763
	$(AM_V_GEN)sed \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    < $< > $@-t && \
1764 1765 1766
	    mv $@-t $@

virtlockd.socket: locking/virtlockd.socket.in $(top_builddir)/config.status
1767 1768 1769
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
1770 1771
	    mv $@-t $@

J
John Ferlan 已提交
1772 1773 1774 1775 1776 1777 1778
virtlockd-admin.socket: locking/virtlockd-admin.socket.in \
                        $(top_builddir)/config.status
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	    mv $@-t $@

1779
virtlogd.service: logging/virtlogd.service.in $(top_builddir)/config.status
1780 1781 1782
	$(AM_V_GEN)sed \
	    -e 's|[@]sbindir[@]|$(sbindir)|g' \
	    < $< > $@-t && \
1783 1784 1785
	    mv $@-t $@

virtlogd.socket: logging/virtlogd.socket.in $(top_builddir)/config.status
J
John Ferlan 已提交
1786 1787 1788 1789 1790 1791 1792
	$(AM_V_GEN)sed \
	    -e 's|[@]localstatedir[@]|$(localstatedir)|g' \
	    < $< > $@-t && \
	    mv $@-t $@

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

1798

1799 1800 1801 1802 1803 1804 1805 1806 1807 1808
EXTRA_DIST += $(UPSTART_FILES)

if WITH_LIBVIRTD
if LIBVIRT_INIT_SCRIPT_UPSTART

install-upstart: install-sysconfig
	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/event.d
	for f in $(UPSTART_FILES:%.upstart=%); \
	do \
	  tgt=`basename $$f` ; \
1809 1810
	  $(INSTALL_SCRIPT) $(srcdir)/$$f.upstart \
	      $(DESTDIR)$(sysconfdir)/event.d/$$tgt ; \
1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828
	done

uninstall-upstart: uninstall-sysconfig
	for f in $(UPSTART_FILES:%.upstart=%); \
	do \
	  tgt=`basename $$f` ; \
	  rm -f $(DESTDIR)$(sysconfdir)/event.d/$$tgt ; \
	done
	rmdir $(DESTDIR)$(sysconfdir)/event.d || :
else ! LIBVIRT_INIT_SCRIPT_UPSTART
install-upstart:
uninstall-upstart:
endif ! LIBVIRT_INIT_SCRIPT_UPSTART
else ! WITH_LIBVIRTD
install-upstart:
uninstall-upstart:
endif ! WITH_LIBVIRTD

1829
if WITH_SANLOCK
1830
lockdriver_LTLIBRARIES += sanlock.la
1831
sanlock_la_SOURCES = $(LOCK_DRIVER_SANLOCK_SOURCES)
1832
sanlock_la_CFLAGS = -I$(srcdir)/conf $(AM_CFLAGS)
1833
sanlock_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
1834
sanlock_la_LIBADD = -lsanlock_client libvirt.la ../gnulib/lib/libgnu.la
1835 1836

augeas_DATA += locking/libvirt_sanlock.aug
1837 1838
augeastest_DATA += test_libvirt_sanlock.aug
CLEANFILES += test_libvirt_sanlock.aug
1839

E
Eric Blake 已提交
1840
locking/%-sanlock.conf: $(srcdir)/locking/sanlock.conf
1841
	$(AM_V_GEN)$(MKDIR_P) locking ; \
1842 1843 1844
	cp $< $@

if WITH_QEMU
1845
nodist_conf_DATA += locking/qemu-sanlock.conf
1846
BUILT_SOURCES += locking/qemu-sanlock.conf
E
Eric Blake 已提交
1847
DISTCLEANFILES += locking/qemu-sanlock.conf
1848
endif WITH_QEMU
1849 1850 1851 1852 1853 1854

if WITH_LIBXL
nodist_conf_DATA += locking/libxl-sanlock.conf
BUILT_SOURCES += locking/libxl-sanlock.conf
DISTCLEANFILES += locking/libxl-sanlock.conf
endif WITH_LIBXL
1855
else ! WITH_SANLOCK
1856
EXTRA_DIST += $(LOCK_DRIVER_SANLOCK_SOURCES)
1857
endif ! WITH_SANLOCK
1858 1859
EXTRA_DIST += locking/sanlock.conf \
	locking/libvirt_sanlock.aug \
1860
	locking/test_libvirt_sanlock.aug.in
1861

1862 1863 1864 1865
noinst_LTLIBRARIES += \
	libvirt-net-rpc.la \
	libvirt-net-rpc-server.la \
	libvirt-net-rpc-client.la
1866

1867 1868 1869 1870 1871
libvirt_la_BUILT_LIBADD += \
       libvirt-net-rpc.la \
       libvirt-net-rpc-server.la \
       libvirt-net-rpc-client.la

1872
EXTRA_DIST += \
E
Eric Blake 已提交
1873 1874 1875 1876
	dtrace2systemtap.pl \
	rpc/gendispatch.pl \
	rpc/genprotocol.pl \
	rpc/gensystemtap.pl \
J
Jiri Denemark 已提交
1877 1878
	rpc/virnetprotocol.x \
	rpc/virkeepaliveprotocol.x
1879

E
Eric Blake 已提交
1880
VIR_NET_RPC_GENERATED = \
1881 1882 1883 1884
	rpc/virnetprotocol.h \
	rpc/virnetprotocol.c \
	rpc/virkeepaliveprotocol.h \
	rpc/virkeepaliveprotocol.c
1885

1886
BUILT_SOURCES += $(VIR_NET_RPC_GENERATED)
1887

1888
libvirt_net_rpc_la_SOURCES = \
1889
	rpc/virnetmessage.h rpc/virnetmessage.c \
1890
	rpc/virnetsocket.h rpc/virnetsocket.c \
1891 1892
	rpc/virkeepalive.h rpc/virkeepalive.c \
	$(VIR_NET_RPC_GENERATED)
1893
if WITH_SSH2
1894 1895
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
1896
else ! WITH_SSH2
1897 1898
EXTRA_DIST += \
	rpc/virnetsshsession.h rpc/virnetsshsession.c
1899
endif ! WITH_SSH2
1900
if WITH_GNUTLS
1901 1902
libvirt_net_rpc_la_SOURCES += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
1903
else ! WITH_GNUTLS
1904 1905
EXTRA_DIST += \
	rpc/virnettlscontext.h rpc/virnettlscontext.c
1906
endif ! WITH_GNUTLS
1907
if WITH_SASL
1908 1909
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
1910
else ! WITH_SASL
1911 1912
EXTRA_DIST += \
	rpc/virnetsaslcontext.h rpc/virnetsaslcontext.c
1913
endif ! WITH_SASL
1914 1915 1916 1917 1918 1919 1920
if WITH_LIBSSH
libvirt_net_rpc_la_SOURCES += \
	rpc/virnetlibsshsession.h rpc/virnetlibsshsession.c
else ! WITH_LIBSSH
EXTRA_DIST += \
	rpc/virnetlibsshsession.h rpc/virnetlibsshsession.c
endif ! WITH_LIBSSH
1921
libvirt_net_rpc_la_CFLAGS = \
1922
			$(GNUTLS_CFLAGS) \
1923
			$(SASL_CFLAGS) \
1924
			$(SSH2_CFLAGS) \
1925
			$(LIBSSH_CFLAGS) \
1926
			$(XDR_CFLAGS) \
1927 1928
			$(AM_CFLAGS)
libvirt_net_rpc_la_LDFLAGS = \
1929
			$(GNUTLS_LIBS) \
1930
			$(SASL_LIBS) \
1931
			$(SSH2_LIBS)\
1932
			$(LIBSSH_LIBS) \
J
Jim Fehlig 已提交
1933
			$(SECDRIVER_LIBS) \
1934
			$(AM_LDFLAGS) \
1935
			$(NULL)
1936 1937 1938
libvirt_net_rpc_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1939 1940 1941 1942
libvirt_net_rpc_server_la_SOURCES = \
	rpc/virnetserverprogram.h rpc/virnetserverprogram.c \
	rpc/virnetserverservice.h rpc/virnetserverservice.c \
	rpc/virnetserverclient.h rpc/virnetserverclient.c \
1943
	rpc/virnetservermdns.h rpc/virnetservermdns.c \
1944
	rpc/virnetdaemon.h rpc/virnetdaemon.c \
1945 1946
	rpc/virnetserver.h rpc/virnetserver.c
libvirt_net_rpc_server_la_CFLAGS = \
1947
			$(AVAHI_CFLAGS) \
1948
			$(DBUS_CFLAGS) \
E
Eric Blake 已提交
1949
			$(XDR_CFLAGS) \
1950
			$(AM_CFLAGS)
1951 1952
libvirt_net_rpc_server_la_LDFLAGS = \
			$(AM_LDFLAGS) \
1953
			$(AVAHI_LIBS) \
1954
			$(DBUS_LIBS) \
1955
			$(NULL)
1956 1957 1958
libvirt_net_rpc_server_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)

1959 1960 1961 1962 1963
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 已提交
1964 1965
			$(AM_CFLAGS) \
			$(XDR_CFLAGS)
1966
libvirt_net_rpc_client_la_LDFLAGS = $(AM_LDFLAGS)
1967 1968
libvirt_net_rpc_client_la_LIBADD = \
			$(CYGWIN_EXTRA_LIBADD)
1969

1970
if WITH_LIBVIRTD
1971 1972
libexec_PROGRAMS += libvirt_iohelper
libvirt_iohelper_SOURCES = $(UTIL_IO_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
1973 1974 1975 1976
libvirt_iohelper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
1977 1978
libvirt_iohelper_LDADD = \
		libvirt_util.la \
1979
		../gnulib/lib/libgnu.la
1980 1981
if WITH_DTRACE_PROBES
libvirt_iohelper_LDADD += libvirt_probes.lo
1982
endif WITH_DTRACE_PROBES
1983

D
Daniel P. Berrange 已提交
1984 1985 1986 1987
libvirt_iohelper_CFLAGS = \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
1988 1989


1990
endif WITH_LIBVIRTD
1991

1992

1993
if WITH_SANLOCK
1994 1995 1996
libexec_PROGRAMS += libvirt_sanlock_helper

libvirt_sanlock_helper_SOURCES = $(LOCK_DRIVER_SANLOCK_HELPER_SOURCES)
D
Daniel P. Berrange 已提交
1997
libvirt_sanlock_helper_CFLAGS = \
1998
		-I$(srcdir)/conf \
D
Daniel P. Berrange 已提交
1999 2000 2001 2002 2003 2004 2005
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
		$(NULL)
libvirt_sanlock_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2006
libvirt_sanlock_helper_LDADD = libvirt.la
2007
endif WITH_SANLOCK
2008

2009

J
Jamie Strandboge 已提交
2010 2011 2012 2013 2014 2015
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 已提交
2016 2017 2018 2019
virt_aa_helper_LDFLAGS = \
		$(AM_LDFLAGS) \
		$(PIE_LDFLAGS) \
		$(NULL)
2020 2021 2022 2023 2024
virt_aa_helper_LDADD = \
		libvirt.la \
		libvirt_conf.la \
		libvirt_util.la \
		libvirt_driver_storage_impl.la \
C
Chris Lalancette 已提交
2025
		../gnulib/lib/libgnu.la
2026
if WITH_DTRACE_PROBES
2027
virt_aa_helper_LDADD += libvirt_probes.lo
2028
endif WITH_DTRACE_PROBES
2029 2030 2031 2032 2033
virt_aa_helper_CFLAGS = \
		-I$(srcdir)/conf \
		-I$(srcdir)/security \
		$(AM_CFLAGS) \
		$(PIE_CFLAGS) \
D
Daniel P. Berrange 已提交
2034
		$(NULL)
2035 2036
endif WITH_LIBVIRTD
endif WITH_SECDRIVER_APPARMOR
J
Jamie Strandboge 已提交
2037 2038
EXTRA_DIST += $(SECURITY_DRIVER_APPARMOR_HELPER_SOURCES)

2039
if WITH_NSS
2040 2041
noinst_LTLIBRARIES += libvirt-nss.la

2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090
libvirt_nss_la_SOURCES = \
		util/viralloc.c \
		util/viralloc.h \
		util/viratomic.c \
		util/viratomic.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/virhash.c \
		util/virhash.h \
		util/virhashcode.c \
		util/virhashcode.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/virmacmap.c \
		util/virmacmap.h \
		util/virobject.c \
		util/virobject.h \
		util/virpidfile.c \
		util/virpidfile.h \
		util/virprocess.c \
		util/virprocess.h \
		util/virrandom.c \
		util/virrandom.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 \
2091 2092
		$(NULL)

2093 2094 2095 2096
libvirt_nss_la_CFLAGS = \
		-DLIBVIRT_NSS \
		$(AM_CFLAGS) \
		$(YAJL_CFLAGS) \
2097
		$(NULL)
2098 2099
libvirt_nss_la_LDFLAGS = \
		$(AM_LDFLAGS) \
2100 2101
		$(NULL)

2102 2103
libvirt_nss_la_LIBADD = \
		$(YAJL_LIBS) \
2104
		$(NULL)
2105
endif WITH_NSS
2106 2107


2108
install-data-local: install-init install-systemd install-upstart \
2109
		install-sysctl install-polkit install-sasl \
2110
		install-logrotate $(INSTALL_DATA_DIRS:%=install-data-%)
2111 2112
if WITH_LIBVIRTD
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd"
2113
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files"
2114
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/run/libvirt/lockd"
2115
endif WITH_LIBVIRTD
2116 2117
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/cache/libvirt"
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/images"
2118
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems"
2119
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/boot"
2120
if WITH_SANLOCK
2121
	$(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock"
2122
endif WITH_SANLOCK
2123

2124
uninstall-local:: uninstall-init uninstall-systemd uninstall-upstart \
2125
		uninstall-sysctl uninstall-polkit uninstall-sasl \
2126
		uninstall-logrotate $(INSTALL_DATA_DIRS:%=uninstall-data-%)
2127
if WITH_LIBVIRTD
2128
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd/files" ||:
2129 2130
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/lockd" ||:
	rmdir "$(DESTDIR)$(localstatedir)/run/libvirt/lockd" ||:
2131
endif WITH_LIBVIRTD
2132 2133
	rmdir "$(DESTDIR)$(localstatedir)/cache/libvirt" ||:
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/images" ||:
2134
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/filesystems" ||:
2135
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/boot" ||:
2136
if WITH_SANLOCK
2137
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt/sanlock" ||:
2138
endif WITH_SANLOCK
2139
	rmdir "$(DESTDIR)$(localstatedir)/lib/libvirt" ||:
R
Richard W.M. Jones 已提交
2140

2141 2142
CLEANFILES += *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.i *.s
DISTCLEANFILES += $(GENERATED_SYM_FILES)
2143 2144 2145
MAINTAINERCLEANFILES += \
	$(VIR_NET_RPC_GENERATED) \
	$(NULL)