RESOLVED FIXED 141734
use WEBCORE_EXPORT on Windows
https://bugs.webkit.org/show_bug.cgi?id=141734
Summary use WEBCORE_EXPORT on Windows
Alex Christensen
Reported 2015-02-17 18:48:40 PST
Step 1: Add a few more WEBCORE_EXPORT macros. Step 2: Make the switch in PlatformExportMacros.h and WebKitCommon.props. Step 3: Remove WebKitExports.def.in and the associated build step.
Attachments
Patch (128.12 KB, patch)
2015-02-25 17:02 PST, Brent Fulgham
no flags
Patch (146.34 KB, patch)
2015-02-25 17:12 PST, Brent Fulgham
no flags
Patch (140.87 KB, patch)
2015-02-25 17:31 PST, Brent Fulgham
no flags
Patch (140.92 KB, patch)
2015-02-25 17:45 PST, Brent Fulgham
no flags
Patch (141.01 KB, patch)
2015-02-25 18:00 PST, Brent Fulgham
no flags
Patch (149.88 KB, patch)
2015-02-25 18:34 PST, Brent Fulgham
no flags
Patch (149.64 KB, patch)
2015-02-25 18:36 PST, Brent Fulgham
achristensen: review+
Alex Christensen
Comment 1 2015-02-17 19:00:14 PST
(In reply to comment #0) > Step 1: Add a few more WEBCORE_EXPORT macros. > Step 2: Make the switch in PlatformExportMacros.h and WebKitCommon.props. And in WebKitPrefix.h. > Step 3: Remove WebKitExports.def.in and the associated build step.
Brent Fulgham
Comment 2 2015-02-25 16:38:35 PST
*** Bug 141720 has been marked as a duplicate of this bug. ***
Brent Fulgham
Comment 3 2015-02-25 17:02:23 PST
WebKit Commit Bot
Comment 4 2015-02-25 17:03:49 PST
Attachment 247367 [details] did not pass style-queue: ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.cpp:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:126: "windows.h" already included at Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:105 [build/include] [4] Total errors found: 2 in 46 files If any of these errors are false positives, please file a bug against check-webkit-style.
Brent Fulgham
Comment 5 2015-02-25 17:12:30 PST
WebKit Commit Bot
Comment 6 2015-02-25 17:15:02 PST
Attachment 247370 [details] did not pass style-queue: ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.cpp:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:126: "windows.h" already included at Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:105 [build/include] [4] ERROR: Tools/DumpRenderTree/win/DumpRenderTreePrefix.cpp:28: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] Total errors found: 3 in 53 files If any of these errors are false positives, please file a bug against check-webkit-style.
Brent Fulgham
Comment 7 2015-02-25 17:31:06 PST
WebKit Commit Bot
Comment 8 2015-02-25 17:32:55 PST
Attachment 247372 [details] did not pass style-queue: ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.cpp:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:126: "windows.h" already included at Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:105 [build/include] [4] ERROR: Tools/DumpRenderTree/win/DumpRenderTreePrefix.cpp:28: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] Total errors found: 3 in 53 files If any of these errors are false positives, please file a bug against check-webkit-style.
Brent Fulgham
Comment 9 2015-02-25 17:45:03 PST
WebKit Commit Bot
Comment 10 2015-02-25 17:46:02 PST
Attachment 247373 [details] did not pass style-queue: ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.cpp:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:126: "windows.h" already included at Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:105 [build/include] [4] ERROR: Tools/DumpRenderTree/win/DumpRenderTreePrefix.cpp:28: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] Total errors found: 3 in 53 files If any of these errors are false positives, please file a bug against check-webkit-style.
Alex Christensen
Comment 11 2015-02-25 17:59:41 PST
Comment on attachment 247373 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=247373&action=review > Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters:7228 > + <ClCompile Include="..\platform\cf\CoreMediaSoftLink.cpp" /> These should have filters. > Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters:15177 > + <ClInclude Include="..\Modules\streams\ReadableStream.h" /> Filters. > Source/WebCore/WebCore.vcxproj/WebCoreTestSupport.vcxproj:179 > + <ForceSymbolReferences> What does this do? > Source/WebCore/WebCore.vcxproj/WebCoreTestSupportCommon.props:10 > + <AdditionalIncludeDirectories>$(ProjectDir)..;$(ProjectDir)..\Modules\mediacontrols;$(ProjectDir)..\Modules\mediastream;$(ProjectDir)..\Modules\encryptedmedia;$(ProjectDir)..\Modules\filesystem;$(ProjectDir)..\Modules\gamepad;$(ProjectDir)..\Modules\geolocation;$(ProjectDir)..\Modules\indexeddb;$(ProjectDir)..\Modules\mediasource;$(ProjectDir)..\Modules\navigatorcontentutils;$(ProjectDir)..\Modules\plugins;$(ProjectDir)..\Modules\speech;$(ProjectDir)..\Modules\proximity;$(ProjectDir)..\Modules\quota;$(ProjectDir)..\Modules\notifications;$(ProjectDir)..\Modules\streams;$(ProjectDir)..\Modules\webdatabase;$(ProjectDir)..\Modules\websockets;$(ProjectDir)..\accessibility;$(ProjectDir)..\accessibility\win;$(ProjectDir)..\bridge;$(ProjectDir)..\bridge\c;$(ProjectDir)..\bridge\jsc;$(ProjectDir)..\css;$(ProjectDir)..\cssjit;$(ProjectDir)..\editing;$(ProjectDir)..\fileapi;$(ProjectDir)..\rendering;$(ProjectDir)..\rendering\line;$(ProjectDir)..\rendering\mathml;$(ProjectDir)..\rendering\shapes;$(ProjectDir)..\rendering\style;$(ProjectDir)..\rendering\svg;$(ProjectDir)..\bindings;$(ProjectDir)..\bindings\generic;$(ProjectDir)..\bindings\js;$(ProjectDir)..\bindings\js\specialization;$(ProjectDir)..\dom;$(ProjectDir)..\dom\default;$(ProjectDir)..\history;$(ProjectDir)..\html;$(ProjectDir)..\html\canvas;$(ProjectDir)..\html\forms;$(ProjectDir)..\html\parser;$(ProjectDir)..\html\shadow;$(ProjectDir)..\html\track;$(ProjectDir)..\inspector;$(ProjectDir)..\loader;$(ProjectDir)..\loader\appcache;$(ProjectDir)..\loader\archive;$(ProjectDir)..\loader\archive\cf;$(ProjectDir)..\loader\cache;$(ProjectDir)..\loader\icon;$(ProjectDir)..\mathml;$(ProjectDir)..\page;$(ProjectDir)..\page\animation;$(ProjectDir)..\page\scrolling;$(ProjectDir)..\page\win;$(ProjectDir)..\platform;$(ProjectDir)..\platform\animation;$(ProjectDir)..\platform\audio;$(ProjectDir)..\platform\mock;$(ProjectDir)..\platform\sql;$(ProjectDir)..\platform\win;$(ProjectDir)..\platform\network;$(ProjectDir)..\platform\network\win;$(ProjectDir)..\platform\cf;$(ProjectDir)..\platform\graphics;$(ProjectDir)..\platform\graphics\ca;$(ProjectDir)..\platform\graphics\cpu\arm\filters;$(ProjectDir)..\platform\graphics\filters;$(ProjectDir)..\platform\graphics\filters\arm;$(ProjectDir)..\platform\graphics\opentype;$(ProjectDir)..\platform\graphics\transforms;$(ProjectDir)..\platform\text;$(ProjectDir)..\platform\text\icu;$(ProjectDir)..\platform\text\transcoder;$(ProjectDir)..\platform\graphics\win;$(ProjectDir)..\xml;$(ProjectDir)..\xml\parser;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources;$(ProjectDir)..\plugins;$(ProjectDir)..\plugins\win;$(ProjectDir)..\replay;$(ProjectDir)..\svg\animation;$(ProjectDir)..\svg\graphics;$(ProjectDir)..\svg\properties;$(ProjectDir)..\svg\graphics\filters;$(ProjectDir)..\svg;$(ProjectDir)..\testing;$(ProjectDir)..\crypto;$(ProjectDir)..\crypto\keys;$(ProjectDir)..\wml;$(ProjectDir)..\storage;$(ProjectDir)..\style;$(ProjectDir)..\websockets;$(ProjectDir)..\workers;$(ConfigurationBuildDir)\include;$(ConfigurationBuildDir)\include\private;$(ConfigurationBuildDir)\include\JavaScriptCore;$(ConfigurationBuildDir)\include\private\JavaScriptCore;$(ProjectDir)..\ForwardingHeaders;$(ProjectDir)..\platform\graphics\gpu;$(ProjectDir)..\platform\graphics\egl;$(ProjectDir)..\platform\graphics\surfaces;$(ProjectDir)..\platform\graphics\surfaces\egl;$(ProjectDir)..\platform\graphics\opengl;$(WebKit_Libraries)\include;$(WebKit_Libraries)\include\private;$(WebKit_Libraries)\include\private\JavaScriptCore;$(WebKit_Libraries)\include\sqlite;$(WebKit_Libraries)\include\JavaScriptCore;$(WebKit_Libraries)\include\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> I don't think it's a good idea to duplicate these lists of include directories. Import a property sheet that already has it. > Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:222 > +my %testSupportClasses = ( Put one of the bindings tests names in here so we can test that this works, then update that bindings test. > Source/WebCore/page/DOMWindow.cpp:84 > +#include "Profile.h" I had to include a few extra things like this, too. I'm not sure why.
Brent Fulgham
Comment 12 2015-02-25 18:00:59 PST
WebKit Commit Bot
Comment 13 2015-02-25 18:02:27 PST
Attachment 247377 [details] did not pass style-queue: ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.cpp:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:126: "windows.h" already included at Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:105 [build/include] [4] ERROR: Tools/DumpRenderTree/win/DumpRenderTreePrefix.cpp:28: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] Total errors found: 3 in 53 files If any of these errors are false positives, please file a bug against check-webkit-style.
Alex Christensen
Comment 14 2015-02-25 18:22:02 PST
r=me once this passes ews
Brent Fulgham
Comment 15 2015-02-25 18:34:36 PST
Brent Fulgham
Comment 16 2015-02-25 18:36:54 PST
WebKit Commit Bot
Comment 17 2015-02-25 18:39:29 PST
Attachment 247387 [details] did not pass style-queue: ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:126: "windows.h" already included at Source/WebCore/testing/js/WebCoreTestSupportPrefix.h:105 [build/include] [4] ERROR: Source/WebCore/testing/js/WebCoreTestSupportPrefix.cpp:26: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] ERROR: Tools/DumpRenderTree/win/DumpRenderTreePrefix.cpp:28: Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted. [build/include_order] [4] Total errors found: 3 in 59 files If any of these errors are false positives, please file a bug against check-webkit-style.
Brent Fulgham
Comment 18 2015-02-25 20:04:29 PST
Myles C. Maxfield
Comment 19 2015-02-25 20:31:35 PST
YYYAAAAAAYYYYYYYYY
Andreas Kling
Comment 20 2015-02-25 22:37:31 PST
OMG is this real life?
Brent Fulgham
Comment 21 2015-02-25 22:43:39 PST
It's happening! We should all give Alex a big thanks for getting all the parts in place so that this could finally happen.
Csaba Osztrogonác
Comment 22 2015-02-26 03:50:09 PST
(In reply to comment #18) > Committed r180653: <http://trac.webkit.org/changeset/180653> It broke the build on Apple's WinCairo buildbot.
Brent Fulgham
Comment 23 2015-02-26 08:54:12 PST
(In reply to comment #22) > (In reply to comment #18) > > Committed r180653: <http://trac.webkit.org/changeset/180653> > > It broke the build on Apple's WinCairo buildbot. It looks like WinCairo builds a TestWebKitAPI file that the Apple Windows port does not. Patch coming...
Brent Fulgham
Comment 24 2015-02-26 09:06:11 PST
Speculative build fix for WinCairo in r180677 <https://trac.webkit.org/changeset/180677>.
Csaba Osztrogonác
Comment 25 2015-02-27 12:18:05 PST
(In reply to comment #24) > Speculative build fix for WinCairo in r180677 > <https://trac.webkit.org/changeset/180677>. The build still fails with the same error message.
Brent Fulgham
Comment 26 2015-02-27 13:42:09 PST
Alex: My proposed fix didn't seem to correct the problem. If you have access to that machine can you see what's going on?
Alex Christensen
Comment 27 2015-02-27 14:17:53 PST
http://trac.webkit.org/changeset/180781 should have fixed WinCairo.
Note You need to log in before you can comment on or make changes to this bug.