Browse code

add ld version script support. cl_ symbols are exported with a CLAMAV_PUBLIC version, cli_ symbols with a CLAMAV_PRIVATE version. TODO: reduce number of cli_* symbols exported. clamav-milter/Makefile.in/am: fix out-of-tree builds of manpage.

git-svn: trunk@3463

Török Edvin authored on 2007/12/29 06:59:48
Showing 7 changed files
... ...
@@ -1,3 +1,10 @@
1
+Fri Dec 28 23:23:40 EET 2007 (edwin)
2
+------------------------------------
3
+  * configure, libclamav/Makefile.in/am : add ld version script support.
4
+       cl_ symbols are exported with a CLAMAV_PUBLIC version,
5
+       cli_ symbols with a CLAMAV_PRIVATE version.
6
+  * clamav-milter/Makefile.in/am: fix out-of-tree builds of manpage.
7
+
1 8
 Fri Dec 28 16:37:43 EET 2007 (edwin)
2 9
 ------------------------------------
3 10
   * configure, libclamav/str.[ch] : strcasestr() check and replacement.
... ...
@@ -35,7 +35,7 @@ clamav_milter_SOURCES = \
35 35
     $(top_srcdir)/shared/network.h \
36 36
     clamav-milter.c
37 37
 
38
-man_MANS = $(top_srcdir)/docs/man/clamav-milter.8
38
+man_MANS = $(top_builddir)/docs/man/clamav-milter.8
39 39
 
40 40
 endif
41 41
 endif
... ...
@@ -238,7 +238,7 @@ top_srcdir = @top_srcdir@
238 238
 @BUILD_CLAMD_TRUE@@HAVE_MILTER_TRUE@    $(top_srcdir)/shared/network.h \
239 239
 @BUILD_CLAMD_TRUE@@HAVE_MILTER_TRUE@    clamav-milter.c
240 240
 
241
-@BUILD_CLAMD_TRUE@@HAVE_MILTER_TRUE@man_MANS = $(top_srcdir)/docs/man/clamav-milter.8
241
+@BUILD_CLAMD_TRUE@@HAVE_MILTER_TRUE@man_MANS = $(top_builddir)/docs/man/clamav-milter.8
242 242
 INCLUDES = -I$(top_srcdir)/clamd -I$(top_srcdir)/libclamav -I$(top_srcdir)/shared -I$(top_srcdir)
243 243
 EXTRA_DIST = clamav-milter.c INSTALL
244 244
 all: all-am
... ...
@@ -877,6 +877,8 @@ LIBTOOL
877 877
 MAINTAINER_MODE_TRUE
878 878
 MAINTAINER_MODE_FALSE
879 879
 MAINT
880
+VERSIONSCRIPT_TRUE
881
+VERSIONSCRIPT_FALSE
880 882
 sendmailprog
881 883
 DBDIR
882 884
 CFGDIR
... ...
@@ -4745,7 +4747,7 @@ ia64-*-hpux*)
4745 4745
   ;;
4746 4746
 *-*-irix6*)
4747 4747
   # Find out which ABI we are using.
4748
-  echo '#line 4748 "configure"' > conftest.$ac_ext
4748
+  echo '#line 4750 "configure"' > conftest.$ac_ext
4749 4749
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
4750 4750
   (eval $ac_compile) 2>&5
4751 4751
   ac_status=$?
... ...
@@ -7482,11 +7484,11 @@ else
7482 7482
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
7483 7483
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
7484 7484
    -e 's:$: $lt_compiler_flag:'`
7485
-   (eval echo "\"\$as_me:7485: $lt_compile\"" >&5)
7485
+   (eval echo "\"\$as_me:7487: $lt_compile\"" >&5)
7486 7486
    (eval "$lt_compile" 2>conftest.err)
7487 7487
    ac_status=$?
7488 7488
    cat conftest.err >&5
7489
-   echo "$as_me:7489: \$? = $ac_status" >&5
7489
+   echo "$as_me:7491: \$? = $ac_status" >&5
7490 7490
    if (exit $ac_status) && test -s "$ac_outfile"; then
7491 7491
      # The compiler can only warn and ignore the option if not recognized
7492 7492
      # So say no if there are warnings other than the usual output.
... ...
@@ -7772,11 +7774,11 @@ else
7772 7772
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
7773 7773
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
7774 7774
    -e 's:$: $lt_compiler_flag:'`
