On Jan 25, 2012, at 2:37 PM, Brian Barnes wrote:

> On 1/25/2012 2:03 PM, Adam Roben wrote:
>> On Jan 25, 2012, at 1:44 PM, Brian Barnes wrote:
>> 
>>> I'm working on creating a minimal win32 build, without CFLite and pthreads 
>>> (without the unicode is next to impossible.)
>>> 
>>> A non-CFLite build works fine, except for: api/JSStringRefCF.cpp
>>> 
>>> This code does not account for the USE(CF) flag.  I made this correction:
>>> 
>>> JSStringRef JSStringCreateWithCFString(CFStringRef string)
>>> {
>>>     #if !USE(CF)
>>>             return(NULL);
>>>     #else
>>>             // original code goes here!
>>>     #endif
>>> }
>>> 
>>> CFStringRef JSStringCopyCFString(CFAllocatorRef alloc, JSStringRef string)
>>> {
>>>     #if !USE(CF)
>>>             return(NULL);
>>>     #else
>>>             // original code goes here!
>>>     #endif
>>> }
>>> 
>>> This might not be the best solution, but if you compile without CF you 
>>> can't expect these functions to be workable.
>> 
>> I'd just wrap this entire file in #if USE(CF)/#endif. There's no reason to 
>> compile these functions at all when not using CF.
> 
> You can't -- it won't link because those are external library functions.  
> You'd have to come up with something much more complex to fix it if you were 
> to remove the entire functions.
> 
> Should I put up a bug report for this, too?

Yes, please. Please CC me on any bugs you file.

>>> One last one, just a reminder as I mentioned it before: keywords.table has 
>>> two extra returns at the end which breaks parser.cpp.
>> 
>> Please file a bug about this at http://webkit.org/new-bug
> 
> Will do, tell me about the bug above and I'll put both in at once.

You've already described the bug (and at least part of its cause):

Symptom: You get a compiler about maxTokenLength when you try to build
Cause: Keywords.table has some extra blank lines in it

All you really need for a bug report is the symptom. But having the cause is 
great too!

> Would you guys/gals be willing to put up a "minimal" configuration in the JSC 
> MSVC project?  Once these things are fixed, it's a simple change in 
> platform.h to build without CF/CFLite (and the pthreads will be automatic.)  
> It's a one line change, so it's not that big of a deal, it's just nice to 
> reduce the required DLL count by 2.  Basically:
> 
> #if PLATFORM(WIN) && !OS(WINCE)
> #define WTF_USE_CF 0                 <-- make this 0, obviously :)
> #define WTF_USE_PTHREADS 0
> #endif

Having a minimal configuration seems fine as long as it doesn't make it harder 
to maintain our other configurations. Unfortunately any configuration that is 
not tested on a buildbot on build.webkit.org is likely to get broken 
frequently, so having a buildbot for it would be great.

-Adam

_______________________________________________
webkit-help mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-help

Reply via email to