FOREWORD: This is just to relate my experience, in case someone else encounters a similar problem. I'm not confident that what I'm reporting here is a bug in the Apple Windows port -- it's possible that the problem I had was somehow peculiar to my application or how I integrated WebKit therewith.

============

I'm incorporating WebKit into my client's Windows application, primarily in order to render SVG images, but also for some limited HTML rendering.

I had relatively little difficulty building the Apple Windows port under Cygwin -- though one or two things did throw me for a loop (e.g., the "COM" implementation sans IDispatch, which tends to be extremely useful for control by scripting languages and simplifies creation of C++ wrapper classes).

My last big roadblock was a memory allocation problem. I eventually figured out that, somehow, some memory resources were being allocated from the "fastmalloc" system in WebKit, but were being passed to the runtime library's delete function, which of course, doesn't recognize them. It appears that my client's application was somehow seeing the fastmalloc stuff and inadvertently using it in some places, but not others, and not consistently.

I eventually decided to turn off fastmalloc when building WebKit, so everyone would be using the runtime library allocator. I looked through WebKit/WebKitTools/Scripts/build-webkit, and found the --system-malloc switch, which purports to turn off fastmalloc by defining USE_SYSTEM_MALLOC for compilation.

Unfortunately, it appears that this switch silently fails on cygwin. In fact, it's not clear to me that any of the various option switches (other than --debug and --clean) actually do anything when building under cygwin.

Eventually, I had to manually edit
  WebKit/WebKitLibraries/win/tools/vsprops/common.vsprops
...appending ";USE_SYSTEM_MALLOC" on line 12 (VCCLCompilerTool's PreprocessorDefinitions).

I then rebuilt WebKit, and all was well.
_______________________________________________
webkit-help mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-help

Reply via email to