Bug 11304 - Drosera fails to link as universal binary on PowerPC machine
Summary: Drosera fails to link as universal binary on PowerPC machine
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P2 Major
Assignee: Nobody
Depends on:
Reported: 2006-10-15 14:27 PDT by Mark Rowe (bdash)
Modified: 2006-10-18 14:35 PDT (History)
1 user (show)

See Also:

Build error (25.09 KB, text/plain)
2006-10-15 14:28 PDT, Mark Rowe (bdash)
no flags Details
Rough patch for consideration (4.51 KB, patch)
2006-10-15 14:34 PDT, Mark Rowe (bdash)
no flags Details | Formatted Diff | Diff
Use -weak_framework (1.60 KB, patch)
2006-10-18 14:18 PDT, Mark Rowe (bdash)
timothy: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Rowe (bdash) 2006-10-15 14:27:30 PDT
When building Drosera as a universal binary on a PowerPC machine, linking fails.  The command I am using to build is:
./WebKitTools/BuildSlaveSupport/build-launcher-app ARCHS="ppc i386" SDKROOT_i386="/Developer/SDKs/MacOSX10.4u.sdk"

I will attach the relevant portion of the build error shortly.  The problem relates to the linker resolving paths in the WebKit.framework binary relative to the SDK root, not the file system root.
Comment 1 Mark Rowe (bdash) 2006-10-15 14:28:04 PDT
Created attachment 11101 [details]
Build error
Comment 2 Mark Rowe (bdash) 2006-10-15 14:31:04 PDT
A workaround for the dev-tools lameness is to specify that WebCore and JavaScriptCore should be linked against in the Drosera project file.  This clearly breaks in the case that WebKit is built as an umbrella framework, but it works well enough for the open source side of things.
Comment 3 Mark Rowe (bdash) 2006-10-15 14:34:07 PDT
Created attachment 11102 [details]
Rough patch for consideration

I'm not going to flag this patch for review just yet as it is very likely to break Drosera builds completely if WebKit is built as an umbrella framework.  I'm not sure how big an issue this is, but I dare say that TimH will know.
Comment 4 Timothy Hatcher 2006-10-18 13:15:16 PDT
I think using -weak_framework WebCore -weak_framework JavaScriptCore will do the trick. This will link with the built versions if they are found, and if not it should still build against the system umbrella framework on Leopard.
Comment 5 Mark Rowe (bdash) 2006-10-18 14:18:10 PDT
Created attachment 11137 [details]
Use -weak_framework
Comment 6 Mark Rowe (bdash) 2006-10-18 14:35:49 PDT
Landed in r17119.