OSSP CVS Repository

ossp - Check-in [5221]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 5221
Date: 2005-Oct-03 10:43:03 (local)
2005-Oct-03 08:43:03 (UTC)
User:rse
Branch:
Comment: o Upgraded build environment to GNU autoconf 2.59, GNU libtool 1.5.20 and GNU shtool 2.0.3

o Provide Autoconf check (AC_CHECK_VA_COPY) for va_copy(d,s) macro and fallback implementations and now that we can be sure that va_copy() exists for us, use it in var_formatv() and ts.c instead of the direct assignments (which are not sufficiently portable).

o Adjusted copyright messages for year 2005.

Tickets:
Inspections:
Files:
ossp-pkg/al/AUTHORS      1.1 -> 1.2     1 inserted, 1 deleted
ossp-pkg/al/ChangeLog      1.4 -> 1.5     21 inserted, 0 deleted
ossp-pkg/al/Makefile.in      1.3 -> 1.4     4 inserted, 4 deleted
ossp-pkg/al/README      1.5 -> 1.6     4 inserted, 4 deleted
ossp-pkg/al/aclocal.m4      1.2 -> 1.3     113 inserted, 4 deleted
ossp-pkg/al/al-config.in      1.3 -> 1.4     4 inserted, 4 deleted
ossp-pkg/al/al.c      1.4 -> 1.5     4 inserted, 4 deleted
ossp-pkg/al/al.h      1.3 -> 1.4     4 inserted, 4 deleted
ossp-pkg/al/al.pod      1.4 -> 1.5     6 inserted, 6 deleted
ossp-pkg/al/configure.ac      1.4 -> 1.5     4 inserted, 4 deleted
ossp-pkg/al/devtool.conf      1.7 -> 1.8     3 inserted, 3 deleted
ossp-pkg/al/devtool.func      1.1 -> 1.2     1 inserted, 1 deleted
ossp-pkg/al/list.h      1.2 -> 1.3     4 inserted, 4 deleted
ossp-pkg/al/ts.c      1.2 -> 1.3     7 inserted, 7 deleted
ossp-pkg/al/ts.h      1.1 -> 1.2     3 inserted, 3 deleted

ossp-pkg/al/AUTHORS 1.1 -> 1.2

--- AUTHORS      2002/12/16 12:24:51     1.1
+++ AUTHORS      2005/10/03 08:43:03     1.2
@@ -11,5 +11,5 @@
   This is a list of authors who have written
   or edited major parts of the OSSP al sources.
 
-  Michael van Elst      <mlelstv@dev.de.cw.net>
+  Michael van Elst      <mlelstv@serpens.de>
 


ossp-pkg/al/ChangeLog 1.4 -> 1.5

--- ChangeLog    2003/01/06 13:49:24     1.4
+++ ChangeLog    2005/10/03 08:43:03     1.5
@@ -11,13 +11,34 @@
   This is a list of all changes to OSSP al.
   For a more brief summary please have a look at the NEWS file.
 
+  Changes between 0.9.1 and 0.9.2 (16-Dec-2002 to 02-Oct-2005)
+
+   o Upgraded build environment to GNU autoconf 2.59,
+     GNU libtool 1.5.20 and GNU shtool 2.0.3
+     [Ralf S. Engelschall <rse@engelschall.com>]
+
+   o Provide Autoconf check (AC_CHECK_VA_COPY) for va_copy(d,s) macro
+     and fallback implementations and now that we can be sure that
+     va_copy() exists for us, use it in var_formatv() and ts.c instead
+     of the direct assignments (which are not sufficiently portable).
+     [Ralf S. Engelschall <rse@engelschall.com>]
+
+   o Adjusted copyright messages for year 2005.
+     [Ralf S. Engelschall <rse@engelschall.com>]
+
   Changes between 0.9.0 and 0.9.1 (16-Dec-2002 to 16-Dec-2002)
 
    o Adjusted copyright messages for new year 2003.
+     [Ralf S. Engelschall <rse@engelschall.com>]
 
    o Fixed ex support in al_test