7775
-   (eval echo "\"\$as_me:7775: $lt_compile\"" >&5)
7775
+   (eval echo "\"\$as_me:7777: $lt_compile\"" >&5)
7776 7776
    (eval "$lt_compile" 2>conftest.err)
7777 7777
    ac_status=$?
7778 7778
    cat conftest.err >&5
7779
-   echo "$as_me:7779: \$? = $ac_status" >&5
7779
+   echo "$as_me:7781: \$? = $ac_status" >&5
7780 7780
    if (exit $ac_status) && test -s "$ac_outfile"; then
7781 7781
      # The compiler can only warn and ignore the option if not recognized
7782 7782
      # So say no if there are warnings other than the usual output.
... ...
@@ -7876,11 +7878,11 @@ else
7876 7876
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
7877 7877
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
7878 7878
    -e 's:$: $lt_compiler_flag:'`
7879
-   (eval echo "\"\$as_me:7879: $lt_compile\"" >&5)
7879
+   (eval echo "\"\$as_me:7881: $lt_compile\"" >&5)
7880 7880
    (eval "$lt_compile" 2>out/conftest.err)
7881 7881
    ac_status=$?
7882 7882
    cat out/conftest.err >&5
7883
-   echo "$as_me:7883: \$? = $ac_status" >&5
7883
+   echo "$as_me:7885: \$? = $ac_status" >&5
7884 7884
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
7885 7885
    then
7886 7886
      # The compiler can only warn and ignore the option if not recognized
... ...
@@ -10238,7 +10240,7 @@ else
10238 10238
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
10239 10239
   lt_status=$lt_dlunknown
10240 10240
   cat > conftest.$ac_ext <<EOF
10241
-#line 10241 "configure"
10241
+#line 10243 "configure"
10242 10242
 #include "confdefs.h"
10243 10243
 
10244 10244
 #if HAVE_DLFCN_H
... ...
@@ -10338,7 +10340,7 @@ else
10338 10338
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
10339 10339
   lt_status=$lt_dlunknown
10340 10340
   cat > conftest.$ac_ext <<EOF
10341
-#line 10341 "configure"
10341
+#line 10343 "configure"
10342 10342
 #include "confdefs.h"
10343 10343
 
10344 10344
 #if HAVE_DLFCN_H
... ...
@@ -12758,11 +12760,11 @@ else
12758 12758
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
12759 12759
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
12760 12760
    -e 's:$: $lt_compiler_flag:'`
12761
-   (eval echo "\"\$as_me:12761: $lt_compile\"" >&5)
12761
+   (eval echo "\"\$as_me:12763: $lt_compile\"" >&5)
12762 12762
    (eval "$lt_compile" 2>conftest.err)
12763 12763
    ac_status=$?
12764 12764
    cat conftest.err >&5
12765
-   echo "$as_me:12765: \$? = $ac_status" >&5
12765
+   echo "$as_me:12767: \$? = $ac_status" >&5
12766 12766
    if (exit $ac_status) && test -s "$ac_outfile"; then
12767 12767
      # The compiler can only warn and ignore the option if not recognized
12768 12768
      # So say no if there are warnings other than the usual output.
... ...
@@ -12862,11 +12864,11 @@ else
12862 12862
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
12863 12863
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
12864 12864
    -e 's:$: $lt_compiler_flag:'`
12865
-   (eval echo "\"\$as_me:12865: $lt_compile\"" >&5)
12865
+   (eval echo "\"\$as_me:12867: $lt_compile\"" >&5)
12866 12866
    (eval "$lt_compile" 2>out/conftest.err)
12867 12867
    ac_status=$?
12868 12868
    cat out/conftest.err >&5
12869
-   echo "$as_me:12869: \$? = $ac_status" >&5
12869
+   echo "$as_me:12871: \$? = $ac_status" >&5
12870 12870
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
12871 12871
    then
12872 12872
      # The compiler can only warn and ignore the option if not recognized
... ...
@@ -14439,11 +14441,11 @@ else
14439 14439
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
14440 14440
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
14441 14441
    -e 's:$: $lt_compiler_flag:'`
