From: Pekka Riikonen Date: Fri, 14 Mar 2008 14:22:31 +0000 (+0200) Subject: Added support for detecting SSE4.1, SSE4.2, SSE5. Webpage changes. X-Git-Tag: 1.2.beta3~4 X-Git-Url: http://git.silcnet.org/gitweb/?p=runtime.git;a=commitdiff_plain;h=6adfa4f35f0876208cac893c6818254dff85cd90 Added support for detecting SSE4.1, SSE4.2, SSE5. Webpage changes. --- diff --git a/TODO b/TODO index f6c2af46..1aafd2f2 100644 --- a/TODO +++ b/TODO @@ -11,39 +11,12 @@ on some of the TODO entries simply let us know about it by dropping a note to silc-devel mailing list or appear on 'silc' channel on SILCNet. -General -======= - - o Create apps/tutorial containing various Toolkit API tutorials. - - o The Toolkit split. The Toolkit is to be splitted in parts. How many - parts and what the parts are isn't decided yet. Each part is a separate - software package. Current thinking is of the following: - - SILC Toolkit SILC protocol, client and server library - SILC Runtime Toolkit runtime library - SILC Crypto Toolkit crypto, asn1, math, skr, pgp, etc. - - The rationale for this is of course that other than SILC projects - might like to use the various libraries SILC Toolkit provides, but - naturally they don't want the bloat of SILC protocol related stuff. - - The Runtime library in SILC Toolkit is a general purpose runtime library, - like Glib and APR are. The runtime library is to be developed further - to provide alternative to Glib and APR. - - The Crypto library in SILC Toolkit is a general purpose crypto library - providing pretty nice APIs compared to many other crypto libraries, - especially OpenSSL. The Crypto library is to be developed further - to include support for OpenPGP, X.509 and SSH2. - - Runtime library, lib/silcutil/ ============================== - o Unix socket support to Socket Stream API (local socket stream). + o Add SILC Zip API, compression. - o Simple SILC Rand API for pseudo-random numbers. (***DONE) + o Unix socket support to Socket Stream API (local socket stream). o file removing, chmod, rmmod, etc. chdir, rmdir, stat, etc. to lib/silcutil/silcfileutil.h. @@ -71,6 +44,8 @@ Runtime library, lib/silcutil/ SILC currently supports SOCKS4 and SOCKS5 but it needs to be compiled in separately. + o Simple SILC Rand API for pseudo-random numbers. (***DONE) + o Add directory opening/traversing functions (***DONE, TODO Windows & Symbian) o regex from /lib/contrib to lib/silcutil, define SILC Regex API. (***DONE) @@ -151,10 +126,6 @@ Runtime library, lib/silcutil/ Add silc_stream_get_root and add get_root stream operation. It returns the root of the stream or NULL if stream doesn't have root.) maybe - (o Compression routines are missing. The protocol supports packet - compression thus it must be implemented. SILC Zip API must be - defined.) maybe - (o SilcIpAddr abstraction. Ipv4 and Ipv6 support to the abstaction.) maybe @@ -166,6 +137,19 @@ Runtime library, lib/silcutil/ rwlock implementation using atomic operations.) not for now. +SILC XML Library, lib/silcxml/ +============================== + + o SILC XML API (wrapper to expat). Look at the expat API and simplify + it. The SILC XML API should have at most 8-10 API functions. It should + be possible to create full XML parser with only one function. And, it + should be possible to have a function that is able to parse an entire + XML document. It should also have a parser function to be able to + parse a stream of XML data (SilcStream). It MUST NOT have operations + that require multiple function calls to be able to execute that one + operation (like creating parser). + + Windows Support =============== diff --git a/configure.ad b/configure.ad index cd64788f..7d76b9a4 100644 --- a/configure.ad +++ b/configure.ad @@ -149,20 +149,16 @@ case "$host_cpu" in SILC_CPU_FLAG(sse2, true, AC_DEFINE([SILC_CPU_SSE2], [], [SILC_CPU_SSE2]), []) SILC_CPU_FLAG(pni, true, AC_DEFINE([SILC_CPU_SSE3], [], [SILC_CPU_SSE3]), []) SILC_CPU_FLAG(ssse3, true, AC_DEFINE([SILC_CPU_SSSE3], [], [SILC_CPU_SSSE3]), []) - SILC_CPU_FLAG(sse4, true, AC_DEFINE([SILC_CPU_SSE4], [], [SILC_CPU_SSE4]), []) + SILC_CPU_FLAG(sse4a, true, AC_DEFINE([SILC_CPU_SSE4A], [], [SILC_CPU_SSE4A]), []) + SILC_CPU_FLAG(sse4_1, true, AC_DEFINE([SILC_CPU_SSE41], [], [SILC_CPU_SSE41]), []) + SILC_CPU_FLAG(sse4_2, true, AC_DEFINE([SILC_CPU_SSE42], [], [SILC_CPU_SSE42]), []) + SILC_CPU_FLAG(sse5, true, AC_DEFINE([SILC_CPU_SSE5], [], [SILC_CPU_SSE5]), []) ;; # Intel IA-64, 64-bit CPU (not x86_64 compatible) ia64) AC_DEFINE([SILC_IA64], [], [SILC_IA64]) cpu_ia64=true - - # Check for specific CPU features - SILC_CPU_FLAG(mmx, true, AC_DEFINE([SILC_CPU_MMX], [], [SILC_CPU_MMX]), []) - SILC_CPU_FLAG(sse2, true, AC_DEFINE([SILC_CPU_SSE2], [], [SILC_CPU_SSE2]), []) - SILC_CPU_FLAG(pni, true, AC_DEFINE([SILC_CPU_SSE3], [], [SILC_CPU_SSE3]), []) - SILC_CPU_FLAG(ssse3, true, AC_DEFINE([SILC_CPU_SSSE3], [], [SILC_CPU_SSSE3]), []) - SILC_CPU_FLAG(sse4, true, AC_DEFINE([SILC_CPU_SSE4], [], [SILC_CPU_SSE4]), []) ;; # AMD/Intel x86_64, 64-bit CPU @@ -175,7 +171,10 @@ case "$host_cpu" in SILC_CPU_FLAG(sse2, true, AC_DEFINE([SILC_CPU_SSE2], [], [SILC_CPU_SSE2]), []) SILC_CPU_FLAG(pni, true, AC_DEFINE([SILC_CPU_SSE3], [], [SILC_CPU_SSE3]), []) SILC_CPU_FLAG(ssse3, true, AC_DEFINE([SILC_CPU_SSSE3], [], [SILC_CPU_SSSE3]), []) - SILC_CPU_FLAG(sse4, true, AC_DEFINE([SILC_CPU_SSE4], [], [SILC_CPU_SSE4]), []) + SILC_CPU_FLAG(sse4a, true, AC_DEFINE([SILC_CPU_SSE4A], [], [SILC_CPU_SSE4A]), []) + SILC_CPU_FLAG(sse4_1, true, AC_DEFINE([SILC_CPU_SSE41], [], [SILC_CPU_SSE41]), []) + SILC_CPU_FLAG(sse4_2, true, AC_DEFINE([SILC_CPU_SSE42], [], [SILC_CPU_SSE42]), []) + SILC_CPU_FLAG(sse5, true, AC_DEFINE([SILC_CPU_SSE5], [], [SILC_CPU_SSE5]), []) ;; # PowerPC, 32-bit and 64-bit CPUs @@ -197,7 +196,7 @@ if test x$want_cpu_optimizations = xtrue; then # Set some compiler options based on CPU if test "x$CC" = "xicc"; then # ICC flags - if test x$x_have_cpu_sse4 = xtrue; then + if test x$x_have_cpu_sse4_1 = xtrue; then SILC_ADD_CFLAGS(-axS) fi if test x$x_have_cpu_ssse3 = xtrue; then @@ -218,7 +217,7 @@ if test x$want_cpu_optimizations = xtrue; then if test x$x_have_cpu_ssse3 = xtrue; then SILC_ADD_CFLAGS(-mssse3) fi - if test x$x_have_cpu_sse4 = xtrue; then + if test x$x_have_cpu_sse4_1 = xtrue; then SILC_ADD_CFLAGS(-msse4) fi fi @@ -435,6 +434,7 @@ AC_CHECK_FUNC(epoll_wait, # Check for va_copy va_copy=false +__SILC_VA_COPY="#define __SILC_VA_COPY(dest, src) dest = src" AC_MSG_CHECKING(for va_copy) AC_TRY_COMPILE( [ @@ -459,7 +459,7 @@ AC_TRY_COMPILE( } ], [ - AC_DEFINE([HAVE_VA_COPY], [], [HAVE_VA_COPY]) + __SILC_VA_COPY="#define __SILC_VA_COPY(dest, src) va_copy(dest, src)" AC_MSG_RESULT(yes) va_copy=true ], @@ -494,7 +494,7 @@ if test x$va_copy = xfalse; then } ], [ - AC_DEFINE([HAVE___VA_COPY], [], [HAVE___VA_COPY]) + __SILC_VA_COPY="#define __SILC_VA_COPY(dest, src) __va_copy(dest, src)" AC_MSG_RESULT(yes) va_copy=true ], @@ -529,10 +529,12 @@ if test x$va_copy = xfalse; then [va_copy=false], [ AC_DEFINE([SILC_VA_COPY_ARRAY], [], [SILC_VA_COPY_ARRAY]) + __SILC_VA_COPY="#define __SILC_VA_COPY(dest, src) memmove(dest, src, sizeof(va_list))" ], [va=copy=false] ) fi +AC_SUBST(__SILC_VA_COPY) # Check for timezone and tm_gmtoff for timezone information AC_MSG_CHECKING(whether system has timezone) diff --git a/distdir/pre-dist-runtime b/distdir/pre-dist-runtime index 8d59cd31..5f7c94af 100644 --- a/distdir/pre-dist-runtime +++ b/distdir/pre-dist-runtime @@ -13,9 +13,19 @@ fi sed -e "s/SILC_VERSION/$dist_version/" -e "s/SILC_RELEASE/$release/" \ srt.spec.in > srt.spec +# First configure with debug and stacktrace and run all tests +./configure --enable-debug --enable-stack-trace +make clean +make -j4 +make check -j4 + +# Then actual configuration and making ./configure +make clean +make -j4 +make check -j4 cd doc make toolkit-ref-html cd .. -ln -s ../../ChangeLog doc/runtime/ChangeLog +cp ChangeLog doc/runtime/ChangeLog diff --git a/doc/runtime.in/building.html b/doc/runtime.in/building.html index 45ee00b1..375f3e5b 100644 --- a/doc/runtime.in/building.html +++ b/doc/runtime.in/building.html @@ -18,7 +18,6 @@ SILC Runtime Toolkit Manual
Index - @@ -242,7 +241,6 @@ complete building instructions. SILC Runtime Toolkit Manual
Index - diff --git a/doc/runtime.in/index.html.in b/doc/runtime.in/index.html.in index 78b870fe..2f6f5e51 100644 --- a/doc/runtime.in/index.html.in +++ b/doc/runtime.in/index.html.in @@ -15,7 +15,6 @@ Copyright © 2001 - 2008 SILC Project
SILC Project Website - @@ -67,7 +66,7 @@ SRT is free software and is dual-licensed with GNU GPL and BSD licenses. To clone SRT repository give one of the following commands:
  git clone git://git.silc.fi/runtime
