#
# Author: Pekka Riikonen <priikone@silcnet.org>
#
-# Copyright (C) 2000 - 2006 Pekka Riikonen
-#
+# Copyright (C) 2000 - 2007 Pekka Riikonen
+s#
# 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
# the Free Software Foundation; version 2 of the License.
*-*-freebsd*)
check_threads=true
;;
+ *-*-netbsd*)
+ check_threads=true
+ ;;
*-*-*bsd*)
check_threads=false
;;
esac
# Get CPU
+cpu_i386=false
+cpu_ix86=false
+cpu_x86_64=false
+cpu_ppc=false
+cpu_ia64=false
case "$host_cpu" in
i386)
AC_DEFINE([SILC_I386], [], [SILC_I386])
AC_DEFINE([SILC_I486], [], [SILC_I486])
+ cpu_i386=true
+ cpu_ix86=true
;;
i?86)
AC_DEFINE([SILC_I486], [], [SILC_I486])
+ cpu_ix86=true
;;
x86_64)
AC_DEFINE([SILC_X86_64], [], [SILC_X86_64])
+ cpu_x86_64=true
;;
powerpc*)
AC_DEFINE([SILC_POWERPC], [], [SILC_POWERPC])
+ cpu_ppc=true
;;
ia64)
AC_DEFINE([SILC_IA64], [], [SILC_IA64])
+ cpu_ia64=true
;;
esac
+AM_CONDITIONAL(SILC_I386, test x$cpu_i386 = xtrue)
+AM_CONDITIONAL(SILC_I486, test x$cpu_ix86 = xtrue)
+AM_CONDITIONAL(SILC_X86_64, test x$cpu_x86_64 = xtrue)
+AM_CONDITIONAL(SILC_POWERPC, test x$cpu_ppc = xtrue)
+AM_CONDITIONAL(SILC_IA64, test x$cpu_ia64 = xtrue)
# Control compiler optimizations
CFLAGS=`echo $CFLAGS | sed 's/-O[ 0123456789s]*//g'`
AC_SUBST(SILC_SIZEOF_CHAR, $ac_cv_sizeof_char)
AC_CHECK_SIZEOF(void *, 0)
AC_SUBST(SILC_SIZEOF_VOID_P, $ac_cv_sizeof_void_p)
+AC_CHECK_TYPES(long long)
+AC_CHECK_TYPES(long double)
+
+# Function to check if compiler flag works
+# Usage: SILC_ADD_CFLAGS(FLAGS, [ACTION-IF-FAILED])
+AC_DEFUN([SILC_ADD_CFLAGS],
+[ tmp_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $1"
+ AC_MSG_CHECKING(whether $CC accepts $1 flag)
+ AC_TRY_LINK([], [], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)
+ CFLAGS="$tmp_CFLAGS"
+ $2])
+ unset tmp_CFLAGS
+])
+
+# Function to check if compiler flag works, destination specifiable
+# Usage: SILC_ADD_CC_FLAGS(VAR, FLAGS, [ACTION-IF-FAILED])
+AC_DEFUN([SILC_ADD_CC_FLAGS],
+[ tmp_CFLAGS="$1_CFLAGS"
+ $1_CFLAGS="${$1_CFLAGS} $2"
+ AC_MSG_CHECKING(whether $CC accepts $2 flag)
+ AC_TRY_LINK([], [], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)
+ $1_CFLAGS="$tmp_CFLAGS"
+ $3])
+ unset tmp_CFLAGS
+])
# Function and library checking
#
AC_CHECK_FUNCS(setrlimit time ctime utime gettimeofday getrusage)
AC_CHECK_FUNCS(chmod fcntl stat fstat getenv putenv strerror)
AC_CHECK_FUNCS(getpid getgid getsid getpgid getpgrp getuid)
-AC_CHECK_FUNCS(setgroups initgroups nl_langinfo)
-AC_CHECK_FUNCS(strchr strstr strcpy strncpy memcpy memset memmove)
+AC_CHECK_FUNCS(setgroups initgroups nl_langinfo nanosleep tzset)
+AC_CHECK_FUNCS(strchr snprintf strstr strcpy strncpy memcpy memset memmove)
#ifdef SILC_DIST_SIM
# SIM support checking
[ --disable-asm do not use assembler optimizations],
[
AC_MSG_RESULT(no)
+ AC_DEFINE([SILC_NO_ASM], [], [SILC_NO_ASM])
want_asm=false
],
[
AC_MSG_RESULT(yes)
want_asm=true
])
+AM_CONDITIONAL(SILC_NO_ASM, test x$want_asm = xfalse)
+
+# Check for assembler
+#
+SILC_ASSEMBLER=""
+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"
+ have_assembler=true
+ fi
+
+ AC_PATH_PROG([YASM], [yasm], [no])
+ if test "x$YASM" != "xno"; then
+ SILC_ASSEMBLER="$YASM -Xgnu -felf"
+ have_assembler=true
+ fi
+fi
+AC_SUBST(SILC_ASSEMBLER)
##
## va_copy checks
## Compiler and compiler flag checks
##
-# Function to check if compiler flag works
-# Usage: SILC_ADD_CFLAGS(FLAGS, [ACTION-IF-FAILED])
-AC_DEFUN([SILC_ADD_CFLAGS],
-[ tmp_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $1"
- AC_MSG_CHECKING(whether $CC accepts $1 flag)
- AC_TRY_LINK([], [], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)
- CFLAGS="$tmp_CFLAGS"
- $2])
- unset tmp_CFLAGS
-])
-
-# Function to check if compiler flag works, destination specifiable
-# Usage: SILC_ADD_CC_FLAGS(VAR, FLAGS, [ACTION-IF-FAILED])
-AC_DEFUN([SILC_ADD_CC_FLAGS],
-[ tmp_CFLAGS="$1_CFLAGS"
- $1_CFLAGS="${$1_CFLAGS} $2"
- AC_MSG_CHECKING(whether $CC accepts $2 flag)
- AC_TRY_LINK([], [], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)
- $1_CFLAGS="$tmp_CFLAGS"
- $3])
- unset tmp_CFLAGS
-])
-
if test "$GCC"; then
# GCC specific options
if test "x$summary_debug" = "xyes"; then
;;
esac
+ # Check for threads
AC_CHECK_FUNC(pthread_create)
+
+ # Check for read/write locks
+ AC_CHECK_FUNC(pthread_rwlock_init,
+ [
+ AC_RUN_IFELSE(
+ [
+ #include <pthread.h>
+ int main()
+ {
+ pthread_rwlock_t rwlock;
+ pthread_rwlock_init(&rwlock, NULL);
+ pthread_rwlock_destroy(&rwlock);
+ return 0;
+ }
+ ],
+ [],
+ [
+ # Rwlock not defined
+ CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600"
+ ]
+ )
+ ],
+ [
+ # Rwlock not defined
+ CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600"
+ ])
+
AC_DEFINE([SILC_HAVE_PTHREAD], [], [HAVE_PTHREAD])
AC_DEFINE([SILC_THREADS], [], [HAVE_THREAD])
__SILC_HAVE_PTHREAD="#define __SILC_HAVE_PTHREAD 1"
])
AM_CONDITIONAL(SILC_WIN32, test x$win32_support = xtrue)
-# Native EPOC support (disabled by default)
+# Native Symbian OS support (disabled by default)
#
-AM_CONDITIONAL(SILC_EPOC, test xfalse = xtrue)
+AM_CONDITIONAL(SILC_SYMBIAN, test xfalse = xtrue)
# Native BeOS support (disabled by default)
#
#
AM_CONDITIONAL(SILC_OS2, test xfalse = xtrue)
-#ifdef SILC_DIST_TOOLKIT
-# --with-irssi
-#
-without_irssi=true
-AC_MSG_CHECKING(whether to compile Irssi SILC Client)
-AC_ARG_WITH(irssi,
- [ --with-irssi compile with Irssi SILC Client],
- [
- AC_MSG_RESULT(yes)
- without_irssi=false
- ],
- [
- AC_MSG_RESULT(no)
- without_irssi=true
- ])
-AM_CONDITIONAL(with_irssi, test xwithout_irssi = xfalse)
-
-# --with-silcd
-#
-without_silcd=true
-AC_MSG_CHECKING(whether to compile SILC Server)
-AC_ARG_WITH(silcd,
- [ --with-silcd compile with SILC Server],
- [
- AC_MSG_RESULT(yes)
- without_silcd=false
- ],
- [
- AC_MSG_RESULT(no)
- without_silcd=true
- ])
-#endif SILC_DIST_TOOLKIT
+#ifdef SILC_DIST_SERVER
+without_silcd=false
+#endif SILC_DIST_SERVER
+#ifdef SILC_DIST_CLIENT
+AM_CONDITIONAL(with_irssi, true)
+#endif SILC_DIST_CLIENT
#ifdef SILC_DIST_INPLACE
without_irssi=false
without_silcd=false
#endif SILC_DIST_INCLUDES
echo ""
-#ifdef SILC_DIST_TOOLKIT
+#ifdef SILC_DIST_CLIENT
if test x$without_irssi = xtrue; then
irssi="no"
fi
-if test x$without_silcd = xtrue; then
- silcd="no"
-fi
-#endif SILC_DIST_TOOLKIT
-
-#ifdef SILC_DIST_CLIENT
echo " Compile SILC Client ...........: $irssi"
#endif SILC_DIST_CLIENT
#ifdef SILC_DIST_SERVER
+if test x$without_silcd = xtrue; then
+ silcd="no"
+fi
echo " Compile SILC Server ...........: $silcd"
#endif SILC_DIST_SERVER