diff --git a/libcutils/Android.mk b/libcutils/Android.mk
index 52813851498d0819d7da3b7285f26b6fee699d90..0fd5a57e03a794690342904c1211f378c895fc68 100644
--- a/libcutils/Android.mk
+++ b/libcutils/Android.mk
@@ -65,6 +65,12 @@ ifneq ($(strip $(USE_MINGW)),)
     WINDOWS_HOST_ONLY := 1
 endif
 
+ifneq ($(WINDOWS_HOST_ONLY),1)
+    commonSources += \
+        fs.c \
+        multiuser.c
+endif
+
 
 # Static library for host
 # ========================================================
@@ -101,9 +107,7 @@ LOCAL_SRC_FILES := $(commonSources) \
         android_reboot.c \
         ashmem-dev.c \
         debugger.c \
-        fs.c \
         klog.c \
-        multiuser.c \
         partition_utils.c \
         properties.c \
         qtaguid.c \
diff --git a/libcutils/fs.c b/libcutils/fs.c
index 8d1da21c83f4455e249e7478fcd39d5f3ad87513..286a8eb090339a39c827fe495181b47af0d4a6e9 100644
--- a/libcutils/fs.c
+++ b/libcutils/fs.c
@@ -148,6 +148,8 @@ fail_closed:
     return -1;
 }
 
+#ifndef __APPLE__
+
 int fs_mkdirs(const char* path, mode_t mode) {
     int res = 0;
     int fd = 0;
@@ -231,3 +233,5 @@ done:
     free(buf);
     return res;
 }
+
+#endif