Merge branch 'devel/master' into tizen
[platform/core/uifw/dali-adaptor.git] / packaging / dali-adaptor.spec
index e98034f..af5ba44 100644 (file)
@@ -19,7 +19,7 @@
 
 Name:       dali-adaptor
 Summary:    The DALi Tizen Adaptor
-Version:    1.2.44
+Version:    1.2.56
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-3-Clause and MIT
@@ -37,6 +37,9 @@ Requires:       giflib
 BuildRequires:  pkgconfig(libtzplatform-config)
 %endif
 
+%if 0%{?tizen_version_major} < 4
+%define disable_cxx03_build 1
+%endif
 
 # Get the profile from tizen_profile_name if tizen version is 2.x and tizen_profile_name exists.
 
@@ -55,13 +58,18 @@ BuildRequires:  pkgconfig(screen_connector_provider)
 BuildRequires:  pkgconfig(gles20)
 BuildRequires:  pkgconfig(glesv2)
 
+%if !0%{?disable_cxx03_build}
+BuildRequires:  dali-devel-cxx03
+BuildRequires:  dali-integration-devel-cxx03
+%endif
+BuildRequires:  dali-devel
+BuildRequires:  dali-integration-devel
+
 BuildRequires:  pkgconfig
 BuildRequires:  gawk
 BuildRequires:  giflib-devel
 BuildRequires:  pkgconfig(fontconfig)
 BuildRequires:  libjpeg-turbo-devel
-BuildRequires:  dali-devel
-BuildRequires:  dali-integration-devel
 BuildRequires:  pkgconfig(vconf)
 BuildRequires:  tts-devel
 BuildRequires:  pkgconfig(dlog)
@@ -72,14 +80,10 @@ BuildRequires:  pkgconfig(egl)
 BuildRequires:  libcurl-devel
 BuildRequires:  pkgconfig(harfbuzz)
 BuildRequires:  fribidi-devel
+
 BuildRequires:  pkgconfig(capi-system-info)
 BuildRequires:  pkgconfig(capi-system-sensor)
 
-# Tizen currently does not have libuv as a separate libuv package
-# So we have to look into the uv headers bundled inside node-js
-BuildRequires:  nodejs-devel
-
-
 %if %{with wayland}
 
 ####### BUILDING FOR WAYLAND #######
@@ -88,9 +92,6 @@ BuildRequires:  pkgconfig(wayland-client)
 BuildRequires:  wayland-devel
 BuildRequires:  wayland-extension-client-devel
 
-# dali-adaptor-uv uses libuv mainloop and has its own wayland client (it needs wayland-client headers).
-BuildRequires:  libxkbcommon-devel
-
 # dali-adaptor uses ecore mainloop
 BuildRequires:  pkgconfig(ecore-wayland)
 
@@ -98,6 +99,9 @@ BuildRequires:  pkgconfig(ecore-wayland)
 BuildRequires:  pkgconfig(libtbm)
 
 # tpkp-curl (certificate pinning for libcurl functions) is only available in Tizen 3.0
+%if !0%{?disable_cxx03_build}
+BuildRequires:  pkgconfig(tpkp-curl-deprecated)
+%endif
 BuildRequires:  pkgconfig(tpkp-curl)
 
 ####### BUILDING FOR X11#######
@@ -112,14 +116,24 @@ BuildRequires:  pkgconfig(utilX)
 
 # for dali-adaptor
 BuildRequires:  pkgconfig(evas)
-BuildRequires:  pkgconfig(elementary)
+
+%if 0%{?tizen_version_major} == 3
 BuildRequires:  pkgconfig(capi-appfw-application)
+BuildRequires:  pkgconfig(elementary)
+%else
+BuildRequires:  pkgconfig(appcore-ui)
+BuildRequires:  pkgconfig(capi-appfw-app-common)
+BuildRequires:  pkgconfig(capi-appfw-app-control)
+BuildRequires:  pkgconfig(ecore-imf)
+%endif
+
 BuildRequires:  pkgconfig(capi-system-system-settings)
 
 # for feedback plugin
 BuildRequires:  pkgconfig(mm-sound)
-BuildRequires:  pkgconfig(deviced)
-BuildRequires:  libfeedback-devel
+%if 0%{?tizen_version_major} >= 3
+BuildRequires:  pkgconfig(feedback)
+%endif
 
 # for videoplayer Plugin
 BuildRequires:  pkgconfig(capi-media-player)
@@ -133,6 +147,16 @@ Recommends: %{name}-profile_common = %{version}-%{release}
 The DALi Tizen Adaptor provides a Tizen specific implementation of the dali-core
 platform abstraction and application shell
 
+%if !0%{?disable_cxx03_build}
+%package cxx03
+Summary:       The DALi Tizen Adaptor with cxx03 abi
+Provides:      %{name}-cxx03 = %{version}-%{release}
+
+%description cxx03
+The DALi Tizen Adaptor provides a Tizen specific implementation of the dali-core
+platform abstraction and application shell
+%endif
+
 ###########################################
 # Dali adapter for profiles
 ###########################################
@@ -141,13 +165,12 @@ platform abstraction and application shell
 # if mobile || "undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %package profile_mobile
-%define dali_feedback_plugin_mobile 0
-Summary:       The DALi Tizen Adaptor for mobile
-Provides:      %{name}-compat = %{version}-%{release}
-Conflicts:     %{name}-profile_tv
-Conflicts:     %{name}-profile_wearable
-Conflicts:     %{name}-profile_ivi
-Conflicts:     %{name}-profile_common
+Summary:        The DALi Tizen Adaptor for mobile
+Provides:       %{name}-compat = %{version}-%{release}
+Conflicts:      %{name}-profile_tv
+Conflicts:      %{name}-profile_wearable
+Conflicts:      %{name}-profile_ivi
+Conflicts:      %{name}-profile_common
 %description profile_mobile
 The DALi Tizen Adaptor for mobile.
 %endif
