Re: Small patch for the QNX platform

2009-01-23 Thread Mike Gorchak

Hello, Ralf!


 This patch adds qnx as platform which supports library version
 information.

RW As far as I can see, this patch changes the versioning scheme used on
RW QNX.  This means, that potentially all libraries created with libtool
RW after this change are incompatible with all of those created before.


No, it is not changes versioning scheme, it adds support for the versioning 
under QNX. I did not found any incompatibilities with already compiled and 
installed libraries.


RW I see you supplied the last QNX-related change to Libtool, too, in
RW 2004. Can you provide information about why this change is needed now?
RW Did QNX change their versioning, or why is this necessary now?


The main problem why I added support for QNX is libdrm, which I porting to 
QNX right now, libdrm uses -version-number 2:4:0, but libtool fails on the 
following check:


# Check that each of the things are valid numbers.
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]);; *)   func_error CURRENT \`$current' must be a nonnegative integer   func_fatal_error \`$vinfo' is not valid version information   ;; esacbecause $current is empty at this point. I 
will mark an error and mycomments to the script below with  sign. case $vinfo_number in yes) if we pass -version-number option to libtool, it sets vinfo_number toyes.   number_major=$1   number_minor=$2   
number_revision=$3   #   # There are really only two kinds -- those that   # use the current revision as the major version   # and those that subtract age and use age as   # a minor version.  But, then there is irix   # which has an extra 1 added just for fun   #   case 
$version_type in   darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_revision ;;   freebsd-aout|freebsd-elf|sunos) current=$number_major 
revision=$number_minor age=0 ;;   irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor revision=$number_minor lt_irix_increment=no ;; since QNX is 
not listed platform and $version_type contains qnx, thevariables $current, $age and $revision are not set and empty at this point.So this cause a problem with $current check for the non-negative number andnon-digit characters.   esac   ;; no)   current=$1   
revision=$2   age=$3   ;; esac RW Also, we would be extremely interested in seeing testsuite (make -k RW check) output of Libtool on this system.For the first bunch of tests (103) there are 3 was failed, but they arefailed because of using gcc command line 
instead of QNX's QCC wrapper aroundGCC. QNX uses Dinkumware C++/STL library instead of using GNU stdc++, butg++ searching for the libstdc++ instead of dinkumware libcpp library. Thisproblem could be easily solved by setting CC=qcc and CXX=QCC. But it was toolate to specify qcc instead of 
gcc, because I'm using not fast computer forQNX and almost of half tests has been complete when found this error,running all these tests took a lot of time. But if you need, I could re-runall test suite with GCC wrapper for C++ without any problem :)Log attached. Looks like there are few 
problems, which are not related toC++. I will check them.With best regards, Mike Gorchak.  E-mail: m...@malva.ua

check.log
Description: Binary data


Re: Small patch for the QNX platform

2009-01-23 Thread Mike Gorchak


Something goes wrong with 0x0d/0x0a in previous letter. Sorry.

Hello, Ralf!

This patch adds qnx as platform which supports library version
 information.
  RW  As far as I can see, this patch changes the versioning scheme 
used on

 QNX.  This means, that potentially all libraries created with libtool
 after this change are incompatible with all of those created before.


No, it is not changes versioning scheme, it adds support for the versioning
under QNX. I did not found any incompatibilities with already compiled and
installed libraries.

  RW  I see you supplied the last QNX-related change to Libtool, too, 
in

 2004. Can you provide information about why this change is needed now?
 Did QNX change their versioning, or why is this necessary now?


The main problem why I added support for QNX is libdrm, which I porting to
QNX right now, libdrm uses -version-number 2:4:0, but libtool fails on the
following check:


# Check that each of the things are valid numbers.
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]);; *)   func_error CURRENT \`$current' must be a nonnegative integer   func_fatal_error \`$vinfo' is not valid version information   ;; esacbecause $current is empty at this point. I will mark an error and mycomments to 
the script below with  sign. case $vinfo_number in yes) if we pass -version-number option to libtool, it sets vinfo_number toyes.   number_major=$1   number_minor=$2   number_revision=$3   #   # There are really only two kinds -- those that   # 
use the current revision as the major version   # and those that subtract age and use age as   # a minor version.  But, then there is irix   # which has an extra 1 added just for fun   #   case $version_type in   darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result 
age=$number_minor revision=$number_revision ;;   freebsd-aout|freebsd-elf|sunos) current=$number_major revision=$number_minor age=0 ;;   irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result 
age=$number_minor revision=$number_minor lt_irix_increment=no ;; since QNX is not listed platform and $version_type contains qnx, the variables $current, $age and $revision are not set and empty at this point. So this cause a 
problem with $current check for the non-negative number and non-digit characters.   esac   ;; no)   current=$1   revision=$2   age=$3   ;; esacRW Also, we would be extremely interested in seeing testsuite (make -kRW check) output of Libtool on this system.For the 
first bunch of tests (103) there are 3 was failed, but they arefailed because of using gcc command line instead of QNX's QCC wrapper aroundGCC. QNX uses Dinkumware C++/STL library instead of using GNU stdc++, butg++ searching for the libstdc++ instead of dinkumware libcpp library. Thisproblem could be easily solved by setting 
CC=qcc and CXX=QCC. But it was toolate to specify qcc instead of gcc, because I'm using not fast computer forQNX development and almost of half tests has been completed when found thiserror, running all these tests took a lot of time. But if you need, I couldre-run all test suite with QCC wrapper for C++ without any problem 
:) Logattached. Looks like there are few problems, which are not related to C++. Iwill check them.With best regards, Mike Gorchak.  E-mail: m...@malva.ua




Re: [SCM] GNU Libtool branch, pr-msvc-support, updated. v2.2.6-83-g8c17887

2009-01-23 Thread Peter Rosin

Den 2009-01-14 09:13 skrev Peter Rosin:

  The branch, pr-msvc-support has been updated
 via  8c17887ee34e73a2aeb127b94f5b76f45dc34017 (commit)
 via  2817364bb6efd20192c46edecfe085cbb288 (commit)
 via  06cfce005204bb8ca212aadab38b38c0202ea04e (commit)
 via  fbc144008bd66848111fb8ef2d7293b33957ea1a (commit)
from  951d28316f365a0e17ae44dc076877da620f3ce8 (commit)

Ouch! This git n00b did not expect the commits on other branches to
get pushed, I'll be more careful in the future...


Pushing ChangeLog entries for those four patches as attached.

Cheers,
Peter
diff --git a/ChangeLog b/ChangeLog
index 896a250..2f0d084 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,48 @@
* tests/localization.at: Use it. Update copyright year. Fixes
the test on MSYS/MSVC.
 
+2009-01-13  Peter Rosin  p...@lysator.liu.se
+
+   * libltdl/config/ltmain.m4sh (func_mode_ar): New function
+   implementing new libtool --mode=ar.
+   (func_mode_help): Describe new ar mode.
+   * libltdl/m4/libtool.m4 (_LT_PROG_AR): Don't AC_SUBST AR_SEP
+   and AR_TFLAGS since they are no longer needed outside the
+   libtool script. Instead AC_SUBST LT_AR and LT_ARFLAGS and set
+   them so that libtool --mode=ar is invoked if the archiver is
+   strange.
+   * Makefile.am: Don't export AR_SEP to the testsuite, instead
+   export LT_AR and LT_ARFLAGS.
+   * tests/archive-in-archive.at: Use $LT_AR t  instead of
+   $AR $AR_TFLAGS$AR_SEP.
+   * doc/libtool.texi: Document new mode.
+
+2009-01-13  Peter Rosin  p...@lysator.liu.se
+
+   * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
+   [ cygwin, mingw, cegcc ] cl*: @OUTPUT@ may or may not
+   include a trailing $EXEEXT. If mt fails, make sure libtool
+   exits with an error.
+   (_LT_LANG_CXX_CONFIG): Likewise.
+   * tests/exeext.at: New. Make sure linking with both -o prog
+   and -o prog$EXEEXT works.
+   * Makefile.am: Add previous test to testsuite.
+
+2009-01-13  Peter Rosin  p...@lysator.liu.se
+
+   * doc/libtool.texi (libtool script contents): Document
+   new variables introduced by the MSVC port.
+
+2009-01-13  Peter Rosin  p...@lysator.liu.se
+
+   * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
+   [cygwin, mingw, pw32, cegcc] cl*: Indicate that reloadable
+   objects does not work.
+   * tests/duplicate_conv.at: Skip last test if reloadable
+   objects does not work.
+   * doc/libtool.texi (libtool script contents): Document how to
+   indicate that reloadable objects do not work.
+
 2008-08-18  Peter Rosin  p...@lysator.liu.se
 
* .gitignore: Ignore *.obj files for MSVC (and w32).


Re: [PATCH] Add tests for cwrapper with -std=c89 and -std=c99

2009-01-23 Thread Charles Wilson
Ralf Wildenhues wrote:
 
 Please go ahead and push with these changes.

Pushed.

--
Chuck





Re: lt_dlopenext() sets error on succesful loading the library

2009-01-23 Thread Kurt Roeckx
On Fri, Jan 02, 2009 at 12:10:38PM +0100, Kurt Roeckx wrote:
 Hi,
 
 There was an error report on the Debian bug tracking system
 that lt_dlopenext() sets an error on succesful loading the library
 if no extention was given.  See:
 http://bugs.debian.org/510006
 
 Here are the patches I've made for both the 1.5 and 2.2 branch.
 
 
 PS: Can somebody fix the example in autobook?

Can someone take a look at this?


Kurt





LT_AT_NOINST_EXEC_CHECK expands badly

2009-01-23 Thread Peter Rosin

Hi!

I looked into a failure of the MSYS/MSVC branch and found that
this line from tests/need-lib-prefix.at expands to the wrong
thing:

LT_AT_NOINST_EXEC_CHECK([./main], [-dlopen foo1.la -dlopen libfoo2.la],
  [], [expout], [])

Among other things, I find this line in the generated tests/testsuite
file:

$as_echo $at_srcdir/need_lib_prefix.at:170: if \$LIBTOOL --mode=execute -dlopen foo1.la -dlopen libfoo2.la \\$lt_exe\ ; then :; else lt_status=\$?; 	   test \$lt_status != -dlopen foo1.la -dlopen 
libfoo2.la  	   test \X\$host\ != \X\$build\  test -x \\$lt_exe\  exit 77; 	   exit \$lt_status; fi


The interesting part is:

test \$lt_status != -dlopen foo1.la -dlopen libfoo2.la 

That part is coming from (in tests/testsuite.at):

 [  m4_ifval([$2], [test $lt_status != $2  ])]dnl


I'm taking a wild guess here, but shouldn't that be $3 instead?

Cheers,
Peter

2009-01-24  Peter Rosin  p...@lysator.liu.se

Expand exit status test in LT_AT_NOINST_EXEC_CHECK correctly
* tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): STATUS is
argument $3, not $2.

diff --git a/tests/testsuite.at b/tests/testsuite.at
index 56ca3a2..24e8174 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -248,7 +248,7 @@ AT_CHECK([if $lt_exe $5; then :; else lt_status=$?; ]dnl
 m4_define([LT_AT_NOINST_EXEC_CHECK],
 [lt_exe=$1; if test -f $1$EXEEXT; then lt_exe=$lt_exe$EXEEXT; fi
 AT_CHECK([if $LIBTOOL --mode=execute $2 $lt_exe $6; then :; else 
lt_status=$?; ]dnl
-[  m4_ifval([$2], [test $lt_status != $2  ])]dnl
+[  m4_ifval([$3], [test $lt_status != $3  ])]dnl
 [  test X$host != X$build  test -x $lt_exe  exit 77; ]dnl
 [  exit $lt_status; fi],[$3],[$4],[$5])
 ])


Re: testsuite performance

2009-01-23 Thread Roumen Petrov

Charles Wilson wrote:

Ralf Wildenhues wrote:

* Charles Wilson wrote on Wed, Jan 21, 2009 at 08:47:42PM CET:

[...] EVERY separate patchset requires an independent full testsuite
run.  Until recently, that was 5 hours of sitting in front of my
computer waiting for popups, while that computer was completely useless
for anything else (100% cpu).

[SNIP]

Can you work on a Linux system with Wine, for at least those
changes for which the difference shouldn't matter that much? 


Not sure.
To run msys bash it has to be at least wine version 1.1.8 (I forgot 
number of resolved issue). Next born shells (msys bash and ash from 
pw32) are too slow. The simple command like sh -c echo xxx is about 10 
times slower if compare to native run - the last wine issue is 13606.


Roumen