Port server core to Android

 * Android libutils locks and threads
 * Add Android.mk for building with AOSP
 * Add logger sink for Android
 * Regenerate Android.mk when CMake is run
diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt
index e4489f6..ebe551a 100644
--- a/common/CMakeLists.txt
+++ b/common/CMakeLists.txt
@@ -13,3 +13,17 @@
   set_target_properties(os rdr network Xregion rfb
     PROPERTIES COMPILE_FLAGS -fPIC)
 endif()
+
+# Generate Android.mk
+foreach(ANDROID_SRC_PATH "os/*.cxx" "rdr/*.cxx" "network/*.cxx" "Xregion/*.c")
+  file(GLOB ANDROID_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${ANDROID_SRC_PATH})
+  foreach(SRC ${ANDROID_SOURCES})
+    set(ANDROID_SRC_FILES "${ANDROID_SRC_FILES} \\\n    ${SRC}")
+  endforeach()
+endforeach()
+
+foreach(SRC ${RFB_SOURCES} Logger_android.cxx)
+  set(ANDROID_RFB_SRC_FILES "${ANDROID_RFB_SRC_FILES} \\\n    rfb/${SRC}")
+endforeach()
+
+configure_file(Android.mk.in Android.mk @ONLY)