@@ -156,13 +179,12 @@ The DALi Tizen Adaptor for mobile.
 # if tv ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 %package profile_tv
-%define dali_feedback_plugin_tv 0
-Summary:       The DALi Tizen Adaptor for tv
-Provides:      %{name}-compat = %{version}-%{release}
-Conflicts:     %{name}-profile_mobile
-Conflicts:     %{name}-profile_wearable
-Conflicts:     %{name}-profile_ivi
-Conflicts:     %{name}-profile_common
+Summary:        The DALi Tizen Adaptor for tv
+Provides:       %{name}-compat = %{version}-%{release}
+Conflicts:      %{name}-profile_mobile
+Conflicts:      %{name}-profile_wearable
+Conflicts:      %{name}-profile_ivi
+Conflicts:      %{name}-profile_common
 %description profile_tv
 The DALi Tizen Adaptor for tv.
 %endif
@@ -171,13 +193,12 @@ The DALi Tizen Adaptor for tv.
 # if wearable || "undefined"
 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %package profile_wearable
-%define dali_feedback_plugin_wearable 0
-Summary:       The DALi Tizen Adaptor for wearable
-Provides:      %{name}-compat = %{version}-%{release}
-Conflicts:     %{name}-profile_mobile
-Conflicts:     %{name}-profile_tv
-Conflicts:     %{name}-profile_ivi
-Conflicts:     %{name}-profile_common
+Summary:        The DALi Tizen Adaptor for wearable
+Provides:       %{name}-compat = %{version}-%{release}
+Conflicts:      %{name}-profile_mobile
+Conflicts:      %{name}-profile_tv
+Conflicts:      %{name}-profile_ivi
+Conflicts:      %{name}-profile_common
 %description profile_wearable
 The DALi Tizen Adaptor for wearable.
 %endif
@@ -186,13 +207,12 @@ The DALi Tizen Adaptor for wearable.
 # if ivi ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
 %package profile_ivi
-%define dali_feedback_plugin_ivi 0
-Summary:       The DALi Tizen Adaptor for ivi
-Provides:      %{name}-compat = %{version}-%{release}
-Conflicts:     %{name}-profile_mobile
-Conflicts:     %{name}-profile_wearable
-Conflicts:     %{name}-profile_tv
-Conflicts:     %{name}-profile_common
+Summary:        The DALi Tizen Adaptor for ivi
+Provides:       %{name}-compat = %{version}-%{release}
+Conflicts:      %{name}-profile_mobile
+Conflicts:      %{name}-profile_wearable
+Conflicts:      %{name}-profile_tv
+Conflicts:      %{name}-profile_common
 %description profile_ivi
 The DALi Tizen Adaptor for ivi.
 %endif
@@ -202,18 +222,95 @@ The DALi Tizen Adaptor for ivi.
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 # Currently Tizen Common we use does not have wayland extensions like xdg-shell
 %package profile_common
-%define dali_feedback_plugin_common 0
 %define tizen_2_2_compatibility 0
-Summary:  The DALi Tizen Adaptor for common
-Provides:      %{name}-compat = %{version}-%{release}
-Conflicts:     %{name}-profile_mobile
-Conflicts:     %{name}-profile_wearable
-Conflicts:     %{name}-profile_tv
-Conflicts:     %{name}-profile_ivi
+Summary:        The DALi Tizen Adaptor for common
+Provides:       %{name}-compat = %{version}-%{release}
+Conflicts:      %{name}-profile_mobile
+Conflicts:      %{name}-profile_wearable
+Conflicts:      %{name}-profile_tv
+Conflicts:      %{name}-profile_ivi
 %description profile_common
 The DALi Tizen Adaptor for common.
 %endif
 
+%if !0%{?disable_cxx03_build}
+###########################################
+# Dali adapter for profiles for cxx03 ABI
+###########################################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%package profile_mobile-cxx03
+Summary:       The DALi Tizen Adaptor for mobile with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_tv-cxx03
+Conflicts:     %{name}-profile_wearable-cxx03
+Conflicts:     %{name}-profile_ivi-cxx03
+Conflicts:     %{name}-profile_common-cxx03
+%description profile_mobile-cxx03
+The DALi Tizen Adaptor for mobile.
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%package profile_tv-cxx03
+Summary:       The DALi Tizen Adaptor for tv with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_mobile-cxx03
+Conflicts:     %{name}-profile_wearable-cxx03
+Conflicts:     %{name}-profile_ivi-cxx03
+Conflicts:     %{name}-profile_common-cxx03
+%description profile_tv-cxx03
+The DALi Tizen Adaptor for tv.
+%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-cxx03
+Summary:       The DALi Tizen Adaptor for wearable with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_mobile-cxx03
+Conflicts:     %{name}-profile_tv-cxx03
+Conflicts:     %{name}-profile_ivi-cxx03
+Conflicts:     %{name}-profile_common-cxx03
+%description profile_wearable-cxx03
+The DALi Tizen Adaptor for wearable.
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+%package profile_ivi-cxx03
+Summary:       The DALi Tizen Adaptor for ivi with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_mobile-cxx03
+Conflicts:     %{name}-profile_wearable-cxx03
+Conflicts:     %{name}-profile_tv-cxx03
+Conflicts:     %{name}-profile_common-cxx03
+%description profile_ivi-cxx03
+The DALi Tizen Adaptor for ivi.
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+# Currently Tizen Common we use does not have wayland extensions like xdg-shell
+%package profile_common-cxx03
+%define tizen_2_2_compatibility 0
+Summary:  The DALi Tizen Adaptor for common with cxx03 abi
+Provides:      %{name}-cxx03-compat = %{version}-%{release}
+Conflicts:     %{name}-profile_mobile-cxx03
+Conflicts:     %{name}-profile_wearable-cxx03
+Conflicts:     %{name}-profile_tv-cxx03
+Conflicts:     %{name}-profile_ivi-cxx03
+%description profile_common-cxx03
+The DALi Tizen Adaptor for common.
+%endif
+%endif
+
 ##############################
 # devel
 ##############################
