From: Jongmin Lee Date: Mon, 8 Jul 2019 00:08:57 +0000 (+0900) Subject: spec: make a gcov package for measuring coverage easier X-Git-Tag: submit/tizen/20190710.050854^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=06afc40f7124776d7e804dae6d307f1e6c7a115c;p=platform%2Fcore%2Fuifw%2Fefl-ext.git spec: make a gcov package for measuring coverage easier Change-Id: Iee9681fa1a0e73b5ced01f55b287826adb1d178f --- diff --git a/packaging/efl-extension.spec b/packaging/efl-extension.spec index 8f9c899..aa70d9d 100644 --- a/packaging/efl-extension.spec +++ b/packaging/efl-extension.spec @@ -34,6 +34,9 @@ BuildRequires: pkgconfig(ecore-input) BuildRequires: eolian-devel BuildRequires: pkgconfig(glib-2.0) %endif +%if 0%{?gcov:1} +BuildRequires: lcov +%endif Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -53,6 +56,14 @@ Requires: %{name} = %{version}-%{release} EFL extension library providing small utility functions (devel) +%if 0%{?gcov:1} +%package gcov +Summary: EFL extensiona library (gcov) +Group: Graphics & UI Framework/Testing +%description gcov +EFL extension library gcov objects +%endif + %prep %setup -q @@ -61,6 +72,13 @@ EFL extension library providing small utility functions (devel) export CFLAGS+=" -fvisibility=hidden -fPIC -Wall" export LDFLAGS+=" -fvisibility=hidden -Wl,-z,defs -Wl,--hash-style=both -Wl,--as-needed" +%if 0%{?gcov:1} +export CFLAGS+=" -fprofile-arcs -ftest-coverage" +export CXXFLAGS+=" -fprofile-arcs -ftest-coverage" +export FFLAGS+=" -fprofile-arcs -ftest-coverage" +export LDFLAGS+=" -lgcov" +%endif + cmake . -DLIB_INSTALL_DIR:PATH=%{_libdir} \ -DBIN_INSTALL_DIR:PATH=%{_bindir} \ %if "%{?server}" == "x" @@ -74,6 +92,11 @@ cmake . -DLIB_INSTALL_DIR:PATH=%{_libdir} \ make clean make %{?jobs:-j%jobs} +%if 0%{?gcov:1} +mkdir -p gcov-obj +find . -name '*.gcno' -exec cp '{}' gcov-obj ';' +%endif + %install %make_install @@ -89,6 +112,11 @@ for FILE in *.h; do ln -s mobile/${FILE} ../${FILE}; done popd popd +%if 0%{?gcov:1} +mkdir -p %{buildroot}%{_datadir}/gcov/obj +install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj +%endif + %post -p /sbin/ldconfig @@ -114,3 +142,8 @@ popd %{_includedir}/efl-extension/wearable/*.h %{_includedir}/efl-extension/wearable/circle/*.h %{_includedir}/efl-extension/circle + +%if 0%{?gcov:1} +%files gcov +%{_datadir}/gcov/obj/* +%endif