TestWebKitAPI was not the only project that needed the new include path for JavaScriptCore added to the vsprops file. In addition, WebCore.vcproj, jsc.vcproj, and testRegExp.vcproj all expect some string implementation files to have their headers in the old, flat location.
Sorry. :( I assume you're fixing, since I don't actually have a Windows machine. :)
Thank you. :)
Created attachment 130731 [details] Patch
Comment on attachment 130731 [details] Patch I'm happy to rubber-stamp this.
There is still an outlying issue for the Win WTF move. Currently we install the WTF headers under JavaScriptCore. I really should have set it up to install them in some wtf/* location, but my vcproj-fu I feared too weak. We also don't have a WTF/WTF.vcproj file yet. I was hoping that I might just be able to move the JavaScriptCore/wtf/WTF.vcproj file, but I'm nto sure if that will be sufficient. WTF.vcproj needs to do two things: 1. Build a libwtf.a 2. Install wtf headers in some reasonable location. (On mac, that $BUILD/usr/local/include/wtf). I very much welcome your thoughts on how best to move forward with Windows for the WTF move. Ideally someone with AppleWin familiarity could set up a dummy WTF project which did 1, 2 above. Similar to how we have a Source/WTF/WTF.xcodeproj, etc. which only build/install Stub.cpp/h at current.
Comment on attachment 130731 [details] Patch rs=me. Feel encouraged to hunt down a more qualified reviewer as necessary. I just don't want you to feel blocked.
Comment on attachment 130731 [details] Patch I committed this patch in http://trac.webkit.org/changeset/110133 Subsequent build fixes (turned out this patch wasn't quite enough): http://trac.webkit.org/changeset/110174 http://trac.webkit.org/changeset/110177
Thank you again for taking care of this Jessie.
(In reply to comment #5) > There is still an outlying issue for the Win WTF move. Currently we install the WTF headers under JavaScriptCore. I really should have set it up to install them in some wtf/* location, but my vcproj-fu I feared too weak. > > We also don't have a WTF/WTF.vcproj file yet. I was hoping that I might just be able to move the JavaScriptCore/wtf/WTF.vcproj file, but I'm nto sure if that will be sufficient. > > WTF.vcproj needs to do two things: > > 1. Build a libwtf.a > 2. Install wtf headers in some reasonable location. (On mac, that $BUILD/usr/local/include/wtf). > > I very much welcome your thoughts on how best to move forward with Windows for the WTF move. Ideally someone with AppleWin familiarity could set up a dummy WTF project which did 1, 2 above. Similar to how we have a Source/WTF/WTF.xcodeproj, etc. which only build/install Stub.cpp/h at current. I believe that JavaScriptCore/wtf/WTF.vcproj is the one that does step #1 (creates WTF.lib), but I am not absolutely sure. With r110033, the wtf headers are living in $BUILD/include/private/JavaScriptCore/wtf. It seems reasonable to me that they should end up living in $BUILD/include/private/wtf. However, right now the JavaScriptCoreGenerated project (whose makefile runs the copy-files.cmd) is responsible for copying over the headers to the build output directory. It seems like that may need to be changed. I will look into creating that dummy vcproj. One thing to note - if you touch any Windows-specific files you should make sure you don't introduce any unix line endings into them. That was the cause of the build failure that Steve Falkenburg fixed this morning.
Marking this bug as fixed. The rest of the work that needs to be done on Windows for the WTF move will be handled separately.
(In reply to comment #9) > (In reply to comment #5) > One thing to note - if you touch any Windows-specific files you should make sure you don't introduce any unix line endings into them. That was the cause of the build failure that Steve Falkenburg fixed this morning. Thanks! I'll make sure to look out for this in the future.
(In reply to comment #11) > (In reply to comment #9) > > (In reply to comment #5) > > One thing to note - if you touch any Windows-specific files you should make sure you don't introduce any unix line endings into them. That was the cause of the build failure that Steve Falkenburg fixed this morning. > > Thanks! I'll make sure to look out for this in the future. Do you know if we can have SVN help us here? by setting the files with the right eol-style? eol-style:CF or whatever is the right one for windows?
(In reply to comment #9) > (In reply to comment #5) > > I very much welcome your thoughts on how best to move forward with Windows for the WTF move. Ideally someone with AppleWin familiarity could set up a dummy WTF project which did 1, 2 above. Similar to how we have a Source/WTF/WTF.xcodeproj, etc. which only build/install Stub.cpp/h at current. > > I believe that JavaScriptCore/wtf/WTF.vcproj is the one that does step #1 (creates WTF.lib), but I am not absolutely sure. I'm not sure either. I was under an impression at one point that the JSC project did the actual building. If the current WTF.vcproj did the .lib creation and header copying, then moving the whole wtf/ folder becomes even simpler. > With r110033, the wtf headers are living in $BUILD/include/private/JavaScriptCore/wtf. It seems reasonable to me that they should end up living in $BUILD/include/private/wtf. Sounds good to me. > However, right now the JavaScriptCoreGenerated project (whose makefile runs the copy-files.cmd) is responsible for copying over the headers to the build output directory. It seems like that may need to be changed. Yup, they'll need to move into WTF.vcproj. If you were willing to move them into the current WTF.vcproj that might make the move even easier. > I will look into creating that dummy vcproj. That would be fantastic! Currently neither build-webkit nor the Makefiles try to build Source/WTF, AFAIK, but I'm about to change build-webkit to build it by default (before JavaScriptCore) on ports which already have build files set up there.
(In reply to comment #12) > (In reply to comment #11) > > (In reply to comment #9) > > > (In reply to comment #5) > > > One thing to note - if you touch any Windows-specific files you should make sure you don't introduce any unix line endings into them. That was the cause of the build failure that Steve Falkenburg fixed this morning. > > > > Thanks! I'll make sure to look out for this in the future. > > Do you know if we can have SVN help us here? by setting the files with the right eol-style? eol-style:CF or whatever is the right one for windows? Windows uses CLRF. I am not sure where we would specify it in the project, and if git would respect it. Do you know more about this?
(In reply to comment #13) > (In reply to comment #9) > > (In reply to comment #5) > > > I very much welcome your thoughts on how best to move forward with Windows for the WTF move. Ideally someone with AppleWin familiarity could set up a dummy WTF project which did 1, 2 above. Similar to how we have a Source/WTF/WTF.xcodeproj, etc. which only build/install Stub.cpp/h at current. > > > > I believe that JavaScriptCore/wtf/WTF.vcproj is the one that does step #1 (creates WTF.lib), but I am not absolutely sure. > > I'm not sure either. I was under an impression at one point that the JSC project did the actual building. If the current WTF.vcproj did the .lib creation and header copying, then moving the whole wtf/ folder becomes even simpler. I verified that it is WTF.vcproj that creates WTF.lib. > > > With r110033, the wtf headers are living in $BUILD/include/private/JavaScriptCore/wtf. It seems reasonable to me that they should end up living in $BUILD/include/private/wtf. > > Sounds good to me. > > > However, right now the JavaScriptCoreGenerated project (whose makefile runs the copy-files.cmd) is responsible for copying over the headers to the build output directory. It seems like that may need to be changed. > > Yup, they'll need to move into WTF.vcproj. If you were willing to move them into the current WTF.vcproj that might make the move even easier. Steve Falkenburg and I worked out a patch to do that today. See https://bugs.webkit.org/show_bug.cgi?id=80657 > > > I will look into creating that dummy vcproj. > > That would be fantastic! Currently neither build-webkit nor the Makefiles try to build Source/WTF, AFAIK, but I'm about to change build-webkit to build it by default (before JavaScriptCore) on ports which already have build files set up there. Because the Windows build system is so involved (vcproj files, vsprops files, the necessary make and cmd files, etc), it might be easier for us to simply move the WTF.vcproj and WTFGenerated.vcproj files and supporting files into Source/WTF instead. We would simply make the references in the WTF.vcproj file point to the source files that are still living under the JavaScriptCore directory until you make the big move.
(In reply to comment #14) > (In reply to comment #12) > > (In reply to comment #11) > > > (In reply to comment #9) > > > > (In reply to comment #5) > > > > One thing to note - if you touch any Windows-specific files you should make sure you don't introduce any unix line endings into them. That was the cause of the build failure that Steve Falkenburg fixed this morning. > > > > > > Thanks! I'll make sure to look out for this in the future. > > > > Do you know if we can have SVN help us here? by setting the files with the right eol-style? eol-style:CF or whatever is the right one for windows? > > Windows uses CLRF. > > I am not sure where we would specify it in the project, and if git would respect it. Do you know more about this? Git-svn uses an actual SVN checkout under the covers (is my understanding), but I'm not sure how it interacts with the properties there. Adam Roben might know... http://stackoverflow.com/questions/3537575/can-git-store-the-mime-type-of-a-file-like-svn-does-for-browsing-html http://stackoverflow.com/questions/1271449/how-to-set-subversion-properties-with-git-svn In any case, I'll be more careful when editing Windows build files on my mac in the future.
(In reply to comment #15) > (In reply to comment #13) > > (In reply to comment #9) > > > (In reply to comment #5) > > That would be fantastic! Currently neither build-webkit nor the Makefiles try to build Source/WTF, AFAIK, but I'm about to change build-webkit to build it by default (before JavaScriptCore) on ports which already have build files set up there. > > Because the Windows build system is so involved (vcproj files, vsprops files, the necessary make and cmd files, etc), it might be easier for us to simply move the WTF.vcproj and WTFGenerated.vcproj files and supporting files into Source/WTF instead. We would simply make the references in the WTF.vcproj file point to the source files that are still living under the JavaScriptCore directory until you make the big move. That sounds even better! I certainly can add/remove a few ../../ from file paths. :)
(In reply to comment #16) > (In reply to comment #14) > > (In reply to comment #12) > > > (In reply to comment #11) > > > > (In reply to comment #9) > > > > > (In reply to comment #5) > > > > > One thing to note - if you touch any Windows-specific files you should make sure you don't introduce any unix line endings into them. That was the cause of the build failure that Steve Falkenburg fixed this morning. > > > > > > > > Thanks! I'll make sure to look out for this in the future. > > > > > > Do you know if we can have SVN help us here? by setting the files with the right eol-style? eol-style:CF or whatever is the right one for windows? > > > > Windows uses CLRF. > > > > I am not sure where we would specify it in the project, and if git would respect it. Do you know more about this? > > Git-svn uses an actual SVN checkout under the covers (is my understanding), but I'm not sure how it interacts with the properties there. Adam Roben might know... > http://stackoverflow.com/questions/3537575/can-git-store-the-mime-type-of-a-file-like-svn-does-for-browsing-html > http://stackoverflow.com/questions/1271449/how-to-set-subversion-properties-with-git-svn Git has a bunch of settings that affect line endings (the core.autocrlf and core.safecrlf config variables and the text/eol/crlf gitattributes). I'm not sure exactly how they interact with svn:eol-style. I think David Kilzer knows a bit about that aspect of it.