@@ -237,115 +334,77 @@ Requires:   %{name} = %{version}-%{release}
 %description integration-devel
 Integration development package for the Adaptor - headers for integrating with an adaptor library.
 
+%if !0%{?disable_cxx03_build}
 ##############################
-# Dali Feedback Plugin
+# devel cxx03
+##############################
+%package devel-cxx03
+Summary:    Development components for the DALi Tizen Adaptor with cxx03 abi
+Group:      Development/Building
+Requires:   %{name}-cxx03 = %{version}-%{release}
+Requires:   %{name}-integration-devel-cxx03 = %{version}-%{release}
+
+%description devel-cxx03
+Development components for the DALi Tizen Adaptor - public headers and package configs
+
+##############################
+# integration-devel cxx03
 ##############################
+%package integration-devel-cxx03
+Summary:    Integration development package for the Adaptor with cxx03 abi
+Group:      Development/Building
+Requires:   %{name}-cxx03 = %{version}-%{release}
+
+%description integration-devel-cxx03
+Integration development package for the Adaptor - headers for integrating with an adaptor library.
+%endif
 
+##############################
+# Dali Feedback Plugin
+##############################
 %package dali-feedback-plugin
 Summary:    Plugin to play haptic and audio feedback for Dali
 Group:      System/Libraries
 Requires:   %{name} = %{version}-%{release}
-Requires:   %{name}-dali-feedback-plugin-compat = %{version}-%{release}
-Recommends: %{name}-dali-feedback-plugin-profile_common = %{version}-%{release}
 %description dali-feedback-plugin
-eedback plugin to play haptic and audio feedback for Dali
-
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if mobile || "undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
-%package dali-feedback-plugin-profile_mobile
-Summary:    Plugin to play haptic and audio feedback for Dali profile mobile.
-Group:      System/Libraries
-%if 0%{?dali_feedback_plugin_mobile}
-Provides:      %{name}-dali-feedback-plugin-compat = %{version}-%{release}
-Conflicts:     %{name}-dali-feedback-plugin-profile_ivi
-Conflicts:     %{name}-dali-feedback-plugin-profile_wearable
-Conflicts:     %{name}-dali-feedback-plugin-profile_tv
-Conflicts:     %{name}-dali-feedback-plugin-profile_common
-%endif
-%description dali-feedback-plugin-profile_mobile
-Feedback plugin to play haptic and audio feedback for Dali profile mobile.
-%endif
+Feedback plugin to play haptic and audio feedback for Dali
 
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if tv ||"undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-%package dali-feedback-plugin-profile_tv
-Summary:    Plugin to play haptic and audio feedback for Dali profile tv.
-Group:      System/Libraries
-%if 0%{?dali_feedback_plugin_tv}
-Provides:      %{name}-dali-feedback-plugin-compat = %{version}-%{release}
-Conflicts:     %{name}-dali-feedback-plugin-profile_ivi
-Conflicts:     %{name}-dali-feedback-plugin-profile_wearable
-Conflicts:     %{name}-dali-feedback-plugin-profile_mobile
-Conflicts:     %{name}-dali-feedback-plugin-profile_common
-%endif
-%description dali-feedback-plugin-profile_tv
-Feedback plugin to play haptic and audio feedback for Dali profile tv.
-%endif
+##############################
+# Dali VideoPlayer Plugin
+##############################
+%if %{with wayland}
 
-# 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 dali-feedback-plugin-profile_wearable
-Summary:    Plugin to play haptic and audio feedback for Dali profile wearable.
+%package dali-video-player-plugin
+Summary:    Plugin to play a video file for Dali
 Group:      System/Libraries
-%if 0%{?dali_feedback_plugin_wearable}
-Provides:      %{name}-dali-feedback-plugin-compat = %{version}-%{release}
-Conflicts:     %{name}-dali-feedback-plugin-profile_ivi
-Conflicts:     %{name}-dali-feedback-plugin-profile_tv
-Conflicts:     %{name}-dali-feedback-plugin-profile_mobile
-Conflicts:     %{name}-dali-feedback-plugin-profile_common
-%endif
-%description dali-feedback-plugin-profile_wearable
-Feedback plugin to play haptic and audio feedback for Dali profile wearable.
+%description dali-video-player-plugin
+VideoPlayer plugin to play a video file for Dali
 %endif
 
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if ivi ||"undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
-%package dali-feedback-plugin-profile_ivi
-Summary:    Plugin to play haptic and audio feedback for Dali profile ivi.
-Group:      System/Libraries
-%if 0%{?dali_feedback_plugin_ivi}
-Provides:      %{name}-dali-feedback-plugin-compat = %{version}-%{release}
-Conflicts:     %{name}-dali-feedback-plugin-profile_wearable
-Conflicts:     %{name}-dali-feedback-plugin-profile_tv
-Conflicts:     %{name}-dali-feedback-plugin-profile_mobile
-Conflicts:     %{name}-dali-feedback-plugin-profile_common
-%endif
-%description dali-feedback-plugin-profile_ivi
-Feedback plugin to play haptic and audio feedback for Dali profile ivi.
-%endif
+%if !0%{?disable_cxx03_build}
+##############################
+# Dali Feedback Plugin cxx03
+##############################
 
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if common ||"undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-%package dali-feedback-plugin-profile_common
-Summary:    Plugin to play haptic and audio feedback for Dali profile common.
+%package dali-feedback-plugin-cxx03
+Summary:    Plugin to play haptic and audio feedback for Dali with cxx03 abi
 Group:      System/Libraries
