Merge libmounts into libotautil.

Export its header (mounts.h) from there, and drop the dot dot dependency
from libupdater / updater.

Test: mmma bootable/recovery
Test: recovery_component_test
Change-Id: Ic26a6b9b78a34dbe1f178b138f3abaafffbec44c
diff --git a/Android.bp b/Android.bp
index 6c04504..9ad961d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -61,22 +61,6 @@
 }
 
 cc_library_static {
-    name: "libmounts",
-
-    defaults: [
-        "recovery_defaults",
-    ],
-
-    srcs: [
-        "mounts.cpp",
-    ],
-
-    static_libs: [
-        "libbase",
-    ],
-}
-
-cc_library_static {
     name: "libverifier",
 
     defaults: [
diff --git a/Android.mk b/Android.mk
index eef4a02..f2fa6fb 100644
--- a/Android.mk
+++ b/Android.mk
@@ -162,7 +162,6 @@
     libsparse \
     libziparchive \
     libotautil \
-    libmounts \
     libminadbd \
     libasyncio \
     libfusesideload \
diff --git a/otautil/Android.bp b/otautil/Android.bp
index 958f98b..45d119c 100644
--- a/otautil/Android.bp
+++ b/otautil/Android.bp
@@ -21,6 +21,7 @@
         "SysUtil.cpp",
         "DirUtil.cpp",
         "ThermalUtil.cpp",
+        "mounts.cpp",
         "paths.cpp",
         "rangeset.cpp",
     ],
@@ -39,4 +40,12 @@
     export_include_dirs: [
         "include",
     ],
+
+    target: {
+        darwin: {
+            exclude_srcs: [
+                "mounts.cpp",
+            ],
+        },
+    },
 }
diff --git a/mounts.h b/otautil/include/otautil/mounts.h
similarity index 94%
rename from mounts.h
rename to otautil/include/otautil/mounts.h
index 0de1ebd..6786c8d 100644
--- a/mounts.h
+++ b/otautil/include/otautil/mounts.h
@@ -14,8 +14,7 @@
  * limitations under the License.
  */
 
-#ifndef MOUNTS_H_
-#define MOUNTS_H_
+#pragma once
 
 struct MountedVolume;
 
@@ -24,5 +23,3 @@
 MountedVolume* find_mounted_volume_by_mount_point(const char* mount_point);
 
 int unmount_mounted_volume(MountedVolume* volume);
-
-#endif
diff --git a/mounts.cpp b/otautil/mounts.cpp
similarity index 60%
rename from mounts.cpp
rename to otautil/mounts.cpp
index 76fa657..951311b 100644
--- a/mounts.cpp
+++ b/otautil/mounts.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include "mounts.h"
+#include "otautil/mounts.h"
 
 #include <errno.h>
 #include <fcntl.h>
@@ -30,43 +30,43 @@
 #include <android-base/logging.h>
 
 struct MountedVolume {
-    std::string device;
-    std::string mount_point;
-    std::string filesystem;
-    std::string flags;
+  std::string device;
+  std::string mount_point;
+  std::string filesystem;
+  std::string flags;
 };
 
-std::vector<MountedVolume*> g_mounts_state;
+static std::vector<MountedVolume*> g_mounts_state;
 
 bool scan_mounted_volumes() {
-    for (size_t i = 0; i < g_mounts_state.size(); ++i) {
-        delete g_mounts_state[i];
-    }
-    g_mounts_state.clear();
+  for (size_t i = 0; i < g_mounts_state.size(); ++i) {
+    delete g_mounts_state[i];
+  }
+  g_mounts_state.clear();
 
-    // Open and read mount table entries.
-    FILE* fp = setmntent("/proc/mounts", "re");
-    if (fp == NULL) {
-        return false;
-    }
-    mntent* e;
-    while ((e = getmntent(fp)) != NULL) {
-        MountedVolume* v = new MountedVolume;
-        v->device = e->mnt_fsname;
-        v->mount_point = e->mnt_dir;
-        v->filesystem = e->mnt_type;
-        v->flags = e->mnt_opts;
-        g_mounts_state.push_back(v);
-    }
-    endmntent(fp);
-    return true;
+  // Open and read mount table entries.
+  FILE* fp = setmntent("/proc/mounts", "re");
+  if (fp == NULL) {
+    return false;
+  }
+  mntent* e;
+  while ((e = getmntent(fp)) != NULL) {
+    MountedVolume* v = new MountedVolume;
+    v->device = e->mnt_fsname;
+    v->mount_point = e->mnt_dir;
+    v->filesystem = e->mnt_type;
+    v->flags = e->mnt_opts;
+    g_mounts_state.push_back(v);
+  }
+  endmntent(fp);
+  return true;
 }
 
 MountedVolume* find_mounted_volume_by_mount_point(const char* mount_point) {
-    for (size_t i = 0; i < g_mounts_state.size(); ++i) {
-        if (g_mounts_state[i]->mount_point == mount_point) return g_mounts_state[i];
-    }
-    return nullptr;
+  for (size_t i = 0; i < g_mounts_state.size(); ++i) {
+    if (g_mounts_state[i]->mount_point == mount_point) return g_mounts_state[i];
+  }
+  return nullptr;
 }
 
 int unmount_mounted_volume(MountedVolume* volume) {
diff --git a/roots.cpp b/roots.cpp
index 8907bbd..26ebf1f 100644
--- a/roots.cpp
+++ b/roots.cpp
@@ -39,7 +39,7 @@
 #include <ext4_utils/wipe.h>
 #include <fs_mgr.h>
 
-#include "mounts.h"
+#include "otautil/mounts.h"
 
 static struct fstab* fstab = nullptr;
 
diff --git a/tests/Android.mk b/tests/Android.mk
index fd44978..538ae63 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -117,7 +117,6 @@
     libbootloader_message \
     libverifier \
     libotautil \
-    libmounts \
     libupdate_verifier \
     libdivsufsort \
     libdivsufsort64 \
diff --git a/updater/Android.mk b/updater/Android.mk
index 6f334ee..4762664 100644
--- a/updater/Android.mk
+++ b/updater/Android.mk
@@ -24,14 +24,13 @@
 
 updater_common_static_libraries := \
     libapplypatch \
-    libbspatch \
-    libedify \
-    libziparchive \
-    libotautil \
     libbootloader_message \
-    libutils \
-    libmounts \
+    libedify \
     libotafault \
+    libotautil \
+    libbspatch \
+    libziparchive \
+    libutils \
     libext4_utils \
     libfec \
     libfec_rs \
@@ -61,7 +60,6 @@
     blockimg.cpp
 
 LOCAL_C_INCLUDES := \
-    $(LOCAL_PATH)/.. \
     $(LOCAL_PATH)/include \
     external/e2fsprogs/misc
 
@@ -87,7 +85,6 @@
     updater.cpp
 
 LOCAL_C_INCLUDES := \
-    $(LOCAL_PATH)/.. \
     $(LOCAL_PATH)/include
 
 LOCAL_CFLAGS := \
diff --git a/updater/install.cpp b/updater/install.cpp
index 6732ab8..5623c33 100644
--- a/updater/install.cpp
+++ b/updater/install.cpp
@@ -57,10 +57,10 @@
 #include <ziparchive/zip_archive.h>
 
 #include "edify/expr.h"
-#include "mounts.h"
 #include "otafault/ota_io.h"
 #include "otautil/DirUtil.h"
 #include "otautil/error_code.h"
+#include "otautil/mounts.h"
 #include "otautil/print_sha1.h"
 #include "updater/updater.h"