Hi Brian, I just took a look to see why CoreFoundation is being used in JavaScriptCore, and frankly am a little puzzled.
A quick check of includes of CoreFoundation shows a handful of files: $ grep -r CoreFoundation * | grep -v ".svn" | grep "#include" API/JSStringRefCF.h:#include <CoreFoundation/CoreFoundation.h> runtime/DatePrototype.cpp:#include <CoreFoundation/CoreFoundation.h> wtf/Assertions.cpp:#include <CoreFoundation/CFString.h> wtf/CurrentTime.cpp:#include <CoreFoundation/CFDate.h> wtf/RetainPtr.h:#include <CoreFoundation/CoreFoundation.h> wtf/unicode/icu/CollatorICU.cpp:#include <CoreFoundation/CoreFoundation.h> All of these are actually conditionalized on PLATFORM(MAC), except the API/JSStringRefCF.h. In theory, you could remove the JSStringRefCF from the set of build files and remove the dependency on CoreFoundation/CFLite entirely. It doesn't even look like the JavaScriptCore.def references any of the CFStringRef-related functions. I am actually surprised that the date/time and Collator sources don't use CoreFoundation on Windows. Apple spent a bunch of time writing these compatibility routines that provide superior formatting of dates, handling of low-level time intervals, etc... Why are we not using them? Bottom line Brian, is that you should create a non-PLATFORM(CF) build of JavaScriptCore: 1. Duplicate the Windows vcproj. 2. Remove the JSStringRefCF.cpp/.h files from the list of build items. 3. Remove the CFLite.lib link command. Voila -- you should have a CFLite-less build. On Mon, Aug 17, 2009 at 9:19 AM, Brian Barnes<[email protected]> wrote: > icu*** (might not be possible, google says these are unicode tools) The wtf/unicode things need these libraries. I'm not sure how wise it would be to remove them, however this is the largest single external dependency you will have to deal with. > pthreadVC2 (based on previous email should not be needed) I'd like to get rid of this, too. > 3) Compile all within VS (no makes or external calls) to eliminate any > additional dependencies on other tools You can already do this. You only need cygwin to easily handle retrieving the sources, and I think the Google/Chromium guys have been working to remove this dependency. -Brent _______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

