Package version up to 3.2.8
[platform/core/uifw/libtbm.git] / packaging / libtbm.spec
index af98e33..bb10ee4 100644 (file)
@@ -1,9 +1,14 @@
 %bcond_with x
 %bcond_with wayland
-%bcond_with utest
+%define HALTESTS_PACKAGE 1
+%if 0%{?gcov:1}
+%define HALTESTS_GCOV    1
+%else
+%define HALTESTS_GCOV    0
+%endif
 
 Name:           libtbm
-Version:        2.1.6
+Version:        3.2.8
 Release:        1
 License:        MIT
 Summary:        The library for Tizen Buffer Manager
@@ -18,10 +23,7 @@ BuildRequires:  pkgconfig(capi-base-common)
 BuildRequires:  pkgconfig(libpng)
 BuildRequires:  pkgconfig(dlog)
 BuildRequires:  pkgconfig(pixman-1)
-
-%if %{with utest}
 BuildRequires:  gtest-devel
-%endif
 
 %description
 Description: %{summary}
@@ -37,6 +39,24 @@ The library for Tizen Buffer Manager.
 
 Development Files.
 
+%if 0%{?gcov:1}
+%package gcov
+Summary: Tizen Buffer Manager gcov data package
+Group: Development/Libraries
+
+%description gcov
+Tizen Buffer Manager gcno data for gcov
+%endif
+
+%if "%{HALTESTS_PACKAGE}" == "1"
+%package haltests
+Summary: Tizen Buffer Manager unit tests package
+Group: System/Libraries
+
+%description haltests
+Test module for testing libtbm APIs
+%endif
+
 %global TZ_SYS_RO_SHARE  %{?TZ_SYS_RO_SHARE:%TZ_SYS_RO_SHARE}%{!?TZ_SYS_RO_SHARE:/usr/share}
 
 %prep
@@ -44,24 +64,32 @@ Development Files.
 cp %{SOURCE1001} .
 
 %build
-UTEST="no"
+HALTESTS="no"
 
-%if %{with utest}
-UTEST="yes"
+%if "%{HALTESTS_PACKAGE}" == "1"
+HALTESTS="yes"
+%endif
+
+%if "%{HALTESTS_GCOV}" == "1"
+CFLAGS+=" -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
+CXXFLAGS+=" -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
+LDFLAGS+=" -lgcov"
 %endif
 
 %if %{with wayland}
-%reconfigure --prefix=%{_prefix} --with-tbm-platform=WAYLAND  --with-utest=${UTEST} \
+%reconfigure --prefix=%{_prefix} --with-tbm-platform=WAYLAND  --with-haltests=${HALTESTS} \
             CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
 %else
-%reconfigure --prefix=%{_prefix} --with-tbm-platform=X11  --with-utest=${UTEST} \
+%reconfigure --prefix=%{_prefix} --with-tbm-platform=X11  --with-haltests=${HALTESTS} \
             CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
 %endif
 
 make %{?_smp_mflags}
 
-%if %{with utest}
-make -C ut check
+%if 0%{?gcov:1}
+mkdir -p gcov-obj
+find . -name '*.gcno' -exec cp '{}' gcov-obj ';'
+rm gcov-obj/tbm_haltests-tc*
 %endif
 
 %install
@@ -72,6 +100,11 @@ rm -rf %{buildroot}
 install -m 644 service/tbm-drm-auth-user.service %{buildroot}%{_unitdir_user}
 install -m 644 service/tbm-drm-auth-user.path %{buildroot}%{_unitdir_user}
 
+%if 0%{?gcov:1}
+mkdir -p %{buildroot}%{_datadir}/gcov/obj
+install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
+%endif
+
 %clean
 rm -rf %{buildroot}
 
@@ -90,21 +123,22 @@ rm -f %{_unitdir_user}/basic.target.wants/tbm-drm-auth-user.path
 %{_libdir}/libtbm.so.*
 %{_unitdir_user}/tbm-drm-auth-user.path
 %{_unitdir_user}/tbm-drm-auth-user.service
-%if %{with utest}
-%{_bindir}/ut
-%endif
 
 %files devel
 %manifest %{name}.manifest
 %defattr(-,root,root,-)
 %dir %{_includedir}
-%{_includedir}/tbm_bufmgr.h
-%{_includedir}/tbm_surface.h
-%{_includedir}/tbm_surface_internal.h
-%{_includedir}/tbm_surface_queue.h
-%{_includedir}/tbm_bufmgr_backend.h
-%{_includedir}/tbm_type.h
-%{_includedir}/tbm_drm_helper.h
-%{_includedir}/tbm_sync.h
+%{_includedir}/tbm_*.h
 %{_libdir}/libtbm.so
 %{_libdir}/pkgconfig/libtbm.pc
+
+%if "%{HALTESTS_PACKAGE}" == "1"
+%files haltests
+%defattr(-,root,root,-)
+%{_bindir}/tbm-haltests
+%endif
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+%endif