-%if 0%{?dali_feedback_plugin_common}
-Provides:      %{name}-dali-feedback-plugin-compat = %{version}-%{release}
-Conflicts:     %{name}-dali-feedback-plugin-profile_wearable
-Conflicts:     %{name}-dali-feedback-plugin-profile_tv
-Conflicts:     %{name}-dali-feedback-plugin-profile_mobile
-Conflicts:     %{name}-dali-feedback-plugin-profile_ivi
-%endif
-%description dali-feedback-plugin-profile_common
-Feedback plugin to play haptic and audio feedback for Dali profile common.
-%endif
+Requires:   %{name}-cxx03 = %{version}-%{release}
+%description dali-feedback-plugin-cxx03
+Feedback plugin to play haptic and audio feedback for Dali
 
 ##############################
 # Dali VideoPlayer Plugin
 ##############################
 %if %{with wayland}
 
-%package dali-video-player-plugin
-Summary:    Plugin to play a video file for Dali
+%package dali-video-player-plugin-cxx03
+Summary:    Plugin to play a video file for Dali with cxx03 abi
 Group:      System/Libraries
-%description dali-video-player-plugin
+%description dali-video-player-plugin-cxx03
 VideoPlayer plugin to play a video file for Dali
 %endif
+%endif
 
 ##############################
 # Preparation
@@ -372,7 +431,7 @@ VideoPlayer plugin to play a video file for Dali
 %endif
 
 %define user_shader_cache_dir    %{dali_data_ro_dir}/core/shaderbin/
-%define dali_plugin_sound_files  %{dali_data_ro_dir}/plugins/sounds/
+%define dali_plugin_sound_files  /plugins/sounds/
 %define dev_include_path %{_includedir}
 
 ##############################
@@ -393,6 +452,11 @@ CXXFLAGS+=" -DWAYLAND"
 configure_flags="--enable-wayland"
 %endif
 
+# Use this conditional when Tizen version is 4.x or greater
+%if 0%{?tizen_version_major} >= 4
+CXXFLAGS+=" -DOVER_TIZEN_VERSION_4"
+%endif
+
 %if 0%{?tizen_2_2_compatibility}
 CFLAGS+=" -DTIZEN_SDK_2_2_COMPATIBILITY"
 CXXFLAGS+=" -DTIZEN_SDK_2_2_COMPATIBILITY"
@@ -413,11 +477,9 @@ TIZEN_PLATFORM_CONFIG_SUPPORTED="%{tizen_platform_config_supported}" ; export TI
 %endif
 
 # Default to GLES 2.0 if not specified.
-%{!?target_gles_version: %define target_gles_version 20}
-
-#--enable-efl=no \ # only affects dali-adaptor-uv
-#--enable-appfw=yes \ # affects both dali-adaptor & dali-adaptor-uv
-#--with-libuv=/usr/include/node/ \ # only affects dali-adaptor-uv
+%if 0%{?target_gles_version} == 0
+%define target_gles_version 20
+%endif
 
 # Set up the build via configure.
 #######################################################################
@@ -426,13 +488,14 @@ TIZEN_PLATFORM_CONFIG_SUPPORTED="%{tizen_platform_config_supported}" ; export TI
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
            --enable-shaderbincache=DISABLE --enable-profile=MOBILE \
-%if 0%{?dali_feedback_plugin_mobile}
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
            --enable-feedback \
 %endif
+           --enable-videoplayer \
 %if 0%{?tizen_2_2_compatibility}
            --with-tizen-2-2-compatibility \
 %endif
-           --enable-videoplayer \
 %if %{with wayland}
            --enable-efl=no \
 %else
@@ -442,8 +505,8 @@ TIZEN_PLATFORM_CONFIG_SUPPORTED="%{tizen_platform_config_supported}" ; export TI
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           --with-libuv=/usr/include/node/ \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
@@ -454,11 +517,12 @@ popd
 
 pushd %{buildroot}%{_libdir}
 for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.mobile"; done
-%if 0%{?dali_feedback_plugin_mobile}
-for FILE in libdali-feedback-plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.mobile"; done
-%endif
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
 popd
 
+make clean
+
 %endif
 
 #######################################################################
@@ -466,14 +530,15 @@ popd
 # if tv ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
-           --enable-shaderbincache=ENABLE --enable-profile=TV \
-%if 0%{?dali_feedback_plugin_tv}
+           --enable-shaderbincache=DISABLE --enable-profile=TV \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
            --enable-feedback \
 %endif
+           --enable-videoplayer \
 %if 0%{?tizen_2_2_compatibility}
            --with-tizen-2-2-compatibility \
 %endif
-           --enable-videoplayer \
 %if %{with wayland}
            --enable-efl=no \
 %else
@@ -483,8 +548,8 @@ popd
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           --with-libuv=/usr/include/node/ \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
@@ -495,11 +560,11 @@ popd
 
 pushd %{buildroot}%{_libdir}
 for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.tv"; done
-%if 0%{?dali_feedback_plugin_tv}
-for FILE in libdali-feedback-plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.tv"; done
-%endif
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
 popd
 
+make clean
 %endif
 
 #######################################################################
@@ -508,7 +573,8 @@ popd
 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
            --enable-shaderbincache=DISABLE --enable-profile=WEARABLE \
