logging-log4cxx-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curt Arnold <carn...@apache.org>
Subject XCode 2.5 project files (was Re: Most stable version of log4cxx?)
Date Fri, 07 Dec 2007 18:54:07 GMT

On Dec 7, 2007, at 9:01 AM, Stephen Bartnikowski wrote:

> Curt,
> Having a working XCode 2.5 project would be huge! Hugely helpful! In  
> so many
> ways.
> So yeah, a snapshot of your project or a diff of the cpptasks hacks  
> you did
> would be an enormous help.
> Thanks,
> Stephen

I'm in the process of rewriting SMTPAppender to use libesmtp (and  
possibly libgmime, but maybe not) and that will require rebuilding  
your projects when that is committed.  I'm also running into all sorts  
of problems with Leopard that I did not recall seeing with Tiger.   
Here is my best recollection of how to build XCode projects on Tiger.

1. Build cpptasks from SVN HEAD.  I anticipate further refinements of  
XCode project generation, but have no uncommitted changes and the last  
changes were in August.

2. Run Ant to build log4cxx

ant -Dcompiler=g++

If this doesn't succeed, still continue to next step.  Fails on apr on  

3. Use Ant to build XCode projects

ant -Dcompiler=g++ -Dprojects.dir=xcode build-projects-xcode

3. Open ./xcode/apr.xcodeproj in XCode 2.5.  I've seen loading the  
generated project make XCode non-responsive for a minute or so, but  
they always seem to come around.   Compile the project, if you get  
errors about APR_HAVE_SENDFILE, change ./src/apr/apr-1.2.9/include/ 
apr.h so that APR_HAVE_SENDFILE is 0 and compile again.

4. Open ./xcode/aprutil.xcodeproj in XCode 2.5 and build.

The include paths will likely have to be fixed, I believe that "../src/ 
apr/apr-1.2.9/include", "../src/apr-util/apr-util-1.2.8/include", "../ 
src/apr-util/apr-util-1.2.8/xml/expat/lib", "../src/apr-util/apr- 
util-1.2.8/xml/expat", "../src/apr-util/apr-util-1.2.8/include/ 
private" are sufficient.

apr-util's configure is failing for me on Leopard.

5. Open ./xcode/cppunit.xcodeproj and build.

6.Open ./xcode/log4cxx.xcodeproj.

Rename product to liblog4cxx.dylib.

Add apr.xcodeproj and apr-util.xcodeproj to project.  Open Info on  
Target and on the general page, add apr and apr-util as dependencies.

If you fail due to include files, add the following entries to the  
include path "../src/apr/apr-1.2.9/include", "../src/apr-util/apr- 
util-1.2.8/include" and "../src/main/include".

If you fail due to unsatisified references, add the following to  
"Other Linker Flags" on the linking options for the target, "-laprutil  
-liconv -lapr".

7. Projects linking against log4cxx.dylib

Add log4cxx.xcode project to project, add as a dependency to the  
target, add "-llog4cxx" to the Other linker flags, add "../src/main/ 
include" to include path.

I've uploaded a snapshot of Xcode project files to http://people.apache.org/~carnold/xcode.tar.gz

.  To use, expand in your log4cxx base directory which will result in  
a xcode subdirectory containing several projects.  Manually renaming  
the product in log4cxx.xcodeproj is still required (it doesn't seem to  
stick when I packaged things up).  The configure steps for apr, apr- 
util, cppunit and log4cxx all need to be either manually run or run  
through the Ant script before the projects will work.  Only the  
current target has been tested, so Debug builds might work, but not  

Obviously want to work out the kinks during the release building  
process, so the XCode projects just work without all the manual  

View raw message