--- configure	2009-08-04 22:35:34.000000000 +0200
+++ configure.new	2009-08-04 22:54:32.000000000 +0200
@@ -3136,8 +3136,8 @@
   fi
   ( touch /tmp/$$.cache_file 2>/dev/null && \
     cat /dev/null > /tmp/$$.cache_file && \
-    ./configure $xopts --libdir=${libdir} --srcdir=${srcdir}/lib/ccif --cache-file=/tmp/$$.cache_file ) || \
-    ./configure $xopts --libdir=${libdir} --srcdir=${srcdir}/lib/ccif
+    ./configure $xopts --libdir=${libdir} --srcdir=${srcdir}/lib/ccif --cache-file=/tmp/$$.cache_file --enable-shared-lib ) || \
+    ./configure $xopts --libdir=${libdir} --srcdir=${srcdir}/lib/ccif --enable-shared-lib
   rm -f /tmp/$$.cache_file
   if [ "X$LIBFOPTIM" != "X" ]; then
     FOPTIM=$FOPTIM_save
--- lib/ccif/configure	2009-08-04 22:35:37.000000000 +0200
+++ lib/ccif/configure.new	2009-08-04 23:05:44.000000000 +0200
@@ -5568,7 +5568,7 @@
       enable_shared_lib=no
    ;;
 
-   i?86-unknown-linux | i?86-pc-linux-gnu )
+   i?86-unknown-linux | i?86-pc-linux-gnu | x86_64-unknown-linux-gnu)
       if test $enable_shared_lib = yes ; then
 
          SO_LOC_VAR='LD_LIBRARY_PATH'
@@ -5585,7 +5585,7 @@
          else
            SHARED_LIB_PATH='LD_LIBRARY_PATH=`pwd`'
          fi
-         SHARED_LIB_CMD='$(CC) $(SHARED_LIB_FLAGS) -shared -Wl,-soname -Wl,$(SHARED_LIB_NAME) '"$SHARED_LIB_RESTRICT"' ${LOBJS} $(RX_LFLAG) -o $(SHARED_LIB_NAME)'
+         SHARED_LIB_CMD='$(CC) $(SHARED_LIB_FLAGS) -shared -Wl,-soname -Wl,$(SHARED_LIB_NAME) '"$SHARED_LIB_RESTRICT"' ${LOBJS} $(RX_LFLAG) -o $(SHARED_LIB_NAME) -lm'
          # SHARED_LIB_EXPORTS_CMD='cp libccif-universal-ld.lis $(SHARED_LIB_EXPORTS)'
          SHARED_LIB_EXPORTS_CMD=''
       fi
