Convert libz to Soong

Change-Id: I04a358cf41f86ee6d090f9f7c90870f5cc44483a
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..36d67d8
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,81 @@
+cc_defaults {
+    name: "zlib_defaults",
+
+    cflags: [
+        "-O3",
+        "-DUSE_MMAP",
+    ],
+    stl: "none",
+    export_include_dirs: ["."],
+    srcs: [
+        "src/adler32.c",
+        "src/compress.c",
+        "src/crc32.c",
+        "src/deflate.c",
+        "src/gzclose.c",
+        "src/gzlib.c",
+        "src/gzread.c",
+        "src/gzwrite.c",
+        "src/infback.c",
+        "src/inflate.c",
+        "src/inftrees.c",
+        "src/inffast.c",
+        "src/trees.c",
+        "src/uncompr.c",
+        "src/zutil.c",
+    ],
+
+    arch: {
+        arm: {
+            // measurements show that the ARM version of ZLib is about x1.17 faster
+            // than the thumb one...
+            instruction_set: "arm",
+
+            // TODO: This is to work around b/24465209. Remove after root cause is fixed
+            ldflags: ["-Wl,--hash-style=both"],
+        },
+    },
+
+    target: {
+        windows: {
+            enabled: true,
+        },
+    },
+}
+
+cc_library {
+    name: "libz",
+    defaults: ["zlib_defaults"],
+
+    host_supported: true,
+
+    target: {
+        host: {
+            shared: {
+                // The host shared library is built as libz-host
+                enabled: false,
+            },
+        },
+    },
+}
+
+// Separate host shared library definition, since we don't want to conflict
+// with the host-supplied libz
+cc_library_host_shared {
+    name: "libz-host",
+    defaults: ["zlib_defaults"],
+}
+
+cc_binary {
+    name: "gzip",
+    srcs: ["src/test/minigzip.c"],
+    shared_libs: ["libz"],
+    stl: "none",
+}
+
+cc_binary_host {
+    name: "minigzip",
+    srcs: ["src/test/minigzip.c"],
+    static_libs: ["libz"],
+    stl: "none",
+}
diff --git a/Android.mk b/Android.mk
index 2aa9d28..c9c685c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,98 +1,4 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# measurements show that the ARM version of ZLib is about x1.17 faster
-# than the thumb one...
-LOCAL_ARM_MODE := arm
-
-zlib_files := \
-	src/adler32.c \
-	src/compress.c \
-	src/crc32.c \
-	src/deflate.c \
-	src/gzclose.c \
-	src/gzlib.c \
-	src/gzread.c \
-	src/gzwrite.c \
-	src/infback.c \
-	src/inflate.c \
-	src/inftrees.c \
-	src/inffast.c \
-	src/trees.c \
-	src/uncompr.c \
-	src/zutil.c
-
-LOCAL_MODULE := libz
-LOCAL_MODULE_TAGS := optional
-LOCAL_CFLAGS += -O3 -DUSE_MMAP
-
-# TODO: This is to work around b/24465209. Remove after root cause is fixed
-LOCAL_LDFLAGS_arm := -Wl,--hash-style=both
-
-LOCAL_SRC_FILES := $(zlib_files)
-LOCAL_CXX_STL := none
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
-include $(BUILD_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-
-LOCAL_ARM_MODE := arm
-LOCAL_MODULE := libz
-LOCAL_MODULE_TAGS := optional
-LOCAL_CFLAGS += -O3 -DUSE_MMAP
-LOCAL_SRC_FILES := $(zlib_files)
-LOCAL_CXX_STL := none
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
-include $(BUILD_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libz
-LOCAL_MODULE_TAGS := optional
-LOCAL_CFLAGS += -O3 -DUSE_MMAP
-LOCAL_SRC_FILES := $(zlib_files)
-LOCAL_MULTILIB := both
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
-LOCAL_MODULE_HOST_OS := darwin linux windows
-LOCAL_CXX_STL := none
-include $(BUILD_HOST_STATIC_LIBRARY)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libz-host
-LOCAL_MODULE_TAGS := optional
-LOCAL_CFLAGS += -O3 -DUSE_MMAP
-LOCAL_SRC_FILES := $(zlib_files)
-LOCAL_MULTILIB := both
-LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
-LOCAL_CXX_STL := none
-include $(BUILD_HOST_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:=        \
-	src/test/minigzip.c
-
-LOCAL_MODULE:= gzip
-
-LOCAL_SHARED_LIBRARIES := libz
-
-LOCAL_CXX_STL := none
-
-include $(BUILD_EXECUTABLE)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:=        \
-	src/test/minigzip.c
-
-LOCAL_MODULE:= minigzip
-
-LOCAL_STATIC_LIBRARIES := libz
-
-LOCAL_CXX_STL := none
-
-include $(BUILD_HOST_EXECUTABLE)
+LOCAL_PATH := $(call my-dir)
 
 $(TARGET_OUT_COMMON_GEN)/zlib_fingerprint : $(wildcard $(LOCAL_PATH)/src/*.[ch])
 	printf '%s\n' $^ | LC_ALL=C sort | xargs cat | shasum -a 256 | \