+     [Ralf S. Engelschall <rse@engelschall.com>]
 
    o Proper inclusion of autoconf headers
+     [Ralf S. Engelschall <rse@engelschall.com>]
 
   Initial release 0.9.0 (16-Dec-2002)
+   
+   o *GENESIS*
+     [Michael van Elst <mlelstv@serpens.de>]
 


ossp-pkg/al/Makefile.in 1.3 -> 1.4

--- Makefile.in  2003/01/06 13:49:24     1.3
+++ Makefile.in  2005/10/03 08:43:03     1.4
@@ -1,9 +1,9 @@
 ##
 ##  OSSP al - Assembly Line
-##  Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
-##  Copyright (c) 2002-2003 The OSSP Project <http://www.ossp.org/>
-##  Copyright (c) 2002-2003 Cable & Wireless Deutschland <http://www.cw.com/de/>
-##  Copyright (c) 2002-2003 Michael van Elst <mlelstv@dev.de.cw.net>
+##  Copyright (c) 2002-2005 Ralf S. Engelschall <rse@engelschall.com>
+##  Copyright (c) 2002-2005 The OSSP Project <http://www.ossp.org/>
+##  Copyright (c) 2002-2005 Cable & Wireless <http://www.cw.com/>
+##  Copyright (c) 2002-2005 Michael van Elst <mlelstv@serpens.de>
 ##
 ##  This file is part of OSSP al, an abstract datatype of a data buffer
 ##  that can assemble, move and truncate data but avoids actual copying


ossp-pkg/al/README 1.5 -> 1.6

--- README       2003/01/06 13:49:24     1.5
+++ README       2005/10/03 08:43:03     1.6
@@ -19,10 +19,10 @@
 
   COPYRIGHT AND LICENSE
 
-  Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
-  Copyright (c) 2002-2003 The OSSP Project <http://www.ossp.org/>
-  Copyright (c) 2002-2003 Cable & Wireless Deutschland <http://www.cw.com/de/>
-  Copyright (c) 2002-2003 Michael van Elst <mlelstv@dev.de.cw.net>
+  Copyright (c) 2002-2005 Ralf S. Engelschall <rse@engelschall.com>
+  Copyright (c) 2002-2005 The OSSP Project <http://www.ossp.org/>
+  Copyright (c) 2002-2005 Cable & Wireless <http://www.cw.com/>
+  Copyright (c) 2002-2005 Michael van Elst <mlelstv@serpens.de>
 
   This file is part of OSSP al, an abstract data type of a data buffer
   that can assemble, move and truncate data but avoids actual copying.


ossp-pkg/al/aclocal.m4 1.2 -> 1.3

--- aclocal.m4   2003/01/06 13:49:24     1.2
+++ aclocal.m4   2005/10/03 08:43:03     1.3
@@ -1,9 +1,9 @@
 dnl ##
 dnl ##  al - OSSP Assembly Line
-dnl ##  Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
-dnl ##  Copyright (c) 2002-2003 The OSSP Project <http://www.ossp.org/>
-dnl ##  Copyright (c) 2002-2003 Cable & Wireless Deutschland <http://www.cw.com/de/>
-dnl ##  Copyright (c) 2002-2003 Michael van Elst <mlelstv@dev.de.cw.net>
+dnl ##  Copyright (c) 2002-2005 Ralf S. Engelschall <rse@engelschall.com>
+dnl ##  Copyright (c) 2002-2005 The OSSP Project <http://www.ossp.org/>
+dnl ##  Copyright (c) 2002-2005 Cable & Wireless <http://www.cw.com/>
+dnl ##  Copyright (c) 2002-2005 Michael van Elst <mlelstv@serpens.de>
 dnl ##
 dnl ##  This file is part of OSSP al, an abstract datatype of a data buffer
 dnl ##  that can assemble, move and truncate data but avoids actual copying.
@@ -227,3 +227,112 @@
 AC_MSG_RESULT([$with_$2])
 ])dnl
 
