Browse files

Add some boilerplate in preparation for a release.

git-svn-id: 949b7c4e-b822-e185-8c53-f993a654f32e
  • Loading branch information...
bfulgham committed Feb 6, 2009
1 parent 792ba96 commit 7a2601c02a19b0540844d06b2c25e0f171ce9955
Showing with 112 additions and 0 deletions.
  1. +40 −0 CONTRIBUTORS
  2. +44 −0 README
  3. +28 −0 TODO
@@ -0,0 +1,40 @@
+March 2000: partial port to Linux by Pedro Ivo Tavares (
+ This was mostly integrated by by CoreFoundation-5,
+ but the style was changed, and the hand-crafted Makefile, which is
+ new since this port, tries to take care of some of the things that
+ are needed for Linux (and build a libCoreFoundation.a instead of a
+ CoreFoundation.framework), but ckane does not have a Linux box and
+ can't finish that and test building.
+December 2000: port to FreeBSD by Sarwat Khan (
+ Port to FreeBSD, except for RunLoop.subproj items. Integrated by
+ into CoreFoundation-8. ckane also marginally
+ improved the Linux port in that version.
+March 2001: CoreFoundation-9, corresponding to CoreFoundation-197 in
+ Mac OS X, synchronizes Darwin CF with Mac OS X's released CF.
+May 2001: CoreFoundation-10, corresponding to CoreFoundation-206.5
+ synchronizes Darwin CF with TOT CoreFoundation.
+June 2001: Linux port maintenance by Robert Thompson <>.
+July 2001: Integrated addition of headerdoc for CFBinaryHeap.h from
+ Kevin Van Vechten <>.
+Sept 2001: CoreFoundation-14, sync with Mac OS X 10.1
+Oct 2001: More header doc (e.g., CFSet.h) and some CFTree implementation
+ from Kevin Van Vechten <>.
+Jan 2002: Windows(TM) port changes from Kevin Van Vechten <>.
+Feb 2002: Some Windows(TM) port changes from Aleskey Dukhnyakov, Andrew Dzubandovsky,
+ Roman Mukhin, and Sergey Zubarev; Orc Software<>
+... years of work ...
+JAN 2009: Windows(TM) port changes from Brent Fulgham. Linux port changes
+ from Grant Erickson.
@@ -0,0 +1,44 @@
+This is the public Open Source distribution of Apple, Inc.'s
+CoreFoundation framework, sometimes known as "CF-lite"
+because it does not contain every facility available from the
+CoreFoundation framework in Mac OS X. This distribution is
+refered to as Open CF-lite to distinguish it from the official
+Apple release, and to reflect the Open Source nature of this
+This CoreFoundation corresponds to the Mac OS X 10.5.6 version
+of CF (CF-476.17)
+This distribution differs from the official Apple, Inc. release
+in that it is known to build and run on Mac OS X, Windows, and
+Linux. It would probably be trivial to port to most other
+POSIX-based environments (volunteers welcome!)
+The goal of this port is to provide a feature-compatible, cross
+platform version of the official CoreFoundation framework. In
+general, we do not propose extending functionality beyond the
+official Apple release so that this project can serve as a
+drop-in replacement.
+To repeat Apple's statement:
+--- What Apple is NOT interested in, with CF-lite:
+* Everybody's little convenience methods. Just because
+ "everybody has to write their own", it does not
+ follow immediately that it is a good idea to add it
+ to the system libraries. It is not a goal of CF to
+ be a "Swiss Army Knife"; that just increases the
+ size of the binaries, and the documentation and
+ maintenance burden. Functions to reverse a string
+ or merge two arrays by taking alternate elements
+ from the two arrays are not compelling.
+The current release is known to work on Windows at a sufficient
+level to run the WebKit infrastructure.
+Support is available from the discussion groups at
+Brent Fulgham <>
+Grant Erickson <>
@@ -0,0 +1,28 @@
+--- Open CF-lite to-do list:
+* CFRunLoop tests and implementation for Windows and Linux.
+* Better examples
+* List of projects using Open CF-lite.
+--- Original CF-lite to-do list:
+[Note: when it says "Apple has code" below, that usually
+means "Apple has some code it could provide to start an
+effort here", not "Apple has some code in the pipe, don't
+bother with this item". Anyone known to be doing work on
+any of these items will be listed here, including Apple.]
+* Some classes have a fair number of assertions, nearly all
+ related to parameter checking. More assertions are needed
+ nearly everywhere. The assertions that are there have been
+ often found to be valuable -- you just get a message about
+ some bad parameter and there's the bug.
+* More header doc is needed. CFArray.h and CFDictionary.h
+ are models.
+* An exception model, similar to Cocoa Foundation's. Apple
+ has some code for this already, and try/catch model like
+ C++ is simple enough to support; finally blocks a la Java
+ don't seem to be practical within the confines of ANSI C.
+* A CFFileDescriptor is needed which can act as a run loop
+ source. Or maybe it should be CFPipeDescriptor. This is
+ NOT something for general file handling -- just monitoring
+ a file descriptor which is a pipe (for which there are
+ notifications or other async activity).

0 comments on commit 7a2601c

Please sign in to comment.