Skip the cache size check on host

When running the update simulation, we choose to skip the cache size
check for now due to the lack of "/cache" on host. And in later cls we
can implement a cache size estimator to make the check more constrained.

Also build the host version of support libraries.

Test: unit test pass
Change-Id: I3ed93c857fd02f7b62f5baba9130f75c3236e717
diff --git a/applypatch/Android.bp b/applypatch/Android.bp
index b376140..d3efa15 100644
--- a/applypatch/Android.bp
+++ b/applypatch/Android.bp
@@ -30,6 +30,8 @@
 cc_library_static {
     name: "libapplypatch",
 
+    host_supported: true,
+
     defaults: [
         "applypatch_defaults",
     ],
diff --git a/applypatch/applypatch.cpp b/applypatch/applypatch.cpp
index 04b964b..73701ab 100644
--- a/applypatch/applypatch.cpp
+++ b/applypatch/applypatch.cpp
@@ -450,9 +450,8 @@
     if (MakeFreeSpaceOnCache(bytes) < 0) {
         printf("unable to make %zu bytes available on /cache\n", bytes);
         return 1;
-    } else {
-        return 0;
     }
+    return 0;
 }
 
 // This function applies binary patches to EMMC target files in a way that is safe (the original
@@ -477,7 +476,7 @@
 // become obsolete since we have dropped the support for patching non-EMMC targets (EMMC targets
 // have the size embedded in the filename).
 int applypatch(const char* source_filename, const char* target_filename,
-               const char* target_sha1_str, size_t target_size __unused,
+               const char* target_sha1_str, size_t /* target_size */,
                const std::vector<std::string>& patch_sha1_str,
                const std::vector<std::unique_ptr<Value>>& patch_data, const Value* bonus_data) {
   printf("patch %s: ", source_filename);
diff --git a/applypatch/freecache.cpp b/applypatch/freecache.cpp
index 0a40baa..ec1d20c 100644
--- a/applypatch/freecache.cpp
+++ b/applypatch/freecache.cpp
@@ -111,6 +111,12 @@
 }
 
 int MakeFreeSpaceOnCache(size_t bytes_needed) {
+#ifndef __ANDROID__
+  // TODO (xunchang) implement a heuristic cache size check during host simulation.
+  printf("Skip making (%zu) bytes free space on cache; program is running on host\n", bytes_needed);
+  return 0;
+#endif
+
   size_t free_now = FreeSpaceForFile("/cache");
   printf("%zu bytes free on /cache (%zu needed)\n", free_now, bytes_needed);
 
diff --git a/otafault/Android.bp b/otafault/Android.bp
index 91a5d9a..30d5610 100644
--- a/otafault/Android.bp
+++ b/otafault/Android.bp
@@ -15,6 +15,8 @@
 cc_library_static {
     name: "libotafault",
 
+    host_supported: true,
+
     srcs: [
         "config.cpp",
         "ota_io.cpp",