In <http://trac.webkit.org/changeset/62283> an export file was added containing symbols that are only available when USE(ACCELERATED_COMPOSITING) is true. However, the manner in which it detects USE(ACCELERATED_COMPOSITING) being true only considers the build OS, not the OS that is being targeted. This results in WebCore failing to link when building for Tiger from SnowLeopard as the symbols from the accelerated compositing exports file are not present in any of the object files. This makes it impossible to build WebKit nightlies for Mac OS X.
In order to address the more general issue here we need the selection of which symbols to export to follow the same logic that is used by the compiler when determining which features are enabled. One way to do this is to have the generation of the exports file handled via C++ code that uses the regular preprocessor macros to include or exclude symbols. Iām working on a patch that does just that.
Created attachment 60665 [details] Patch I'm not marking this for review quite yet as I'm still waiting on a build for Tiger from SnowLeopard to complete. I tested more normal build configurations successfully, and have eyeballed the output as well and everything looks correct.
Created attachment 60666 [details] Patch
Landed in r62608.
Attachment 60666 [details] did not build on mac: Build output: http://webkit-commit-queue.appspot.com/results/3370400
A follow-up build fix was landed in r62609.