- git clone http://git.silc.fi/runtime
+ git clone http://git.silc.fi/runtime.in
 

@@ -79,7 +78,6 @@ To clone SRT repository give one of the following commands: Copyright © 2001 - 2008 SILC Project
SILC Project Website - diff --git a/doc/runtime.in/manual.html.in b/doc/runtime.in/manual.html.in index 7d6f4f45..7c6321ec 100644 --- a/doc/runtime.in/manual.html.in +++ b/doc/runtime.in/manual.html.in @@ -18,7 +18,6 @@ SILC Runtime Toolkit Manual
Index - @@ -34,9 +33,9 @@ Copyright © 1997 - 2008 The SILC Project
Updated: @DATE@

-Welcome to the SILC Runtime Toolkit Reference Manual. The manual is a -complete developer guide and reference for the application programmer. -The manual is intended for programmers who would like to use the SILC +Welcome to the SILC Runtime Toolkit Reference Manual. The manual is a +complete developer guide and reference for the application programmer. +The manual is intended for programmers who would like to use the SILC Runtime Toolkit as their primary runtime in their application.

The application programming interfaces are automatically generated from the @@ -112,7 +111,6 @@ of the Toolkit always delivers the latest version of this reference manual. SILC Runtime Toolkit Manual
Index - diff --git a/doc/runtime.in/platforms.html b/doc/runtime.in/platforms.html index 4e352410..de0dcaad 100644 --- a/doc/runtime.in/platforms.html +++ b/doc/runtime.in/platforms.html @@ -18,7 +18,6 @@ SILC Runtime Toolkit Manual
Index - @@ -31,9 +30,9 @@ Platform Implementations
 