-%if 0%{?dali_feedback_plugin_wearable}
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
            --enable-feedback \
 %endif
            --enable-videoplayer \
@@ -524,8 +590,8 @@ popd
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           --with-libuv=/usr/include/node/ \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
@@ -536,11 +602,11 @@ popd
 
 pushd %{buildroot}%{_libdir}
 for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.wearable"; done
-%if 0%{?dali_feedback_plugin_wearable}
-for FILE in libdali-feedback-plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.wearable"; done
-%endif
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
 popd
 
+make clean
 %endif
 
 #######################################################################
@@ -549,13 +615,14 @@ popd
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
 %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
            --enable-shaderbincache=DISABLE --enable-profile=IVI \
-%if 0%{?dali_feedback_plugin_ivi}
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
            --enable-feedback \
 %endif
+           --enable-videoplayer \
 %if 0%{?tizen_2_2_compatibility}
            --with-tizen-2-2-compatibility \
 %endif
-           --enable-videoplayer \
 %if %{with wayland}
            --enable-efl=no \
 %else
@@ -565,8 +632,8 @@ popd
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           --with-libuv=/usr/include/node/ \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
@@ -576,12 +643,13 @@ pushd %{_builddir}/%{name}-%{version}/build/tizen
 popd
 
 pushd %{buildroot}%{_libdir}
-for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done
-%if 0%{?dali_feedback_plugin_ivi}
-for FILE in libdali-feedback-plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done
-%endif
+for FILE in libdali-adaptor*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
 popd
 
+make clean
 %endif
 
 #######################################################################
@@ -591,7 +659,8 @@ popd
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 %configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
            --enable-shaderbincache=DISABLE --enable-profile=COMMON \
-%if 0%{?dali_feedback_plugin_common}
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
            --enable-feedback \
 %endif
            --enable-videoplayer \
@@ -607,173 +676,416 @@ popd
            --enable-debug \
 %endif
            --enable-appfw=yes \
-           --with-libuv=/usr/include/node/ \
-           $configure_flags --libdir=%{_libdir}
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
 # Build.
 make %{?jobs:-j%jobs}
-%endif
-
-
-##############################
-# Installation
-##############################
-%install
-rm -rf %{buildroot}
 
 pushd %{_builddir}/%{name}-%{version}/build/tizen
 %make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
-
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# !unified && (wearable || tv || ivi || mobile)
-%if "%{?profile}" == "wearable" || "%{?profile}" == "tv" || "%{?profile}" == "ivi" || "%{?profile}" == "mobile"
-rm -rf %{buildroot}%{_libdir}/libdali-adap*.so*
-rm -rf %{buildroot}%{_libdir}/libdali-feedback-plugin.so*
-%endif
-
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# wearable || tv || ivi || mobile || unified
-%if "%{?profile}" != "common"
-for FILE in libdali-*.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
-%endif
 popd
 
-mkdir -p %{buildroot}/usr/share/license
-cp -af %{_builddir}/%{name}-%{version}/LICENSE %{buildroot}/usr/share/license/%{name}
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done
+for FILE in libdali-*plugin*-cxx11.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
 
-##############################
-# Upgrade order:
-# 1 - Pre Install new package
-# 2 - Install new package
-# 3 - Post install new package
-# 4 - Pre uninstall old package
-# 5 - Remove files not overwritten by new package
-# 6 - Post uninstall old package
-##############################
+mv pkgconfig/dali-adaptor*pc %{_builddir}/%{name}-%{version}/build/tizen/
+popd
 
-%pre
-exit 0
+make clean
 
-##############################
-#  Post, Preun, Postun Install new package
-##############################
-%post
-/sbin/ldconfig
-exit 0
+%endif
 
-%preun
-exit 0
+%if !0%{?disable_cxx03_build}
+#######################################################################
+#BUILD for cxx03 ABI
+#######################################################################
 
-%postun
-/sbin/ldconfig
-exit 0
+# Set up the build via configure.
+#######################################################################
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
 
-%if %{with wayland}
-%post dali-video-player-plugin
-/sbin/ldconfig
-exit 0
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=MOBILE \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
+%endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes  \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
 %endif
-
 %if %{with wayland}
-%postun dali-video-player-plugin
-/sbin/ldconfig
-exit 0
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
 %endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
-##############################
+# Build.
+make %{?jobs:-j%jobs}
 
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if mobile || "undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
-%post profile_mobile
-pushd %{_libdir}
-for FILE in libdali-adap*.so*.mobile; do ln -sf "$FILE" "${FILE%.mobile}"; done
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
 popd
-/sbin/ldconfig
-exit 0
-
-%postun profile_mobile
-/sbin/ldconfig
-exit 0
 
-%if 0%{?dali_feedback_plugin_mobile}
-%post dali-feedback-plugin-profile_mobile
-pushd %{_libdir}
-for FILE in libdali-feedback-plugin.so*.mobile; do ln -sf "$FILE" "${FILE%.mobile}"; done
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.mobile"; done
+for FILE in libdali-*plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
 popd
-/sbin/ldconfig
-exit 0
-%endif
 
-%if 0%{?dali_feedback_plugin_mobile}
-%postun dali-feedback-plugin-profile_mobile
-/sbin/ldconfig
-exit 0
-%endif
-%endif
+make clean
 
-##############################
+%endif
 
+#######################################################################
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
 # if tv ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-%post profile_tv
-pushd %{_libdir}
-for FILE in libdali-adap*.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
-popd
-/sbin/ldconfig
-exit 0
-
-%postun profile_tv
-/sbin/ldconfig
-exit 0
 
