X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=configure.ad;h=4082d2fd64dc6bb6b4ac7178ed12108f4a91de62;hb=da777e6ea5e77a4d14a203b74e929673a08d0a80;hp=f88c59c7ff5d9d1729d75a310aca42d0492fc582;hpb=40f8443d8d3a6577336ee66d18e04d9ac4d956bb;p=silc.git diff --git a/configure.ad b/configure.ad index f88c59c7..4082d2fd 100644 --- a/configure.ad +++ b/configure.ad @@ -3,7 +3,7 @@ # # Author: Pekka Riikonen # -# Copyright (C) 2000 - 2005 Pekka Riikonen +# Copyright (C) 2000 - 2006 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 @@ -44,6 +44,26 @@ case "$target" in ;; esac +# Get CPU +case "$host_cpu" in + i386) + AC_DEFINE([SILC_I386], [], [SILC_I386]) + AC_DEFINE([SILC_I486], [], [SILC_I486]) + ;; + i?86) + AC_DEFINE([SILC_I486], [], [SILC_I486]) + ;; + x86_64) + AC_DEFINE([SILC_X86_64], [], [SILC_X86_64]) + ;; + powerpc*) + AC_DEFINE([SILC_POWERPC], [], [SILC_POWERPC]) + ;; + ia64) + AC_DEFINE([SILC_IA64], [], [SILC_IA64]) + ;; +esac + # Control compiler optimizations CFLAGS=`echo $CFLAGS | sed 's/-O[ 0123456789s]*//g'` @@ -277,6 +297,109 @@ AC_ARG_ENABLE(asm, want_asm=true ]) +## +## va_copy checks +## +va_copy=false +AC_MSG_CHECKING(for va_copy) +AC_TRY_COMPILE( + [ + #include + #include + ], + [ + int t(int x, ...) + { + va_list va, cp; + va_start(va, x); + va_copy(cp, va); + if (va_arg(cp, int) != 0xff11) + return 1; + va_end(va); + va_end(cp); + return 0; + } + int main() + { + return t(0, 0xff11); + } + ], + [ + AC_DEFINE([HAVE_VA_COPY], [], [HAVE_VA_COPY]) + AC_MSG_RESULT(yes) + va_copy=true + ], + [ + AC_MSG_RESULT(no) + va_copy=false + ] +) + +if test x$va_copy = xfalse; then + AC_MSG_CHECKING(for __va_copy) + AC_TRY_COMPILE( + [ + #include + #include + ], + [ + int t(int x, ...) + { + va_list va, cp; + va_start(va, x); + __va_copy(cp, va); + if (va_arg(cp, int) != 0xff11) + return 1; + va_end(va); + va_end(cp); + return 0; + } + int main() + { + return t(0, 0xff11); + } + ], + [ + AC_DEFINE([HAVE___VA_COPY], [], [HAVE___VA_COPY]) + AC_MSG_RESULT(yes) + va_copy=true + ], + [ + AC_MSG_RESULT(no) + va_copy=false + ] + ) +fi + +if test x$va_copy = xfalse; then + AC_RUN_IFELSE( + [ + #include + #include + int t(int x, ...) + { + va_list va, cp; + va_start(va, x); + cp = va; + if (va_arg(cp, int) != 0xff11) + return 1; + va_end(va); + va_end(cp); + return 0; + } + int main() + { + return t(0, 0xff11); + } + ], + [va_copy=false], + [ + AC_DEFINE([SILC_VA_COPY_ARRAY], [], [SILC_VA_COPY_ARRAY]) + ], + [va=copy=false] + ) +fi + ## ## Compiler and compiler flag checks ## @@ -1026,6 +1149,9 @@ AC_ARG_WITH(silcd, without_silcd=true ]) #endif SILC_DIST_TOOLKIT +#ifdef SILC_DIST_CLIENT +AM_CONDITIONAL(with_irssi, true) +#endif SILC_DIST_CLIENT #ifdef SILC_DIST_INPLACE without_irssi=false without_silcd=false