Add support for building libusb.

Bug: http://b/31321337
Change-Id: Ic7747ac9726166a538ecd444f49c8c8dd2336e85
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..266b50d
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,85 @@
+cc_library {
+    name: "libusb",
+    host_supported: true,
+
+    srcs: [
+        "libusb/core.c",
+        "libusb/descriptor.c",
+        "libusb/hotplug.c",
+        "libusb/io.c",
+        "libusb/sync.c",
+        "libusb/strerror.c",
+    ],
+
+    local_include_dirs: [
+        "libusb",
+        "libusb/os",
+    ],
+
+    target: {
+        android: {
+            srcs: [
+                "libusb/os/linux_usbfs.c",
+                "libusb/os/poll_posix.c",
+                "libusb/os/threads_posix.c",
+                "libusb/os/linux_netlink.c",
+            ],
+
+            local_include_dirs: [
+                "android",
+            ],
+        },
+
+        darwin: {
+            srcs: [
+                "libusb/os/darwin_usb.c",
+                "libusb/os/poll_posix.c",
+                "libusb/os/threads_posix.c",
+            ],
+
+            local_include_dirs: [
+                "darwin",
+            ],
+
+            host_ldlibs: [
+                "-framework CoreFoundation",
+                "-framework IOKit",
+                "-lobjc"
+            ],
+        },
+
+        linux: {
+            srcs: [
+                "libusb/os/linux_usbfs.c",
+                "libusb/os/poll_posix.c",
+                "libusb/os/threads_posix.c",
+                "libusb/os/linux_netlink.c",
+            ],
+
+            local_include_dirs: [
+                "linux",
+            ],
+        },
+
+        windows: {
+            srcs: [
+                "libusb/os/poll_windows.c",
+                "libusb/os/threads_windows.c",
+                "libusb/os/windows_nt_common.c",
+                "libusb/os/windows_usbdk.c",
+                "libusb/os/windows_winusb.c",
+            ],
+
+            local_include_dirs: [
+                "windows",
+            ],
+
+            // Not working yet.
+            enabled: false,
+        },
+    },
+
+    shared_libs: ["liblog"],
+    export_include_dirs: ["include"],
+}
+