-%if 0%{?dali_feedback_plugin_tv}
-%post dali-feedback-plugin-profile_tv
-pushd %{_libdir}
-for FILE in libdali-feedback-plugin.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
-popd
-/sbin/ldconfig
-exit 0
-%endif
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=TV \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
+%endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes  \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
+%endif
+%if %{with wayland}
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
+%endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
 
-%if 0%{?dali_feedback_plugin_tv}
-%postun dali-feedback-plugin-profile_tv
-/sbin/ldconfig
-exit 0
+# Build.
+make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.tv"; done
+for FILE in libdali-*plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+popd
+
+make clean
+%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"
+
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=WEARABLE \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
 %endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
+%endif
+%if %{with wayland}
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
+%endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
+
+# Build.
+make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.wearable"; done
+for FILE in libdali-*plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+popd
+
+make clean
+%endif
+
+#######################################################################
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=IVI \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
+%endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes  \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
+%endif
+%if %{with wayland}
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
+%endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
+
+# Build.
+make %{?jobs:-j%jobs}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+popd
+
+pushd %{buildroot}%{_libdir}
+for FILE in libdali-adap*.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE.ivi"; done
+for FILE in libdali-*plugin.so*; do mv "$FILE" "%{_builddir}/%{name}-%{version}/build/tizen/$FILE"; done 
+popd
+
+make clean
 %endif
 
+#######################################################################
+# common ( build dali_videoplayer_plugin for common uses )
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+
+%configure --prefix=$PREFIX --with-jpeg-turbo --enable-gles=%{target_gles_version} \
+           --enable-shaderbincache=DISABLE --enable-profile=COMMON \
+           --enable-tizen-major-version=%{tizen_version_major} \
+%if 0%{?tizen_version_major} >= 3
+           --enable-feedback \
+%endif
+           --enable-videoplayer \
+           --enable-cxx03-abi=yes  \
+%if 0%{?tizen_2_2_compatibility}
+           --with-tizen-2-2-compatibility \
+%endif
+%if %{with wayland}
+           --enable-efl=no \
+%else
+           --enable-efl=yes \
+%endif
+%if 0%{?enable_debug}
+           --enable-debug \
+%endif
+           --enable-appfw=yes \
+           $configure_flags --libdir=%{_libdir} \
+           --enable-rename-so=no
+
+# Build.
+make %{?jobs:-j%jobs}
+
+%endif
+%endif
+
+##############################
+# Installation
 ##############################
+%install
+rm -rf %{buildroot}
+
+pushd %{_builddir}/%{name}-%{version}/build/tizen
+%make_install DALI_DATA_RW_DIR="%{dali_data_rw_dir}" DALI_DATA_RO_DIR="%{dali_data_ro_dir}"
+
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# !unified && (wearable || tv || ivi || mobile)
+%if "%{?profile}" == "wearable" || "%{?profile}" == "tv" || "%{?profile}" == "ivi" || "%{?profile}" == "mobile"
+rm -rf %{buildroot}%{_libdir}/libdali-adap*.so*
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# wearable || tv || ivi || mobile || unified
+%if "%{?profile}" != "common"
+for FILE in libdali-*.so*; do mv "$FILE" "%{buildroot}%{_libdir}/$FILE"; done
+mv dali-adaptor*.pc %{buildroot}%{_libdir}/pkgconfig/
+%endif
+popd
+
+################################################
+#rename 
+###############################################
+pushd %{buildroot}%{_libdir}
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+#%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+rm -rf libdali-adaptor*.so
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.0 libdali-adaptor-cxx03.so
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.0 libdali-adaptor.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"
-%post profile_wearable
-pushd %{_libdir}
-for FILE in libdali-adap*.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+rm -rf libdali-adaptor*.so.wearable
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.*.wearable libdali-adaptor-cxx03.so.wearable
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.*.wearable libdali-adaptor.so.wearable
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+rm -rf libdali-adaptor*.so.tv
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.*.tv libdali-adaptor-cxx03.so.tv
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.*.tv libdali-adaptor.so.tv
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+rm -rf libdali-adaptor*.so.ivi
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.*.ivi libdali-adaptor-cxx03.so.ivi
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.*.ivi libdali-adaptor.so.ivi
+%endif
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+rm -rf libdali-adaptor*.so.mobile
+%if !0%{?disable_cxx03_build}
+ln -s libdali-adaptor.so.0.0.*.mobile libdali-adaptor-cxx03.so.mobile
+%endif
+ln -s libdali-adaptor-cxx11.so.0.0.*.mobile libdali-adaptor.so.mobile
+%endif
 popd
+
+##############################
+# Upgrade order:
+# 1 - Pre Install new package
+# 2 - Install new package
+# 3 - Post install new package
+# 4 - Pre uninstall old package
+# 5 - Remove files not overwritten by new package
+# 6 - Post uninstall old package
+##############################
+
+%pre
+exit 0
+
+##############################
+#  Post Install new package
+##############################
+%post
 /sbin/ldconfig
 exit 0
 
-%postun profile_wearable
+##############################
+#  Pre Uninstall old package
+##############################
+%preun
+exit 0
+
+##############################
+#  Post Uninstall old package
+##############################
+%postun
+/sbin/ldconfig
+exit 0
+
+%if %{with wayland}
+%post dali-video-player-plugin
+/sbin/ldconfig
+exit 0
+%endif
+
+%if %{with wayland}
+%postun dali-video-player-plugin
 /sbin/ldconfig
 exit 0
+%endif
+
 
-%if 0%{?dali_feedback_plugin_wearable}
-%post dali-feedback-plugin-profile_wearable
+##############################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post profile_mobile
 pushd %{_libdir}
-for FILE in libdali-feedback-plugin.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+for FILE in libdali-adaptor-cxx11.so*.mobile; do ln -sf "$FILE" "${FILE%.mobile}"; done
 popd
 /sbin/ldconfig
 exit 0
