%bcond_with x
%bcond_with wayland
-%if "%{?profile}" == "wearable"
-%define WITH_WEBSOCKET TRUE
-%else
-%define WITH_WEBSOCKET FALSE
-%endif
-
Name: libscl-core
Summary: A library for developing software keyboards
Version: 0.4.32
%endif
BuildRequires: pkgconfig(libscl-common)
BuildRequires: pkgconfig(capi-appfw-application)
-%if "%{WITH_WEBSOCKET}" == "TRUE"
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
BuildRequires: pkgconfig(libwebsockets)
%endif
-
+Requires: %{name}-compat = %{version}-%{release}
+Recommends: %{name}-profile_common = %{version}-%{release}
%description
A library that helps developing S/W Keyboard
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || tv || ivi || common || "undefined"
+%if "%{?profile}" != "wearable"
+%package profile_common
+Summary: libscl-core subpackage for common/mobile/tv/ivi
+Provides: %{name}-compat = %{version}-%{release}
+Provides: %{name}-profile_mobile = %{version}-%{release}
+Provides: %{name}-profile_tv = %{version}-%{release}
+Provides: %{name}-profile_ivi = %{version}-%{release}
+Conflicts: %{name}-profile_wearable
+%description profile_common
+A library for developing software keyboards for common/mobile/tv/ivi.
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package profile_wearable
+Summary: libscl-core subpackage for wearable
+Provides: %{name}-compat = %{version}-%{release}
+Conflicts: %{name}-profile_common
+%description profile_wearable
+A library for developing software keyboards for wearable.
+%endif
+
%package devel
Summary: SCL-Core header file
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-
%description devel
A devel package of libscl-core library that helps developing S/W Keyboard
%prep
%setup -q
-
%build
export CFLAGS+=" -DTIZEN_DEBUG_ENABLE -Werror"
export CXXFLAGS+=" -DTIZEN_DEBUG_ENABLE -Werror"
rm -rf CMakeFiles
rm -rf CMakeCache.txt
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+# wearable
+mkdir -p wearable
+pushd wearable
+%if %{with wayland}
+cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL_DIR:PATH=%{_libdir} -Dwith_wayland=TRUE -Dwith_websocket=TRUE
+%else
+cmake .. -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL_DIR:PATH=%{_libdir} -Dwith_websocket=TRUE
+%endif
+make %{?_smp_mflags}
+popd
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || tv || ivi || common || "undefined"
+%if "%{?profile}" != "wearable"
+# common
%if %{with wayland}
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL_DIR:PATH=%{_libdir} -Dwith_wayland=TRUE -Dwith_websocket=%{WITH_WEBSOCKET}
+cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL_DIR:PATH=%{_libdir} -Dwith_wayland=TRUE -Dwith_websocket=FALSE
%else
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL_DIR:PATH=%{_libdir} -Dwith_websocket=%{WITH_WEBSOCKET}
+cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL_DIR:PATH=%{_libdir} -Dwith_websocket=FALSE
%endif
make %{?_smp_mflags}
+%endif
%install
rm -rf %{buildroot}
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+pushd wearable
%make_install
+mv %{buildroot}%{_libdir}/%{name}.so %{buildroot}%{_libdir}/%{name}.so.wearable
+popd
+%endif
-
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || tv || ivi || common || "undefined"
+%if "%{?profile}" != "wearable"
+%make_install
+%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post profile_wearable
+pushd %{_libdir}
+for FILE in %{name}.so.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+popd
+%preun profile_wearable
+rm %{_libdir}/%{name}.so
+%endif
+
%files
%manifest %{name}.manifest
%defattr(-,root,root,-)
-%{_libdir}/%{name}.so
%license LICENSE
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || tv || ivi || common || "undefined"
+%if "%{?profile}" != "wearable"
+
+%files profile_common
+%defattr(-,root,root,-)
+%{_libdir}/%{name}.so
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if wearable || "undefined"
+%if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+
+%files profile_wearable
+%defattr(-,root,root,-)
+%{_libdir}/%{name}.so.wearable
+%endif
+
%files devel
%defattr(-,root,root,-)
%{_includedir}/*