From: Pekka Riikonen Date: Fri, 15 Dec 2006 15:24:50 +0000 (+0000) Subject: updates. X-Git-Tag: silc.client.1.1.beta1~101 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=98c975037fab80ad4d4ab29ff1ad5ff9f654b8d2 updates. --- diff --git a/CHANGES b/CHANGES index f4a72343..2258bd7c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,11 @@ +Wed Dec 13 18:05:50 EET 2006 Pekka Riikonen + + * Added silc_likely and silc_unlikely macros for GCC branch + prediction optimizations. Affected file lib/silcutil/silctypes.h. + + * Added assembler AES optimization. Cleaned up the SILC Cipher + implementation API. Affected files are in lib/silccrypt/. + Tue Dec 12 18:56:14 EET 2006 Pekka Riikonen * Changed back the SILC_FSM_THREAD_WAIT operation to not diff --git a/configure.ad b/configure.ad index 4082d2fd..3322035e 100644 --- a/configure.ad +++ b/configure.ad @@ -45,24 +45,40 @@ case "$target" in 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'` @@ -120,6 +136,30 @@ 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) +# 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_FUNC(gethostbyname, [], @@ -290,12 +330,33 @@ AC_ARG_ENABLE(asm, [ --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" != xyes; then + SILC_ASSEMBLER="nasm -O2 -felf" + have_assembler=true + fi + + AC_PATH_PROG([YASM], [yasm], [no]) + if test "x$YASM" != xyes; then + SILC_ASSEMBLER="yasm -Xgnu -felf" + have_assembler=true + fi +fi +AC_SUBST(SILC_ASSEMBLER) ## ## va_copy checks @@ -404,30 +465,6 @@ fi ## 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