Browse code

Autotool fixes for libiconv.

Steven Morgan authored on 2017/03/02 23:44:09
Showing 2 changed files
... ...
@@ -149,8 +149,8 @@ libclamav_nocxx_la_CFLAGS=$(AM_CFLAGS) @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPF
149 149
 
150 150
 libclamav_la_LIBADD = @SSL_LIBS@ @JSON_LIBS@ @PCRE_LIBS@ @LIBCLAMAV_LIBS@ @LIBLTDL@ $(IFACELIBADD) $(LLVMLIBADD) libclamav_internal_utils.la @THREAD_LIBS@ @LIBM@
151 151
 libclamav_la_DEPENDENCIES =  @LTDLDEPS@ $(IFACEDEP) $(LLVMDEP) libclamav_internal_utils.la
152
-libclamav_la_CFLAGS =$(AM_CFLAGS) $(XML_CPPFLAGS) $(YARA_CFLAGS) -DSEARCH_LIBDIR=\"$(libdir)\" @LIBCLAMAV_CPPFLAGS@ @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @PCRE_CPPFLAGS@
153
-libclamav_la_LDFLAGS = @SSL_LDFLAGS@ @TH_SAFE@ @JSON_LDFLAGS@ $(XML_LIBS) -version-info @LIBCLAMAV_VERSION@ -no-undefined
152
+libclamav_la_CFLAGS =$(AM_CFLAGS) $(XML_CPPFLAGS) $(YARA_CFLAGS) -DSEARCH_LIBDIR=\"$(libdir)\" @LIBCLAMAV_CPPFLAGS@ @SSL_CPPFLAGS@ @JSON_CPPFLAGS@ @ICONV_CPPFLAGS@ @PCRE_CPPFLAGS@
153
+libclamav_la_LDFLAGS = @SSL_LDFLAGS@ @TH_SAFE@ @JSON_LDFLAGS@ @ICONV_LDFLAGS@ $(XML_LIBS) -version-info @LIBCLAMAV_VERSION@ -no-undefined
154 154
 
155 155
 if VERSIONSCRIPT
156 156
 libclamav_la_LDFLAGS += -Wl,@VERSIONSCRIPTFLAG@,@top_srcdir@/libclamav/libclamav.map
... ...
@@ -9,24 +9,44 @@ AC_ARG_WITH([iconv], [AS_HELP_STRING([--with-iconv], [supports iconv() @<:@defau
9 9
  esac],
10 10
 [ wiconv=auto ])
11 11
 if test "X$wiconv" != "Xno"; then
12
-	AC_CHECK_LIB([iconv], [libiconv_open], LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -liconv")
13
-	AC_MSG_CHECKING([for iconv])
14
-	save_LIBS="$LIBS"
15
-	LIBS="$LIBCLAMAV_LIBS"
16
-	AC_TRY_LINK([
12
+        save_LDFLAGS="$LDFLAGS"
13
+        LDFLAGS="-L/usr/local/lib -liconv"
14
+        ICONV_HOME=""
15
+        AC_CHECK_LIB([iconv], [libiconv_open], [ICONV_HOME="/usr/local"],
16
+        [
17
+          LDFLAGS="-L/usr/lib -liconv"
18
+          AC_CHECK_LIB([iconv], [libiconv_open], [ICONV_HOME="/usr"], [LDFLAGS="$save_LDFLAGS"])
19
+        ])
20
+        AC_MSG_CHECKING([for iconv])
21
+        save_LIBS="$LIBS"
22
+        save_CPPFLAGS="$CPPFLAGS"
23
+        LIBS="$LIBCLAMAV_LIBS"
24
+        if test "X$ICONV_HOME" != "X"; then
25
+          ICONV_LDFLAGS="$LDFLAGS"
26
+          ICONV_CPPFLAGS="-I$ICONV_HOME/include"
27
+        else
28
+          ICONV_LDFLAGS=""
29
+          ICONV_CPPFLAGS=""
30
+        fi
31
+        CPPFLAGS="$ICONV_CPPFLAGS $LIBCLAMAV_CPPFLAGS"
32
+        AC_TRY_LINK([
17 33
 		     #include <iconv.h>
18
-	],[
19
-	char** xin,**xout;
20
-	unsigned long il,ol;
21
-	int rc;
22
-	iconv_t iconv_struct = iconv_open("UTF-16BE","UTF-8");
23
-	rc = iconv(iconv_struct,xin,&il,xout,&ol);
24
-	iconv_close(iconv_struct);
25
-],[
26
-   AC_MSG_RESULT(yes)
27
-   AC_DEFINE([HAVE_ICONV], 1, [iconv() available])
28
-],[
29
-	AC_MSG_RESULT(no)
30
-])
31
-	LIBS="$save_LIBS"
34
+        ],[
35
+	  char** xin,**xout;
36
+	  unsigned long il,ol;
37
+	  int rc;
38
+	  iconv_t iconv_struct = iconv_open("UTF-16BE","UTF-8");
39
+	  rc = iconv(iconv_struct,xin,&il,xout,&ol);
40
+	  iconv_close(iconv_struct);
41
+        ],[
42
+          AC_MSG_RESULT(yes)
43
+          AC_DEFINE([HAVE_ICONV], 1, [iconv() available])
44
+          AC_SUBST(ICONV_LDFLAGS)
45
+          AC_SUBST(ICONV_CPPFLAGS)
46
+        ],[
47
+	  AC_MSG_RESULT(no)
48
+        ])
49
+        LIBS="$save_LIBS"
50
+        LDFLAGS="$save_LDFLAGS"
51
+        CPPFLAGS="$save_CPPFLAGS"
32 52
 fi