+
+%postun profile_mobile
+/sbin/ldconfig
+exit 0
 %endif
 
-%if 0%{?dali_feedback_plugin_wearable}
-%postun dali-feedback-plugin-profile_wearable
+##############################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%post profile_tv
+pushd %{_libdir}
+for FILE in libdali-adaptor-cxx11.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
+popd
+/sbin/ldconfig
+exit 0
+
+%postun profile_tv
 /sbin/ldconfig
 exit 0
 %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"
+%post profile_wearable
+pushd %{_libdir}
+for FILE in libdali-adaptor-cxx11.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+popd
+/sbin/ldconfig
+exit 0
+
+%postun profile_wearable
+/sbin/ldconfig
+exit 0
 %endif
 
 ##############################
@@ -783,7 +1095,7 @@ exit 0
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
 %post profile_ivi
 pushd %{_libdir}
-for FILE in libdali-adap*.so*.ivi; do ln -sf "$FILE" "${FILE%.ivi}"; done
+for FILE in libdali-adaptor-cxx11.so*.ivi; do ln -sf "$FILE" "${FILE%.ivi}"; done
 popd
 /sbin/ldconfig
 exit 0
@@ -791,23 +1103,78 @@ exit 0
 %postun profile_ivi
 /sbin/ldconfig
 exit 0
+%endif
 
-%if 0%{?dali_feedback_plugin_ivi}
-%post dali-feedback-plugin-profile_ivi
+%if !0%{?disable_cxx03_build}
+##############################
+#cxx03 ABI
+#############################
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%post profile_mobile-cxx03
 pushd %{_libdir}
-for FILE in libdali-feedback-plugin.so*.ivi; do ln -sf "$FILE" "${FILE%.ivi}"; done
+for FILE in libdali-adaptor.so*.mobile; do ln -sf "$FILE" "${FILE%.mobile}"; done
 popd
 /sbin/ldconfig
 exit 0
+
+%postun profile_mobile-cxx03
+/sbin/ldconfig
+exit 0
 %endif
 
-%if 0%{?dali_feedback_plugin_ivi}
-%postun dali-feedback-plugin-profile_ivi
+##############################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%post profile_tv-cxx03
+pushd %{_libdir}
+for FILE in libdali-adaptor.so*.tv; do ln -sf "$FILE" "${FILE%.tv}"; done
+popd
+/sbin/ldconfig
+exit 0
+
+%postun profile_tv-cxx03
 /sbin/ldconfig
 exit 0
 %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"
+%post profile_wearable-cxx03
+pushd %{_libdir}
+for FILE in libdali-adaptor.so*.wearable; do ln -sf "$FILE" "${FILE%.wearable}"; done
+popd
+/sbin/ldconfig
+exit 0
+
+%postun profile_wearable-cxx03
+/sbin/ldconfig
+exit 0
 %endif
 
+##############################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+%post profile_ivi-cxx03
+pushd %{_libdir}
+for FILE in libdali-adaptor.so*.ivi; do ln -sf "$FILE" "${FILE%.ivi}"; done
+popd
+/sbin/ldconfig
+exit 0
+
+%postun profile_ivi-cxx03
+/sbin/ldconfig
+exit 0
+%endif
+%endif
 
 ##############################
 # Files in Binary Packages
