Added SILC Thread Queue API
[silc.git] / lib / silccrypt / configure.ad
index b9ccd4dadb01ee9bc548c765c4514dcd7f2d3bba..01434b039b8a890702cbd3a37b1763bf165e13e4 100644 (file)
@@ -1,9 +1,10 @@
+#ifdef SILC_DIST_CRYPTO
 #
 #  lib/silccrypt/configure.ad
 #
 #  Author: Pekka Riikonen <priikone@silcnet.org>
 #
-#  Copyright (C) 2006 Pekka Riikonen
+#  Copyright (C) 2006 - 2007 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
@@ -21,27 +22,35 @@ AC_MSG_NOTICE([configuring crypto library])
 SILC_CRYPTO_CFLAGS=
 
 aes_asm=false
+
 case "$host_cpu" in
   i?86)
-    if test x$have_assembler = xtrue; then
-      aes_asm=true
-      AC_DEFINE([SILC_AES_ASM], [], [SILC_AES_ASM])
+    AC_DEFINE([SILC_SHA256_X86], [], [SILC_SHA256_X86])
+
+    if test "${pic_mode:-default}" != "yes" ; then
+      # Don't enable ASM AES with shared libs as the code doesn't support PIC.
+      if test x$have_assembler = xtrue -a "$enable_shared" != "yes"; then
+        aes_asm=true
+        AC_DEFINE([SILC_AES_ASM], [], [SILC_AES_ASM])
+      fi
     fi
     ;;
   x86_64)
-    if test x$have_assembler = xtrue; then
-      aes_asm=true
-      AC_DEFINE([SILC_AES_ASM], [], [SILC_AES_ASM])
+
+    if test "${pic_mode:-default}" != "yes" ; then
+      if test x$have_assembler = xtrue -a "$enable_shared" != "yes"; then
+        aes_asm=true
+        AC_DEFINE([SILC_AES_ASM], [], [SILC_AES_ASM])
+      fi
     fi
     ;;
   default)
     aes_asm=false
     ;;
 esac
-AM_CONDITIONAL(SILC_AES_ASM, test x$aes_asm = xtrue)
 
 SILC_ADD_CC_FLAGS(SILC_CRYPTO, -fno-regmove)
-if test x$summary_debug = xno; then
+if test x$summary_debug = xno -a x$want_cc_optimizations = xtrue; then
   SILC_ADD_CC_FLAGS(SILC_CRYPTO, -fomit-frame-pointer -O3)
 fi
 
@@ -55,3 +64,8 @@ lib/silccrypt/tests/Makefile
 )
 
 fi     # compile_libs
+
+# AM_CONDITIONAL is so bad that it itself cannot be defined in conditional
+AM_CONDITIONAL(SILC_AES_ASM, test x$aes_asm = xtrue)
+
+#endif SILC_DIST_CRYPTO