%bcond_with wayland
-%{!?profile:%define profile tv}
-
%define _manifestdir %{TZ_SYS_RW_PACKAGES}
%define _desktop_icondir %{TZ_SYS_SHARE}/icons/default/small
Summary: Tizen Web APIs implemented
Source0: %{name}-%{version}.tar.gz
+# TODO: x86/x64 may be non-emulator. please fix it. (and arm emulator may exist)
%ifarch %{arm} aarch64
# ARM
%define tizen_is_emulator 0
####################################################################
# Common Profile : artik #
####################################################################
-%if "%{?profile}" == "common"
-
-%define tizen_privilege_engine CYNARA
-
-%define tizen_feature_account_support 0
-%define tizen_feature_alarm_support 1
-%define tizen_feature_app_control_settings_support 1
-%define tizen_feature_application_support 1
-%define tizen_feature_archive_support 0
-%define tizen_feature_badge_support 0
-%define tizen_feature_bluetooth_support 1
-%define tizen_feature_bookmark_support 0
-%define tizen_feature_calendar_support 0
-%define tizen_feature_contact_support 0
-%define tizen_feature_content_support 1
-%define tizen_feature_datacontrol_support 0
-%define tizen_feature_datasync_support 0
-%define tizen_feature_download_support 1
-%define tizen_feature_exif_support 1
-%define tizen_feature_feedback_support 0
-%define tizen_feature_filesystem_support 1
-%define tizen_feature_fm_radio_support 0
-%define tizen_feature_ham_support 0
-%define tizen_feature_iotcon_support 0
-%define tizen_feature_location_batch 0
-%define tizen_feature_key_manager_support 0
-%define tizen_feature_media_controller_support 0
-%define tizen_feature_media_key_support 0
-%define tizen_feature_message_port_support 1
-%define tizen_feature_messaging_support 0
-%define tizen_feature_nfc_emulation_support 0
-%define tizen_feature_nfc_support 0
-%define tizen_feature_notification_support 0
-%define tizen_feature_package_support 1
-%define tizen_feature_player_util_support 0
-%define tizen_feature_power_support 0
-%define tizen_feature_preference_support 0
-%define tizen_feature_push_support 0
-%define tizen_feature_se_support 0
-%define tizen_feature_sensor_support 0
-%define tizen_feature_sound_support 1
-%define tizen_feature_system_info_support 1
-%define tizen_feature_system_setting_support 0
-%define tizen_feature_telephony_support 0
-%define tizen_feature_time_support 1
-%define tizen_feature_web_setting_support 0
-%define tizen_feature_widget_service_support 0
-%define tizen_feature_wi_fi_support 1
-%define tizen_feature_inputdevice_support 0
-%define tizen_feature_callhistory_support 0
-%define tizen_feature_nbs_support 0
-%define tizen_feature_tvinputdevice_support 0
-
-%endif # tizen_profile_common
+
+%define tizen_common_privilege_engine CYNARA
+
+%define tizen_common_feature_account_support 0
+%define tizen_common_feature_alarm_support 1
+%define tizen_common_feature_app_control_settings_support 1
+%define tizen_common_feature_application_support 1
+%define tizen_common_feature_archive_support 0
+%define tizen_common_feature_badge_support 0
+%define tizen_common_feature_bluetooth_support 1
+%define tizen_common_feature_bookmark_support 0
+%define tizen_common_feature_calendar_support 0
+%define tizen_common_feature_contact_support 0
+%define tizen_common_feature_content_support 1
+%define tizen_common_feature_datacontrol_support 0
+%define tizen_common_feature_datasync_support 0
+%define tizen_common_feature_download_support 1
+%define tizen_common_feature_exif_support 1
+%define tizen_common_feature_feedback_support 0
+%define tizen_common_feature_filesystem_support 1
+%define tizen_common_feature_fm_radio_support 0
+%define tizen_common_feature_ham_support 0
+%define tizen_common_feature_iotcon_support 0
+%define tizen_common_feature_location_batch 0
+%define tizen_common_feature_key_manager_support 0
+%define tizen_common_feature_media_controller_support 0
+%define tizen_common_feature_media_key_support 0
+%define tizen_common_feature_message_port_support 1
+%define tizen_common_feature_messaging_support 0
+%define tizen_common_feature_nfc_emulation_support 0
+%define tizen_common_feature_nfc_support 0
+%define tizen_common_feature_notification_support 0
+%define tizen_common_feature_package_support 1
+%define tizen_common_feature_player_util_support 0
+%define tizen_common_feature_power_support 0
+%define tizen_common_feature_preference_support 0
+%define tizen_common_feature_push_support 0
+%define tizen_common_feature_se_support 0
+%define tizen_common_feature_sensor_support 0
+%define tizen_common_feature_sound_support 1
+%define tizen_common_feature_system_info_support 1
+%define tizen_common_feature_system_setting_support 0
+%define tizen_common_feature_telephony_support 0
+%define tizen_common_feature_time_support 1
+%define tizen_common_feature_web_setting_support 0
+%define tizen_common_feature_widget_service_support 0
+%define tizen_common_feature_wi_fi_support 1
+%define tizen_common_feature_inputdevice_support 0
+%define tizen_common_feature_callhistory_support 0
+%define tizen_common_feature_nbs_support 0
+%define tizen_common_feature_tvinputdevice_support 0
+
####################################################################
# Mobile Profile : TM1, Redwood(SM-Z910F), KIRAN(Z130H) #
####################################################################
-%if "%{?profile}" == "mobile"
-%define tizen_privilege_engine CYNARA
+%define tizen_mobile_privilege_engine CYNARA
-%define tizen_feature_account_support 1
-%define tizen_feature_alarm_support 1
-%define tizen_feature_app_control_settings_support 1
-%define tizen_feature_application_support 1
-%define tizen_feature_archive_support 1
-%define tizen_feature_badge_support 1
+%define tizen_mobile_feature_account_support 1
+%define tizen_mobile_feature_alarm_support 1
+%define tizen_mobile_feature_app_control_settings_support 1
+%define tizen_mobile_feature_application_support 1
+%define tizen_mobile_feature_archive_support 1
+%define tizen_mobile_feature_badge_support 1
%if 0%{?tizen_is_emulator}
-%define tizen_feature_bluetooth_support 0
+%define tizen_mobile_feature_bluetooth_support 0
%else
-%define tizen_feature_bluetooth_support 1
-%endif
-%define tizen_feature_bookmark_support 1
-%define tizen_feature_calendar_support 1
-%define tizen_feature_contact_support 1
-%define tizen_feature_content_support 1
-%define tizen_feature_datacontrol_support 1
-%define tizen_feature_datasync_support 0
-%define tizen_feature_download_support 1
-%define tizen_feature_exif_support 1
-%define tizen_feature_feedback_support 1
-%define tizen_feature_filesystem_support 1
-%define tizen_feature_fm_radio_support 1
+%define tizen_mobile_feature_bluetooth_support 1
+%endif
+%define tizen_mobile_feature_bookmark_support 1
+%define tizen_mobile_feature_calendar_support 1
+%define tizen_mobile_feature_contact_support 1
+%define tizen_mobile_feature_content_support 1
+%define tizen_mobile_feature_datacontrol_support 1
+%define tizen_mobile_feature_datasync_support 0
+%define tizen_mobile_feature_download_support 1
+%define tizen_mobile_feature_exif_support 1
+%define tizen_mobile_feature_feedback_support 1
+%define tizen_mobile_feature_filesystem_support 1
+%define tizen_mobile_feature_fm_radio_support 1
%if 0%{?tizen_is_emulator}
-%define tizen_feature_ham_support 1
+%define tizen_mobile_feature_ham_support 1
%else
-%define tizen_feature_ham_support 0
+%define tizen_mobile_feature_ham_support 0
%endif
-%define tizen_feature_iotcon_support 1
-%define tizen_feature_location_batch 0
-%define tizen_feature_key_manager_support 1
-%define tizen_feature_media_controller_support 1
+%define tizen_mobile_feature_iotcon_support 1
+%define tizen_mobile_feature_location_batch 0
+%define tizen_mobile_feature_key_manager_support 1
+%define tizen_mobile_feature_media_controller_support 1
%if 0%{?tizen_is_emulator}
-%define tizen_feature_media_key_support 0
+%define tizen_mobile_feature_media_key_support 0
%else
-%define tizen_feature_media_key_support 1
+%define tizen_mobile_feature_media_key_support 1
%endif
-%define tizen_feature_message_port_support 1
-%define tizen_feature_messaging_support 1
+%define tizen_mobile_feature_message_port_support 1
+%define tizen_mobile_feature_messaging_support 1
%if 0%{?tizen_is_emulator}
-%define tizen_feature_nfc_emulation_support 0
-%define tizen_feature_nfc_support 1
+%define tizen_mobile_feature_nfc_emulation_support 0
+%define tizen_mobile_feature_nfc_support 1
%else
-%define tizen_feature_nfc_emulation_support 0
-%define tizen_feature_nfc_support 0
-%endif
-%define tizen_feature_notification_support 1
-%define tizen_feature_package_support 1
-%define tizen_feature_player_util_support 1
-%define tizen_feature_power_support 1
-%define tizen_feature_preference_support 1
-%define tizen_feature_push_support 1
+%define tizen_mobile_feature_nfc_emulation_support 0
+%define tizen_mobile_feature_nfc_support 0
+%endif
+%define tizen_mobile_feature_notification_support 1
+%define tizen_mobile_feature_package_support 1
+%define tizen_mobile_feature_player_util_support 1
+%define tizen_mobile_feature_power_support 1
+%define tizen_mobile_feature_preference_support 1
+%define tizen_mobile_feature_push_support 1
%if 0%{?tizen_is_emulator}
-%define tizen_feature_se_support 0
+%define tizen_mobile_feature_se_support 0
%else
-%define tizen_feature_se_support 1
-%endif
-%define tizen_feature_sensor_support 1
-%define tizen_feature_sound_support 1
-%define tizen_feature_system_info_support 1
-%define tizen_feature_system_setting_support 1
-%define tizen_feature_telephony_support 1
-%define tizen_feature_time_support 1
-%define tizen_feature_web_setting_support 1
-%define tizen_feature_widget_service_support 1
+%define tizen_mobile_feature_se_support 1
+%endif
+%define tizen_mobile_feature_sensor_support 1
+%define tizen_mobile_feature_sound_support 1
+%define tizen_mobile_feature_system_info_support 1
+%define tizen_mobile_feature_system_setting_support 1
+%define tizen_mobile_feature_telephony_support 1
+%define tizen_mobile_feature_time_support 1
+%define tizen_mobile_feature_web_setting_support 1
+%define tizen_mobile_feature_widget_service_support 1
%if 0%{?tizen_is_emulator}
-%define tizen_feature_wi_fi_support 0
+%define tizen_mobile_feature_wi_fi_support 0
%else
-%define tizen_feature_wi_fi_support 1
+%define tizen_mobile_feature_wi_fi_support 1
%endif
-%define tizen_feature_inputdevice_support 1
+%define tizen_mobile_feature_inputdevice_support 1
-%if 0%{?tizen_feature_telephony_support}
-%define tizen_feature_callhistory_support 1
-%define tizen_feature_nbs_support 1
+%if 0%{?tizen_mobile_feature_telephony_support}
+%define tizen_mobile_feature_callhistory_support 1
+%define tizen_mobile_feature_nbs_support 1
%else
-%define tizen_feature_callhistory_support 0
-%define tizen_feature_nbs_support 0
+%define tizen_mobile_feature_callhistory_support 0
+%define tizen_mobile_feature_nbs_support 0
%endif
-%define tizen_feature_tvinputdevice_support 0
+%define tizen_mobile_feature_tvinputdevice_support 0
-%define tizen_feature_convergence_support 1
+%define tizen_mobile_feature_convergence_support 1
-%endif # tizen_profile_mobile
####################################################################
# Wearable Profile : B2 / TW1 #
####################################################################
-%if "%{?profile}" == "wearable"
-%define tizen_privilege_engine CYNARA
+%define tizen_wearable_privilege_engine CYNARA
# Account API is optional in Tizen Wearable Profile.
-%define tizen_feature_account_support 0
+%define tizen_wearable_feature_account_support 0
-%define tizen_feature_alarm_support 1
-%define tizen_feature_app_control_settings_support 1
-%define tizen_feature_application_support 1
+%define tizen_wearable_feature_alarm_support 1
+%define tizen_wearable_feature_app_control_settings_support 1
+%define tizen_wearable_feature_application_support 1
# Archive API is optional in Tizen Wearable Profile.
-%define tizen_feature_archive_support 1
+%define tizen_wearable_feature_archive_support 1
# Badge API is mandatory in Tizen Wearable Profile.
-%define tizen_feature_badge_support 1
+%define tizen_wearable_feature_badge_support 1
%if 0%{?tizen_is_emulator}
-%define tizen_feature_bluetooth_support 0
+%define tizen_wearable_feature_bluetooth_support 0
%else
-%define tizen_feature_bluetooth_support 1
+%define tizen_wearable_feature_bluetooth_support 1
%endif
# Bookmark API is optional in Tizen Wearable Profile.
-%define tizen_feature_bookmark_support 0
+%define tizen_wearable_feature_bookmark_support 0
# Calendar API is mandatory in Tizen Wearable Profile.
-%define tizen_feature_calendar_support 0
-%define tizen_feature_contact_support 0
-%define tizen_feature_content_support 1
-%define tizen_feature_datacontrol_support 1
-%define tizen_feature_datasync_support 0
-%define tizen_feature_download_support 1
-%define tizen_feature_exif_support 1
-%define tizen_feature_feedback_support 1
-%define tizen_feature_filesystem_support 1
-%define tizen_feature_fm_radio_support 0
-%define tizen_feature_ham_support 1
-%define tizen_feature_iotcon_support 1
-%define tizen_feature_location_batch 0
-%define tizen_feature_media_controller_support 1
+%define tizen_wearable_feature_calendar_support 0
+%define tizen_wearable_feature_contact_support 0
+%define tizen_wearable_feature_content_support 1
+%define tizen_wearable_feature_datacontrol_support 1
+%define tizen_wearable_feature_datasync_support 0
+%define tizen_wearable_feature_download_support 1
+%define tizen_wearable_feature_exif_support 1
+%define tizen_wearable_feature_feedback_support 1
+%define tizen_wearable_feature_filesystem_support 1
+%define tizen_wearable_feature_fm_radio_support 0
+%define tizen_wearable_feature_ham_support 1
+%define tizen_wearable_feature_iotcon_support 1
+%define tizen_wearable_feature_location_batch 0
+%define tizen_wearable_feature_media_controller_support 1
# MediayKey API is optional in Tizen Wearable Profile.
# tizen.org/feature/network.bluetooth.audio.media is required for MediayKey API
%if 0%{?tizen_is_emulator}
-%define tizen_feature_media_key_support 0
+%define tizen_wearable_feature_media_key_support 0
%else
-%define tizen_feature_media_key_support 1
-%endif
-%define tizen_feature_key_manager_support 1
-%define tizen_feature_message_port_support 1
-%define tizen_feature_messaging_support 0
-%define tizen_feature_nfc_emulation_support 0
-%define tizen_feature_nfc_support 1
-%define tizen_feature_notification_support 1
-%define tizen_feature_package_support 1
-%define tizen_feature_player_util_support 1
-%define tizen_feature_power_support 1
-%define tizen_feature_preference_support 1
-%define tizen_feature_push_support 1
+%define tizen_wearable_feature_media_key_support 1
+%endif
+%define tizen_wearable_feature_key_manager_support 1
+%define tizen_wearable_feature_message_port_support 1
+%define tizen_wearable_feature_messaging_support 0
+%define tizen_wearable_feature_nfc_emulation_support 0
+%define tizen_wearable_feature_nfc_support 1
+%define tizen_wearable_feature_notification_support 1
+%define tizen_wearable_feature_package_support 1
+%define tizen_wearable_feature_player_util_support 1
+%define tizen_wearable_feature_power_support 1
+%define tizen_wearable_feature_preference_support 1
+%define tizen_wearable_feature_push_support 1
%if 0%{?tizen_is_emulator}
-%define tizen_feature_se_support 0
+%define tizen_wearable_feature_se_support 0
%else
-%define tizen_feature_se_support 1
+%define tizen_wearable_feature_se_support 1
%endif
-%define tizen_feature_sensor_support 1
-%define tizen_feature_sound_support 1
-%define tizen_feature_system_info_support 1
-%define tizen_feature_system_setting_support 1
+%define tizen_wearable_feature_sensor_support 1
+%define tizen_wearable_feature_sound_support 1
+%define tizen_wearable_feature_system_info_support 1
+%define tizen_wearable_feature_system_setting_support 1
%if 0%{?tizen_is_emulator}
-%define tizen_feature_telephony_support 1
+%define tizen_wearable_feature_telephony_support 1
%else
-%define tizen_feature_telephony_support 0
+%define tizen_wearable_feature_telephony_support 0
%endif
-%define tizen_feature_time_support 1
-%define tizen_feature_web_setting_support 0
-%define tizen_feature_widget_service_support 1
-%define tizen_feature_wi_fi_support 1
-%define tizen_feature_inputdevice_support 1
-%define tizen_feature_tvinputdevice_support 0
+%define tizen_wearable_feature_time_support 1
+%define tizen_wearable_feature_web_setting_support 0
+%define tizen_wearable_feature_widget_service_support 1
+%define tizen_wearable_feature_wi_fi_support 1
+%define tizen_wearable_feature_inputdevice_support 1
+%define tizen_wearable_feature_tvinputdevice_support 0
#- telephony related APIs
# CallHistory API is optional in Tizen Wearable Profile.
# NetworkBearerSelection API is optional in Tizen Wearable Profile.
-%if 0%{?tizen_feature_telephony_support}
-%define tizen_feature_callhistory_support 1
-%define tizen_feature_nbs_support 1
+%if 0%{?tizen_wearable_feature_telephony_support}
+%define tizen_wearable_feature_callhistory_support 1
+%define tizen_wearable_feature_nbs_support 1
%else
-%define tizen_feature_callhistory_support 0
-%define tizen_feature_nbs_support 0
+%define tizen_wearable_feature_callhistory_support 0
+%define tizen_wearable_feature_nbs_support 0
%endif
-%define tizen_feature_convergence_support 1
+%define tizen_wearable_feature_convergence_support 1
-%endif # tizen_profile_wearable
####################################################################
# TV Profile #
####################################################################
-%if "%{?profile}" == "tv"
-
-%define tizen_privilege_engine CYNARA
-
-%define tizen_feature_account_support 0
-%define tizen_feature_alarm_support 1
-%define tizen_feature_app_control_settings_support 0
-%define tizen_feature_application_support 1
-%define tizen_feature_archive_support 1
-%define tizen_feature_badge_support 0
-%define tizen_feature_bluetooth_support 0
-%define tizen_feature_bookmark_support 0
-%define tizen_feature_calendar_support 0
-%define tizen_feature_callhistory_support 0
-%define tizen_feature_contact_support 0
-%define tizen_feature_content_support 1
-%define tizen_feature_datacontrol_support 1
-%define tizen_feature_datasync_support 0
-%define tizen_feature_download_support 1
-%define tizen_feature_exif_support 1
-%define tizen_feature_feedback_support 0
-%define tizen_feature_filesystem_support 1
-%define tizen_feature_fm_radio_support 0
-%define tizen_feature_ham_support 0
-%define tizen_feature_iotcon_support 1
-%define tizen_feature_key_manager_support 1
-%define tizen_feature_media_controller_support 0
-%define tizen_feature_media_key_support 1
-%define tizen_feature_message_port_support 1
-%define tizen_feature_messaging_support 0
-%define tizen_feature_nbs_support 0
-%define tizen_feature_nfc_emulation_support 0
-%define tizen_feature_nfc_support 0
-%define tizen_feature_notification_support 0
-%define tizen_feature_package_support 1
-%define tizen_feature_player_util_support 0
-%define tizen_feature_power_support 0
-%define tizen_feature_preference_support 0
-%define tizen_feature_push_support 0
-%define tizen_feature_se_support 0
-%define tizen_feature_sensor_support 0
-%define tizen_feature_sound_support 0
-%define tizen_feature_system_info_support 1
-%define tizen_feature_system_setting_support 0
-%define tizen_feature_telephony_support 0
-%define tizen_feature_time_support 1
-%define tizen_feature_web_setting_support 1
-%define tizen_feature_widget_service_support 0
-%define tizen_feature_wi_fi_support 1
-%define tizen_feature_inputdevice_support 0
-%define tizen_feature_tvinputdevice_support 1
-%define tizen_feature_convergence_support 1
-
-%endif # tizen_profile_tv
+
+%define tizen_tv_privilege_engine CYNARA
+
+%define tizen_tv_feature_account_support 0
+%define tizen_tv_feature_alarm_support 1
+%define tizen_tv_feature_app_control_settings_support 0
+%define tizen_tv_feature_application_support 1
+%define tizen_tv_feature_archive_support 1
+%define tizen_tv_feature_badge_support 0
+%define tizen_tv_feature_bluetooth_support 0
+%define tizen_tv_feature_bookmark_support 0
+%define tizen_tv_feature_calendar_support 0
+%define tizen_tv_feature_callhistory_support 0
+%define tizen_tv_feature_contact_support 0
+%define tizen_tv_feature_content_support 1
+%define tizen_tv_feature_datacontrol_support 1
+%define tizen_tv_feature_datasync_support 0
+%define tizen_tv_feature_download_support 1
+%define tizen_tv_feature_exif_support 1
+%define tizen_tv_feature_feedback_support 0
+%define tizen_tv_feature_filesystem_support 1
+%define tizen_tv_feature_fm_radio_support 0
+%define tizen_tv_feature_ham_support 0
+%define tizen_tv_feature_iotcon_support 1
+%define tizen_tv_feature_key_manager_support 1
+%define tizen_tv_feature_media_controller_support 0
+%define tizen_tv_feature_media_key_support 1
+%define tizen_tv_feature_message_port_support 1
+%define tizen_tv_feature_messaging_support 0
+%define tizen_tv_feature_nbs_support 0
+%define tizen_tv_feature_nfc_emulation_support 0
+%define tizen_tv_feature_nfc_support 0
+%define tizen_tv_feature_notification_support 0
+%define tizen_tv_feature_package_support 1
+%define tizen_tv_feature_player_util_support 0
+%define tizen_tv_feature_power_support 0
+%define tizen_tv_feature_preference_support 0
+%define tizen_tv_feature_push_support 0
+%define tizen_tv_feature_se_support 0
+%define tizen_tv_feature_sensor_support 0
+%define tizen_tv_feature_sound_support 0
+%define tizen_tv_feature_system_info_support 1
+%define tizen_tv_feature_system_setting_support 0
+%define tizen_tv_feature_telephony_support 0
+%define tizen_tv_feature_time_support 1
+%define tizen_tv_feature_web_setting_support 1
+%define tizen_tv_feature_widget_service_support 0
+%define tizen_tv_feature_wi_fi_support 1
+%define tizen_tv_feature_inputdevice_support 0
+%define tizen_tv_feature_tvinputdevice_support 1
+%define tizen_tv_feature_convergence_support 1
+
+# common, ivi, or "unified (undefined)"
+%define unified_build 1
+# GBM Product Build Optimization. Not for 4.0 Public Unified Build.
+%if "%{?profile}" == "tv" || "%{?profile}" == "mobile" || "%{?profile}" == "wearable" || "%{?profile}" == "ivi"
+%define unified_build 0
+%endif
+
+# GBM Product Build Optimization. Not for 4.0 Public Unified Build.
+%if "%{?profile}" == "tv" || "%{?profile}" == "mobile" || "%{?profile}" == "wearable" || "%{?profile}" == "common"
+%define tizen_privilege_engine tizen_%{?profile}_privilege_engine
+
+%define tizen_feature_account_support tizen_%{?profile}_feature_account_support
+%define tizen_feature_alarm_support tizen_%{?profile}_feature_alarm_support
+%define tizen_feature_app_control_settings_support tizen_%{?profile}_feature_app_control_settings_support
+%define tizen_feature_application_support tizen_%{?profile}_feature_application_support
+%define tizen_feature_archive_support tizen_%{?profile}_feature_archive_support
+%define tizen_feature_badge_support tizen_%{?profile}_feature_badge_support
+%define tizen_feature_bluetooth_support tizen_%{?profile}_feature_bluetooth_support
+%define tizen_feature_bookmark_support tizen_%{?profile}_feature_bookmark_support
+%define tizen_feature_calendar_support tizen_%{?profile}_feature_calendar_support
+%define tizen_feature_contact_support tizen_%{?profile}_feature_contact_support
+%define tizen_feature_content_support tizen_%{?profile}_feature_content_support
+%define tizen_feature_datacontrol_support tizen_%{?profile}_feature_datacontrol_support
+%define tizen_feature_datasync_support tizen_%{?profile}_feature_datasync_support
+%define tizen_feature_download_support tizen_%{?profile}_feature_download_support
+%define tizen_feature_exif_support tizen_%{?profile}_feature_exif_support
+%define tizen_feature_feedback_support tizen_%{?profile}_feature_feedback_support
+%define tizen_feature_filesystem_support tizen_%{?profile}_feature_filesystem_support
+%define tizen_feature_fm_radio_support tizen_%{?profile}_feature_fm_radio_support
+%define tizen_feature_ham_support tizen_%{?profile}_feature_ham_support
+%define tizen_feature_iotcon_support tizen_%{?profile}_feature_iotcon_support
+%define tizen_feature_location_batch tizen_%{?profile}_feature_location_bat
+%define tizen_feature_key_manager_support tizen_%{?profile}_feature_key_manager_support
+%define tizen_feature_media_controller_support tizen_%{?profile}_feature_media_controller_support
+%define tizen_feature_media_key_support tizen_%{?profile}_feature_media_key_support
+%define tizen_feature_message_port_support tizen_%{?profile}_feature_message_port_support
+%define tizen_feature_messaging_support tizen_%{?profile}_feature_messaging_support
+%define tizen_feature_nfc_emulation_support tizen_%{?profile}_feature_nfc_emulation_support
+%define tizen_feature_nfc_support tizen_%{?profile}_feature_nfc_support
+%define tizen_feature_notification_support tizen_%{?profile}_feature_notification_support
+%define tizen_feature_package_support tizen_%{?profile}_feature_package_support
+%define tizen_feature_player_util_support tizen_%{?profile}_feature_player_util_support
+%define tizen_feature_power_support tizen_%{?profile}_feature_power_support
+%define tizen_feature_preference_support tizen_%{?profile}_feature_preference_support
+%define tizen_feature_push_support tizen_%{?profile}_feature_push_support
+%define tizen_feature_se_support tizen_%{?profile}_feature_se_support
+%define tizen_feature_sensor_support tizen_%{?profile}_feature_sensor_support
+%define tizen_feature_sound_support tizen_%{?profile}_feature_sound_support
+%define tizen_feature_system_info_support tizen_%{?profile}_feature_system_info_support
+%define tizen_feature_system_setting_support tizen_%{?profile}_feature_system_setting_support
+%define tizen_feature_telephony_support tizen_%{?profile}_feature_telephony_support
+%define tizen_feature_time_support tizen_%{?profile}_feature_time_support
+%define tizen_feature_web_setting_support tizen_%{?profile}_feature_web_setting_support
+%define tizen_feature_widget_service_support tizen_%{?profile}_feature_widget_service_support
+%define tizen_feature_wi_fi_support tizen_%{?profile}_feature_wi_fi_support
+%define tizen_feature_inputdevice_support tizen_%{?profile}_feature_inputdevice_support
+%define tizen_feature_callhistory_support tizen_%{?profile}_feature_callhistory_support
+%define tizen_feature_nbs_support tizen_%{?profile}_feature_nbs_support
+%define tizen_feature_tvinputdevice_support tizen_%{?profile}_feature_tvinputdevice_support
+%endif
+
BuildRequires: pkgconfig(security-privilege-manager)
BuildRequires: ninja
BuildRequires: pkgconfig(security-privilege-checker)
%endif
-%if "%{?tizen_privilege_engine}" == "CYNARA"
+%if "%{?tizen_privilege_engine}" == "CYNARA" || "%unified_build" == "1"
BuildRequires: pkgconfig(cynara-client)
BuildRequires: pkgconfig(libsmack)
%endif
-%if 0%{?tizen_feature_account_support}
+%if 0%{?tizen_feature_account_support}%unified_build
BuildRequires: pkgconfig(accounts-svc)
%endif
-%if 0%{?tizen_feature_alarm_support}
+%if 0%{?tizen_feature_alarm_support}%unified_build
BuildRequires: pkgconfig(capi-appfw-alarm)
BuildRequires: pkgconfig(alarm-service)
%endif
-%if 0%{?tizen_feature_bookmark_support}
+%if 0%{?tizen_feature_bookmark_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-web-bookmark)
BuildRequires: pkgconfig(bookmark-adaptor)
%endif
-%if 0%{?tizen_feature_datacontrol_support}
+%if 0%{?tizen_feature_datacontrol_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-data-control)
%endif
-%if 0%{?tizen_feature_download_support}
+%if 0%{?tizen_feature_download_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-web-url-download)
%endif
-%if 0%{?tizen_feature_ham_support}
+%if 0%{?tizen_feature_ham_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(motion)
BuildRequires: pkgconfig(capi-system-sensor)
BuildRequires: pkgconfig(capi-location-manager)
BuildRequires: pkgconfig(sensor)
%endif
-%if 0%{?tizen_feature_iotcon_support}
+%if 0%{?tizen_feature_iotcon_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(iotcon)
%endif
-%if 0%{?tizen_feature_player_util_support}
+%if 0%{?tizen_feature_player_util_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(chromium-efl)
%endif
-%if 0%{?tizen_feature_power_support}
+%if 0%{?tizen_feature_power_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(deviced)
%endif
-%if 0%{?tizen_feature_power_support}
+%if 0%{?tizen_feature_power_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-appfw-application)
%endif
-%if 0%{?tizen_feature_push_support}
+%if 0%{?tizen_feature_push_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(push)
%endif
-%if 0%{?tizen_feature_key_manager_support}
+%if 0%{?tizen_feature_key_manager_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(key-manager)
%endif
-%if 0%{?tizen_feature_media_controller_support}
+%if 0%{?tizen_feature_media_controller_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-media-controller)
%endif
-%if 0%{?tizen_feature_messaging_support}
+%if 0%{?tizen_feature_messaging_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(ecore-file)
BuildRequires: pkgconfig(email-service)
BuildRequires: pkgconfig(msg-service)
BuildRequires: pkgconfig(db-util)
%endif
-%if 0%{?tizen_feature_badge_support}
+%if 0%{?tizen_feature_badge_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(badge)
%endif
-%if 0%{?tizen_feature_calendar_support}
+%if 0%{?tizen_feature_calendar_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(calendar-service2)
%endif
-%if 0%{?tizen_feature_contact_support}
+%if 0%{?tizen_feature_contact_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(contacts-service2)
%endif
-%if 0%{?tizen_feature_callhistory_support}
+%if 0%{?tizen_feature_callhistory_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(contacts-service2)
%endif
-%if 0%{?tizen_feature_exif_support}
+%if 0%{?tizen_feature_exif_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(libexif)
%endif
-%if 0%{?tizen_feature_nfc_support}
+%if 0%{?tizen_feature_nfc_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-network-nfc)
%endif
-%if 0%{?tizen_feature_fm_radio_support}
+%if 0%{?tizen_feature_fm_radio_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-media-radio)
%endif
-%if 0%{?tizen_feature_feedback_support}
+%if 0%{?tizen_feature_feedback_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(feedback)
%endif
-%if 0%{?tizen_feature_se_support}
+%if 0%{?tizen_feature_se_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-network-smartcard)
%endif
-%if 0%{?tizen_feature_message_port_support}
+%if 0%{?tizen_feature_message_port_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-message-port)
%endif
-%if 0%{?tizen_feature_notification_support}
+%if 0%{?tizen_feature_notification_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(notification)
%endif
-%if 0%{?tizen_feature_sound_support}
+%if 0%{?tizen_feature_sound_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-media-sound-manager)
%endif
-%if 0%{?tizen_feature_sensor_support}
+%if 0%{?tizen_feature_sensor_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-system-sensor)
%endif
-%if 0%{?tizen_feature_media_key_support}
+%if 0%{?tizen_feature_media_key_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(capi-system-media-key)
%endif
-%if 0%{?tizen_feature_convergence_support}
+%if 0%{?tizen_feature_convergence_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(d2d-conv-manager)
%endif
-%if 0%{?tizen_feature_widget_service_support}
+%if 0%{?tizen_feature_widget_service_support} || "%{?unified_build}" == "1"
BuildRequires: pkgconfig(widget_service)
%endif
+Requires: %{name}-compat = %{version}-%{release}
+%if "%{?unified_build}" == "1"
+Recommends: %{name}-profile_common = %{version}-%{release}
+%endif
+
%description
Tizen Web APIs implemented.
+%package profile_common
+Summary: webapi-plugin binaries for common profile
+Provides: %{name}-compat = %{version}-%{release}
+Conflicts: %{name}-profile_mobile
+Conflicts: %{name}-profile_wearable
+Conflicts: %{name}-profile_tv
+Conflicts: %{name}-profile_ivi
+%description profile_common
+Tizen Web API implementation binaries for Tizen common profile.
+
+%package profile_mobile
+Summary: webapi-plugin binaries for mobile profile
+Provides: %{name}-compat = %{version}-%{release}
+Conflicts: %{name}-profile_common
+Conflicts: %{name}-profile_wearable
+Conflicts: %{name}-profile_tv
+Conflicts: %{name}-profile_ivi
+%description profile_mobile
+Tizen Web API implementation binaries for Tizen mobile profile.
+
+%package profile_wearable
+Summary: webapi-plugin binaries for wearable profile
+Provides: %{name}-compat = %{version}-%{release}
+Conflicts: %{name}-profile_mobile
+Conflicts: %{name}-profile_common
+Conflicts: %{name}-profile_tv
+Conflicts: %{name}-profile_ivi
+%description profile_wearable
+Tizen Web API implementation binaries for Tizen wearable profile.
+
+%package profile_tv
+Summary: webapi-plugin binaries for tv profile
+Provides: %{name}-compat = %{version}-%{release}
+Conflicts: %{name}-profile_mobile
+Conflicts: %{name}-profile_wearable
+Conflicts: %{name}-profile_common
+Conflicts: %{name}-profile_ivi
+%description profile_tv
+Tizen Web API implementation binaries for Tizen tv profile.
+
+%package profile_ivi
+Summary: webapi-plugin binaries for ivi profile
+Provides: %{name}-compat = %{version}-%{release}
+Conflicts: %{name}-profile_mobile
+Conflicts: %{name}-profile_wearable
+Conflicts: %{name}-profile_tv
+Conflicts: %{name}-profile_common
+%description profile_ivi
+Tizen Web API implementation binaries for Tizen ivi profile.
+
%package devel
Summary: webapi-plugins development headers
Group: Development/Libraries
%build
export GYP_GENERATORS='ninja'
+
+%if "%{?unified_build}" == "1"
+# Build All Profiles
+
+# Mobile
+GYP_OPTIONS="--depth=. -Dtizen=1 -Dextension_build_type=Debug -Dextension_host_os=mobile -Dprivilege_engine=%{tizen_mobile_privilege_engine}"
+GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=%{display_type}"
+GYP_OPTIONS="$GYP_OPTIONS -Dcrosswalk_extensions_path=%{crosswalk_extensions_path}"
+
+# feature flags
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_is_emulator=%{?tizen_is_emulator}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_account_support=%{?tizen_mobile_feature_account_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_alarm_support=%{?tizen_mobile_feature_alarm_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_app_control_settings_support=%{?tizen_mobile_feature_app_control_settings_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_application_support=%{?tizen_mobile_feature_application_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_archive_support=%{?tizen_mobile_feature_archive_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_badge_support=%{?tizen_mobile_feature_badge_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_bluetooth_support=%{?tizen_mobile_feature_bluetooth_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_bookmark_support=%{?tizen_mobile_feature_bookmark_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_calendar_support=%{?tizen_mobile_feature_calendar_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_callhistory_support=%{?tizen_mobile_feature_callhistory_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_contact_support=%{?tizen_mobile_feature_contact_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_content_support=%{?tizen_mobile_feature_content_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_datacontrol_support=%{?tizen_mobile_feature_datacontrol_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_datasync_support=%{?tizen_mobile_feature_datasync_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_download_support=%{?tizen_mobile_feature_download_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_exif_support=%{?tizen_mobile_feature_exif_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_feedback_support=%{?tizen_mobile_feature_feedback_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_filesystem_support=%{?tizen_mobile_feature_filesystem_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_fm_radio_support=%{?tizen_mobile_feature_fm_radio_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_ham_support=%{?tizen_mobile_feature_ham_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_iotcon_support=%{?tizen_mobile_feature_iotcon_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_location_batch=%{?tizen_mobile_feature_location_batch}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_key_manager_support=%{?tizen_mobile_feature_key_manager_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_media_controller_support=%{?tizen_mobile_feature_media_controller_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_media_key_support=%{?tizen_mobile_feature_media_key_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_message_port_support=%{?tizen_mobile_feature_message_port_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_messaging_support=%{?tizen_mobile_feature_messaging_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nbs_support=%{?tizen_mobile_feature_nbs_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nfc_emulation_support=%{?tizen_mobile_feature_nfc_emulation_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nfc_support=%{?tizen_mobile_feature_nfc_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_notification_support=%{?tizen_mobile_feature_notification_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_package_support=%{?tizen_mobile_feature_package_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_player_util_support=%{?tizen_mobile_feature_player_util_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_power_support=%{?tizen_mobile_feature_power_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_preference_support=%{?tizen_mobile_feature_preference_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_push_support=%{?tizen_mobile_feature_push_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sap_support=%{?tizen_mobile_feature_sap_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sensor_support=%{?tizen_mobile_feature_sensor_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_se_support=%{?tizen_mobile_feature_se_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sound_support=%{?tizen_mobile_feature_sound_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_system_info_support=%{?tizen_mobile_feature_system_info_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_system_setting_support=%{?tizen_mobile_feature_system_setting_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_telephony_support=%{?tizen_mobile_feature_telephony_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_time_support=%{?tizen_mobile_feature_time_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_inputdevice_support=%{?tizen_mobile_feature_inputdevice_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_web_setting_support=%{?tizen_mobile_feature_web_setting_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_widget_service_support=%{?tizen_mobile_feature_widget_service_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_wi_fi_support=%{?tizen_mobile_feature_wi_fi_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_tvinputdevice_support=%{?tizen_mobile_feature_tvinputdevice_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_convergence_support=%{?tizen_mobile_feature_convergence_support}"
+
+./tools/gyp/gyp $GYP_OPTIONS src/tizen-wrt.gyp
+
+ninja -C out/bin_mobile %{?_smp_mflags}
+
+# WEARABLE
+GYP_OPTIONS="--depth=. -Dtizen=1 -Dextension_build_type=Debug -Dextension_host_os=wearable -Dprivilege_engine=%{tizen_wearable_privilege_engine}"
+GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=%{display_type}"
+GYP_OPTIONS="$GYP_OPTIONS -Dcrosswalk_extensions_path=%{crosswalk_extensions_path}"
+
+# feature flags
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_is_emulator=%{?tizen_is_emulator}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_account_support=%{?tizen_wearable_feature_account_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_alarm_support=%{?tizen_wearable_feature_alarm_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_app_control_settings_support=%{?tizen_wearable_feature_app_control_settings_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_application_support=%{?tizen_wearable_feature_application_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_archive_support=%{?tizen_wearable_feature_archive_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_badge_support=%{?tizen_wearable_feature_badge_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_bluetooth_support=%{?tizen_wearable_feature_bluetooth_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_bookmark_support=%{?tizen_wearable_feature_bookmark_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_calendar_support=%{?tizen_wearable_feature_calendar_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_callhistory_support=%{?tizen_wearable_feature_callhistory_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_contact_support=%{?tizen_wearable_feature_contact_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_content_support=%{?tizen_wearable_feature_content_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_datacontrol_support=%{?tizen_wearable_feature_datacontrol_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_datasync_support=%{?tizen_wearable_feature_datasync_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_download_support=%{?tizen_wearable_feature_download_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_exif_support=%{?tizen_wearable_feature_exif_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_feedback_support=%{?tizen_wearable_feature_feedback_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_filesystem_support=%{?tizen_wearable_feature_filesystem_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_fm_radio_support=%{?tizen_wearable_feature_fm_radio_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_ham_support=%{?tizen_wearable_feature_ham_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_iotcon_support=%{?tizen_wearable_feature_iotcon_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_location_batch=%{?tizen_wearable_feature_location_batch}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_key_manager_support=%{?tizen_wearable_feature_key_manager_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_media_controller_support=%{?tizen_wearable_feature_media_controller_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_media_key_support=%{?tizen_wearable_feature_media_key_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_message_port_support=%{?tizen_wearable_feature_message_port_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_messaging_support=%{?tizen_wearable_feature_messaging_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nbs_support=%{?tizen_wearable_feature_nbs_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nfc_emulation_support=%{?tizen_wearable_feature_nfc_emulation_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nfc_support=%{?tizen_wearable_feature_nfc_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_notification_support=%{?tizen_wearable_feature_notification_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_package_support=%{?tizen_wearable_feature_package_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_player_util_support=%{?tizen_wearable_feature_player_util_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_power_support=%{?tizen_wearable_feature_power_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_preference_support=%{?tizen_wearable_feature_preference_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_push_support=%{?tizen_wearable_feature_push_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sap_support=%{?tizen_wearable_feature_sap_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sensor_support=%{?tizen_wearable_feature_sensor_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_se_support=%{?tizen_wearable_feature_se_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sound_support=%{?tizen_wearable_feature_sound_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_system_info_support=%{?tizen_wearable_feature_system_info_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_system_setting_support=%{?tizen_wearable_feature_system_setting_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_telephony_support=%{?tizen_wearable_feature_telephony_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_time_support=%{?tizen_wearable_feature_time_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_inputdevice_support=%{?tizen_wearable_feature_inputdevice_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_web_setting_support=%{?tizen_wearable_feature_web_setting_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_widget_service_support=%{?tizen_wearable_feature_widget_service_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_wi_fi_support=%{?tizen_wearable_feature_wi_fi_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_tvinputdevice_support=%{?tizen_wearable_feature_tvinputdevice_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_convergence_support=%{?tizen_wearable_feature_convergence_support}"
+
+./tools/gyp/gyp $GYP_OPTIONS src/tizen-wrt.gyp
+
+ninja -C out/bin_wearable %{?_smp_mflags}
+
+# TV
+GYP_OPTIONS="--depth=. -Dtizen=1 -Dextension_build_type=Debug -Dextension_host_os=tv -Dprivilege_engine=%{tizen_tv_privilege_engine}"
+GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=%{display_type}"
+GYP_OPTIONS="$GYP_OPTIONS -Dcrosswalk_extensions_path=%{crosswalk_extensions_path}"
+
+# feature flags
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_is_emulator=%{?tizen_is_emulator}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_account_support=%{?tizen_tv_feature_account_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_alarm_support=%{?tizen_tv_feature_alarm_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_app_control_settings_support=%{?tizen_tv_feature_app_control_settings_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_application_support=%{?tizen_tv_feature_application_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_archive_support=%{?tizen_tv_feature_archive_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_badge_support=%{?tizen_tv_feature_badge_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_bluetooth_support=%{?tizen_tv_feature_bluetooth_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_bookmark_support=%{?tizen_tv_feature_bookmark_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_calendar_support=%{?tizen_tv_feature_calendar_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_callhistory_support=%{?tizen_tv_feature_callhistory_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_contact_support=%{?tizen_tv_feature_contact_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_content_support=%{?tizen_tv_feature_content_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_datacontrol_support=%{?tizen_tv_feature_datacontrol_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_datasync_support=%{?tizen_tv_feature_datasync_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_download_support=%{?tizen_tv_feature_download_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_exif_support=%{?tizen_tv_feature_exif_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_feedback_support=%{?tizen_tv_feature_feedback_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_filesystem_support=%{?tizen_tv_feature_filesystem_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_fm_radio_support=%{?tizen_tv_feature_fm_radio_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_ham_support=%{?tizen_tv_feature_ham_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_iotcon_support=%{?tizen_tv_feature_iotcon_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_location_batch=%{?tizen_tv_feature_location_batch}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_key_manager_support=%{?tizen_tv_feature_key_manager_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_media_controller_support=%{?tizen_tv_feature_media_controller_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_media_key_support=%{?tizen_tv_feature_media_key_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_message_port_support=%{?tizen_tv_feature_message_port_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_messaging_support=%{?tizen_tv_feature_messaging_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nbs_support=%{?tizen_tv_feature_nbs_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nfc_emulation_support=%{?tizen_tv_feature_nfc_emulation_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_nfc_support=%{?tizen_tv_feature_nfc_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_notification_support=%{?tizen_tv_feature_notification_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_package_support=%{?tizen_tv_feature_package_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_player_util_support=%{?tizen_tv_feature_player_util_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_power_support=%{?tizen_tv_feature_power_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_preference_support=%{?tizen_tv_feature_preference_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_push_support=%{?tizen_tv_feature_push_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sap_support=%{?tizen_tv_feature_sap_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sensor_support=%{?tizen_tv_feature_sensor_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_se_support=%{?tizen_tv_feature_se_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_sound_support=%{?tizen_tv_feature_sound_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_system_info_support=%{?tizen_tv_feature_system_info_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_system_setting_support=%{?tizen_tv_feature_system_setting_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_telephony_support=%{?tizen_tv_feature_telephony_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_time_support=%{?tizen_tv_feature_time_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_inputdevice_support=%{?tizen_tv_feature_inputdevice_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_web_setting_support=%{?tizen_tv_feature_web_setting_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_widget_service_support=%{?tizen_tv_feature_widget_service_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_wi_fi_support=%{?tizen_tv_feature_wi_fi_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_tvinputdevice_support=%{?tizen_tv_feature_tvinputdevice_support}"
+GYP_OPTIONS="$GYP_OPTIONS -Dtizen_feature_convergence_support=%{?tizen_tv_feature_convergence_support}"
+
+./tools/gyp/gyp $GYP_OPTIONS src/tizen-wrt.gyp
+
+ninja -C out/bin_tv %{?_smp_mflags}
+
+%endif
+
+
+# Unified: common/ Others: its own profile
+%if "{?profile}" != "mobile" && "{?profile}" != "tv" && "{?profile}" != "wearable" && "{?profile}" != "ivi"
+GYP_OPTIONS="--depth=. -Dtizen=1 -Dextension_build_type=Debug -Dextension_host_os=common -Dprivilege_engine=%{tizen_privilege_engine}"
+%else
GYP_OPTIONS="--depth=. -Dtizen=1 -Dextension_build_type=Debug -Dextension_host_os=%{profile} -Dprivilege_engine=%{tizen_privilege_engine}"
+%endif
GYP_OPTIONS="$GYP_OPTIONS -Ddisplay_type=%{display_type}"
GYP_OPTIONS="$GYP_OPTIONS -Dcrosswalk_extensions_path=%{crosswalk_extensions_path}"
./tools/gyp/gyp $GYP_OPTIONS src/tizen-wrt.gyp
-ninja -C out/Default %{?_smp_mflags}
+%if "{?profile}" != "mobile" && "{?profile}" != "tv" && "{?profile}" != "wearable" && "{?profile}" != "ivi"
+ninja -C out/bin_common %{?_smp_mflags}
+ln -sf bin_common out/Default
+%else
+ninja -C out/bin_%{?profile} %{?_smp_mflags}
+ln -sf bin_%{?profile} out/Default
+%endif
%install
mkdir -p %{buildroot}/usr/share/license
# Extensions.
mkdir -p %{buildroot}%{crosswalk_extensions_path}
-install -p -m 644 out/Default/libtizen*.so %{buildroot}%{crosswalk_extensions_path}
+
+%if "%{?unified_build}" == "1" || "%{?profile}" == "common"
+pushd out/bin_common
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.common"; done
+popd
+install -p -m 644 out/bin_common/libtizen*.so.common %{buildroot}%{crosswalk_extensions_path}
+%endif
+
+%if "%{?unified_build}" == "1" || "%{?profile}" == "mobile"
+pushd out/bin_mobile
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.mobile"; done
+popd
+install -p -m 644 out/bin_mobile/libtizen*.so.mobile %{buildroot}%{crosswalk_extensions_path}
+%endif
+
+%if "%{?unified_build}" == "1" || "%{?profile}" == "wearable"
+pushd out/bin_wearable
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.wearable"; done
+popd
+install -p -m 644 out/bin_wearable/libtizen*.so.wearable %{buildroot}%{crosswalk_extensions_path}
+%endif
+
+%if "%{?unified_build}" == "1" || "%{?profile}" == "tv"
+pushd out/bin_tv
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.tv"; done
+popd
+install -p -m 644 out/bin_tv/libtizen*.so.tv %{buildroot}%{crosswalk_extensions_path}
+%endif
+
+%if "%{?unified_build}" == "1" || "%{?profile}" == "ivi"
+pushd out/bin_ivi
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.ivi"; done
+popd
+install -p -m 644 out/bin_ivi/libtizen*.so.ivi %{buildroot}%{crosswalk_extensions_path}
+%endif
# devel files
mkdir -p %{buildroot}%{_libdir}/pkgconfig
%files
-%{crosswalk_extensions_path}/libtizen*.so
%{crosswalk_extensions_path}/plugins.json
%{_datadir}/license/%{name}
%manifest webapi-plugins.manifest
+%if "%{?unified_build}" == "1" || "%{?profile}" == "common"
+%post profile_common
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so.common; do mv "${FILE}" "${FILE%.common}"; done
+popd
+%preun profile_common
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.common"; done
+popd
+%files profile_common
+%{crosswalk_extensions_path}/libtizen*.so.common
+%endif
+
+%if "%{?unified_build}" == "1" || "%{?profile}" == "mobile"
+%post profile_mobile
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so.mobile; do mv "${FILE}" "${FILE%.mobile}"; done
+popd
+%preun profile_mobile
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.mobile"; done
+popd
+%files profile_mobile
+%{crosswalk_extensions_path}/libtizen*.so.mobile
+%endif
+
+%if "%{?unified_build}" == "1" || "%{?profile}" == "wearable"
+%post profile_wearable
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so.wearable; do mv "${FILE}" "${FILE%.wearable}"; done
+popd
+%preun profile_wearable
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.wearable"; done
+popd
+%files profile_wearable
+%{crosswalk_extensions_path}/libtizen*.so.wearable
+%endif
+
+%if "%{?unified_build}" == "1" || "%{?profile}" == "tv"
+%post profile_tv
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so.tv; do mv "${FILE}" "${FILE%.tv}"; done
+popd
+%preun profile_tv
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.tv"; done
+popd
+%files profile_tv
+%{crosswalk_extensions_path}/libtizen*.so.tv
+%endif
+
+%if "%{?unified_build}" == "1" || "%{?profile}" == "ivi"
+%post profile_ivi
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so.ivi; do mv "${FILE}" "${FILE%.ivi}"; done
+popd
+%preun profile_ivi
+pushd %{crosswalk_extensions_path}
+for FILE in libtizen*.so; do mv "${FILE}" "${FILE}.ivi"; done
+popd
+%files profile_ivi
+%{crosswalk_extensions_path}/libtizen*.so.ivi
+%endif
+
%files devel
%{_includedir}/*
%{_libdir}/pkgconfig/*