apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curt Arnold <carn...@apache.org>
Subject Re: Modifying Win32 default optimizations?
Date Thu, 12 May 2005 17:19:30 GMT
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.

Mime
View raw message