* #35924: added zrtp module build instructions
diff --git a/jni/libzrtp/cmake/Modules/SourceDistribution.cmake b/jni/libzrtp/cmake/Modules/SourceDistribution.cmake
new file mode 100755
index 0000000..c4dae25
--- /dev/null
+++ b/jni/libzrtp/cmake/Modules/SourceDistribution.cmake
@@ -0,0 +1,218 @@
+# - a CMake module that helps to create a source distribution
+#
+# This module provide some macros that setup a source distribution.
+# In contrast to standard CPack processing this is a very lightweight
+# module that works very fast. The source distribution module enables
+# the Cmake user to add indivdiual files and directories and thus
+# provides a more fine grained control than CPack.
+#
+# The module works similar to the standard CMake INSTALL command: the
+# macros of this module prepare CMake files (cmake_src_dist.cmake) that
+# contain all necessary commands to create the distribution directoy.
+# The make target 'src_dist' executes the commands and builds the
+# compressed tar file of the source distribution.
+#
+# Usage:
+# src_distribution_init([NOT_INCLUDE_DEFAULT] [<distribtuion name>])
+# Initializes the source distribution functions. Each CMakeList.txt
+# that distributes sources must call this macro before it can use
+# other source distrbution macros.
+# Only the first call from the top level CMakeLists.txt uses the
+# distribution name argument. All subsequent call silently ignore it.
+# The macro sets the distribution name to ${PROJECT_NAME}-{VERSION}
+# if no distribution name is provided.
+# The macro automatically includes some default files and directories
+# into the distribution: CMakeLists.txt and the cmake directory.
+# Set NOT_INCLUDE_DEFAULT to disable this function.
+# The macro creates a make target 'src_dist'. This target executes
+# all operations to create the distribution directory structure and
+# to create the compressed tar file <distrbution name>.tar.gz. The
+# source distribution directory can be deleted afterwards.
+#
+# add_src_dist_dirs(<DIRECTORY> [<DIRECTORY>]*)
+# Works imilar to the normal add_subdirectory command of CMake.
+# This call adds a subdirectory that contains sources or other
+# files that go into a source distribution. The subdirecty must
+# contain a CMakeLists.txt file that also uses the source distrbution
+# macros.
+#
+# add_src_dist_files(<FILENAME> [<FILENAME>]*)
+# Adds one or more files to the source distrbution.
+#
+# Eaxample:
+#
+# include(SourceDistrbution)
+#
+# The following call initializes the module and sets the distrbution's
+# name to 'mySourceDist'. The macro creates a directory with this name
+# in the current build directory and include the standard CMakeLists.txt
+# file and the 'cmake' directory (it it exists) into the distribution.
+#
+# src_distribution_init(mySourceDist)
+#
+# Now add some files (assumes ${src_files} was set previously):
+# add_src_dist_files(README LICENSE ${src_files})
+#
+# Now add a subdirectoy, in this case an include directory:
+# add_src_dist_dirs(include)
+#
+#
+# ---- internal macros ----
+#
+# This macro gets the current directory relative to CMAKE_SOURCE_DIR
+# and sets an internal variable to the current distribution directory.
+# Another variable holds the current path to the CMake command file.
+# Other macros use these variable to construct commands
+# to build the distribution structure.
+#
+MACRO (_set_src_dist_scope_vars)
+STRING(REPLACE "${CMAKE_SOURCE_DIR}" "" _src_dist_subdir "${CMAKE_CURRENT_SOURCE_DIR}")
+if (NOT _src_dist_subdir)
+ set(_src_dist_fulldir ${SRC_DIST_DIR})
+else()
+ set(_src_dist_fulldir ${SRC_DIST_DIR}${_src_dist_subdir})
+endif()
+set(_src_dist_cmd_file_path ${CMAKE_CURRENT_BINARY_DIR}/${_SRC_DIST_CMD_FILE_NAME})
+ENDMACRO()
+
+#
+# Check for the NOT_INCLUDE_DEFAULT option.
+#
+MACRO(_src_dist_parse_options _result _default _length)
+ set(${_default} TRUE)
+
+ foreach(_arg ${ARGN})
+ if (_arg STREQUAL "NOT_INCLUDE_DEFAULT")
+ set(${_default} FALSE)
+ endif()
+ endforeach()
+
+ set(${_result} ${ARGN})
+ list(LENGTH ${_result} ${_length})
+ if (${_length} GREATER 0)
+ list(REMOVE_ITEM ${_result} "NOT_INCLUDE_DEFAULT")
+ endif()
+ # recompute length of list
+ list(LENGTH ${_result} ${_length})
+
+ENDMACRO()
+
+
+#
+# This macro initializes the source distribution package.
+# Only the top-level initialization macro init_src_distribution()
+# calls this internal macro.
+#
+MACRO (_src_dist_internal_init)
+# internal variable for distribution cmake file
+set(_SRC_DIST_CMD_FILE_NAME "cmake_src_dist.cmake")
+
+if (${_src_dist_dirlist_length} EQUAL 0)
+ set(_src_dist_tardir ${PROJECT_NAME}-${VERSION})
+else()
+ list(GET _src_dist_dirlist 0 _src_dist_tardir)
+endif()
+set(SRC_DIST_DIR ${CMAKE_BINARY_DIR}/${_src_dist_tardir})
+
+message(STATUS "Source distribution direcrory set to: ${SRC_DIST_DIR}")
+
+_set_src_dist_scope_vars()
+file(REMOVE ${_src_dist_cmd_file_path})
+
+# fill in first commands into the distribution cmake file. Calling
+# 'make src_dist' executes the stored commands and prepares the source
+# distrubtion.
+#
+file(APPEND ${_src_dist_cmd_file_path} "
+# clear contents of an existing distribution directory
+file(REMOVE_RECURSE ${SRC_DIST_DIR})
+")
+
+add_custom_target(src_dist
+ COMMAND ${CMAKE_COMMAND} -P ${_src_dist_cmd_file_path}
+ COMMAND ${CMAKE_COMMAND} -E tar cfj ${SRC_DIST_DIR}.tar.bz2 ${_src_dist_tardir}
+ COMMAND ${CMAKE_COMMAND} -E remove_directory ${SRC_DIST_DIR}
+ )
+
+ENDMACRO()
+
+################# User visible macros ###################
+#
+MACRO(src_distribution_init)
+
+# clear old src distribution cmake command file
+_src_dist_parse_options(_src_dist_dirlist _src_dist_default _src_dist_dirlist_length ${ARGN})
+
+if (NOT DEFINED _SRC_DIST_INIT)
+ _src_dist_internal_init()
+ set(_SRC_DIST_INIT TRUE)
+else()
+ _set_src_dist_scope_vars()
+ file(REMOVE ${_src_dist_cmd_file_path})
+endif()
+
+if(_src_dist_default)
+ if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+ set(_src_dist_list_tmp)
+ # Get all files names in cmake subdir
+ # Unfortunately CMake also globs all directories and files that start
+ # with . - that is not the same as shell behaviour
+ file(GLOB_RECURSE _src_dist_names_tmp RELATIVE
+ ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/*)
+ #
+ # Remove all file names that contain a name that start with .
+ foreach(_nm ${_src_dist_names_tmp})
+ string(REGEX REPLACE .*/\\..* "" _nm ${_nm})
+ set(_src_dist_list_tmp ${_src_dist_list_tmp} ${_nm})
+ endforeach()
+ add_src_dist_files(${_src_dist_list_tmp})
+ endif()
+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt")
+ file(APPEND ${_src_dist_cmd_file_path} "
+FILE(INSTALL DESTINATION \"${_src_dist_fulldir}\" TYPE FILE FILES
+\"${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt\")
+")
+ endif()
+endif()
+
+ENDMACRO()
+
+# Add a subdirectory to the src distribution
+#
+MACRO(add_src_dist_dirs)
+
+foreach(_dir ${ARGN})
+ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_dir}/CMakeLists.txt)
+ message(FATAL_ERROR
+ "Soure distribution subdirectory \"${CMAKE_CURRENT_SOURCE_DIR}/${_dir}\" does not contain a CMakeLists.txt")
+ endif()
+
+ # include subdirectory's distribution cmake command file
+ file(APPEND ${_src_dist_cmd_file_path} "
+include(\"${CMAKE_CURRENT_BINARY_DIR}/${_dir}/${_SRC_DIST_CMD_FILE_NAME}\")
+")
+endforeach()
+ENDMACRO()
+
+#
+# Add files to the src distribution. The handles and install files
+# that are in the same directory as the current source as well as files
+# in sub directories of the current source (with relative path).
+#
+MACRO(add_src_dist_files)
+
+foreach(_file ${ARGN})
+ get_filename_component(_src_dist_tmp_path ${_file} PATH)
+# string(REPLACE "${CMAKE_SOURCE_DIR}" "" _src_dist_tmp_path "${_src_dist_tmp_path}")
+ if(_src_dist_tmp_path)
+ set(_src_dist_tmp_path ${_src_dist_fulldir}/${_src_dist_tmp_path})
+ else ()
+ set(_src_dist_tmp_path ${_src_dist_fulldir})
+ endif()
+ file(APPEND ${_src_dist_cmd_file_path} "
+FILE(INSTALL DESTINATION \"${_src_dist_tmp_path}\" TYPE FILE FILES
+ \"${CMAKE_CURRENT_SOURCE_DIR}/${_file}\") ")
+
+endforeach()
+
+ENDMACRO()