@@ -819,12 +1186,34 @@ exit 0
 %defattr(-,app,app,-)
 %dir %{user_shader_cache_dir}
 %{_bindir}/*
-%{_datadir}/license/%{name}
+%license LICENSE
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+#%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%defattr(-,root,root,-)
+%{_libdir}/libdali-adaptor-cxx11.so.0*
+%{_libdir}/libdali-adaptor.so
+%exclude %{_libdir}/libdali-adap*.so*.mobile
+%exclude %{_libdir}/libdali-adap*.so*.wearable
+%exclude %{_libdir}/libdali-adap*.so*.tv
+%exclude %{_libdir}/libdali-adap*.so*.ivi
+#%endif
+
+%if !0%{?disable_cxx03_build}
+%files cxx03
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%defattr(-,app,app,-)
+%dir %{user_shader_cache_dir}
+%{_bindir}/*
+%license LICENSE
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
 # if common ||"undefined"
 %if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*
+%{_libdir}/libdali-adaptor.so.0*
+%{_libdir}/libdali-adaptor-cxx03.so
 %exclude %{_libdir}/libdali-adap*.so*.mobile
 %exclude %{_libdir}/libdali-adap*.so*.wearable
 %exclude %{_libdir}/libdali-adap*.so*.tv
@@ -832,40 +1221,47 @@ exit 0
 %endif
 
 %if %{with wayland}
-%files dali-video-player-plugin
+%files dali-video-player-plugin-cxx03
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
 %{_libdir}/libdali-video-player-plugin.so*
+%license LICENSE
 %endif
 
-%files dali-feedback-plugin
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if common ||"undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-%if 0%{?dali_feedback_plugin_common}
+%if 0%{?tizen_version_major} >= 3
+%files dali-feedback-plugin-cxx03
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
 %{_libdir}/libdali-feedback-plugin.so*
-%exclude %{_libdir}/libdali-feedback-plugin.so*.mobile
-%exclude %{_libdir}/libdali-feedback-plugin.so*.wearable
-%exclude %{_libdir}/libdali-feedback-plugin.so*.tv
-%exclude %{_libdir}/libdali-feedback-plugin.so*.ivi
+%{dali_plugin_sound_files}/*
 %endif
 %endif
 
-# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if common ||"undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
-%files profile_common
-# default .so files are housed in the main pkg.
+#################################################
 
-%if 0%{?dali_feedback_plugin_common}
-%files dali-feedback-plugin-profile_common
-# default .so files are housed in the main pkg.
+%if %{with wayland}
+%files dali-video-player-plugin
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
+%{_libdir}/libdali-video-player-plugin-cxx11.so*
+%license LICENSE
+%endif
+
+%if 0%{?tizen_version_major} >= 3
+%files dali-feedback-plugin
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%{_libdir}/libdali-feedback-plugin-cxx11.so*
 %{dali_plugin_sound_files}/*
 %endif
+
+#################################################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%files profile_common
+# default .so files are housed in the main pkg.
 %endif
 
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
@@ -874,15 +1270,8 @@ exit 0
 %files profile_mobile
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*.mobile
-
-%if 0%{?dali_feedback_plugin_mobile}
-%files dali-feedback-plugin-profile_mobile
-%manifest dali-adaptor.manifest
-%defattr(-,root,root,-)
-%{_libdir}/libdali-feedback-plugin.so*.mobile
-%{dali_plugin_sound_files}/*
-%endif
+%{_libdir}/libdali-adaptor.so.mobile
+%{_libdir}/libdali-adaptor-cxx11.so.0*.mobile
 %endif
 
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
@@ -891,15 +1280,8 @@ exit 0
 %files profile_tv
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*.tv
-
-%if 0%{?dali_feedback_plugin_tv}
-%files dali-feedback-plugin-profile_tv
-%manifest dali-adaptor.manifest
-%defattr(-,root,root,-)
-%{_libdir}/libdali-feedback-plugin.so*.tv
-%{dali_plugin_sound_files}/*
-%endif
+%{_libdir}/libdali-adaptor.so.tv
+%{_libdir}/libdali-adaptor-cxx11.so.0*.tv
 %endif
 
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
@@ -908,45 +1290,97 @@ exit 0
 %files profile_wearable
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*.wearable
+%{_libdir}/libdali-adaptor.so.wearable
+%{_libdir}/libdali-adaptor-cxx11.so.0*.wearable
+%endif
 
-%if 0%{?dali_feedback_plugin_wearable}
-%files dali-feedback-plugin-profile_wearable
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+%files profile_ivi
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-feedback-plugin.so*.wearable
-%{dali_plugin_sound_files}/*
+%{_libdir}/libdali-adaptor.so.ivi
+%{_libdir}/libdali-adaptor-cxx11.so.0*.ivi
 %endif
+
+
+%files devel
+%defattr(-,root,root,-)
+%{dev_include_path}/dali/dali.h
+%{dev_include_path}/dali/public-api/*
+%{dev_include_path}/dali/devel-api/*
+%{dev_include_path}/dali/doc/*
+%{_libdir}/pkgconfig/dali-adaptor.pc
+
+%files integration-devel
+%defattr(-,root,root,-)
+%{dev_include_path}/dali/integration-api/adaptors/*
+%{_libdir}/pkgconfig/dali-adaptor-integration.pc
+
+%if !0%{?disable_cxx03_build}
+################################################
+# cxx03 ABI
+################################################
+
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if common ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%files profile_common-cxx03
+# default .so files are housed in the main pkg.
 %endif
 
 # This is for backward-compatibility. This does not deteriorate 4.0 Configurability
-# if ivi ||"undefined"
-%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
-%files profile_ivi
+# if mobile || "undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "ivi" && "%{?profile}" != "common"
+%files profile_mobile-cxx03
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-adap*.so*.ivi
+%{_libdir}/libdali-adaptor-cxx03.so.mobile
+%{_libdir}/libdali-adaptor.so.0*mobile
+%endif
 
-%if 0%{?dali_feedback_plugin_ivi}
-%files dali-feedback-plugin-profile_ivi
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if tv ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "common" && "%{?profile}" != "ivi" && "%{?profile}" != "mobile"
+%files profile_tv-cxx03
 %manifest dali-adaptor.manifest
 %defattr(-,root,root,-)
-%{_libdir}/libdali-feedback-plugin.so*.ivi
-%{dali_plugin_sound_files}/*
+%{_libdir}/libdali-adaptor-cxx03.so.tv
+%{_libdir}/libdali-adaptor.so.0*.tv
 %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-cxx03
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%{_libdir}/libdali-adaptor-cxx03.so.wearable
+%{_libdir}/libdali-adaptor.so.0*.wearable
 %endif
 
+# This is for backward-compatibility. This does not deteriorate 4.0 Configurability
+# if ivi ||"undefined"
+%if "%{?profile}" != "wearable" && "%{?profile}" != "tv" && "%{?profile}" != "common" && "%{?profile}" != "mobile"
+%files profile_ivi-cxx03
+%manifest dali-adaptor.manifest
+%defattr(-,root,root,-)
+%{_libdir}/libdali-adaptor-cxx03.so.ivi
+%{_libdir}/libdali-adaptor.so.0*.ivi
+%endif
 
-%files devel
+
+%files devel-cxx03
 %defattr(-,root,root,-)
 %{dev_include_path}/dali/dali.h
 %{dev_include_path}/dali/public-api/*
 %{dev_include_path}/dali/devel-api/*
 %{dev_include_path}/dali/doc/*
-%{_libdir}/pkgconfig/dali-adaptor.pc
-%{_libdir}/pkgconfig/dali-adaptor-uv.pc
+%{_libdir}/pkgconfig/dali-adaptor-cxx03.pc
 
-%files integration-devel
+%files integration-devel-cxx03
 %defattr(-,root,root,-)
 %{dev_include_path}/dali/integration-api/adaptors/*
-%{_libdir}/pkgconfig/dali-adaptor-integration.pc
+%{_libdir}/pkgconfig/dali-adaptor-integration-cxx03.pc
+%endif