after i play with HAVE_Z_LIBRARY in log.c -> gzip_logfile() and monitor.c -> flush_monitor_buffer() it compiles and link to an binary.
Here is my patch:
diff -rupN /src/hiawatha-9.6/src/log.c /src/hiawatha-9.6-dev/src/log.c
--- /src/hiawatha-9.6/src/log.c 2014-06-01 10:03:18.000000000 +0200
+++ /src/hiawatha-9.6-dev/src/log.c 2014-06-02 15:43:14.979966267 +0200
@@ -17,7 +17,9 @@
#include <stdarg.h>
#include <unistd.h>
#include <fcntl.h>
-#include <zlib.h>
+#ifdef HAVE_Z_LIBRARY
+ #include <zlib.h>
+#endif
#include <errno.h>
#include <string.h>
#include <time.h>
@@ -522,6 +524,7 @@ static int gzip_logfile(char *file) {
int result = -1, fd_in = -1, fd_out = -1;
int bytes_read, bytes_written, total_written;
struct stat stat_in;
+#ifdef HAVE_Z_LIBRARY
gzFile gzhandle = NULL;
/* Input file
@@ -595,6 +598,7 @@ gzip_fail:
if (gz_file != NULL) {
free(gz_file);
}
+#endif
return result;
}
diff -rupN /src/hiawatha-9.6/src/monitor.c /src/hiawatha-9.6-dev/src/monitor.c
--- /src/hiawatha-9.6/src/monitor.c 2014-06-01 10:03:18.000000000 +0200
+++ /src/hiawatha-9.6-dev/src/monitor.c 2014-06-02 15:44:15.396447887 +0200
@@ -23,7 +23,9 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <pthread.h>
-#include <zlib.h>
+#ifdef HAVE_Z_LIBRARY
+ #include <zlib.h>
+#endif
#include "global.h"
#include "monitor.h"
#include "libstr.h"
@@ -80,6 +82,8 @@ static void reset_cgi_stats(t_monitor_ho
*/
static int flush_monitor_buffer(void) {
int handle, bytes_written, total_written;
+
+#ifdef HAVE_Z_LIBRARY
gzFile gzhandle;
if (monitor_buffer_size == 0) {
@@ -113,7 +117,7 @@ static int flush_monitor_buffer(void) {
if (gzclose(gzhandle) != Z_OK) {
close(handle);
}
-
+#endif
monitor_buffer_size = 0;
return 0;