#13795: Initial commit for sflphone-android

includes: libexpat libyaml libdbus-c++ commoncpp ccrtp
          libdbus (from android-4.0.4 sources)

TODO:
- git ignores "/jni/sflphone", sflphone repo should be cloned.
- sflphone-android only needs daemon directory. Ideally it should be possible
to clone it without cloning the whole sflphone project.
into sfl-android (commit 6a0fa7a "#13961: Fix cipher handling" has been used here)
- add pjsip-android project as a git submodule
- sflphone-android needs pjsip android project. Ideally daemon git repository
should not embed pjsip. Instead pjsip should be clone from official repositories.

Considering this, structure should have three distincts git repos:

sflphone-android/.git
sflphone-android/jni/ccrtp-1.8.0-android
sflphone-android/jni/commoncpp2-1.8.1-android
sflphone-android/jni/dbus
sflphone-android/jni/libdbus-c++-0.9.0-android
sflphone-android/jni/libexpat
sflphone-android/jni/libyaml

sflphone-android/jni/sflphone-daemon/.git
sflphone-android/jni/sflphone-daemon/src/audio
sflphone-android/jni/sflphone-daemon/src/config
sflphone-android/jni/sflphone-daemon/src/dbus
sflphone-android/jni/sflphone-daemon/src/history
sflphone-android/jni/sflphone-daemon/src/hooks
sflphone-android/jni/sflphone-daemon/src/iax
sflphone-android/jni/sflphone-daemon/src/sip
sflphone-android/jni/sflphone-daemon/src/video

sflphone-android/jni/pjsip-android/.git

