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]

Reply via email to