implement zlib module loading.
diff --git a/configure.ac b/configure.ac
index b992188..b3bb218 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,6 +23,8 @@
 AM_PROG_CC_C_O
 AC_PROG_GCC_TRADITIONAL
 
+required_private_libs=""
+
 AC_ARG_ENABLE([tools],
         AS_HELP_STRING([--disable-tools], [disable building tools that provide same functionality as module-init-tools @<:@default=enabled@:>@]),
 	[], enable_tools=yes)
@@ -35,6 +37,43 @@
 	AC_DEFINE(ENABLE_LOGGING, [1], [System logging.])
 ])
 
+AC_ARG_ENABLE([zlib],
+        AS_HELP_STRING([--enable-zlib], [handle gzipped modules (options: static or dynamic) @<:@default=disabled@:>@]),
+	[], enable_zlib=no)
+if test "x$enable_zlib" = "xyes" -o "x$enable_zlib" = "xstatic"; then
+        enable_zlib="static"
+        zlib_libs="-Wl,-Bstatic -lz -Wl,-Bdynamic"
+        SAVE_LIBS="${LIBS}"
+        LIBS="${LIBS} ${zlib_libs}"
+        AC_MSG_CHECKING([if static zlib exists])
+        AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+                #include <zlib.h>
+        ]], [[
+                gzFile f = gzopen("/tmp", "rb");
+        ]])],
+        [have_zlib=yes], [have_zlib=no])
+        LIBS="${SAVE_LIBS}"
+        AC_MSG_RESULT([$have_zlib])
+        if test "x$have_zlib" != "xyes"; then
+                zlib_libs=""
+                AC_MSG_ERROR([static zlib is not present])
+        fi
+elif test "x$enable_zlib" = "xdynamic"; then
+        AC_CHECK_LIB([z], [gzopen],
+                [
+                        zlib_libs="-lz"
+                        required_private_libs="${required_private_libs} ${zlib_libs}"
+                ],
+                [AC_MSG_ERROR([dynamic zlib is not present])])
+else
+        AC_MSG_NOTICE([zlib support not requested])
+        zlib_libs=""
+fi
+if test "x$zlib_libs" != "x"; then
+        AC_DEFINE(ENABLE_ZLIB, [1], [Enable zlib for modules.])
+fi
+AC_SUBST(zlib_libs)
+
 AC_ARG_ENABLE([debug],
 	AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
 	[], [enable_debug=no])
@@ -92,6 +131,8 @@
 			-Wl,--gc-sections])
 
 
+AC_SUBST(required_private_libs)
+
 AC_CONFIG_HEADERS(config.h)
 AC_CONFIG_FILES([
 	Makefile
@@ -115,5 +156,6 @@
 
 	tools:			${enable_tools}
 	logging:		${enable_logging}
+        zlib:                   ${enable_zlib}
 	debug:			${enable_debug}
 ])