diff --git a/include/chipmunk/chipmunk_types.h b/include/chipmunk/chipmunk_types.h
index 9544da8..82d027e 100644
--- a/include/chipmunk/chipmunk_types.h
+++ b/include/chipmunk/chipmunk_types.h
@@ -54,7 +54,11 @@
 
 #ifndef CP_USE_DOUBLES
 	// Use doubles by default for higher precision.
-	#define CP_USE_DOUBLES 1
+	#if (!defined(__ARM_NEON__) || !__ARM_NEON__ || __arm64)
+		#define CP_USE_DOUBLES 1
+	#else
+		#define CP_USE_DOUBLES 0
+	#endif
 #endif
 
 /// @defgroup basicTypes Basic Types
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 34882d1..56589fb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -31,6 +31,9 @@ if(BUILD_SHARED)
 	  # need to explicitly link to the math library because the CMake/Android toolchains may not do it automatically
 	  target_link_libraries(chipmunk m)
   endif(ANDROID OR UNIX)
+  if(ANDROID)
+	  target_link_libraries(chipmunk log)
+  endif(ANDROID)
   install(TARGETS chipmunk RUNTIME DESTINATION ${BIN_INSTALL_DIR}
                            LIBRARY DESTINATION ${LIB_INSTALL_DIR}
                            ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
diff --git a/src/cpHastySpace.c b/src/cpHastySpace.c
index 8dca425..fa3074d 100644
--- a/src/cpHastySpace.c
+++ b/src/cpHastySpace.c
@@ -7,8 +7,16 @@
 //TODO: Move all the thread stuff to another file
 
 //#include <sys/param.h >
-#ifndef _WIN32
+
+#ifdef __APPLE__
 #include <sys/sysctl.h>
+#elif defined(ANDROID)
+#include <linux/sysctl.h>
+#endif
+
+#ifndef _WIN32
+#include <pthread.h>
+#elif defined(__MINGW32__)
 #include <pthread.h>
 #else
 #ifndef WIN32_LEAN_AND_MEAN