-This document describes the implementation issues with different platforms -that the SILC Runtime Toolkit support. Some of the supported platforms -does not support all the features delivered with the Toolkit or they may +This document describes the implementation issues with different platforms +that the SILC Runtime Toolkit support. Some of the supported platforms +does not support all the features delivered with the Toolkit or they may behave differently from other platforms.
@@ -63,8 +62,8 @@ implementation issues with current version of Toolkit. Windows Implementation
 
-By default all features and components delivered with Toolkit are -supported on Windows. However, there are some certain issues with the +By default all features and components delivered with Toolkit are +supported on Windows. However, there are some certain issues with the Windows version of the Toolkit.
 
@@ -85,29 +84,29 @@ implementation issues with current version of Toolkit. Symbian OS Implementation
 
-Symbian OS support in Toolkit is still experimental. By default all -features and components delivered with the Toolkit are supported and -should work on Symbian. However, there are some issues with the Symbian +Symbian OS support in Toolkit is still experimental. By default all +features and components delivered with the Toolkit are supported and +should work on Symbian. However, there are some issues with the Symbian version of the Toolkit of what Symbian developers need to be aware.

@@ -123,11 +122,9 @@ thread always shares heap with the parent thread. SILC Runtime Toolkit Manual
Index - - diff --git a/scripts/release b/scripts/release new file mode 100644 index 00000000..b5ab3fb3 --- /dev/null +++ b/scripts/release @@ -0,0 +1,8 @@ +#!/bin/sh + +last="$1" +new="$2" +git tag $new +git log --no-merges $new ^$last > ChangeLog +echo "" >> ChangeLog +git diff --stat --summary -M $last $new >> ChangeLog