This is a compatibility toolchain that works hand-in-hand with iPhone GCC ported by Saurik. The toolchain kit provides you a way to compile some apps from 1.1.4 with very minimal porting work. This uses the backwards compatibility libraries that are currently in the latest 2.0 release. Note that you should still port your app to a full 2.0 toolchain at some later date. There is no telling when Apple may pull these compatibility libraries from the next firmware release.
There are some aspects of the toolchain that will not work now:
- UIWebKit, has been changed. If you are using this in your app, this toolchain will not compile your app without code changes.
- LayerKit - Layer Kit does not exist any longer. You cannot use this toolchain if you rely upon Layer Kit. Instead you must port your app to use the new frameworks.
To use this toolchain, you must do the following:
- Modify your main() function. This is an easy one-line change:
Old: return UIApplicationMain(argc, argv, [Viewer class]);
New: return UIApplicationMain(argc, argv, @"Viewer", @"Viewer");
- Modify your makefile:
1) Add -I/var/include to CFLAGS (That's an i for Include).
2) Add to your LDFLAGS: -L"/usr/lib" -F"/System/Library/Frameworks" -F"/System/Library/PrivateFrameworks" -bind_at_load
3) Add code signing with ldid to your make file:
Poof: main.o EditTableCell.o ListingTable.o common.o
$(LD) $(LDFLAGS) -o $@ $^
/usr/bin/ldid -S Poof
4) Change your compiler line to CC=arm-apple-darwin9-gcc
More information can be found on Saurik's page.