Re: using stdcxx in tuscany/C++

2006-08-11 Thread Jean-Sebastien Delfino

Martin Sebor wrote:

Hi again,

Just following up on this thread to see if there's anything we can
do from our side to help you all with the migration, or any concerns
or questions I can answer.

I have noticed that some people are still using MSVC 6 to compile
Tuscany. I'm curious whether there are any plans to upgrade to a
more recent and more conforming compiler. Stdcxx is being tested
with 7.1, and 8.0 (i86, IA64, and EM64T) but the 6.0 port would
likely need some work.

Regards
Martin



Martin,

I downloaded your 4.1.3 release, compiled it on Redhat Enterprise Linux 
4, and ran some of your samples.


I have two questions:

- How do I run all your test cases? I found a run executable in 
build/test, tried ./run ./* and got this:

  Summary: out of 69 programs
   45 exited with non-zero status
   24 failed to compile
   0 failed to link
   0 failed at least one assertion
   0 exited with a signal
   0 killed with signal 9
   no regressions (this is baseline)
   34% pass rate

I'm assuming that the failures are my problem and I'm not running this 
correctly since all the samples I tried worked nicely :)


- Also, I noticed that the build generates .a files. Is there an option 
to generate a .so shared library?


Thanks,

--
Jean-Sebastien


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: using stdcxx in tuscany/C++

2006-08-11 Thread Martin Sebor

Jean-Sebastien Delfino wrote:
[...]
I downloaded your 4.1.3 release, compiled it on Redhat Enterprise Linux 
4, and ran some of your samples.


I have two questions:

- How do I run all your test cases?


Unfortunately, in 4.1.3 you need to run them one at a time by hand
(the stdcxx test suite was and still is being migrated from the
Rogue Wave test harness and so things have been a bit in flux).
Alternatively, you can try applying the following patch to see
if it resolves the problem:
  http://svn.apache.org/viewvc?view=revrevision=419995

This is resolved on trunk (where make run works again).

I found a run executable in 
build/test, tried ./run ./* and got this:


Invoking the run script directly will work but using make run is
the recommended way to run the tests and examples (and locales).


  Summary: out of 69 programs
   45 exited with non-zero status


The tests fail due to incompatible command line options being passed
to them by the test harness. This is the subject of the already fixed
STDCXX-254: http://issues.apache.org/jira/browse/STDCXX-254.


   24 failed to compile


I'm not sure what exactly is behind these failures but it's not
anything in the library.


   0 failed to link
   0 failed at least one assertion
   0 exited with a signal
   0 killed with signal 9
   no regressions (this is baseline)
   34% pass rate

I'm assuming that the failures are my problem and I'm not running this 
correctly since all the samples I tried worked nicely :)


They're not your problem but they're nothing to worry about, either.
FWIW, we're working on publishing stdcxx test results across all our
platforms. This project is very much in a proof of concept stage but
you can get a glimpse of what it might look like here (ignore the
links on the page, they are not functional yet):
  http://people.apache.org/~sebor/stdcxx-results.html



- Also, I noticed that the build generates .a files. Is there an option 
to generate a .so shared library?


Yes, there certainly is. For now you can use the BUILDMODE make
variable. In the (near) future we also plan to provide a configure
like interface to the build infrastructure to let people use the
usual --enable-xxx switches (such as --enable-shared).

The BUILDMODE variable is specified as taking a build-mode
argument defined in the README as follows:

build-mode is a comma-separated list of keywords describing how
 to build the library and the rest of the
 binaries. The following arguments are recognized:

 dcethreads - create a thread-safe library, use DCE
  threads
 debug - include debugging information
 optimized - optimized
 pthreads - create a thread safe library, use POSIX
threads
 shared - create a shared library (archive is default)
 shared,archive - create an AIX shared archive
 threads - create a thread-safe library, use Solaris
   threads
 wide - generate wide (64-bit) code

Read the full details here:
http://svn.apache.org/repos/asf/incubator/stdcxx/trunk/etc/config/README

Martin

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: using stdcxx in tuscany/C++

2006-08-10 Thread Martin Sebor

Hi again,

Just following up on this thread to see if there's anything we can
do from our side to help you all with the migration, or any concerns
or questions I can answer.

I have noticed that some people are still using MSVC 6 to compile
Tuscany. I'm curious whether there are any plans to upgrade to a
more recent and more conforming compiler. Stdcxx is being tested
with 7.1, and 8.0 (i86, IA64, and EM64T) but the 6.0 port would
likely need some work.

Regards
Martin

Pete Robbins wrote:

Hi Martin.

Using stdcxx is certainly on our list of things to investigate. There are 2
ways in which we can use a C++ standard library:
1) Internally withing our own implementation code
2) Exposed on user APIs

We currently use stl within our implementation and the use of stl 
classes on

our interfaces is currently under discussion in the SCA C++ Specification
group.

Ed Slattery took a look at using stdcxx but I have to admit I have had
little time to follw this up.
I need to take a look at your project and see what the benefits are. I will
set aside some time tomorrow to do this.

Thanks for your interest.

On 06/07/06, Martin Sebor [EMAIL PROTECTED] wrote:



Hi,

We have heard that the Tuscany developers have been exploring
the option of using Apache stdcxx as the common implementation
of the C++ Standard Library for Tuscany/C++. We are wondering
whether this is in fact the case and, if so, what the stdcxx
team can do in order to make it as smooth as possible.

Martin

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: using stdcxx in tuscany/C++

2006-08-10 Thread Pete Robbins

Hi Martin,
We are using VC6 but have also got VC7 projects. Our command line build for
windows uses the VC6 generated makefiles. We don't think that's possible in
VC7+. Of course the best solution will be to create a proper commnad line
build.

We are just starting to restructure the code so will be modifying build. How
do you manage yours? We are using Automake for linux platforms. Do you have
a handcrafted windows build?

Anyho... to start with we will be looking at the SDO project to use stdcxx
as SCA is going through a bit of a transformation at the moment. I have a
couple of questions regarding compatibility.

If I have a library function that say returns a std::string and this is
built using stdcxx, would any client of that function (separate library)
also have to built with stdcxx?? In other words by exposing stl interfaces
that are built using stdcxx are we mandating that any clients also use
stdcxx?

Cheers,


On 10/08/06, Martin Sebor [EMAIL PROTECTED] wrote:


Hi again,

Just following up on this thread to see if there's anything we can
do from our side to help you all with the migration, or any concerns
or questions I can answer.

I have noticed that some people are still using MSVC 6 to compile
Tuscany. I'm curious whether there are any plans to upgrade to a
more recent and more conforming compiler. Stdcxx is being tested
with 7.1, and 8.0 (i86, IA64, and EM64T) but the 6.0 port would
likely need some work.

Regards
Martin

Pete Robbins wrote:
 Hi Martin.

 Using stdcxx is certainly on our list of things to investigate. There
are 2
 ways in which we can use a C++ standard library:
 1) Internally withing our own implementation code
 2) Exposed on user APIs

 We currently use stl within our implementation and the use of stl
 classes on
 our interfaces is currently under discussion in the SCA C++
Specification
 group.

 Ed Slattery took a look at using stdcxx but I have to admit I have had
 little time to follw this up.
 I need to take a look at your project and see what the benefits are. I
will
 set aside some time tomorrow to do this.

 Thanks for your interest.

 On 06/07/06, Martin Sebor [EMAIL PROTECTED] wrote:


 Hi,

 We have heard that the Tuscany developers have been exploring
 the option of using Apache stdcxx as the common implementation
 of the C++ Standard Library for Tuscany/C++. We are wondering
 whether this is in fact the case and, if so, what the stdcxx
 team can do in order to make it as smooth as possible.

 Martin

 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Pete


Re: using stdcxx in tuscany/C++

2006-08-10 Thread Martin Sebor

Pete Robbins wrote:

Hi Martin,
We are using VC6 but have also got VC7 projects. Our command line build for
windows uses the VC6 generated makefiles. We don't think that's possible in
VC7+. Of course the best solution will be to create a proper commnad line
build.

We are just starting to restructure the code so will be modifying build. 
How

do you manage yours? We are using Automake for linux platforms. Do you have
a handcrafted windows build?


The stdcxx native build infrastructure on Windows uses the
VisualStudio IDE. A script automatically generates a VisualStudio
solution for the appropriate version of the IDE (.NET 2003 or 2005)
and populates it with projects for each component of stdcxx (the
library, the test driver, each test and example program, etc.), and
with the full set of configurations (debug, release, archive, dll,
etc.) There is also a special project to configure the library to
the the underlying architecture, operating system, and compiler
(the same infrastructure is used for both MSVC and Intel C++ on
Windows). This approach was chosen on the assumption that Windows
developers preferred the IDE to the command line.

Stdcxx can also be configured and built under Cygwin as well as
under Misrosoft Windows Services for UNIX (with gcc) using its
UNIX (GNU-make based) build infrastructure. It should be possible
to use the same infrastructure with MSVC but we're not set up for
it at this time.

The Rogue Wave proprietary build infrastructure (not part of Apache
stdcxx) takes a different approach to building stdcxx and generates
makefiles for the project, so we could implement something similar
in Apache stdcxx pretty quickly.



Anyho... to start with we will be looking at the SDO project to use stdcxx
as SCA is going through a bit of a transformation at the moment. I have a
couple of questions regarding compatibility.

If I have a library function that say returns a std::string and this is
built using stdcxx, would any client of that function (separate library)
also have to built with stdcxx?? In other words by exposing stl interfaces
that are built using stdcxx are we mandating that any clients also use
stdcxx?


Yes. Different implementations of the same API may not be (and
typically aren't) binary compatible. Once a dependency on a specific
implementation (and sometimes a specific version) of the C++ Standard
Library (or most any other C++ or even C library) is compiled into a
library binary all other objects (libraries as well as the executable
program itself) that use a C++ Standard Library must be compiled and
linked with a compatible C++ Standard library binary.

But since all (compliant) implementations of the C++ Standard Library
conform to the same (source) standard this is not an issue as long as
you distribute your library in source form.

Martin

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: using stdcxx in tuscany/C++

2006-07-07 Thread Edward Slattery

Hi,
Yes, I have looked at using stdcxx, particularly in SDO code, but it applied
to SCA also.
We use stl internally, particularly lists, maps etc, and are currently Geoff
Winn is kindly converting all my antique char* arrays to std:strings. When
this is done, we would want to experiment with just inserting stdcxx in
place of the implementations we use on windows and linux. This ought to be
straight forward - right?
I guess there must be logistical problems to overcome in converting from
Microsoft stl, but still using Developer Studio to build the projects? Are
there problems with clashing header file names, and can we still use the MS
runtime library etc?


On 06/07/06, William A. Rowe, Jr. [EMAIL PROTECTED] wrote:


Great news!  Thanks for keeping us in the loop.

Martin Sebor wrote:
 Hi,

 We have heard that the Tuscany developers have been exploring
 the option of using Apache stdcxx as the common implementation
 of the C++ Standard Library for Tuscany/C++. We are wondering
 whether this is in fact the case and, if so, what the stdcxx
 team can do in order to make it as smooth as possible.

 Martin

 .


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: using stdcxx in tuscany/C++

2006-07-07 Thread Martin Sebor

Pete Robbins wrote:

Hi Martin.

Using stdcxx is certainly on our list of things to investigate. There are 2
ways in which we can use a C++ standard library:
1) Internally withing our own implementation code
2) Exposed on user APIs

We currently use stl within our implementation and the use of stl 
classes on

our interfaces is currently under discussion in the SCA C++ Specification
group.

Ed Slattery took a look at using stdcxx but I have to admit I have had
little time to follw this up.
I need to take a look at your project and see what the benefits are.


FWIW, one of the major benefits of using stdcxx in a portable
C++ project is to bridge the inevitable and typically subtle
differences between implementations of the C++ Standard Library
you are likely to run into while porting Tuscany from the
mainstream platforms to others. stdcxx has been ported to and
works out of the box on the majority of today's C++ compilers
and (server) operating systems (see the list of certified
platforms here:
http://incubator.apache.org/stdcxx/#platforms).

If portability of localized data is important to Tuscany, stdcxx
comes with its own set of locales to guarantee the same behavior
regardless of the NLS on the operating system (which also tends
to differ from one operating system to another).

In addition to being highly portable, stdcxx often performs better
than the native C++ Standard Library that comes with the compiler
(this is especially true for HP aCC and Sun C++ and also to some
extent for IBM XLC++).

If there are any specific issues that are of particular concern
to you I would be happy to discuss them with you.

Martin

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: using stdcxx in tuscany/C++

2006-07-07 Thread Martin Sebor

Edward Slattery wrote:

Hi,
Yes, I have looked at using stdcxx, particularly in SDO code, but it 
applied

to SCA also.
We use stl internally, particularly lists, maps etc, and are currently 
Geoff

Winn is kindly converting all my antique char* arrays to std:strings. When
this is done, we would want to experiment with just inserting stdcxx in
place of the implementations we use on windows and linux. This ought to be
straight forward - right?


Yes. You can glean the compiler command line arguments from the
stdcxx examples. If you need any help setting things up let us
know, we're very interested in making it work :)


I guess there must be logistical problems to overcome in converting from
Microsoft stl, but still using Developer Studio to build the projects? Are
there problems with clashing header file names, and can we still use the MS
runtime library etc?


The Windows stdcxx build infrastructure generates Visual Studio
projects (for Visual Studio 2003 and 2005 using either MSVC or
Intel C++) that provide an IMO excellent example of how to set
up your own projects for using the library (again, you can model
it based on the stdcxx example programs/projects).

There are no clashes with the native library headers or binaries
just as long the stdcxx include directories are placed first in
the preprocessor search path (via the -I command line option to
the compiler driver) and the correct compiler options are used
to avoid linking with the native C++ Standard Library (this
is /NODEFAULTLIB for MSVC, and using gcc -lsupc++ instead of
g++ to invoke the linker using the GNU C++ compiler).

If you need to use Visual Studio 6 for some reason (I would
suggest upgrading to a later version of the compiler) let us
know so we can look into porting the Windows infrastructure
to it and clean up the port (we have not tested with this
compiler for a few months so there are likely to be issues).

Martin




On 06/07/06, William A. Rowe, Jr. [EMAIL PROTECTED] wrote:



Great news!  Thanks for keeping us in the loop.

Martin Sebor wrote:
 Hi,

 We have heard that the Tuscany developers have been exploring
 the option of using Apache stdcxx as the common implementation
 of the C++ Standard Library for Tuscany/C++. We are wondering
 whether this is in fact the case and, if so, what the stdcxx
 team can do in order to make it as smooth as possible.

 Martin

 .


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]







-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



using stdcxx in tuscany/C++

2006-07-06 Thread Martin Sebor

Hi,

We have heard that the Tuscany developers have been exploring
the option of using Apache stdcxx as the common implementation
of the C++ Standard Library for Tuscany/C++. We are wondering
whether this is in fact the case and, if so, what the stdcxx
team can do in order to make it as smooth as possible.

Martin

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: using stdcxx in tuscany/C++

2006-07-06 Thread Pete Robbins

Hi Martin.

Using stdcxx is certainly on our list of things to investigate. There are 2
ways in which we can use a C++ standard library:
1) Internally withing our own implementation code
2) Exposed on user APIs

We currently use stl within our implementation and the use of stl classes on
our interfaces is currently under discussion in the SCA C++ Specification
group.

Ed Slattery took a look at using stdcxx but I have to admit I have had
little time to follw this up.
I need to take a look at your project and see what the benefits are. I will
set aside some time tomorrow to do this.

Thanks for your interest.

On 06/07/06, Martin Sebor [EMAIL PROTECTED] wrote:


Hi,

We have heard that the Tuscany developers have been exploring
the option of using Apache stdcxx as the common implementation
of the C++ Standard Library for Tuscany/C++. We are wondering
whether this is in fact the case and, if so, what the stdcxx
team can do in order to make it as smooth as possible.

Martin

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





--
Pete


Re: using stdcxx in tuscany/C++

2006-07-06 Thread William A. Rowe, Jr.

Great news!  Thanks for keeping us in the loop.

Martin Sebor wrote:

Hi,

We have heard that the Tuscany developers have been exploring
the option of using Apache stdcxx as the common implementation
of the C++ Standard Library for Tuscany/C++. We are wondering
whether this is in fact the case and, if so, what the stdcxx
team can do in order to make it as smooth as possible.

Martin

.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]