Check if ClearSilver actually requires zlib
authorMartin Willi <martin@revosec.ch>
Thu, 1 Sep 2011 11:23:37 +0000 (13:23 +0200)
committerMartin Willi <martin@revosec.ch>
Fri, 2 Sep 2011 11:40:38 +0000 (13:40 +0200)
configure.in
src/libfast/Makefile.am

index d38b0fa..67d1c2a 100644 (file)
@@ -579,7 +579,22 @@ fi
 if test x$fast = xtrue; then
        AC_HAVE_LIBRARY([neo_cgi],[LIBS="$LIBS"],[AC_MSG_ERROR([ClearSilver library neo_cgi not found!])])
        AC_HAVE_LIBRARY([neo_utl],[LIBS="$LIBS"],[AC_MSG_ERROR([ClearSilver library neo_utl not found!])])
-       AC_HAVE_LIBRARY([z],[LIBS="$LIBS"],[AC_MSG_ERROR([ClearSilver dependency zlib not found!])])
+       AC_MSG_CHECKING([ClearSilver requires zlib])
+       saved_CFLAGS=$CFLAGS
+       saved_LIBS=$LIBS
+       LIBS="-lneo_cgi -lneo_cs -lneo_utl"
+       CFLAGS="-I/usr/include/ClearSilver"
+       AC_TRY_LINK(
+               [#include <ClearSilver.h>],
+               [
+                       NEOERR *err = cgi_display(NULL, NULL);
+               ],
+               [AC_MSG_RESULT([no]); clearsilver_LIBS="$LIBS"],
+               [AC_MSG_RESULT([yes]); clearsilver_LIBS="$LIBS -lz"]
+       )
+       AC_SUBST(clearsilver_LIBS)
+       LIBS=$saved_LIBS
+       CFLAGS=$saved_CFLAGS
 dnl autoconf does not like CamelCase!? How to fix this?
 dnl    AC_CHECK_HEADER([ClearSilver/ClearSilver.h],,[AC_MSG_ERROR([ClearSilver header file ClearSilver/ClearSilver.h not found!])])
 
index 575a06b..35d1021 100644 (file)
@@ -3,6 +3,6 @@ ipseclib_LTLIBRARIES = libfast.la
 libfast_la_SOURCES = context.h dispatcher.c request.h session.h \
   controller.h dispatcher.h request.c session.c filter.h smtp.c smtp.h
 libfast_la_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la \
-  -lfcgi -lneo_cgi -lneo_cs -lneo_utl -lz $(PTHREADLIB)
+  -lfcgi $(clearsilver_LIBS) $(PTHREADLIB)
 INCLUDES = -I$(top_srcdir)/src/libstrongswan -I/usr/include/ClearSilver
 AM_CFLAGS = -rdynamic