[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Small patch for the QNX platform
From: |
Mike Gorchak |
Subject: |
Re: Small patch for the QNX platform |
Date: |
Fri, 23 Jan 2009 13:37:34 +0200 |
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 to"yes". 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: address@hidden
check.log
Description: Binary data
- Small patch for the QNX platform, Mike Gorchak, 2009/01/23
- Re: Small patch for the QNX platform, Ralf Wildenhues, 2009/01/23
- Re: Small patch for the QNX platform,
Mike Gorchak <=
- Re: Small patch for the QNX platform, Mike Gorchak, 2009/01/23
- Re: Small patch for the QNX platform, Mike Gorchak, 2009/01/23
- Message not available
- Re: versioning test, Ralf Wildenhues, 2009/01/26
- Re: versioning test, Mike Gorchak, 2009/01/27
- Re: versioning test, Ralf Wildenhues, 2009/01/27