RESOLVED FIXED 29753
DerivedSources.make broken for non-Mac targets
https://bugs.webkit.org/show_bug.cgi?id=29753
Summary DerivedSources.make broken for non-Mac targets
Steve Falkenburg
Reported 2009-09-25 16:20:03 PDT
I get errors building DerivedSources.make in WebCore on Windows. The parameters passed to gcc for preprocessing aren't correct for non-Mac builds. In particular, since -F isn't supported, we don't pass it, but this means that gcc can't locate the headers needed to complete the compiles. Besides this, the path to WebCore should be specified as $(WebCore) to work on Windows (in the gcc commands). Here's the error output I see on Windows: ------ Build started: Project: WebCoreGenerated, Configuration: Release Win32 ------ Performing Makefile project actions /usr/bin/bash gcc: WebCore/ForwardingHeaders/wtf/Platform.h: No such file or directory gcc: no input files gcc: WebCore/ForwardingHeaders/wtf/Platform.h: No such file or directory gcc: no input files gcc: WebCore/ForwardingHeaders/wtf/Platform.h: No such file or directory gcc: no input files gcc: WebCore/ForwardingHeaders/wtf/Platform.h: No such file or directory gcc: no input files
Attachments
Part 1 Patch v1 (2.79 KB, patch)
2009-09-25 19:18 PDT, David Kilzer (:ddkilzer)
no flags
Part 2 Patch v1 (4.96 KB, patch)
2009-09-26 05:26 PDT, David Kilzer (:ddkilzer)
darin: review+
David Kilzer (:ddkilzer)
Comment 1 2009-09-25 17:31:26 PDT
Which revision did this break in? Was it r48609?
David Kilzer (:ddkilzer)
Comment 2 2009-09-25 17:34:12 PDT
(In reply to comment #0) > In particular, since -F isn't supported, we don't pass it, but this means that > gcc can't locate the headers needed to complete the compiles. It appears that the -F issue was fixed in r48729: <http://trac.webkit.org/changeset/48729>
Mark Rowe (bdash)
Comment 3 2009-09-25 17:40:55 PDT
The -F change didn't achieve towards fixing other platforms. The fundamental issue here is that the manner in which we detect whether the macro is enabled only works on Mac, due to the search path only being set on Mac and the header file using a path that is not portable.
David Kilzer (:ddkilzer)
Comment 4 2009-09-25 18:12:00 PDT
(In reply to comment #3) > The fundamental issue here is that the manner in which we detect whether the > macro is enabled only works on Mac, due to the search path only being set on > Mac and the header file using a path that is not portable. I guess we can't use $(WebCore)/../JavaScriptCore/wtf/Platform.h because we can't always assume that JavaScriptCore sources are sitting next to WebCore sources.
Mark Rowe (bdash)
Comment 5 2009-09-25 18:16:43 PDT
Correct.
David Kilzer (:ddkilzer)
Comment 6 2009-09-25 18:22:29 PDT
So ENABLE_CONTEXT_MENUS, ENABLE_DRAG_SUPPORT and ENABLE_INSPECTOR are only used to determine which *.exp files to concatenate for the Mac platform, so those definitions may all be moved out of the common code path. That leaves ENABLE_ORIENTATION_EVENTS. It's required for both the *.exp file generation and the JS/ObjC code generation. One solution there would be to move it (back) to the FeatureDefines.xcconfig files (and related build files for other platforms) where it was in an earlier patch for Bug 29508. Is that acceptable?
David Kilzer (:ddkilzer)
Comment 7 2009-09-25 19:18:20 PDT
Created attachment 40159 [details] Part 1 Patch v1
Greg Bolsinga
Comment 8 2009-09-25 19:27:10 PDT
Dave, I would suggest we have ENABLE_DRAG_AND_DROP, ENABLE_INSPECTOR, and ENABLE_CONTEXT_MENUS always be on. See the non MacOS ENABLE_DASHBOARD_SUPPORT section. This is because testing really isn't even needed here. Nothing in Open Source will turn these off at the moment. We can just 'do the right thing' for iPhone as is being done for Mac OS now, in this makefile.
David Kilzer (:ddkilzer)
Comment 9 2009-09-25 19:58:02 PDT
(In reply to comment #8) > Dave, I would suggest we have ENABLE_DRAG_AND_DROP, ENABLE_INSPECTOR, and > ENABLE_CONTEXT_MENUS always be on. See the non MacOS ENABLE_DASHBOARD_SUPPORT > section. The only reason that's needed is because ENABLE_DASHBOARD_SUPPORT is used for both WEBCORE_CSS_PROPERTY_NAMES and WEBCORE_EXPORT_DEPENDENCIES. Moving these tests to where they're used is consistent with the other *.exp file tests.
David Kilzer (:ddkilzer)
Comment 10 2009-09-25 21:33:25 PDT
David Kilzer (:ddkilzer)
Comment 11 2009-09-25 21:34:02 PDT
Comment on attachment 40159 [details] Part 1 Patch v1 Clearing darin's r+ flag.
David Kilzer (:ddkilzer)
Comment 12 2009-09-26 05:26:43 PDT
Created attachment 40168 [details] Part 2 Patch v1
David Kilzer (:ddkilzer)
Comment 13 2009-09-26 20:04:21 PDT
David Kilzer (:ddkilzer)
Comment 14 2009-09-26 20:17:21 PDT
Note You need to log in before you can comment on or make changes to this bug.