%bcond_with x
%bcond_with wayland
+%define UTEST_PACKAGE 1
+%define UTEST_GCOV 0
Name: libtbm
-Version: 2.0.0
+Version: 2.8.0
Release: 1
License: MIT
Summary: The library for Tizen Buffer Manager
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-client)
-BuildRequires: pkgconfig(pthread-stubs)
BuildRequires: pkgconfig(capi-base-common)
+BuildRequires: pkgconfig(libpng)
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(pixman-1)
+BuildRequires: gtest-devel
%description
Description: %{summary}
Development Files.
+%if "%{UTEST_PACKAGE}" == "1"
+%package utests
+Summary: Tizen Buffer Manager unit tests package
+Group: System/Libraries
+
+%description utests
+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
cp %{SOURCE1001} .
%build
+UTEST="no"
+
+%if "%{UTEST_PACKAGE}" == "1"
+UTEST="yes"
+%endif
+
+%if "%{UTEST_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 \
+%reconfigure --prefix=%{_prefix} --with-tbm-platform=WAYLAND --with-utests=${UTEST} \
CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
%else
-%reconfigure --prefix=%{_prefix} --with-tbm-platform=X11 \
+%reconfigure --prefix=%{_prefix} --with-tbm-platform=X11 --with-utests=${UTEST} \
CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
%endif
%install
rm -rf %{buildroot}
-mkdir -p %{buildroot}/%{TZ_SYS_RO_SHARE}/license
-cp -af COPYING %{buildroot}/%{TZ_SYS_RO_SHARE}/license/%{name}
%make_install
-
-%__mkdir_p %{buildroot}%{_unitdir}
-install -m 644 service/tbm-drm-auth.service %{buildroot}%{_unitdir}
-install -m 644 service/tbm-drm-auth.path %{buildroot}%{_unitdir}
%__mkdir_p %{buildroot}%{_unitdir_user}
install -m 644 service/tbm-drm-auth-user.service %{buildroot}%{_unitdir_user}
install -m 644 service/tbm-drm-auth-user.path %{buildroot}%{_unitdir_user}
rm -rf %{buildroot}
%pre
-%__mkdir_p %{_unitdir}/graphical.target.wants
-ln -sf ../tbm-drm-auth.path %{_unitdir}/graphical.target.wants/
-
-%__mkdir_p %{_unitdir_user}/default.target.wants
-ln -sf ../tbm-drm-auth-user.path %{_unitdir_user}/default.target.wants/
+%__mkdir_p %{_unitdir_user}/basic.target.wants
+ln -sf ../tbm-drm-auth-user.path %{_unitdir_user}/basic.target.wants/
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-rm -f %{_unitdir}/graphical.target.wants/tbm-drm-auth.path
-rm -f %{_unitdir_user}/default.target.wants/tbm-drm-auth-user.path
+rm -f %{_unitdir_user}/basic.target.wants/tbm-drm-auth-user.path
%files
%manifest %{name}.manifest
%defattr(-,root,root,-)
-%{TZ_SYS_RO_SHARE}/license/%{name}
+%license COPYING
%{_libdir}/libtbm.so.*
-%{_unitdir}/tbm-drm-auth.path
-%{_unitdir}/tbm-drm-auth.service
%{_unitdir_user}/tbm-drm-auth-user.path
%{_unitdir_user}/tbm-drm-auth-user.service
%{_includedir}/tbm_surface_queue.h
%{_includedir}/tbm_bufmgr_backend.h
%{_includedir}/tbm_type.h
+%{_includedir}/tbm_type_common.h
%{_includedir}/tbm_drm_helper.h
+%{_includedir}/tbm_sync.h
+%{_includedir}/tbm_bo.h
+%{_includedir}/tbm_log.h
+%{_includedir}/tbm_backend.h
%{_libdir}/libtbm.so
%{_libdir}/pkgconfig/libtbm.pc
+
+%if "%{UTEST_PACKAGE}" == "1"
+%files utests
+%defattr(-,root,root,-)
+%{_bindir}/tbm-utests
+%endif