Signed-off-by: Emeric Vigier <emeric.vigier@savoirfairelinux.com>
diff --git a/jni/dbus/cmake/bus/CMakeLists.txt b/jni/dbus/cmake/bus/CMakeLists.txt
new file mode 100644
index 0000000..876be81
--- /dev/null
+++ b/jni/dbus/cmake/bus/CMakeLists.txt
@@ -0,0 +1,181 @@
+project(bus)
+
+add_definitions(-DDBUS_COMPILATION)
+
+SET(EFENCE "")
+SET(BUS_DIR ${CMAKE_SOURCE_DIR}/../bus)
+
+set (config_DATA
+	session.conf				
+	system.conf
+)
+
+# config files for installation 
+FOREACH(file ${config_DATA})
+	CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/${file}.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${file}" IMMEDIATE @ONLY)
+ENDFOREACH(file)
+
+# copy services for local daemon start to local service dir data/dbus-1/services
+SET (SERVICE_FILES test/data/valid-service-files)
+FILE(GLOB FILES "${CMAKE_SOURCE_DIR}/../${SERVICE_FILES}/*.service.in" )
+FOREACH(FILE ${FILES})	
+	GET_FILENAME_COMPONENT(FILENAME ${FILE} NAME_WE)
+	SET (TARGET ${CMAKE_BINARY_DIR}/data/dbus-1/services/${FILENAME}.service)
+	IF (CONFIG_VERBOSE)
+		MESSAGE("FROM: ${FILE}\nTO: ${TARGET}\n")
+	ENDIF (CONFIG_VERBOSE)
+	configure_file(${FILE} ${TARGET} )
+ENDFOREACH(FILE)
+
+if(DBUS_USE_EXPAT)
+    SET (XML_SOURCES ${BUS_DIR}/config-loader-expat.c)
+else(DBUS_USE_EXPAT)
+    SET (XML_SOURCES ${BUS_DIR}/config-loader-libxml.c)
+endif (DBUS_USE_EXPAT)
+
+# after next cvs update
+#set (DIR_WATCH_SOURCE ${BUS_DIR}/dir-watch-default.c)
+set (DIR_WATCH_SOURCE )
+
+set (BUS_SOURCES 
+	${BUS_DIR}/activation.c				
+	${BUS_DIR}/activation.h				
+	${BUS_DIR}/bus.c					
+	${BUS_DIR}/bus.h					
+	${BUS_DIR}/config-parser.c				
+	${BUS_DIR}/config-parser.h
+    ${BUS_DIR}/config-parser-common.c
+    ${BUS_DIR}/config-parser-common.h
+#    ${BUS_DIR}/config-parser-trivial.c
+	${BUS_DIR}/connection.c
+	${BUS_DIR}/connection.h				
+	${BUS_DIR}/desktop-file.c				
+	${BUS_DIR}/desktop-file.h				
+	${BUS_DIR}/dir-watch-default.c				
+	${BUS_DIR}/dir-watch.h				
+	${BUS_DIR}/dispatch.c				
+	${BUS_DIR}/dispatch.h				
+	${BUS_DIR}/driver.c				
+	${BUS_DIR}/driver.h				
+	${BUS_DIR}/expirelist.c				
+	${BUS_DIR}/expirelist.h				
+	${BUS_DIR}/policy.c				
+	${BUS_DIR}/policy.h				
+	${BUS_DIR}/selinux.h				
+	${BUS_DIR}/selinux.c				
+	${BUS_DIR}/services.c				
+	${BUS_DIR}/services.h				
+	${BUS_DIR}/signals.c				
+	${BUS_DIR}/signals.h				
+	${BUS_DIR}/test.c					
+	${BUS_DIR}/test.h					
+	${BUS_DIR}/utils.c					
+	${BUS_DIR}/utils.h					
+	${XML_SOURCES}
+	${DIR_WATCH_SOURCE}
+)
+
+include_directories(${XML_INCLUDE_DIR})
+
+add_executable(dbus-daemon ${BUS_SOURCES} ${BUS_DIR}/main.c)
+target_link_libraries(dbus-daemon ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY})
+set_target_properties(dbus-daemon PROPERTIES OUTPUT_NAME ${DBUS_DAEMON_NAME})
+set_target_properties(dbus-daemon PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS})
+
+install_targets(/bin dbus-daemon)
+install_files(/etc/dbus-1 FILES ${config_DATA})
+
+if (DBUS_SERVICE)
+	set (dbus_service_SOURCES 
+		${BUS_DIR}/bus-service-win.c
+	# TODO: add additional files
+	#	${BUS_DIR}/service-main.c
+	#	${BUS_SOURCES} 
+	)
+
+	add_executable(dbus-service ${dbus_service_SOURCES} )
+	target_link_libraries(dbus-service ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY})
+	set_target_properties(dbus-service PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS})
+	install_targets(/bin dbus-service )
+endif (DBUS_SERVICE)
+
+if (DBUS_BUILD_TESTS)	
+	add_executable(bus-test ${BUS_SOURCES} ${BUS_DIR}/test-main.c)
+	target_link_libraries(bus-test ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY})
+	set_target_properties(bus-test PROPERTIES COMPILE_FLAGS ${DBUS_INTERNAL_CLIENT_DEFINITIONS})
+	add_test(bus-test ${EXECUTABLE_OUTPUT_PATH}/bus-test ${CMAKE_BINARY_DIR}/test/data)
+endif (DBUS_BUILD_TESTS)
+
+if(MSVC)
+	project_source_group(${GROUP_CODE} bus_test_SOURCES dummy)
+endif(MSVC)
+
+## mop up the gcov files
+#clean-local:
+#	/bin/rm *.bb *.bbg *.da *.gcov || true
+
+#install-data-hook:
+#	$(mkinstalldirs) $(DESTDIR)/$(localstatedir)/run/dbus
+#	$(mkinstalldirs) $(DESTDIR)/$(configdir)/system.d
+#	$(mkinstalldirs) $(DESTDIR)/$(datadir)/dbus-1/services
+
+##install_file(${configdir}/system.d FILE
+
+
+set(LAUNCH_HELPER_SOURCES ${XML_SOURCES}
+    ${BUS_DIR}/config-parser-common.c
+    ${BUS_DIR}/config-parser-trivial.c
+    ${BUS_DIR}/desktop-file.c
+    ${BUS_DIR}/utils.c
+    ${BUS_DIR}/activation-helper.c
+
+)
+
+if(NOT WIN32)
+# TODO PENDING(kdab) fix build on windows (activation-helper.c)
+   add_executable(dbus-daemon-launch-helper ${LAUNCH_HELPER_SOURCES} ${BUS_DIR}/activation-helper-bin.c )
+   target_link_libraries(dbus-daemon-launch-helper ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY} )
+   
+   add_executable(dbus-daemon-launch-helper-test ${LAUNCH_HELPER_SOURCES}     ${BUS_DIR}/activation-helper-bin.c)
+   set_target_properties(dbus-daemon-launch-helper-test PROPERTIES COMPILE_FLAGS "-DACTIVATION_LAUNCHER_TEST")
+   target_link_libraries(dbus-daemon-launch-helper-test ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY} )
+   
+   add_executable(bus-test-launch-helper ${LAUNCH_HELPER_SOURCES}  ${BUS_DIR}/test-launch-helper.c)
+   set_target_properties(bus-test-launch-helper PROPERTIES COMPILE_FLAGS "-DACTIVATION_LAUNCHER_TEST -DACTIVATION_LAUNCHER_DO_OOM")
+   target_link_libraries(bus-test-launch-helper ${DBUS_INTERNAL_LIBRARIES} ${XML_LIBRARY} )
+   add_test(bus-test-launch-helper ${EXECUTABLE_OUTPUT_PATH}/bus-test-launch-helper )
+
+endif(NOT WIN32)
+
+#### Init scripts fun
+#SCRIPT_IN_FILES=messagebus.in
+#		rc.messagebus.in
+
+## Red Hat start
+#if DBUS_INIT_SCRIPTS_RED_HAT
+
+#initddir=$(sysconfdir)/rc.d/init.d
+
+#initd_SCRIPTS= 	
+#	messagebus
+
+#endif
+# ## Red Hat end
+
+## Slackware start
+#if DBUS_INIT_SCRIPTS_SLACKWARE
+
+#initddir=$(sysconfdir)/rc.d/
+
+#initd_SCRIPTS= 	
+#	rc.messagebus
+
+#endif
+## Slackware end
+
+#MAN_IN_FILES=dbus-daemon.1.in
+#man_MANS = dbus-daemon.1
+
+#### Extra dist 
+
+#EXTRA_DIST=$(CONFIG_IN_FILES) $(SCRIPT_IN_FILES) $(man_MANS) $(MAN_IN_FILES)