configure: check threads support in OpenBSD.
[silc.git] / configure.ad
index de959e791d3fc542e2b537025f855ca099175ecb..2b0fe2a5e7a9724b7fba0dc517cadc6d14e0fa2b 100644 (file)
@@ -3,7 +3,7 @@
 #
 #  Author: Pekka Riikonen <priikone@silcnet.org>
 #
-#  Copyright (C) 2000 - 2007 Pekka Riikonen
+#  Copyright (C) 2000 - 2007, 2009 Pekka Riikonen
 #
 #  This program is free software; you can redistribute it and/or modify
 #  it under the terms of the GNU General Public License as published by
@@ -33,12 +33,19 @@ AC_PATH_PROG(sedpath, sed)
 # Put here any platform specific stuff
 #
 case "$target" in
+  *-*-linux*)
+    check_threads=true
+    CFLAGS=`echo $CFLAGS -D_GNU_SOURCE`
+    ;;
   *-*-freebsd*)
     check_threads=true
     ;;
   *-*-netbsd*)
     check_threads=true
     ;;
+  *-*-openbsd*)
+    check_threads=true
+    ;;
   *-*-*bsd*)
     check_threads=false
     ;;
@@ -95,10 +102,29 @@ __SILC_HAVE_SIM=""
 __SILC_ENABLE_DEBUG=""
 
 #ifdef SILC_DIST_TOOLKIT
-toolkitver=`echo $VERSION | sed 's/\./_/g'`
-__SILC_PACKAGE_VERSION="#define __SILC_TOOLKIT_$toolkitver 1"
+toolkitver=`echo $VERSION | sed 's/\./ /g'`
+maj=0
+min=0
+bld=0
+for v in $toolkitver
+do
+  if test $maj -eq 0; then
+    maj=$v
+    continue
+  fi
+  if test $min -eq 0; then
+    min=$v
+    continue
+  fi
+  if test $bld -eq 0; then
+    bld=$v
+    continue
+  fi
+done
+__SILC_PACKAGE_VERSION="#define __SILC_TOOLKIT_VERSION SILC_VERSION($maj,$min,$bld)"
 #endif SILC_DIST_TOOLKIT
 
+AC_PROG_LIBTOOL
 AC_PROG_RANLIB
 #ifndef SILC_DIST_TOOLKIT
 AC_DISABLE_SHARED
@@ -106,7 +132,6 @@ AC_DISABLE_SHARED
 #ifdef SILC_DIST_INPLACE
 AC_DISABLE_SHARED
 #endif SILC_DIST_INPLACE
-AC_PROG_LIBTOOL
 
 # Header checking
 #
