Browse code

don't link clamdscan with -lz -ldl (bb #1474)

Apply a libltdl patch to avoid adding -ldl to LIBS.
Only add -lz to LIBCLAMAV_LIBS, libtool will add -lz as necessary
to programs linking libclamav.la.
Also add an export map to clamdscan, it only needs to export main.
Also remove the [1] from g++ version check to allow buildtesting with clang++.

Török Edvin authored on 2010/01/26 16:56:11
Showing 5 changed files
... ...
@@ -31,13 +31,16 @@ clamdscan_SOURCES = \
31 31
     $(top_srcdir)/shared/getopt.h \
32 32
     $(top_srcdir)/shared/actions.c \
33 33
     $(top_srcdir)/shared/actions.h \
34
-    $(top_srcdir)/libclamav/regex/strlcpy.c\
35 34
     clamdscan.c \
36 35
     proto.c \
37 36
     proto.h \
38 37
     client.c \
39 38
     client.h
39
+if VERSIONSCRIPT
40
+LDFLAGS += -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/clamdscan/clamdscan.map
40 41
 endif
42
+endif
43
+
41 44
 
42 45
 DEFS = @DEFS@ -DCL_NOTHREADS -DCL_NOLIBCLAMAV
43 46
 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/clamscan -I$(top_srcdir)/shared -I$(top_srcdir)/libclamav
44 47
new file mode 100644
... ...
@@ -0,0 +1,4 @@
0
+{
1
+global: main;
2
+local: *;
3
+};
... ...
@@ -549,19 +549,19 @@ else
549 549
 	fi
550 550
     fi
551 551
 
552
+    save_LIBS="$LIBS"
552 553
     if test "$ZLIB_HOME" != "/usr"; then
553 554
 	CPPFLAGS="$CPPFLAGS -I$ZLIB_HOME/include"
554 555
 	save_LDFLAGS="$LDFLAGS"
555
-	save_LIBS="$LIBS"
556 556
 	LDFLAGS="$LDFLAGS -L$ZLIB_HOME/lib"
557
-	AC_CHECK_LIB([z], [inflateEnd], [LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -L$ZLIB_HOME/lib -lz";FRESHCLAM_LIBS="$FRESHCLAM_LIBS -L$ZLIB_HOME/lib -lz"], AC_MSG_ERROR([Please install zlib and zlib-devel packages]))
557
+	AC_CHECK_LIB([z], [inflateEnd], [LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -L$ZLIB_HOME/lib -lz"], AC_MSG_ERROR([Please install zlib and zlib-devel packages]))
558 558
 	AC_CHECK_LIB([z], [gzopen], [], AC_MSG_ERROR([Your zlib is missing gzopen()]))
559 559
 	LDFLAGS="$save_LDFLAGS"
560
-	LIBS="$save_LIBS"
561 560
     else
562
-	AC_CHECK_LIB([z], [inflateEnd], [LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lz";FRESHCLAM_LIBS="$FRESHCLAM_LIBS -lz"], AC_MSG_ERROR([Please install zlib and zlib-devel packages]))
561
+	AC_CHECK_LIB([z], [inflateEnd], [LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -lz"], AC_MSG_ERROR([Please install zlib and zlib-devel packages]))
563 562
 	AC_CHECK_LIB([z], [gzopen],[], AC_MSG_ERROR([Your zlib is missing gzopen()]))
564 563
     fi
564
+    LIBS="$save_LIBS"
565 565
 fi
566 566
 
567 567
 AC_ARG_ENABLE([bzip2],
... ...
@@ -78,7 +78,7 @@ if test "$enable_llvm" = "auto"; then
78 78
     gxx_version=`${CXX} -dumpversion` ||
79 79
     AC_MSG_ERROR([Unable to get GNU C++ compiler version])
80 80
     case "${gxx_version}" in
81
-     [[0123]].*)
81
+     [[023]].*)
82 82
 	AC_MSG_ERROR([C++ compiler too old (${gxx_version})])
83 83
         ;;
84 84
      4.0.1*|4.1.[[12]]*)
... ...
@@ -637,6 +637,7 @@ AC_SUBST([LT_DLLOADERS])
637 637
 AC_LANG_PUSH([C])
638 638
 
639 639
 LIBADD_DLOPEN=
640
+lt_save_LIBS="$LIBS"
640 641
 AC_SEARCH_LIBS([dlopen], [dl],
641 642
 	[AC_DEFINE([HAVE_LIBDL], [1],
642 643
 		   [Define if you have the libdl library or equivalent.])
... ...
@@ -660,11 +661,10 @@ AC_SEARCH_LIBS([dlopen], [dl],
660 660
 		LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])])
661 661
 if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes
662 662
 then
663
-  lt_save_LIBS="$LIBS"
664 663
   LIBS="$LIBS $LIBADD_DLOPEN"
665 664
   AC_CHECK_FUNCS([dlerror])
666
-  LIBS="$lt_save_LIBS"
667 665
 fi
666
+LIBS="$lt_save_LIBS"
668 667
 AC_SUBST([LIBADD_DLOPEN])
669 668
 
670 669
 LIBADD_SHL_LOAD=