Commit 4c0230af authored by Ghislain MARY's avatar Ghislain MARY

Rework definition of build options.

parent 033ded89
......@@ -142,7 +142,7 @@ endif()
# This macro can be used to add an option. Give it option name and description,
# default value and optionally dependent predicate and value
macro(linphone_builder_add_dependent_option NAME DESCRIPTION DEFAULT_VALUE CONDITION CONDITION_VALUE)
macro(lcb_add_dependent_option NAME DESCRIPTION DEFAULT_VALUE CONDITION CONDITION_VALUE)
string(TOUPPER ${NAME} UPPERCASE_NAME)
string(REGEX REPLACE " " "_" UPPERCASE_NAME ${UPPERCASE_NAME})
string(REGEX REPLACE "\\+" "P" UPPERCASE_NAME ${UPPERCASE_NAME})
......@@ -150,8 +150,8 @@ macro(linphone_builder_add_dependent_option NAME DESCRIPTION DEFAULT_VALUE CONDI
add_feature_info("${NAME}" "ENABLE_${UPPERCASE_NAME}" "${DESCRIPTION}")
endmacro()
macro(linphone_builder_add_strict_dependent_option NAME DESCRIPTION DEFAULT_VALUE CONDITION CONDITION_VALUE STRICT_CONDITION ERROR_MSG)
linphone_builder_add_dependent_option("${NAME}" "${DESCRIPTION}" "${DEFAULT_VALUE}" "${CONDITION}" "${CONDITION_VALUE}")
macro(lcb_add_strict_dependent_option NAME DESCRIPTION DEFAULT_VALUE CONDITION CONDITION_VALUE STRICT_CONDITION ERROR_MSG)
lcb_add_dependent_option("${NAME}" "${DESCRIPTION}" "${DEFAULT_VALUE}" "${CONDITION}" "${CONDITION_VALUE}")
string(TOUPPER ${NAME} UPPERCASE_NAME)
string(REGEX REPLACE " " "_" UPPERCASE_NAME ${UPPERCASE_NAME})
string(REGEX REPLACE "\\+" "P" UPPERCASE_NAME ${UPPERCASE_NAME})
......@@ -160,7 +160,7 @@ macro(linphone_builder_add_strict_dependent_option NAME DESCRIPTION DEFAULT_VALU
endif()
endmacro()
macro(linphone_builder_add_option NAME DESCRIPTION DEFAULT_VALUE)
macro(lcb_add_option NAME DESCRIPTION DEFAULT_VALUE)
string(TOUPPER ${NAME} UPPERCASE_NAME)
string(REGEX REPLACE " " "_" UPPERCASE_NAME ${UPPERCASE_NAME})
string(REGEX REPLACE "\\+" "P" UPPERCASE_NAME ${UPPERCASE_NAME})
......
......@@ -22,8 +22,9 @@
# Define options that are specific to the desktop config
linphone_builder_add_option("Theora" "Theora video encoding/decoding support." "${DEFAULT_VALUE_ENABLE_THEORA}")
linphone_builder_add_option("Static only" "Enable compilation of libraries in static mode." "${DEFAULT_VALUE_ENABLE_STATIC_ONLY}")
lcb_add_option("Theora" "Theora video encoding/decoding support." "${DEFAULT_VALUE_ENABLE_THEORA}")
lcb_add_option("Static only" "Enable compilation of libraries in static mode." "${DEFAULT_VALUE_ENABLE_STATIC_ONLY}")
lcb_add_option("Packaging" "Enable packaging" "${DEFAULT_VALUE_ENABLE_PACKAGING}")
if(ENABLE_STATIC_ONLY)
......
......@@ -22,7 +22,5 @@
# bctoolbox build options
option(ENABLE_POLARSSL "Enable polarssl support." ${DEFAULT_VALUE_ENABLE_POLARSSL})
add_feature_info("Polarssl" ENABLE_POLARSSL "Crypto stack implementation based on polarssl")
option(ENABLE_MBEDTLS "Enable mbedtls support." ${DEFAULT_VALUE_ENABLE_MBEDTLS})
add_feature_info("Mbedtls" ENABLE_MBEDTLS "Crypto stack implementation based on mbeddtls")
lcb_add_option("Polarssl" "Crypto stack implementation based on polarssl." "${DEFAULT_VALUE_ENABLE_POLARSSL}")
lcb_add_option("Mbedtls" "Crypto stack implementation based on mbeddtls." "${DEFAULT_VALUE_ENABLE_MBEDTLS}")
......@@ -22,10 +22,8 @@
# belle-sip build options
option(ENABLE_TUNNEL "Enable tunnel support." "${DEFAULT_VALUE_ENABLE_TUNNEL}")
add_feature_info("Tunnel" ENABLE_TUNNEL "Secure tunnel for SIP/RTP (require license).")
option(ENABLE_RTP_MAP_ALWAYS_IN_SDP "Always include rtpmap in SDP." OFF)
add_feature_info("RTP MAP" ENABLE_RTP_MAP_ALWAYS_IN_SDP "Always include rtpmap in SDP.")
lcb_add_option("Tunnel" "Secure tunnel for SIP/RTP (require license)." "${DEFAULT_VALUE_ENABLE_TUNNEL}")
lcb_add_option("RTP Map always in SDP" "Always include rtpmap in SDP." OFF)
option(DISABLE_BC_ANTLR "Do not build Antlr as part of the CMake builder, and instead use the system version" "${DEFAULT_VALUE_DISABLE_BC_ANTLR}")
add_feature_info("Belledonne Antlr" DISABLE_BC_ANTLR "Do not build the Belledonne version of Antlr3c")
......@@ -22,14 +22,7 @@
# Common build options
option(ENABLE_UNIT_TESTS "Enable unit tests support with BCUnit library." "${DEFAULT_VALUE_ENABLE_UNIT_TESTS}")
add_feature_info("Unit tests" ENABLE_UNIT_TESTS "Build unit tests programs for belle-sip, mediastreamer2 and linphone.")
option(ENABLE_DEBUG_LOGS "Enable debug level logs in libinphone and mediastreamer2." NO)
option(ENABLE_PACKAGING "Enable packaging" "${DEFAULT_VALUE_ENABLE_PACKAGING}")
option(ENABLE_DOC "Enable documentation generation with Doxygen." YES)
add_feature_info("Documentation" ENABLE_DOC "Enable documentation generation with Doxygen.")
option(ENABLE_TOOLS "Enable tools binary compilation." YES)
add_feature_info("Tools" ENABLE_DOC "Enable tools binary compilation.")
lcb_add_option("Unit tests" "Enable unit tests support with BCUnit library." "${DEFAULT_VALUE_ENABLE_UNIT_TESTS}")
lcb_add_option("Debug logs" "Enable debug level logs in libinphone and mediastreamer2." NO)
lcb_add_option("Doc" "Enable documentation generation with Doxygen." YES)
lcb_add_option("Tools" "Enable tools binary compilation." YES)
......@@ -22,32 +22,16 @@
# Flexisip build options
option(ENABLE_ODB "Enable odb support." "${DEFAULT_VALUE_ENABLE_ODB}")
add_feature_info("ODB" ENABLE_ODB "Enable odb support.")
option(ENABLE_ODBC "Enable odbc support." "${DEFAULT_VALUE_ENABLE_ODBC}")
add_feature_info("ODBC" ENABLE_ODBC "Enable odbc support.")
cmake_dependent_option(ENABLE_BC_ODBC "Enable odbc support from Belledonne Communications." "${DEFAULT_VALUE_ENABLE_BC_ODBC}" "ENABLE_ODBC" OFF)
option(ENABLE_REDIS "Enable hiredis support." "${DEFAULT_VALUE_ENABLE_REDIS}")
add_feature_info("REDIS" ENABLE_REDIS "Enable hiredis support.")
option(ENABLE_PUSHNOTIFICATION "Enable push notification support." "${DEFAULT_VALUE_ENABLE_PUSHNOTIFICATION}")
add_feature_info("PUSHNOTIFICATION" ENABLE_PUSHNOTIFICATION "Enable push notification support.")
option(ENABLE_PRESENCE "Enable presence server support." "${DEFAULT_VALUE_ENABLE_PRESENCE}")
add_feature_info("PRESENCE" ENABLE_PRESENCE "Enable presence server.")
lcb_add_option("ODB" "Enable odb support." "${DEFAULT_VALUE_ENABLE_ODB}")
lcb_add_option("ODBC" "Enable odbc support." "${DEFAULT_VALUE_ENABLE_ODBC}")
lcb_add_dependent_option("BC ODBC" "Enable odbc support from Belledonne Communications." "${DEFAULT_VALUE_ENABLE_BC_ODBC}" "ENABLE_ODBC" OFF)
lcb_add_option("REDIS" "Enable hiredis support." "${DEFAULT_VALUE_ENABLE_REDIS}")
lcb_add_option("PushNotification" "Enable push notification support." "${DEFAULT_VALUE_ENABLE_PUSHNOTIFICATION}")
lcb_add_option("Presence" "Enable presence server support." "${DEFAULT_VALUE_ENABLE_PRESENCE}")
lcb_add_option("SNMP" "Enable SNMP support." "${DEFAULT_ENABLE_SNMP}")
lcb_add_option("SOCI" "Enable SOCI support." "${DEFAULT_ENABLE_SOCI}")
lcb_add_dependent_option("SOCI build" "Build SOCI from sources instead of taking the operating system version." "${DEFAULT_VALUE_ENABLE_SOCI_BUILD}" "ENABLE_SOCI" OFF)
lcb_add_option("Transcoder" "Enable transcoder support." "${DEFAULT_ENABLE_TRANSCODER}")
set(XSDCXX_ROOT_PATH "/usr" CACHE STRING "Path of where the bin/xsdcxx executable will be found. Comes from http://www.codesynthesis.com/products/xsd/download.xhtml")
add_feature_info("XSDCXX_ROOT_PATH" XSDCXX_ROOT_PATH "Path of where the bin/xsdcxx executable will be found. Comes from http://www.codesynthesis.com/products/xsd/download.xhtml")
option(ENABLE_SNMP "Enable SNMP support" "${DEFAULT_ENABLE_SNMP}")
add_feature_info("SNMP" ENABLE_SNMP "Enable SNMP support")
option(ENABLE_SOCI "Enable SOCI support" "${DEFAULT_ENABLE_SOCI}")
add_feature_info("SOCI" ENABLE_SOCI "Enable SOCI support")
cmake_dependent_option(ENABLE_SOCI_BUILD "Build SOCI from sources instead of taking the operating system version." "${DEFAULT_VALUE_ENABLE_SOCI_BUILD}" "ENABLE_SOCI" OFF)
option(ENABLE_TRANSCODER "Enable TRANSCODER support" "${DEFAULT_ENABLE_TRANSCODER}")
add_feature_info("TRANSCODER" ENABLE_TRANSCODER "Enable TRANSCODER support")
......@@ -22,14 +22,10 @@
# Linphone build options
option(ENABLE_GTK_UI "Enable the GTK user interface of Linphone." ${DEFAULT_VALUE_ENABLE_GTK_UI})
add_feature_info("GTK" ENABLE_GTK_UI "Enable the GTK user interface of Linphone.")
option(ENABLE_NLS "Enable internationalization of Linphone and Liblinphone." ON)
add_feature_info("NLS" ENABLE_NLS "Enable internationalization of Linphone and Liblinphone. (Only for the desktop target)")
option(ENABLE_VCARD "Enable vCard 4 support in Linphone and Liblinphone." ${DEFAULT_VALUE_ENABLE_VCARD})
add_feature_info("VCARD" ENABLE_VCARD "Enable vCard 4 support Linphone and Liblinphone.")
lcb_add_option("GTK UI" "Enable the GTK user interface of Linphone." "${DEFAULT_VALUE_ENABLE_GTK_UI}")
lcb_add_option("NLS" "Enable internationalization of Linphone and Liblinphone." ON)
lcb_add_option("VCARD" "Enable vCard 4 support in Linphone and Liblinphone." "${DEFAULT_VALUE_ENABLE_VCARD}")
if(UNIX AND NOT IOS)
option(ENABLE_RELATIVE_PREFIX "liblinphone and mediastreamer will look for their respective ressources relatively to their location." OFF)
add_feature_info("Relative prefix" ENABLE_RELATIVE_PREFIX "liblinphone and mediastreamer will look for their respective ressources relatively to their location.")
lcb_add_option("Relative prefix" "liblinphone and mediastreamer will look for their respective ressources relatively to their location." OFF)
endif()
......@@ -22,48 +22,45 @@
# Mediastreamer2 build options
linphone_builder_add_option("GPL third parties" "Usage of GPL third-party code (FFmpeg and x264)." "${DEFAULT_VALUE_ENABLE_GPL_THIRD_PARTIES}")
linphone_builder_add_option("Non free codecs" "Allow inclusion of non-free codecs in the build." OFF)
lcb_add_option("GPL third parties" "Usage of GPL third-party code (FFmpeg and x264)." "${DEFAULT_VALUE_ENABLE_GPL_THIRD_PARTIES}")
lcb_add_option("Non free codecs" "Allow inclusion of non-free codecs in the build." OFF)
#security options
linphone_builder_add_option("SRTP" "SRTP media encryption support." "${DEFAULT_VALUE_ENABLE_SRTP}")
linphone_builder_add_dependent_option("ZRTP" "ZRTP media encryption support." "${DEFAULT_VALUE_ENABLE_ZRTP}" "ENABLE_SRTP" OFF)
lcb_add_option("SRTP" "SRTP media encryption support." "${DEFAULT_VALUE_ENABLE_SRTP}")
lcb_add_dependent_option("ZRTP" "ZRTP media encryption support." "${DEFAULT_VALUE_ENABLE_ZRTP}" "ENABLE_SRTP" OFF)
#audio options and codecs
linphone_builder_add_option("WebRTC AEC" "WebRTC echo canceller support." "${DEFAULT_VALUE_ENABLE_WEBRTC_AEC}")
linphone_builder_add_dependent_option("WASAPI" "Windows Audio Session API (WASAPI) sound card support." "${DEFAULT_VALUE_ENABLE_WASAPI}" "MSVC" OFF)
linphone_builder_add_strict_dependent_option("AMRNB" "AMR narrow-band audio encoding/decoding support (require license)." OFF ON OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
linphone_builder_add_strict_dependent_option("AMRWB" "AMR wide-band audio encoding/decoding support (require license)." OFF ON OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
if(ENABLE_AMRNB OR ENABLE_AMRWB)
set(ENABLE_AMR ON CACHE BOOL "" FORCE)
endif()
linphone_builder_add_option("Codec2" "Codec2 audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_CODEC2}")
linphone_builder_add_strict_dependent_option("G729" "G.729 audio encoding/decoding support (require license)." OFF ON OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
linphone_builder_add_strict_dependent_option("G729B CNG" "G.729 annex B confort noise generation (require license)." OFF ON OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
linphone_builder_add_option("G726" "G.726 audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_G726}")
linphone_builder_add_option("GSM" "GSM audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_GSM}")
linphone_builder_add_option("iLBC" "iLBC audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_ILBC}")
linphone_builder_add_option("ISAC" "ISAC audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_ISAC}")
linphone_builder_add_option("OPUS" "OPUS audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_OPUS}")
linphone_builder_add_option("Silk" "Silk audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_SILK}")
linphone_builder_add_option("Speex" "Speex audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_SPEEX}")
linphone_builder_add_option("BV16" "BroadVoice 16 audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_BV16}")
lcb_add_option("WebRTC AEC" "WebRTC echo canceller support." "${DEFAULT_VALUE_ENABLE_WEBRTC_AEC}")
lcb_add_dependent_option("WASAPI" "Windows Audio Session API (WASAPI) sound card support." "${DEFAULT_VALUE_ENABLE_WASAPI}" "MSVC" OFF)
lcb_add_strict_dependent_option("AMRNB" "AMR narrow-band audio encoding/decoding support (require license)." OFF ON OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
lcb_add_strict_dependent_option("AMRWB" "AMR wide-band audio encoding/decoding support (require license)." OFF ON OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
lcb_add_option("Codec2" "Codec2 audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_CODEC2}")
lcb_add_strict_dependent_option("G729" "G.729 audio encoding/decoding support (require license)." OFF ON OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
lcb_add_strict_dependent_option("G729B CNG" "G.729 annex B confort noise generation (require license)." OFF ON OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
lcb_add_option("G726" "G.726 audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_G726}")
lcb_add_option("GSM" "GSM audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_GSM}")
lcb_add_option("iLBC" "iLBC audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_ILBC}")
lcb_add_option("ISAC" "ISAC audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_ISAC}")
lcb_add_option("OPUS" "OPUS audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_OPUS}")
lcb_add_option("Silk" "Silk audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_SILK}")
lcb_add_option("Speex" "Speex audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_SPEEX}")
lcb_add_option("BV16" "BroadVoice 16 audio encoding/decoding support." "${DEFAULT_VALUE_ENABLE_BV16}")
#video options and codecs
linphone_builder_add_option("Video" "Ability to capture and display video." "${DEFAULT_VALUE_ENABLE_VIDEO}")
lcb_add_option("Video" "Ability to capture and display video." "${DEFAULT_VALUE_ENABLE_VIDEO}")
# FFMpeg is LGPL which is an issue only for iOS applications; otherwise it can be used in proprietary software as well
if (IOS)
linphone_builder_add_strict_dependent_option("FFmpeg" "Some video processing features via FFmpeg: JPEG encoding/decoding, video scaling, H264 decoding..." "${DEFAULT_VALUE_ENABLE_FFMPEG}" "ENABLE_VIDEO" OFF "ENABLE_GPL_THIRD_PARTIES" "GPL third parties not enabled (ENABLE_GPL_THIRD_PARTIES).")
lcb_add_strict_dependent_option("FFmpeg" "Some video processing features via FFmpeg: JPEG encoding/decoding, video scaling, H264 decoding..." "${DEFAULT_VALUE_ENABLE_FFMPEG}" "ENABLE_VIDEO" OFF "ENABLE_GPL_THIRD_PARTIES" "GPL third parties not enabled (ENABLE_GPL_THIRD_PARTIES).")
else()
linphone_builder_add_dependent_option("FFmpeg" "Some video processing features via FFmpeg: JPEG encoding/decoding, video scaling, H264 decoding..." "${DEFAULT_VALUE_ENABLE_FFMPEG}" "ENABLE_VIDEO" OFF)
lcb_add_dependent_option("FFmpeg" "Some video processing features via FFmpeg: JPEG encoding/decoding, video scaling, H264 decoding..." "${DEFAULT_VALUE_ENABLE_FFMPEG}" "ENABLE_VIDEO" OFF)
endif()
linphone_builder_add_strict_dependent_option("H263" "H263 video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
linphone_builder_add_strict_dependent_option("H263p" "H263+ video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
linphone_builder_add_option("MKV" "MKV playing and recording support." "${DEFAULT_VALUE_ENABLE_MKV}")
linphone_builder_add_strict_dependent_option("MPEG4" "MPEG4 video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
linphone_builder_add_strict_dependent_option("OpenH264" "H.264 video encoding/decoding support with the openh264 library (require license)." OFF "ENABLE_VIDEO" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
linphone_builder_add_dependent_option("V4L" "V4L camera driver." ON "ENABLE_VIDEO;UNIX;NOT APPLE;NOT QNX;NOT ANDROID" OFF)
linphone_builder_add_dependent_option("VPX" "VPX (VP8) video encoding/decoding support." "${DEFAULT_VALUE_ENABLE_VPX}" "ENABLE_VIDEO" OFF)
linphone_builder_add_strict_dependent_option("X264" "H.264 video encoding support with the x264 library (require license)." OFF "ENABLE_VIDEO;ENABLE_GPL_THIRD_PARTIES" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
lcb_add_strict_dependent_option("H263" "H263 video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
lcb_add_strict_dependent_option("H263p" "H263+ video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
lcb_add_option("MKV" "MKV playing and recording support." "${DEFAULT_VALUE_ENABLE_MKV}")
lcb_add_strict_dependent_option("MPEG4" "MPEG4 video encoding/decoding support (require license)." OFF "ENABLE_FFMPEG" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
lcb_add_strict_dependent_option("OpenH264" "H.264 video encoding/decoding support with the openh264 library (require license)." OFF "ENABLE_VIDEO" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
lcb_add_dependent_option("V4L" "V4L camera driver." ON "ENABLE_VIDEO;UNIX;NOT APPLE;NOT QNX;NOT ANDROID" OFF)
lcb_add_dependent_option("VPX" "VPX (VP8) video encoding/decoding support." "${DEFAULT_VALUE_ENABLE_VPX}" "ENABLE_VIDEO" OFF)
lcb_add_strict_dependent_option("X264" "H.264 video encoding support with the x264 library (require license)." OFF "ENABLE_VIDEO;ENABLE_GPL_THIRD_PARTIES" OFF "ENABLE_NON_FREE_CODECS" "non free codecs option not enabled (ENABLE_NON_FREE_CODECS).")
# Other options
linphone_builder_add_option("PCAP" "PCAP support." "${DEFAULT_VALUE_ENABLE_PCAP}")
lcb_add_option("PCAP" "PCAP support." "${DEFAULT_VALUE_ENABLE_PCAP}")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment