[],
[enable_coverage=no])
AM_CONDITIONAL(ENABLE_COVERAGE, test "x$enable_coverage" != xno)
+AC_SUBST(GCOV_PREFIX_STRIP, `echo $(pwd)/src | tr -dc / | wc -c`)
# radosgw?
AC_ARG_WITH([radosgw],
-e 's|@libdir[@]|$(libdir)|g' \
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
-e 's|@datadir[@]|$(pkgdatadir)|g' \
- -e 's|@prefix[@]|$(prefix)|g'
+ -e 's|@prefix[@]|$(prefix)|g' \
+ -e 's|@@GCOV_PREFIX_STRIP[@][@]|$(GCOV_PREFIX_STRIP)|g'
-init-ceph mkcephfs cdebugpack: init-ceph.in mkcephfs.in Makefile cdebugpack.in
+init-ceph mkcephfs cdebugpack ceph-coverage: init-ceph.in mkcephfs.in Makefile cdebugpack.in ceph-coverage.in
rm -f $@ $@.tmp
$(editpaths) '$(srcdir)/$@.in' >$@.tmp
chmod +x $@.tmp
bin_SCRIPTS += obsync/obsync
bin_SCRIPTS += obsync/boto_tool
+bin_SCRIPTS += ceph-coverage
CLEANFILES += \
cdebugpack \
ceph_ver.h \
init-ceph \
mkcephfs \
- sample.fetch_config
+ sample.fetch_config \
+ ceph-coverage
##
EXTRA_DIST = $(srcdir)/verify-mds-journal.sh $(srcdir)/vstart.sh $(srcdir)/stop.sh \
crun $(srcdir)/ceph_common.sh $(srcdir)/init-ceph.in $(srcdir)/mkcephfs.in \
$(srcdir)/cdebugpack.in \
+ $(srcdir)/ceph-coverage.in \
$(srcdir)/cclsinfo $(srcdir)/make_version $(srcdir)/check_version \
$(srcdir)/.git_version \
$(srcdir)/crbdnamer \
--- /dev/null
+#!/bin/sh
+set -e
+
+export GCOV_PREFIX_STRIP=@@GCOV_PREFIX_STRIP@@
+
+usage () {
+ printf '%s: usage: %s OUTPUTDIR COMMAND [ARGS..]\n' "$(basename "$0")" "$(basename "$0")" 1>&2
+ exit 1
+}
+
+export GCOV_PREFIX="$1"
+[ -n "$GCOV_PREFIX" ] || usage
+shift
+
+case "$GCOV_PREFIX" in
+ /*)
+ # absolute path -> ok
+ ;;
+ *)
+ # make it absolute
+ GCOV_PREFIX="$PWD/$GCOV_PREFIX"
+ ;;
+esac
+
+exec "$@"