@@ -185,9 +210,9 @@ AC_CHECK_FUNC(socket, [],
 AC_CHECK_FUNCS(gethostname gethostbyaddr getservbyname getservbyport)
 AC_CHECK_FUNCS(poll select listen bind shutdown close connect setsockopt)
 AC_CHECK_FUNCS(setrlimit time ctime utime gettimeofday getrusage)
-AC_CHECK_FUNCS(chmod fcntl stat fstat getenv putenv strerror)
+AC_CHECK_FUNCS(chmod fcntl stat fstat getenv putenv strerror posix_memalign)
 AC_CHECK_FUNCS(getpid getgid getsid getpgid getpgrp getuid sched_yield)
-AC_CHECK_FUNCS(setgroups initgroups nl_langinfo nanosleep)
+AC_CHECK_FUNCS(setgroups initgroups nl_langinfo nanosleep backtrace)
 AC_CHECK_FUNCS(strchr snprintf strstr strcpy strncpy memcpy memset memmove)
 
 # lib/contrib conditionals
@@ -339,13 +364,21 @@ have_assembler=false
 if test x$want_asm = xtrue; then
   AC_PATH_PROG([NASM], [nasm], [no])
   if test "x$NASM" != "xno"; then
-    SILC_ASSEMBLER="$NASM -O2 -felf"
+    if test x$cpu_x86_64 = xtrue; then
+      SILC_ASSEMBLER="$NASM -O2 -felf64"
+    else
+      SILC_ASSEMBLER="$NASM -O2 -felf"
+    fi
     have_assembler=true
   fi
 
   AC_PATH_PROG([YASM], [yasm], [no])
   if test "x$YASM" != "xno"; then
-    SILC_ASSEMBLER="$YASM -Xgnu -felf"
+    if test x$cpu_x86_64 = xtrue; then
+      SILC_ASSEMBLER="$YASM -Xgnu -felf64"
+    else
+      SILC_ASSEMBLER="$YASM -Xgnu -felf"
+    fi
     have_assembler=true
   fi
 fi
@@ -985,7 +1018,7 @@ if test x$has_iconv = xtrue; then
   # (2) In glibc-2.1.2 and earlier there is a bug that messes up ob and
   #     obl when args 2 and 3 are 0 (fixed in glibc-2.1.3).
   #
-  AC_CACHE_CHECK([whether this iconv is good enough], ac_iconv_good,
+  AC_CACHE_CHECK([whether this iconv is good enough], ac_cv_iconv_good,
     AC_TRY_RUN(
       [
         #include <iconv.h>
@@ -1004,17 +1037,17 @@ if test x$has_iconv = xtrue; then
         }
       ],
       [
-        ac_iconv_good=yes
+        ac_cv_iconv_good=yes
       ],
       [
-        ac_iconv_good=no
+        ac_cv_iconv_good=no
       ],
       [
-        ac_iconv_good=yes
+        ac_cv_iconv_good=yes
       ])
     )
 
-  if test x$ac_iconv_good = xno; then
+  if test x$ac_cv_iconv_good = xno; then
     AC_MSG_RESULT(Try using libiconv instead.)
   fi
 fi
@@ -1284,18 +1317,6 @@ without_irssi=false
 without_silcd=false
 #endif SILC_DIST_INPLACE
 
-libtoolfix=true
-AC_MSG_CHECKING(whether to do libtoolfix)
-AC_ARG_WITH(libtoolfix,
-  [  --without-libtoolfix    Do not fix libtool, for package builders],
-  [
-    AC_MSG_RESULT(no)
-    libtoolfix=false
-  ],
-  [
-    AC_MSG_RESULT(yes)
-  ])
-
 AC_SUBST(ETCDIR)
 AC_DEFINE_UNQUOTED([SILC_ETCDIR], "$ETCDIR", [SILC_ETCDIR])
 #endif SILC_DIST_COMPILER
@@ -1326,16 +1347,6 @@ AC_SUBST(__SILC_HAVE_SIM)
 AC_SUBST(__SILC_ENABLE_DEBUG)
 AC_SUBST(__SILC_PACKAGE_VERSION)
 
-#
-# Fix the libtool to support run-time configuration.  This allows us
-# to in run-time specify when to compile shared/static libraries without
-# need to reconfigure the entire libtool.
-#
-if test x$libtoolfix = xtrue; then
-  ./libtoolfix $SILC_TOP_SRCDIR/ltmain.sh
-fi
-AM_CONDITIONAL(SILC_LIBTOOLFIX, test x$libtoolfix = xtrue)
-
 INCLUDE_DEFINES_INT="include \$(top_srcdir)/Makefile.defines_int"
 AC_SUBST(INCLUDE_DEFINES_INT)
 
@@ -1375,6 +1386,7 @@ tutorial/Makefile.defines_int
 AC_OUTPUT
 
 #ifdef SILC_DIST_COMPILER
+
 s_bindir=`eval echo $bindir`;s_bindir=`eval echo $s_bindir`
 s_sbindir=`eval echo $sbindir`;s_sbindir=`eval echo $s_sbindir`
 s_mandir=`eval echo $mandir`;s_mandir=`eval echo $s_mandir`