Move selinux dependencies out of header files.

Bug: http://b/27764900
Change-Id: Ib62a59edcb13054f40f514c404d32b87b14ed5f1
diff --git a/minzip/DirUtil.cpp b/minzip/DirUtil.cpp
index 823b6ed..e08e360 100644
--- a/minzip/DirUtil.cpp
+++ b/minzip/DirUtil.cpp
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+#include "DirUtil.h"
+
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
@@ -26,7 +28,8 @@
 
 #include <string>
 
-#include "DirUtil.h"
+#include <selinux/label.h>
+#include <selinux/selinux.h>
 
 typedef enum { DMISSING, DDIR, DILLEGAL } DirStatus;
 
diff --git a/minzip/DirUtil.h b/minzip/DirUtil.h
index 85a0012..85b83c3 100644
--- a/minzip/DirUtil.h
+++ b/minzip/DirUtil.h
@@ -24,8 +24,7 @@
 extern "C" {
 #endif
 
-#include <selinux/selinux.h>
-#include <selinux/label.h>
+struct selabel_handle;
 
 /* Like "mkdir -p", try to guarantee that all directories
  * specified in path are present, creating as many directories
diff --git a/minzip/Zip.c b/minzip/Zip.c
index 0f89835..9f550f8 100644
--- a/minzip/Zip.c
+++ b/minzip/Zip.c
@@ -23,6 +23,9 @@
 #undef NDEBUG   // do this after including Log.h
 #include <assert.h>
 
+#include <selinux/label.h>
+#include <selinux/selinux.h>
+
 #define SORT_ENTRIES 1
 
 /*
diff --git a/minzip/Zip.h b/minzip/Zip.h
index e6b19e1..c932c11 100644
--- a/minzip/Zip.h
+++ b/minzip/Zip.h
@@ -18,8 +18,7 @@
 extern "C" {
 #endif
 
-#include <selinux/selinux.h>
-#include <selinux/label.h>
+struct selabel_handle;
 
 /*
  * One entry in the Zip archive.  Treat this as opaque -- use accessors below.
diff --git a/recovery.cpp b/recovery.cpp
index b5514a1..169413a 100644
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -41,10 +41,11 @@
 #include <android-base/stringprintf.h>
 #include <cutils/android_reboot.h>
 #include <cutils/properties.h>
+#include <healthd/BatteryMonitor.h>
 #include <log/logger.h> /* Android Log packet format */
 #include <private/android_logger.h> /* private pmsg functions */
-
-#include <healthd/BatteryMonitor.h>
+#include <selinux/label.h>
+#include <selinux/selinux.h>
 
 #include "adb_install.h"
 #include "bootloader.h"
diff --git a/updater/install.cpp b/updater/install.cpp
index bc4cca9..925604f 100644
--- a/updater/install.cpp
+++ b/updater/install.cpp
@@ -27,7 +27,6 @@
 #include <unistd.h>
 #include <fcntl.h>
 #include <time.h>
-#include <selinux/selinux.h>
 #include <ftw.h>
 #include <sys/capability.h>
 #include <sys/xattr.h>
@@ -40,6 +39,8 @@
 #include <android-base/parseint.h>
 #include <android-base/strings.h>
 #include <android-base/stringprintf.h>
+#include <selinux/label.h>
+#include <selinux/selinux.h>
 
 #include "bootloader.h"
 #include "applypatch/applypatch.h"
diff --git a/updater/updater.cpp b/updater/updater.cpp
index 1693fa1..0497d6a 100644
--- a/updater/updater.cpp
+++ b/updater/updater.cpp
@@ -27,6 +27,9 @@
 #include "minzip/SysUtil.h"
 #include "config.h"
 
+#include <selinux/label.h>
+#include <selinux/selinux.h>
+
 // Generated by the makefile, this function defines the
 // RegisterDeviceExtensions() function, which calls all the
 // registration functions for device-specific extensions.
diff --git a/updater/updater.h b/updater/updater.h
index d1dfdd0..d3a09b9 100644
--- a/updater/updater.h
+++ b/updater/updater.h
@@ -20,9 +20,6 @@
 #include <stdio.h>
 #include "minzip/Zip.h"
 
-#include <selinux/selinux.h>
-#include <selinux/label.h>
-
 typedef struct {
     FILE* cmd_pipe;
     ZipArchive* package_zip;
@@ -32,6 +29,7 @@
     size_t package_zip_len;
 } UpdaterInfo;
 
+struct selabel_handle;
 extern struct selabel_handle *sehandle;
 
 #endif