2005-11-02 15:50:21 +03:00
## Process this file with automake to produce Makefile.in
2008-05-29 23:27:04 +04:00
LCOV = lcov
GENHTML = genhtml
2010-11-08 19:32:02 +03:00
SUBDIRS = gnulib/lib include src daemon tools docs gnulib/tests \
2009-09-16 16:07:48 +04:00
python tests po examples/domain-events/events-c examples/hellolibvirt \
2010-03-25 20:46:13 +03:00
examples/dominfo examples/domsuspend examples/python examples/apparmor \
Add dtrace static probes in libvirtd
Adds initial support for dtrace static probes in libvirtd
daemon, assuming use of systemtap dtrace compat shim on
Linux. The probes are inserted for network client connect,
disconnect, TLS handshake states and authentication protocol
states.
This can be tested by running the xample program and then
attempting to connect with any libvirt client (virsh,
virt-manager, etc).
# stap examples/systemtap/client.stp
Client fd=44 connected readonly=0
Client fd=44 auth polkit deny pid:24997,uid:500
Client fd=44 disconnected
Client fd=46 connected readonly=1
Client fd=46 auth sasl allow test
Client fd=46 disconnected
The libvirtd.stp file should also really not be required,
since it is duplicated info that is already available in
the main probes.d definition file. A script to autogenerate
the .stp file is needed, either in libvirtd tree, or better
as part of systemtap itself.
* Makefile.am: Add examples/systemtap subdir
* autobuild.sh: Disable dtrace for mingw32
* configure.ac: Add check for dtrace
* daemon/.gitignore: Ignore generated dtrace probe file
* daemon/Makefile.am: Build dtrace probe header & object
files
* daemon/libvirtd.stp: SystemTAP convenience probeset
* daemon/libvirtd.c: Add connect/disconnect & TLS probes
* daemon/remote.c: Add SASL and PolicyKit auth probes
* daemon/probes.d: Master probe definition
* daemon/libvirtd.h: Add convenience macro for probes
so that compilation is a no-op when dtrace is not available
* examples/systemtap/Makefile.am, examples/systemtap/client.stp
Example systemtap script using dtrace probe markers
* libvirt.spec.in: Enable dtrace on F13/RHEL6
* mingw32-libvirt.spec.in: Force disable dtrace
2010-09-14 20:30:32 +04:00
examples/xml/nwfilter examples/openauth examples/systemtap
2006-09-21 19:24:37 +04:00
2009-07-09 15:18:14 +04:00
ACLOCAL_AMFLAGS = -I m4 -I gnulib/m4
2005-12-19 19:34:11 +03:00
2010-02-24 17:18:51 +03:00
XML_EXAMPLES = \
$( patsubst $( srcdir) /%,%,$( wildcard $( addprefix $( srcdir) /examples/xml/, \
test/*.xml storage/*.xml) ) )
2009-09-16 22:02:59 +04:00
2008-01-29 20:42:39 +03:00
EXTRA_DIST = \
2009-07-08 10:54:25 +04:00
ChangeLog-old \
2008-01-29 20:42:39 +03:00
libvirt.spec libvirt.spec.in \
2008-10-10 15:33:10 +04:00
mingw32-libvirt.spec.in \
2008-01-29 20:42:39 +03:00
libvirt.pc libvirt.pc.in \
2009-09-16 15:01:53 +04:00
autobuild.sh \
2009-10-23 14:10:38 +04:00
.x-sc_avoid_ctype_macros \
2008-01-29 21:15:54 +03:00
.x-sc_avoid_if_before_free \
2009-10-23 14:10:38 +04:00
.x-sc_avoid_write \
.x-sc_m4_quote_check \
.x-sc_prohibit_asprintf \
2010-10-27 01:50:19 +04:00
.x-sc_prohibit_empty_lines_at_EOF \
2009-10-23 14:10:38 +04:00
.x-sc_prohibit_gethostby \
2009-10-23 14:13:20 +04:00
.x-sc_prohibit_gethostname \
2010-04-13 02:43:05 +04:00
.x-sc_prohibit_gettext_noop \
2009-10-23 14:10:38 +04:00
.x-sc_prohibit_have_config_h \
.x-sc_prohibit_HAVE_MBRTOWC \
.x-sc_prohibit_nonreentrant \
2008-05-15 01:18:27 +04:00
.x-sc_prohibit_strcmp \
Prepare to use maint.mk from gnulib
Since Makefile.maint will soon come from gnulib's maint.mk,
sync Makefile.maint to have the same contents (modulo minor
things). In syncing it, we have to remove some libvirt-specific
rules. Since we want to keep them (of course), put those in cfg.mk.
* Makefile.maint: Merge from gnulib's maint.mk.
* cfg.mk (sc_avoid_write): New rule. From Makefile.cfg.
(sc_prohibit_strcmp_and_strncmp): Likewise, and rename.
(sc_prohibit_asprintf, sc_prohibit_VIR_ERR_NO_MEMORY): Likewise.
(sc_prohibit_nonreentrant): Likewise.
(sc_prohibit_ctype_h): Likewise.
(sc_TAB_in_indentation, sc_avoid_ctype_macros): Likewise.
(sc_prohibit_virBufferAdd_with_string_literal): Likewise.
(sc_prohibit_gethostby): Likewise.
(sc_libvirt_unmarked_diagnostics): Likewise. Also, rename the
rule, inserting "_libvirt", since this rule is a specialization of
the one in gnulib.
* GNUmakefile: Include cfg.mk, not Makefile.cfg
* .x-sc_prohibit_strcmp_and_strncmp: New file.
* Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_strcmp_and_strncmp
2009-07-06 20:28:10 +04:00
.x-sc_prohibit_strcmp_and_strncmp \
2009-10-23 14:10:38 +04:00
.x-sc_prohibit_strncpy \
2010-04-13 02:43:05 +04:00
.x-sc_prohibit_test_minus_ao \
2009-10-23 14:10:38 +04:00
.x-sc_prohibit_VIR_ERR_NO_MEMORY \
2008-06-13 13:08:44 +04:00
.x-sc_require_config_h \
2009-10-23 14:10:38 +04:00
.x-sc_require_config_h_first \
.x-sc_trailing_blank \
2009-01-20 23:19:55 +03:00
Makefile.nonreentrant \
2009-09-16 22:02:59 +04:00
autogen.sh \
2009-09-30 16:34:15 +04:00
examples/domain-events/events-python \
2009-09-16 22:02:59 +04:00
$( XML_EXAMPLES)
2006-04-10 18:15:33 +04:00
2005-11-02 15:50:21 +03:00
pkgconfigdir = $( libdir) /pkgconfig
2006-02-09 20:45:11 +03:00
pkgconfig_DATA = libvirt.pc
2005-11-02 15:50:21 +03:00
2009-10-07 14:15:45 +04:00
NEWS : $( top_srcdir ) /docs /news .xsl $( top_srcdir ) /docs /news .html .in
-@( if [ -x $( XSLTPROC) ] ; then \
$( XSLTPROC) --nonet $( top_srcdir) /docs/news.xsl \
$( top_srcdir) /docs/news.html.in \
| perl -0777 -pe 's/\n\n+$$/\n/' \
| perl -pe 's/[ \t]+$$//' \
> $@ -t && mv $@ -t $@ ; fi ) ;
2005-11-02 18:37:34 +03:00
rpm : clean
@( unset CDPATH ; $( MAKE) dist && rpmbuild -ta $( distdir) .tar.gz)
2006-02-14 17:30:42 +03:00
check-local : all tests
tests :
2006-02-21 17:15:32 +03:00
@( cd docs/examples ; $( MAKE) MAKEFLAGS += --silent tests)
2007-12-12 11:12:38 +03:00
@( if [ " $( pythondir) " != "" ] ; then cd python ; \
2007-02-14 05:12:41 +03:00
$( MAKE) MAKEFLAGS += --silent tests ; fi )
2008-05-29 23:27:04 +04:00
cov : clean -cov
mkdir $( top_builddir) /coverage
2010-06-09 22:35:49 +04:00
$( LCOV) -c -o $( top_builddir) /coverage/libvirt.info.tmp \
-d $( top_builddir) /src -d $( top_builddir) /daemon \
-d $( top_builddir) /tests
$( LCOV) -r $( top_builddir) /coverage/libvirt.info.tmp \
-o $( top_builddir) /coverage/libvirt.info
2008-05-29 23:27:04 +04:00
rm $( top_builddir) /coverage/libvirt.info.tmp
2010-06-09 22:35:49 +04:00
$( GENHTML) --show-details -t "libvirt" -o $( top_builddir) /coverage \
--legend $( top_builddir) /coverage/libvirt.info
2007-02-14 05:12:41 +03:00
clean-cov :
rm -rf $( top_builddir) /coverage
2007-11-15 16:04:28 +03:00
2009-07-10 12:01:04 +04:00
MAINTAINERCLEANFILES = .git-module-status
2007-11-15 16:04:28 +03:00
# disable this check
distuninstallcheck :
2009-07-08 10:54:25 +04:00
dist-hook : gen -ChangeLog
# Generate the ChangeLog file (with all entries since the switch to git)
# and insert it into the directory we're about to use to create a tarball.
gen_start_date = 2009-07-04
.PHONY : gen -ChangeLog
gen-ChangeLog :
if test -d .git; then \
$( top_srcdir) /build-aux/gitlog-to-changelog \
--since= $( gen_start_date) > $( distdir) /cl-t; \
rm -f $( distdir) /ChangeLog; \
mv $( distdir) /cl-t $( distdir) /ChangeLog; \
fi