+# Do not provide .so automatically for the extensions.
+%global __provides_exclude_from ^.*\\.extension
+
Name: capi-network-wifi-direct
Summary: Network WiFi-Direct Library
-Version: 1.2.47
+Version: 1.3.2
Release: 1
Group: Network & Connectivity/API
License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
+BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(vconf)
BuildRequires: pkgconfig(capi-base-common)
BuildRequires: pkgconfig(capi-system-info)
+%if 0%{?gcov:1}
+BuildRequires: lcov
+BuildRequires: tar
+%endif
+BuildRequires: pkgconfig(gmock)
BuildRequires: cmake
BuildRequires: gettext-devel
+Provides: %{name}-profile_wearable = %{version}-%{release}
+Provides: %{name}-profile_ivi = %{version}-%{release}
+
+Provides: libwifi-direct.so.0
%description
Network WiFi-Direct library in Tizen CAPI (Shared Library)
%description devel
Network WiFi-Direct library in Tizen CAPI (Shared Library) (Development)
-#%package -n test-wifi-direct
-#Summary: Test Application for Wi-Fi Direct
-#Group: Network & Connectivity/Testing
-#Requires: %{name} = %{version}-%{release}
+%package tool
+Summary: Test Application for Wi-Fi Direct
+Group: Network & Connectivity/Testing
+Requires: %{name} = %{version}-%{release}
+
+%description tool
+Test Application for Wi-Fi Direct Framework
-#%description -n test-wifi-direct
-#Test Application for Wi-Fi Direct Framework
+%if 0%{?gcov:1}
+%package gcov
+Summary: Wi-Fi Direct gcov Tool
+Group: Network & Connectivity/Development
+%description gcov
+Wi-Fi Direct gcov objects
+%endif
%prep
%setup -q
export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
+%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
+
MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
+cmake . \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
+ -DLIB_DIR:PATH=%{_libdir} \
+ -DBIN_DIR:PATH=%{_bindir} \
+ -DINCLUDE_DIR:PATH=%{_includedir} \
+ -DFULLVER=%{version} \
+ -DMAJORVER=${MAJORVER}
+make %{?_smp_mflags}
-cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-%if "%{profile}" == "wearable"
- -DTIZEN_FEATURE_SERVICE_DISCOVERY=0 \
- -DTIZEN_FEATURE_WIFI_DISPLAY=0 \
-%else
-%if "%{profile}" == "mobile"
- -DTIZEN_FEATURE_SERVICE_DISCOVERY=1 \
- -DTIZEN_FEATURE_WIFI_DISPLAY=1 \
-%else
-%if "%{profile}" == "tv"
- -DTIZEN_TV=1 \
- -DTIZEN_FEATURE_SERVICE_DISCOVERY=1 \
- -DTIZEN_FEATURE_WIFI_DISPLAY=1 \
-%endif
-%endif
-%endif
- . -DVERSION=%{version} -DMAJORVERSION=${MAJORVER} -DCMAKE_LIB_DIR=%{_libdir}
-make %{?jobs:-j%jobs}
%install
-rm -rf %{buildroot}
+
%make_install
-mkdir -p %{buildroot}/usr/share/license
-cp %{_builddir}/%{buildsubdir}/LICENSE.APLv2 %{buildroot}/usr/share/license/%{name}
+%if 0%{?gcov:1}
+find .. -name '*.gcno' | tar cf %{name}-gcov.tar -T -
+install -d -m 755 %{buildroot}%{_datadir}/gcov/obj
+tar xf %{name}-gcov.tar -C %{buildroot}%{_datadir}/gcov/obj
+%endif
+
+%check
+tests/gtest-wifi-direct
+%if 0%{?gcov:1}
+lcov -c --ignore-errors graph --no-external -b . -d . -o %{name}.info
+genhtml %{name}.info -o out --legend --show-details
+%endif
+
+ln -sf libwifi-direct.so.%{version} %{buildroot}/%{_libdir}/libwifi-direct.so.0
%post -p /sbin/ldconfig
%files
%manifest capi-network-wifi-direct.manifest
+%license LICENSE
%defattr(-,root,root,-)
-%{_libdir}/libwifi-direct.so*
-/usr/share/license/%{name}
+%exclude %{_libdir}/libwifi-direct.so.*.extension
+%{_libdir}/libwifi-direct.so.*
%files devel
%defattr(-,root,root,-)
%{_includedir}/wifi-direct/wifi-direct-internal.h
%{_libdir}/libwifi-direct.so
-#%files -n test-wifi-direct
-#%manifest test-wifi-direct.manifest
-#%defattr(-,app,app,-)
-#%attr(755,-,-) %{_bindir}/test-wifi-direct
+%files tool
+%{_bindir}/wifi_direct_test
+%{_bindir}/gtest-wifi-direct
+
+%if 0%{?gcov:1}
+%files gcov
+%{_datadir}/gcov/obj/*
+%endif