There are multiple related issues here and it would be good to
identify them. So far on the thread:
1. The specific compiler flags used in release builds with Microsoft
compilers
2. The Microsoft compiler version used in binary distributions
3. The build specification for Microsoft compilers
On the specify compiler version used in builds, I think APR should
compile and pass tests on VC6, 7, 7.1 and 8. I've submitted patches
that also get it compiling and somewhat functioning on Borland C++
5.6 and MinGW. I don't think that APR should dictate a specific
compiler that should be used by the people who bundle APR in their
application and APR doesn't appear to provide their own binary
distribution.
On the build specification, the VS IDE project files are helpful for
debugging but they are awkward to set up and don't run unit tests,
assemble distributions, etc. To use APR within log4cxx, I've created
Ant scripts to build APR and log4cxx which work with a large variety
of compilers. Since I'm just building APR static libraries to use in
linking log4cxx, I'm wasn't terribly concerned with precisely
mimicking the settings in the VS6 project files. The ant script can
produce VS6 project files to give users a quick way to set up a
debugging environment, but they aren't the definitive build environment.
That approach works well for me, but the reason that I bring it up is
that it suggests that providing a MSBuild script and a VC6 IDE
project (ideally derived from the MSBuild script) might be the
desirable combination. MSBuild scripts are likely to be a lot
cleaner than the VC6 project, able to drive the unit tests, can be
read by VS.NET 2005 to provide a development and debugging
environment. If MSBuild drives the compilers via the command line,
it is likely to be able to be paired with earlier Microsoft
compilers. Since it will be distributed as part of the .NET
framework, it can still be used by developers who do not have VS.NET
2005.
I'd like to pass on that I have observed that some unit tests fail in
the Windows build when I run them from my Ant script. Since I have
seen no other way to run them on that platform, I can't confirm if
they are bugs in the Windows implementation of either the tests or
the code under test or bugs in the build process. I think it is
possible that the unit tests have gotten stale on the Windows
platform since they aren't readily run and an MSBuild script would
address that issue.
- Re: Modifying Win32 default optimizations? Curt Arnold
- Re: Modifying Win32 default optimizations? William A. Rowe, Jr.
- Re: Modifying Win32 default optimizations? Wesley W. Garland
- Win32 build schema William A. Rowe, Jr.
- Re: Win32 build schema Garrett Rooney
- Re: Win32 build schema William A. Rowe, Jr.
- RE: Win32 build schema Dan Johnson
- Re: Win32 build schema Curt Arnold