14442
-   (eval echo "\"\$as_me:14442: $lt_compile\"" >&5)
14442
+   (eval echo "\"\$as_me:14444: $lt_compile\"" >&5)
14443 14443
    (eval "$lt_compile" 2>conftest.err)
14444 14444
    ac_status=$?
14445 14445
    cat conftest.err >&5
14446
-   echo "$as_me:14446: \$? = $ac_status" >&5
14446
+   echo "$as_me:14448: \$? = $ac_status" >&5
14447 14447
    if (exit $ac_status) && test -s "$ac_outfile"; then
14448 14448
      # The compiler can only warn and ignore the option if not recognized
14449 14449
      # So say no if there are warnings other than the usual output.
... ...
@@ -14543,11 +14545,11 @@ else
14543 14543
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
14544 14544
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
14545 14545
    -e 's:$: $lt_compiler_flag:'`
14546
-   (eval echo "\"\$as_me:14546: $lt_compile\"" >&5)
14546
+   (eval echo "\"\$as_me:14548: $lt_compile\"" >&5)
14547 14547
    (eval "$lt_compile" 2>out/conftest.err)
14548 14548
    ac_status=$?
14549 14549
    cat out/conftest.err >&5
14550
-   echo "$as_me:14550: \$? = $ac_status" >&5
14550
+   echo "$as_me:14552: \$? = $ac_status" >&5
14551 14551
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
14552 14552
    then
14553 14553
      # The compiler can only warn and ignore the option if not recognized
... ...
@@ -16743,11 +16745,11 @@ else
16743 16743
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
16744 16744
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
16745 16745
    -e 's:$: $lt_compiler_flag:'`
16746
-   (eval echo "\"\$as_me:16746: $lt_compile\"" >&5)
16746
+   (eval echo "\"\$as_me:16748: $lt_compile\"" >&5)
16747 16747
    (eval "$lt_compile" 2>conftest.err)
16748 16748
    ac_status=$?
16749 16749
    cat conftest.err >&5
16750
-   echo "$as_me:16750: \$? = $ac_status" >&5
16750
+   echo "$as_me:16752: \$? = $ac_status" >&5
16751 16751
    if (exit $ac_status) && test -s "$ac_outfile"; then
16752 16752
      # The compiler can only warn and ignore the option if not recognized
16753 16753
      # So say no if there are warnings other than the usual output.
... ...
@@ -17033,11 +17035,11 @@ else
17033 17033
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
17034 17034
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
17035 17035
    -e 's:$: $lt_compiler_flag:'`
17036
-   (eval echo "\"\$as_me:17036: $lt_compile\"" >&5)
17036
+   (eval echo "\"\$as_me:17038: $lt_compile\"" >&5)
17037 17037
    (eval "$lt_compile" 2>conftest.err)
17038 17038
    ac_status=$?
17039 17039
    cat conftest.err >&5
17040
-   echo "$as_me:17040: \$? = $ac_status" >&5
17040
+   echo "$as_me:17042: \$? = $ac_status" >&5
17041 17041
    if (exit $ac_status) && test -s "$ac_outfile"; then
17042 17042
      # The compiler can only warn and ignore the option if not recognized
17043 17043
      # So say no if there are warnings other than the usual output.
... ...
@@ -17137,11 +17139,11 @@ else
17137 17137
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
17138 17138
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
17139 17139
    -e 's:$: $lt_compiler_flag:'`
17140
-   (eval echo "\"\$as_me:17140: $lt_compile\"" >&5)
17140
+   (eval echo "\"\$as_me:17142: $lt_compile\"" >&5)
17141 17141
    (eval "$lt_compile" 2>out/conftest.err)
17142 17142
    ac_status=$?
17143 17143
    cat out/conftest.err >&5
17144
-   echo "$as_me:17144: \$? = $ac_status" >&5
17144
+   echo "$as_me:17146: \$? = $ac_status" >&5
17145 17145
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
17146 17146
    then
17147 17147
      # The compiler can only warn and ignore the option if not recognized
