robbiehanson/CocoaLumberjack — pull request #15 by ttilley (2011-12-27 18:41:02+00:00)
Title: Staticlib

This fork had two primary goals: re-instate fragile ABI compatibility without losing ARC, and create static library targets for macos/ios. I also got a bit OCD along the way with warnings, you'll see what I mean in the commits (implicit conversions, implicitly atomic properties, etc). There's also a commit that fixes global static variable shadowing that I don't think was intentional and may cause some debugging confusion in the future.

The xcode configuration is in xcconfig files pretty much entirely for readability without having to fire up xcode. This is how it's set up to use ARC everywhere but 32bit x86:

```
CLANG_ENABLE_OBJC_ARC = YES
CLANG_ENABLE_OBJC_ARC[sdk=iphoneos*][arch=*] = YES
CLANG_ENABLE_OBJC_ARC[sdk=iphonesimulator*][arch=*] = YES
CLANG_ENABLE_OBJC_ARC[sdk=macosx*][arch=x86_64] = YES
CLANG_ENABLE_OBJC_ARC[sdk=macosx*][arch=i386] = NO
GCC_ENABLE_OBJC_GC = unsupported
GCC_ENABLE_OBJC_GC[sdk=iphoneos*][arch=*] = unsupported
GCC_ENABLE_OBJC_GC[sdk=iphonesimulator*][arch=*] = unsupported
GCC_ENABLE_OBJC_GC[sdk=macosx*][arch=x86_64] = unsupported
GCC_ENABLE_OBJC_GC[sdk=macosx*][arch=i386] = required
```

There was honestly only one case where I found something that needed to be changed for compatibility with GC, and it was a very small change.

My 32bit iMac will thank you. ;)