3 %define HALTESTS_PACKAGE 1
5 %define HALTESTS_GCOV 1
7 %define HALTESTS_GCOV 0
10 %define _tmpfilesdir /usr/lib/tmpfiles.d
16 Summary: The library for Tizen Buffer Manager
17 Group: System/Libraries
18 Source0: %{name}-%{version}.tar.gz
19 Source1001: %name.manifest
20 Source1002: sw_sync.conf
21 Source1003: run-unittest.sh
23 BuildRequires: pkgconfig(libdrm)
24 BuildRequires: pkgconfig(wayland-server)
25 BuildRequires: pkgconfig(wayland-client)
26 BuildRequires: pkgconfig(capi-base-common)
27 BuildRequires: pkgconfig(libpng)
28 BuildRequires: pkgconfig(dlog)
29 BuildRequires: pkgconfig(pixman-1)
30 BuildRequires: pkgconfig(gmock)
31 BuildRequires: pkgconfig(hal-api-tbm)
34 Description: %{summary}
37 Summary: Tizen Buffer Manager Library - Development
38 Group: Development/Libraries
39 Requires: libtbm = %{version}
40 Requires: pkgconfig(capi-base-common)
43 The library for Tizen Buffer Manager.
49 Summary: Tizen Buffer Manager gcov data package
50 Group: Development/Libraries
53 Tizen Buffer Manager gcno data for gcov
56 %if "%{HALTESTS_PACKAGE}" == "1"
58 Summary: Tizen Buffer Manager unit tests package
59 Group: System/Libraries
62 Test module for testing libtbm APIs
65 Summary: Tizen Buffer Manager unit tests package
66 Group: System/Libraries
68 %description unittests
69 Test module for testing libtbm APIs
72 %global TZ_SYS_RO_SHARE %{?TZ_SYS_RO_SHARE:%TZ_SYS_RO_SHARE}%{!?TZ_SYS_RO_SHARE:/usr/share}
81 %if "%{HALTESTS_PACKAGE}" == "1"
85 %if "%{HALTESTS_GCOV}" == "1"
86 CFLAGS+=" -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
87 CXXFLAGS+=" -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV"
92 %reconfigure --prefix=%{_prefix} --with-tbm-platform=WAYLAND --with-haltests=${HALTESTS} --bindir=%{_bindir}/hal \
93 --with-default-dlog=yes \
94 CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
96 %reconfigure --prefix=%{_prefix} --with-tbm-platform=X11 --with-haltests=${HALTESTS} --bindir=%{_bindir}/hal \
97 CFLAGS="${CFLAGS} -Wall -Werror" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed"
106 %__mkdir_p %{buildroot}%{_tmpfilesdir}
107 install -m 0644 %SOURCE1002 %{buildroot}%{_tmpfilesdir}/sw_sync.conf
109 %__mkdir_p %{buildroot}%{_unitdir_user}
110 install -m 644 service/tbm-drm-auth-user.service %{buildroot}%{_unitdir_user}
111 install -m 644 service/tbm-drm-auth-user.path %{buildroot}%{_unitdir_user}
114 find haltests/ -name '*.gcno' -exec rm {} \;
116 builddir=$(basename $PWD)
117 gcno_obj_dir=%{buildroot}%{_datadir}/gcov/obj/%{name}/"$builddir"
118 mkdir -p "$gcno_obj_dir"
119 find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
122 %if "%{HALTESTS_PACKAGE}" == "1"
123 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
124 install -m 0755 %SOURCE1003 %{buildroot}%{_bindir}/tizen-unittests/%{name}/
131 %__mkdir_p %{_unitdir_user}/basic.target.wants
132 ln -sf ../tbm-drm-auth-user.path %{_unitdir_user}/basic.target.wants/
135 %if "%{HALTESTS_PACKAGE}" == "1"
136 if [ -f %{_bindir}/tbm-haltests ]; then
137 rm -f %{_bindir}/tbm-haltests
139 ln -s %{_bindir}/hal/tbm-haltests %{_bindir}/tbm-haltests
141 if [ -f %{_bindir}/tbm-unittests ]; then
142 rm -f %{_bindir}/tbm-unittests
144 ln -s %{_bindir}/hal/tbm-unittests %{_bindir}/tbm-unittests
147 %postun -p /sbin/ldconfig
148 rm -f %{_unitdir_user}/basic.target.wants/tbm-drm-auth-user.path
151 %manifest %{name}.manifest
152 %defattr(-,root,root,-)
154 %{_libdir}/libtbm.so.*
155 %{_unitdir_user}/tbm-drm-auth-user.path
156 %{_unitdir_user}/tbm-drm-auth-user.service
157 %{_tmpfilesdir}/sw_sync.conf
160 %manifest %{name}.manifest
161 %defattr(-,root,root,-)
163 %{_includedir}/tbm_*.h
165 %{_libdir}/pkgconfig/libtbm.pc
167 %if "%{HALTESTS_PACKAGE}" == "1"
169 %defattr(-,root,root,-)
170 %{_bindir}/hal/tbm-haltests
173 %defattr(-,root,root,-)
174 %{_bindir}/hal/tbm-unittests
175 %{_bindir}/tizen-unittests/%{name}/run-unittest.sh
180 %{_datadir}/gcov/obj/*