... ...
@@ -22078,6 +22080,58 @@ echo "${ECHO_T}$ZLIB_HOME" >&6; }
22078 22078
 fi
22079 22079
 
22080 22080
 
22081
+{ echo "$as_me:$LINENO: checking for ld --version-script" >&5
22082
+echo $ECHO_N "checking for ld --version-script... $ECHO_C" >&6; }
22083
+if test "${ac_cv_ld_version_script+set}" = set; then
22084
+  echo $ECHO_N "(cached) $ECHO_C" >&6
22085
+else
22086
+    cat > conftest.c <<EOF
22087
+void cl_symbol1(void) {}
22088
+void cli_symbol2(void) {}
22089
+EOF
22090
+  cat > conftest.map <<EOF
22091
+RELEASE
22092
+{
22093
+	global:
22094
+		cl_*;
22095
+	local:
22096
+		*;
22097
+};
22098
+PRIVATE
22099
+{
22100
+	global:
22101
+		cli_*;
22102
+	local:
22103
+		*;
22104
+};
22105
+EOF
22106
+  if { ac_try='${CC-cc} $CFLAGS $pic_flag $LDFLAGS -shared
22107
+				-o conftest.so conftest.c
22108
+				-Wl,--version-script,conftest.map
22109
+		       1>&5'
22110
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
22111
+  (eval $ac_try) 2>&5
22112
+  ac_status=$?
22113
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
22114
+  (exit $ac_status); }; };
22115
+  then
22116
+      ac_cv_ld_version_script=yes
22117
+  else
22118
+      ac_cv_ld_version_script=no
22119
+  fi
22120
+ rm -f conftest*
22121
+fi
22122
+{ echo "$as_me:$LINENO: result: $ac_cv_ld_version_script" >&5
22123
+echo "${ECHO_T}$ac_cv_ld_version_script" >&6; }
22124
+ if test "x$ac_cv_ld_version_script" = "xyes"; then
22125
+  VERSIONSCRIPT_TRUE=
22126
+  VERSIONSCRIPT_FALSE='#'
22127
+else
22128
+  VERSIONSCRIPT_TRUE='#'
22129
+  VERSIONSCRIPT_FALSE=
22130
+fi
22131
+
22132
+
22081 22133
 # Check whether --enable-zlib-vcheck was given.
22082 22134
 if test "${enable_zlib_vcheck+set}" = set; then
22083 22135
   enableval=$enable_zlib_vcheck; zlib_check=$enableval
... ...
@@ -26524,6 +26578,13 @@ echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
26524 26524
 Usually this means the macro was only invoked conditionally." >&2;}
26525 26525
    { (exit 1); exit 1; }; }
26526 26526
 fi
