Added support for detecting SSE4.1, SSE4.2, SSE5. Webpage changes.
authorPekka Riikonen <priikone@silcnet.org>
Fri, 14 Mar 2008 14:22:31 +0000 (16:22 +0200)
committerPekka Riikonen <priikone@silcnet.org>
Fri, 14 Mar 2008 14:22:31 +0000 (16:22 +0200)
TODO
configure.ad
distdir/pre-dist-runtime
doc/runtime.in/building.html
doc/runtime.in/index.html.in
doc/runtime.in/manual.html.in
doc/runtime.in/platforms.html
scripts/release [new file with mode: 0644]

diff --git a/TODO b/TODO
index f6c2af46f3cbaf065a5d872c254b227ddf297c50..1aafd2f2f37b1a642ffc9e72af99eea0e90db98b 100644 (file)
--- 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
 ===============
 
index cd64788fad53aafa0e4ba010ac36c6f7f7660375..7d76b9a4c89476c0206a409366828a3bd145cfa2 100644 (file)
@@ -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)
index 8d59cd31e93b10ced01623bd095ec53aa4cfddb7..5f7c94af75fb9a8072a2ba642f98eec686410138 100644 (file)
@@ -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
index 45ee00b12b060105ff5ba6839748f6efe8d3d4fa..375f3e5b96ca8ed2e9824265866f82e86487300c 100644 (file)
@@ -18,7 +18,6 @@
   <td align="right">
    <a href="index.html">SILC Runtime Toolkit Manual</a><br />
    <a href="masterindex.html">Index</a></small></td>
-  </td>
  </tr>
 </table>
 </div>
@@ -242,7 +241,6 @@ complete building instructions.
   <td align="right">
    <a href="index.html">SILC Runtime Toolkit Manual</a><br />
    <a href="masterindex.html">Index</a></small></td>
-  </td>
  </tr>
 </table>
 </div>
index 78b870feb986dfc5737afb3e8ccc1c38db449eae..2f6f5e51daaee71dfe3f109b8df625cb8aee187f 100644 (file)
@@ -15,7 +15,6 @@
  <tr valign="top">
   <td>Copyright &copy; 2001 - 2008 SILC Project<br />
     <a href="http://silc.fi">SILC Project Website</a></td>
-  </td>
  </tr>
 </table>
 </div>
@@ -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:
 <pre>
  git clone git://git.silc.fi/runtime
- git clone http://git.silc.fi/runtime
+ git clone http://git.silc.fi/runtime.in
 </pre>
 </p>
 
@@ -79,7 +78,6 @@ To clone SRT repository give one of the following commands:
  <tr valign="top">
   <td>Copyright &copy; 2001 - 2008 SILC Project<br />
     <a href="http://silc.fi">SILC Project Website</a></td>
-  </td>
  </tr>
 </table>
 </div>
index 7d6f4f4562d81897993a8ea490ae1e823e936dff..7c6321ec6f97bbe6a6981b10e790e5ff966b64c3 100644 (file)
@@ -18,7 +18,6 @@
   <td align="right">
    <a href="index.html">SILC Runtime Toolkit Manual</a><br />
    <a href="masterindex.html">Index</a></small></td>
-  </td>
  </tr>
 </table>
 </div>
@@ -34,9 +33,9 @@ Copyright &copy; 1997 - 2008 The SILC Project<br />
 Updated: @DATE@
 </p>
 <p>
-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.</p>
 <p>
 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.
   <td align="right">
    <a href="index.html">SILC Runtime Toolkit Manual</a><br />
    <a href="masterindex.html">Index</a></small></td>
-  </td>
  </tr>
 </table>
 </div>
index 4e352410e70683f717a9488d9bb248ab329e424e..de0dcaadd88be2fb5e97ba55dbbd29971d24c478 100644 (file)
@@ -18,7 +18,6 @@
   <td align="right">
    <a href="index.html">SILC Runtime Toolkit Manual</a><br />
    <a href="masterindex.html">Index</a></small></td>
-  </td>
  </tr>
 </table>
 </div>
@@ -31,9 +30,9 @@
 <big><b>Platform Implementations</b></big>
 
 <br />&nbsp;<br />
-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.
 <br />
 
@@ -63,8 +62,8 @@ implementation issues with current version of Toolkit.
 <b><a name="windows"></a>Windows Implementation</b>
 
 <br />&nbsp;<br />
-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.
 
 <br />&nbsp;<br />
@@ -85,29 +84,29 @@ implementation issues with current version of Toolkit.
 <b><a name="symbian"></a>Symbian OS Implementation</b>
 
 <br />&nbsp;<br />
-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.
 
 <ul>
-<li>The function <tt>silc_schedule</tt> on Symbian will allocate new Active 
-Scheduler Waiter and will block the calling thread.  The caller should 
+<li>The function <tt>silc_schedule</tt> on Symbian will allocate new Active
+Scheduler Waiter and will block the calling thread.  The caller should
 allocate Active Scheduler before calling <tt>silc_schedule</tt>.
 
-<li>When adding timeout tasks to SILC Scheduler the SILC Scheduler is woken 
-up after the timeout task has been added.  This allows adding of the 
-timeout tasks from Symbian active objects outside the SILC Scheduler loop.  
+<li>When adding timeout tasks to SILC Scheduler the SILC Scheduler is woken
+up after the timeout task has been added.  This allows adding of the
+timeout tasks from Symbian active objects outside the SILC Scheduler loop.
 On other platforms this wakeup operation is not performed.
 
-<li>Adding fd task to SILC Scheduler will not schedule the fd for any 
-operation.  Instead, programmer should use SILC Socket Stream API and SILC 
-Fd Stream API on Symbian when dealing with file descriptors and sockets.  
-These APIs provide asynchronous notification when data is available and can 
+<li>Adding fd task to SILC Scheduler will not schedule the fd for any
+operation.  Instead, programmer should use SILC Socket Stream API and SILC
+Fd Stream API on Symbian when dealing with file descriptors and sockets.
+These APIs provide asynchronous notification when data is available and can
 be written.
 
-<li>The function <tt>silc_thread_create</tt> on Symbian will install Active 
-Scheduler and allocate Cleanup Stack for the new thread.  The created 
+<li>The function <tt>silc_thread_create</tt> on Symbian will install Active
+Scheduler and allocate Cleanup Stack for the new thread.  The created
 thread always shares heap with the parent thread.
 </ul>
 
@@ -123,11 +122,9 @@ thread always shares heap with the parent thread.
   <td align="right">
    <a href="index.html">SILC Runtime Toolkit Manual</a><br />
    <a href="masterindex.html">Index</a></small></td>
-  </td>
  </tr>
 </table>
 </div>
 
 </body>
 </html>
-
diff --git a/scripts/release b/scripts/release
new file mode 100644 (file)
index 0000000..b5ab3fb
--- /dev/null
@@ -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