+dnl ##
+dnl ##  Check for C99 va_copy() implementation
+dnl ##  (and provide fallback implementation if neccessary)
+dnl ##
+dnl ##  configure.in:
+dnl ##    CHECK_VA_COPY
+dnl ##  foo.c:
+dnl ##    #include "config.h"
+dnl ##    [...]
+dnl ##    va_copy(d,s)
+dnl ##
+dnl ##  This check is rather complex: first because we really have to
+dnl ##  try various possible implementations in sequence and second, we
+dnl ##  cannot define a macro in config.h with parameters directly.
+dnl ##
+
+dnl #   test program for va_copy() implementation
+changequote(<<,>>)
+m4_define(__va_copy_test, <<[
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#define DO_VA_COPY(d, s) $1
+void test(char *str, ...)
+{
+    va_list ap, ap2;
+    int i;
+    va_start(ap, str);
+    DO_VA_COPY(ap2, ap);
+    for (i = 1; i <= 9; i++) {
+        int k = (int)va_arg(ap, int);
+        if (k != i)
+            abort();
+    }
+    DO_VA_COPY(ap, ap2);
+    for (i = 1; i <= 9; i++) {
+        int k = (int)va_arg(ap, int);
+        if (k != i)
+            abort();
+    }
+    va_end(ap);
+}
+int main(int argc, char *argv[])
+{
+    test("test", 1, 2, 3, 4, 5, 6, 7, 8, 9);
+    exit(0);
+}
+]>>)
+changequote([,])
+
+dnl #   test driver for va_copy() implementation
+m4_define(__va_copy_check, [
+    AH_VERBATIM($1,
+[/* Predefined possible va_copy() implementation (id: $1) */
+#define __VA_COPY_USE_$1(d, s) $2])
+    if test ".$ac_cv_va_copy" = .; then
+        AC_TRY_RUN(__va_copy_test($2), [ac_cv_va_copy="$1"])
+    fi
+])
+
+dnl #   Autoconf check for va_copy() implementation checking
+AC_DEFUN(CHECK_VA_COPY,[
+  dnl #   provide Autoconf display check message
+  AC_MSG_CHECKING(for va_copy() function)
+  dnl #   check for various implementations in priorized sequence   
+  AC_CACHE_VAL(ac_cv_va_copy, [
+    ac_cv_va_copy=""
+    dnl #   1. check for standardized C99 macro
+    __va_copy_check(C99, [va_copy((d), (s))])
+    dnl #   2. check for alternative/deprecated GCC macro
+    __va_copy_check(GCM, [VA_COPY((d), (s))])
+    dnl #   3. check for internal GCC macro (high-level define)
+    __va_copy_check(GCH, [__va_copy((d), (s))])
+    dnl #   4. check for internal GCC macro (built-in function)
+    __va_copy_check(GCB, [__builtin_va_copy((d), (s))])
+    dnl #   5. check for assignment approach (assuming va_list is a struct)
+    __va_copy_check(ASS, [do { (d) = (s); } while (0)])
+    dnl #   6. check for assignment approach (assuming va_list is a pointer)
+    __va_copy_check(ASP, [do { *(d) = *(s); } while (0)])
+    dnl #   7. check for memory copying approach (assuming va_list is a struct)
+    __va_copy_check(CPS, [memcpy((void *)&(d), (void *)&(s)), sizeof((s))])
+    dnl #   8. check for memory copying approach (assuming va_list is a pointer)
+    __va_copy_check(CPP, [memcpy((void *)(d), (void *)(s)), sizeof(*(s))])
+    if test ".$ac_cv_va_copy" = .; then
+        AC_ERROR([no working implementation found])
+    fi
+  ])
+  dnl #   optionally activate the fallback implementation
+  if test ".$ac_cv_va_copy" = ".C99"; then
+      AC_DEFINE(HAVE_VA_COPY, 1, [Define if va_copy() macro exists (and no fallback implementation is required)])
+  fi
+  dnl #   declare which fallback implementation to actually use
+  AC_DEFINE_UNQUOTED([__VA_COPY_USE], [__VA_COPY_USE_$ac_cv_va_copy],
+      [Define to id of used va_copy() implementation])
+  dnl #   provide activation hook for fallback implementation
+  AH_VERBATIM([__VA_COPY_ACTIVATION],
+[/* Optional va_copy() implementation activation */
+#ifndef HAVE_VA_COPY
+#define va_copy(d, s) __VA_COPY_USE(d, s)
+#endif
+])
+  dnl #   provide Autoconf display result message
+  if test ".$ac_cv_va_copy" = ".C99"; then
+      AC_MSG_RESULT([yes])
+  else
+      AC_MSG_RESULT([no (using fallback implementation)])
+  fi
+])
+


ossp-pkg/al/al-config.in 1.3 -> 1.4

--- al-config.in 2003/01/06 13:49:24     1.3
+++ al-config.in 2005/10/03 08:43:03     1.4
@@ -1,10 +1,10 @@
 #!/bin/sh
 ##
 ##  OSSP al - Assembly Line
-##  Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
-##  Copyright (c) 2002-2003 The OSSP Project <http://www.ossp.org/>
-##  Copyright (c) 2002-2003 Cable & Wireless Deutschland <http://www.cw.com/de/>
-##  Copyright (c) 2002-2003 Michael van Elst <mlelstv@dev.de.cw.net>
+##  Copyright (c) 2002-2005 Ralf S. Engelschall <rse@engelschall.com>
+##  Copyright (c) 2002-2005 The OSSP Project <http://www.ossp.org/>
+##  Copyright (c) 2002-2005 Cable & Wireless <http://www.cw.com/>
+##  Copyright (c) 2002-2005 Michael van Elst <mlelstv@serpens.de>
 ##
 ##  This file is part of OSSP al, an abstract datatype of a data buffer
 ##  that can assemble, move and truncate data but avoids actual copying


ossp-pkg/al/al.c 1.4 -> 1.5

--- al.c 2003/01/06 13:49:24     1.4
+++ al.c 2005/10/03 08:43:03     1.5
@@ -1,9 +1,9 @@
 /*
 **  OSSP al -- Assembly Line
-**  Copyright (c) 2002-2003 The OSSP Project <http://www.ossp.org/>
-**  Copyright (c) 2002-2003 Cable & Wireless Deutschland <http://www.cw.com/de/>
-**  Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
-**  Copyright (c) 2002-2003 Michael van Elst <mlelstv@dev.de.cw.net>
+**  Copyright (c) 2002-2005 The OSSP Project <http://www.ossp.org/>
+**  Copyright (c) 2002-2005 Cable & Wireless <http://www.cw.com/>
+**  Copyright (c) 2002-2005 Ralf S. Engelschall <rse@engelschall.com>
+**  Copyright (c) 2002-2005 Michael van Elst <mlelstv@serpens.de>
 **
 **  This file is part of OSSP al, an abstract datatype of a data buffer
 **  that can assemble, move and truncate data but avoids actual copying


ossp-pkg/al/al.h 1.3 -> 1.4

--- al.h 2003/01/06 13:49:24     1.3
+++ al.h 2005/10/03 08:43:03     1.4
@@ -1,9 +1,9 @@
 /*
 **  OSSP al -- Assembly Line
-**  Copyright (c) 2002-2003 The OSSP Project <http://www.ossp.org/>
-**  Copyright (c) 2002-2003 Cable & Wireless Deutschland <http://www.cw.com/de/>
-**  Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
-**  Copyright (c) 2002-2003 Michael van Elst <mlelstv@dev.de.cw.net>
+**  Copyright (c) 2002-2005 The OSSP Project <http://www.ossp.org/>
+**  Copyright (c) 2002-2005 Cable & Wireless <http://www.cw.com/>
+**  Copyright (c) 2002-2005 Ralf S. Engelschall <rse@engelschall.com>
+**  Copyright (c) 2002-2005 Michael van Elst <mlelstv@serpens.de>
 **
 **  This file is part of OSSP al, an abstract datatype of a data buffer
 **  that can assemble, move and truncate data but avoids actual copying


ossp-pkg/al/al.pod 1.4 -> 1.5

--- al.pod       2003/01/06 13:49:24     1.4
+++ al.pod       2005/10/03 08:43:03     1.5
@@ -1,9 +1,9 @@
 ##
 ##  OSSP al - Assembly Line
-##  Copyright (c) 2002-2003 The OSSP Project <http://www.ossp.org/>
-##  Copyright (c) 2002-2003 Cable & Wireless Deutschland <http://www.cw.com/de/>
-##  Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
-##  Copyright (c) 2002-2003 Michael van Elst <mlelstv@dev.de.cw.net>
+##  Copyright (c) 2002-2005 The OSSP Project <http://www.ossp.org/>
+##  Copyright (c) 2002-2005 Cable & Wireless <http://www.cw.com/>
+##  Copyright (c) 2002-2005 Ralf S. Engelschall <rse@engelschall.com>
+##  Copyright (c) 2002-2005 Michael van Elst <mlelstv@serpens.de>
 ##
 ##  This file is part of OSSP al, an abstract datatype of a data buffer
 ##  that can assemble, move and truncate data but avoids actual copying
@@ -461,14 +461,14 @@
 =head1 HISTORY
 
 B<OSSP al> was invented in October 2002 by Michael van Elst
-E<lt>mlelstv@dev.de.cw.netE<gt> under contract with Cable & Wireless
+E<lt>mlelstv@serpens.deE<gt> under contract with Cable & Wireless
 Germany E<lt>http://www.cw.com/deE<gt> for use inside the OSSP project
 E<lt>http://www.ossp.org/E<gt>.
 
 =head1 AUTHORS
 
  Michael van Elst
- mlelstv@dev.de.cw.net
+ mlelstv@serpens.de
 
 =cut
 


ossp-pkg/al/configure.ac 1.4 -> 1.5

--- configure.ac 2003/01/06 13:49:25     1.4
+++ configure.ac 2005/10/03 08:43:04     1.5
@@ -1,9 +1,9 @@
 dnl ##
 dnl ##  OSSP al - Assembly Line
-dnl ##  Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
-dnl ##  Copyright (c) 2002-2003 The OSSP Project <http://www.ossp.org/>
-dnl ##  Copyright (c) 2002-2003 Cable & Wireless Deutschland <http://www.cw.com/de/>
-dnl ##  Copyright (c) 2002-2003 Michael van Elst <mlelstv@dev.de.cw.net>
+dnl ##  Copyright (c) 2002-2005 Ralf S. Engelschall <rse@engelschall.com>
+dnl ##  Copyright (c) 2002-2005 The OSSP Project <http://www.ossp.org/>
+dnl ##  Copyright (c) 2002-2005 Cable & Wireless <http://www.cw.com/>
+dnl ##  Copyright (c) 2002-2005 Michael van Elst <mlelstv@serpens.de>
 dnl ##
 dnl ##  This file is part of OSSP al, an abstract datatype of a data buffer
 dnl ##  that can assemble, move and truncate data but avoids actual copying


ossp-pkg/al/devtool.conf 1.7 -> 1.8

--- devtool.conf 2003/06/30 10:36:53     1.7
+++ devtool.conf 2005/10/03 08:43:04     1.8
@@ -3,9 +3,9 @@
 ##
 
 %autogen
-    @autogen shtool   1.6.2 "1.6.*" all
-    @autogen libtool  1.5   "1.5*"
-    @autogen autoconf 2.57  "2.5[3-9]*"
+    @autogen shtool   2.0.3  "1.6.*" all
+    @autogen libtool  1.5.20 "1.5*"
+    @autogen autoconf 2.59   "2.5[3-9]*"
 
 %autoclean
     @autoclean shtool


ossp-pkg/al/devtool.func 1.1 -> 1.2

--- devtool.func 2002/12/16 12:24:52     1.1
+++ devtool.func 2005/10/03 08:43:04     1.2
@@ -1,6 +1,6 @@
 ##
 ##  devtool.func -- Development Tool Functions
-##  Copyright (c) 2001-2002 Ralf S. Engelschall <rse@engelschall.com> 
+##  Copyright (c) 2001-2005 Ralf S. Engelschall <rse@engelschall.com> 
 ##
 
 devtool_require () {


ossp-pkg/al/list.h 1.2 -> 1.3

--- list.h       2003/01/06 13:49:25     1.2
+++ list.h       2005/10/03 08:43:04     1.3
@@ -1,9 +1,9 @@
 /*
 **  OSSP al -- Assembly Line
-**  Copyright (c) 2002-2003 The OSSP Project <http://www.ossp.org/>
-**  Copyright (c) 2002-2003 Cable & Wireless Deutschland <http://www.cw.com/de/>
-**  Copyright (c) 2002-2003 Ralf S. Engelschall <rse@engelschall.com>
-**  Copyright (c) 2002-2003 Michael van Elst <mlelstv@dev.de.cw.net>
+**  Copyright (c) 2002-2005 The OSSP Project <http://www.ossp.org/>
+**  Copyright (c) 2002-2005 Cable & Wireless <http://www.cw.com/>
+**  Copyright (c) 2002-2005 Ralf S. Engelschall <rse@engelschall.com>
+**  Copyright (c) 2002-2005 Michael van Elst <mlelstv@serpens.de>
 **
 **  This file is part of OSSP al, an abstract datatype of a data buffer
 **  that can assemble, move and truncate data but avoids actual copying.


ossp-pkg/al/ts.c 1.2 -> 1.3

--- ts.c 2003/02/06 13:43:47     1.2
+++ ts.c 2005/10/03 08:43:04     1.3
@@ -1,11 +1,11 @@
 /*
-**  TS - OSSP Test Suite Library
-**  Copyright (c) 2001-2002 Ralf S. Engelschall <rse@engelschall.com>
-**  Copyright (c) 2001-2002 The OSSP Project <http://www.ossp.org/>
-**  Copyright (c) 2001-2002 Cable & Wireless Deutschland <http://www.cw.com/de/>
+**  OSSP ts - Test Suite Library
+**  Copyright (c) 2001-2005 Ralf S. Engelschall <rse@engelschall.com>
+**  Copyright (c) 2001-2005 The OSSP Project <http://www.ossp.org/>
+**  Copyright (c) 2001-2005 Cable & Wireless <http://www.cw.com/>
 **
-**  This file is part of OSSP TS, a small test suite library which
-**  can be found at http://www.ossp.org/pkg/ts/.
+**  This file is part of OSSP ts, a small test suite library which
+**  can be found at http://www.ossp.org/pkg/lib/ts/.
 **
 **  Permission to use, copy, modify, and distribute this software for
 **  any purpose with or without fee is hereby granted, provided that
@@ -206,7 +206,7 @@
 
     if (format == NULL)
         return NULL;
-    ap2 = ap;
+    va_copy(ap2, ap);
     if ((n = ts_suite_mvxprintf(NULL, 0, format, ap)) == -1)
         return NULL;
     if ((buffer = (char *)malloc(n+1)) == NULL)


ossp-pkg/al/ts.h 1.1 -> 1.2

--- ts.h 2002/12/16 12:24:52     1.1
+++ ts.h 2005/10/03 08:43:04     1.2
@@ -1,8 +1,8 @@
 /*
 **  TS - OSSP Test Suite Library
-**  Copyright (c) 2001-2002 Ralf S. Engelschall <rse@engelschall.com>
-**  Copyright (c) 2001-2002 The OSSP Project <http://www.ossp.org/>
-**  Copyright (c) 2001-2002 Cable & Wireless Deutschland <http://www.cw.com/de/>
+**  Copyright (c) 2001-2005 Ralf S. Engelschall <rse@engelschall.com>
+**  Copyright (c) 2001-2005 The OSSP Project <http://www.ossp.org/>
+**  Copyright (c) 2001-2005 Cable & Wireless <http://www.cw.com/>
 **
 **  This file is part of OSSP TS, a small test suite library which
 **  can be found at http://www.ossp.org/pkg/ts/.

CVSTrac 2.0.1