updates.
[silc.git] / configure.in.pre
index dca00154a33a90b1893c6b67ac2f13b8fdb8fd8e..637adb917244459255ddc319a9350ef74de5ac1c 100644 (file)
@@ -506,21 +506,48 @@ if test "x$socks" = "x5"; then
 fi
 
 #
-# MP library checking. First check whether system has GMP. If it has that
-# then use it. If not then compile the MPI library in the source tree.
+# MP library checking. First check whether user wants to use GMP and use
+# it if found. If not or not defined then compile the MPI library in the
+# source tree.
 #
-mp_gmp=false
-AC_CHECK_HEADER(gmp.h,
-  AC_CHECK_LIB(gmp, __gmpz_init,
-    mp_gmp=true
-    AC_DEFINE(SILC_MP_GMP)
-    LIBS="$LIBS -L/usr/lib -L/usr/local/lib -lgmp"
-    AC_MSG_RESULT(Using GMP as MP library)
-  )
+AC_MSG_CHECKING(whether to support GMP)
+AC_ARG_WITH(gmp,
+[  --with-gmp[=PATH]       Compile with GMP support instead of MPI],
+[ case "$withval" in
+  no)
+    AC_MSG_RESULT(no)
+    mp_gmp=false
+    ;;
+  *)
+    AC_MSG_RESULT(yes)
+
+    if test -d "$withval/include"; then
+      CFLAGS="$CFLAGS -I$withval/include"
+    else
+      CFLAGS="$CFLAGS -I$withval"
+    fi
+    if test -d "$withval/lib"; then
+      withval="-L$withval/lib -lgmp"
+    else
+      withval="-L$withval -lgmp"
+    fi
+
+    LIBS="$withval $LIBS"
+    mp_gmp=false
+    AC_CHECK_LIB(gmp, __gmpz_init,
+      mp_gmp=true
+      AC_DEFINE(SILC_MP_GMP)
+      AC_MSG_RESULT(Using GMP as MP library)
+    )
+      ;;
+  esac ],
+  AC_MSG_RESULT(no)
+  mp_gmp=false
 )
+
 AM_CONDITIONAL(SILC_MP_GMP, test x$mp_gmp = xtrue)
+AM_CONDITIONAL(SILC_MP_NSS_MPI, test x$mp_gmp = xfalse)
 if test x$mp_gmp = xfalse; then
-  AM_CONDITIONAL(SILC_MP_NSS_MPI, test x$mp_gmp = xfalse)
   AC_DEFINE(SILC_MP_NSS_MPI)
   AC_MSG_RESULT(Using NSS MPI as MP library)
 fi
@@ -563,15 +590,20 @@ esac ], CFLAGS="-O2 -g $CFLAGS"
 #
 # Pthread checking
 #
-AC_CHECK_HEADERS(pthread.h, [ AC_DEFINE(SILC_HAVE_PTHREAD) ], 
+want_threads=false
+AC_CHECK_HEADERS(pthread.h, 
+       [ AC_DEFINE(SILC_HAVE_PTHREAD) 
+          want_threads=true ],
        [ if test -f /usr/pkg/include/pthread.h ; then
            AC_DEFINE(SILC_HAVE_PTHREAD)
            AC_MSG_RESULT(Found pthread.h in /usr/pkg/include/)
            CFLAGS="$CFLAGS -I/usr/pkg/include"
+            want_threads=true
           elif test -f /usr/contrib/include/pthread.h ; then
            AC_DEFINE(SILC_HAVE_PTHREAD)
            AC_MSG_RESULT(Found pthread.h in /usr/contrib/include/)
            CFLAGS="$CFLAGS -I/usr/contrib/include"
+            want_threads=true
           fi
        ])
 
@@ -579,17 +611,16 @@ AC_ARG_ENABLE(threads,
 [  --disable-threads       Do not compile with multi-thread support],
 [ case "${enableval}" in
   yes)
-    AC_DEFINE(SILC_THREADS)
     want_threads=true
     ;;
   *)
     want_threads=false
     ;;
-esac ], AC_DEFINE(SILC_THREADS)
-       want_threads=true)
+esac ])
 
 AM_CONDITIONAL(SILC_THREADS, test x$want_threads = xtrue)
 if test x$want_threads = xtrue; then
+  AC_DEFINE(SILC_THREADS)
   TMP_LIBS="$LIBS"
   LIBS="-lpthread"
   AC_TRY_LINK([#include <pthread.h>],
@@ -633,8 +664,8 @@ fi
 #
 AC_CONFIG_SUBDIRS(lib/dotconf)
 AC_CONFIG_SUBDIRS(lib/trq)
-AC_CONFIG_SUBDIRS(lib/silcmath/mpi)
 AC_CONFIG_SUBDIRS(irssi)
+AC_CONFIG_SUBDIRS(lib/silcmath/mpi)
 #AC_CONFIG_SUBDIRS(lib/zlib)
 
 SILC_TOP_SRCDIR=`pwd`
@@ -671,4 +702,7 @@ lib/silcutil/Makefile
 lib/silcutil/unix/Makefile
 lib/silcutil/win32/Makefile
 silc/Makefile
-silcd/Makefile)
+silcd/Makefile
+win32/Makefile
+win32/libsilc/Makefile
+win32/libsilcclient/Makefile)