26527
+if test -z "${VERSIONSCRIPT_TRUE}" && test -z "${VERSIONSCRIPT_FALSE}"; then
26528
+  { { echo "$as_me:$LINENO: error: conditional \"VERSIONSCRIPT\" was never defined.
26529
+Usually this means the macro was only invoked conditionally." >&5
26530
+echo "$as_me: error: conditional \"VERSIONSCRIPT\" was never defined.
26531
+Usually this means the macro was only invoked conditionally." >&2;}
26532
+   { (exit 1); exit 1; }; }
26533
+fi
26527 26534
 if test -z "${BUILD_CLAMD_TRUE}" && test -z "${BUILD_CLAMD_FALSE}"; then
26528 26535
   { { echo "$as_me:$LINENO: error: conditional \"BUILD_CLAMD\" was never defined.
26529 26536
 Usually this means the macro was only invoked conditionally." >&5
... ...
@@ -27253,6 +27314,8 @@ LIBTOOL!$LIBTOOL$ac_delim
27253 27253
 MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
27254 27254
 MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
27255 27255
 MAINT!$MAINT$ac_delim
27256
+VERSIONSCRIPT_TRUE!$VERSIONSCRIPT_TRUE$ac_delim
27257
+VERSIONSCRIPT_FALSE!$VERSIONSCRIPT_FALSE$ac_delim
27256 27258
 sendmailprog!$sendmailprog$ac_delim
27257 27259
 DBDIR!$DBDIR$ac_delim
27258 27260
 CFGDIR!$CFGDIR$ac_delim
... ...
@@ -27275,7 +27338,7 @@ LIBOBJS!$LIBOBJS$ac_delim
27275 27275
 LTLIBOBJS!$LTLIBOBJS$ac_delim
27276 27276
 _ACEOF
27277 27277
 
27278
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 33; then
27278
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 35; then
27279 27279
     break
27280 27280
   elif $ac_last_try; then
27281 27281
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
... ...
@@ -254,6 +254,39 @@ fi
254 254
 AC_MSG_RESULT($ZLIB_HOME)
255 255
 ])
256 256
 
257
+AC_CACHE_CHECK([for ld --version-script], [ac_cv_ld_version_script], [dnl
258
+  cat > conftest.c <<EOF
259
+void cl_symbol1(void) {}
260
+void cli_symbol2(void) {}
261
+EOF
262
+  cat > conftest.map <<EOF
263
+RELEASE
264
+{
265
+	global:
266
+		cl_*;
267
+	local:
268
+		*;
269
+};
270
+PRIVATE
271
+{
272
+	global:
273
+		cli_*;
274
+	local:
275
+		*;
276
+};
277
+EOF
278
+  if AC_TRY_COMMAND([${CC-cc} $CFLAGS $pic_flag $LDFLAGS -shared
279
+				-o conftest.so conftest.c
280
+				-Wl,--version-script,conftest.map
281
+		       1>&AS_MESSAGE_LOG_FD]);
282
+  then
283
+      ac_cv_ld_version_script=yes
284
+  else
285
+      ac_cv_ld_version_script=no
286
+  fi
287
+ rm -f conftest*])
288
+AM_CONDITIONAL(VERSIONSCRIPT, test "x$ac_cv_ld_version_script" = "xyes")
289
+
257 290
 AC_ARG_ENABLE(zlib-vcheck,
258 291
 [  --disable-zlib-vcheck	  do not check for buggy zlib version ],
259 292
 zlib_check=$enableval, zlib_check="yes")
... ...
@@ -28,6 +28,10 @@ endif
28 28
 
29 29
 libclamav_la_LDFLAGS = @TH_SAFE@ -version-info @LIBCLAMAV_VERSION@ -no-undefined
30 30
 
31
+if VERSIONSCRIPT
32
+libclamav_la_LDFLAGS += -Wl,--version-script=@top_srcdir@/libclamav/libclamav.map
33
+endif
34
+
31 35
 include_HEADERS = clamav.h
32 36
 
33 37
 libclamav_la_SOURCES = \
... ...
@@ -176,7 +180,17 @@ libclamav_la_SOURCES = \
176 176
 	dconf.c \
177 177
 	dconf.h \
178 178
 	lzma_iface.c \
179
-	lzma_iface.h
179
+	lzma_iface.h \
180
+	libclamav.map
181
+
182
+libclamav_internal_utils_la_SOURCES=str.c \
183
+				    str.h \
184
+				    others.c \
185
+				    others.h \
186
+				    md5.c \
187
+				    md5.h
188
+
189
+libclamav_internal_utils_la_LDFLAGS=-static
180 190
 
181
-lib_LTLIBRARIES = libclamav.la
191
+lib_LTLIBRARIES = libclamav.la libclamav_internal_utils.la
182 192
 EXTRA_DIST = regex/engine.c
... ...
@@ -52,6 +52,7 @@ POST_UNINSTALL = :
52 52
 build_triplet = @build@
53 53
 host_triplet = @host@
54 54
 target_triplet = @target@
55
+@VERSIONSCRIPT_TRUE@am__append_1 = -Wl,--version-script=@top_srcdir@/libclamav/libclamav.map
55 56
 subdir = libclamav
56 57
 DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
57 58
 	$(srcdir)/Makefile.in
... ...
@@ -92,6 +93,14 @@ libclamav_la_OBJECTS = $(am_libclamav_la_OBJECTS)
92 92
 libclamav_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
93 93
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
94 94
 	$(libclamav_la_LDFLAGS) $(LDFLAGS) -o $@
95
+libclamav_internal_utils_la_LIBADD =
96
+am_libclamav_internal_utils_la_OBJECTS = str.lo others.lo md5.lo
97
+libclamav_internal_utils_la_OBJECTS =  \
98
+	$(am_libclamav_internal_utils_la_OBJECTS)
99
+libclamav_internal_utils_la_LINK = $(LIBTOOL) --tag=CC \
100
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
101
+	$(AM_CFLAGS) $(CFLAGS) $(libclamav_internal_utils_la_LDFLAGS) \
102
+	$(LDFLAGS) -o $@
95 103
 DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
96 104
 depcomp = $(SHELL) $(top_srcdir)/depcomp
97 105
 am__depfiles_maybe = depfiles
... ...
@@ -104,8 +113,10 @@ CCLD = $(CC)
104 104
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
105 105
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
106 106
 	$(LDFLAGS) -o $@
107
-SOURCES = $(libclamav_la_SOURCES)
108
-DIST_SOURCES = $(libclamav_la_SOURCES)
107
+SOURCES = $(libclamav_la_SOURCES) \
108
+	$(libclamav_internal_utils_la_SOURCES)
109
+DIST_SOURCES = $(libclamav_la_SOURCES) \
110
+	$(libclamav_internal_utils_la_SOURCES)
109 111
 RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
110 112
 	html-recursive info-recursive install-data-recursive \
111 113
 	install-dvi-recursive install-exec-recursive \
... ...
@@ -249,7 +260,8 @@ SUBDIRS = lzma .
249 249
 INCLUDES = -I$(top_srcdir) -I@srcdir@/nsis -I@srcdir@/lzma
250 250
 @ENABLE_UNRAR_FALSE@libclamav_la_LIBADD = @LIBCLAMAV_LIBS@ @THREAD_LIBS@ lzma/liblzma.la
251 251
 @ENABLE_UNRAR_TRUE@libclamav_la_LIBADD = @LIBCLAMAV_LIBS@ @THREAD_LIBS@ lzma/liblzma.la $(top_builddir)/libclamunrar_iface/libclamunrar_iface.la
252
-libclamav_la_LDFLAGS = @TH_SAFE@ -version-info @LIBCLAMAV_VERSION@ -no-undefined
252
+libclamav_la_LDFLAGS = @TH_SAFE@ -version-info @LIBCLAMAV_VERSION@ \
253
+	-no-undefined $(am__append_1)
253 254
 include_HEADERS = clamav.h
254 255
 libclamav_la_SOURCES = \
255 256
 	clamav.h \
... ...
@@ -397,9 +409,18 @@ libclamav_la_SOURCES = \
397 397
 	dconf.c \
398 398
 	dconf.h \
399 399
 	lzma_iface.c \
400
-	lzma_iface.h
401
-
402
-lib_LTLIBRARIES = libclamav.la
400
+	lzma_iface.h \
401
+	libclamav.map
402
+
403
+libclamav_internal_utils_la_SOURCES = str.c \
404
+				    str.h \
405
+				    others.c \
406
+				    others.h \
407
+				    md5.c \
408
+				    md5.h
409
+
410
+libclamav_internal_utils_la_LDFLAGS = -static
411
+lib_LTLIBRARIES = libclamav.la libclamav_internal_utils.la
403 412
 EXTRA_DIST = regex/engine.c
404 413
 all: all-recursive
405 414
 
... ...
@@ -463,6 +484,8 @@ clean-libLTLIBRARIES:
463 463
 	done
464 464
 libclamav.la: $(libclamav_la_OBJECTS) $(libclamav_la_DEPENDENCIES) 
465 465
 	$(libclamav_la_LINK) -rpath $(libdir) $(libclamav_la_OBJECTS) $(libclamav_la_LIBADD) $(LIBS)
466
+libclamav_internal_utils.la: $(libclamav_internal_utils_la_OBJECTS) $(libclamav_internal_utils_la_DEPENDENCIES) 
467
+	$(libclamav_internal_utils_la_LINK) -rpath $(libdir) $(libclamav_internal_utils_la_OBJECTS) $(libclamav_internal_utils_la_LIBADD) $(LIBS)
466 468
 
467 469
 mostlyclean-compile:
468 470
 	-rm -f *.$(OBJEXT)