Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Issue 10234088: Use GYP to generate MSVS project files (Closed)

Created:
April 23, 2013, 4:24 p.m. by Wladimir Palant
Modified:
April 24, 2013, 2:51 p.m.
Visibility:
Public.

Description

This is still work in progress but I got pretty far. V8 compiles file without Cygwin as long as you don`t use --generator-output parameter - with that parameter the work directory is cleaner but js2c.py parameters get mangled. Had to change our gyp files in a few places to sync them up with the MSVS projects, also had to add configurations to googletest matching all other projects (compiling gets pretty awkward with Visual Studio otherwise). createsolution.bat starts gyp to create libadblockplus.sln and all the project files - target architecture still needs to be parametrized.

Patch Set 1 #

Total comments: 14

Patch Set 2 : Tests passing now #

Patch Set 3 : Moved project files to build/ #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+121 lines, -34 lines) Patch
R buildmsvs.bat View 1 chunk +0 lines, -13 lines 0 comments Download
R buildmsvs_release.bat View 1 chunk +0 lines, -13 lines 0 comments Download
M check_curl.py View 1 2 0 chunks +-1 lines, --1 lines 0 comments Download
M common.gypi View 1 chunk +10 lines, -1 line 0 comments Download
M convert_js.py View 1 2 0 chunks +-1 lines, --1 lines 0 comments Download
A createsolution.bat View 1 2 1 chunk +15 lines, -0 lines 0 comments Download
M libadblockplus.gyp View 1 2 chunks +23 lines, -5 lines 0 comments Download
A msvs_gyp_wrapper.py View 1 2 1 chunk +21 lines, -0 lines 2 comments Download
R msvs_makesnapshot.bat View 1 chunk +0 lines, -1 line 0 comments Download
R msvs_makesnapshot_release.bat View 1 chunk +0 lines, -1 line 0 comments Download
M test/WebRequest.cpp View 1 1 chunk +1 line, -1 line 0 comments Download
M third_party/googletest.gyp View 1 1 chunk +53 lines, -1 line 0 comments Download

Messages

Total messages: 10
Wladimir Palant
April 23, 2013, 4:24 p.m. (2013-04-23 16:24:40 UTC) #1
Wladimir Palant
I should mention that at least the x64 abpshell build isn't really functional for me, ...
April 23, 2013, 4:31 p.m. (2013-04-23 16:31:40 UTC) #2
Eric
We're altering third_party/googletest.gyp here. Is this a provisional change, or have we decided to alter ...
April 23, 2013, 5:12 p.m. (2013-04-23 17:12:17 UTC) #3
Wladimir Palant
http://codereview.adblockplus.org/10234088/diff/1/common.gypi File common.gypi (right): http://codereview.adblockplus.org/10234088/diff/1/common.gypi#newcode27 common.gypi:27: 'target_arch=="x64"', { On 2013/04/23 17:12:17, Eric wrote: > See ...
April 24, 2013, 6:01 a.m. (2013-04-24 06:01:34 UTC) #4
Wladimir Palant
I got tests to build correctly, they pass with the exception of some timing issues ...
April 24, 2013, 10:42 a.m. (2013-04-24 10:42:15 UTC) #5
Eric
Nothing new to add on this latest round. Even if it's only-mostly working, if it ...
April 24, 2013, 1:09 p.m. (2013-04-24 13:09:44 UTC) #6
Wladimir Palant
I created a gyp wrapper to monkey-patch _FixPath() in the MSVS generator - quite a ...
April 24, 2013, 2:04 p.m. (2013-04-24 14:04:34 UTC) #7
Oleksandr
On 2013/04/24 14:04:34, Wladimir Palant wrote: > I created a gyp wrapper to monkey-patch _FixPath() ...
April 24, 2013, 2:15 p.m. (2013-04-24 14:15:40 UTC) #8
Eric
> Maybe we can somehow convince Google to fix js2c.py instead. I've already done it, ...
April 24, 2013, 2:21 p.m. (2013-04-24 14:21:56 UTC) #9
Wladimir Palant
April 24, 2013, 2:51 p.m. (2013-04-24 14:51:05 UTC) #10
http://codereview.adblockplus.org/10234088/diff/8003/msvs_gyp_wrapper.py
File msvs_gyp_wrapper.py (right):

http://codereview.adblockplus.org/10234088/diff/8003/msvs_gyp_wrapper.py#newc...
msvs_gyp_wrapper.py:16: return path
This is pretty safe actually - I doubt that we will ever see directories with
such names.

I fact, I tried a more generic change first: assume that anything without dots
and slashes isn't a path. That works fine for V8 but our codebase unfortunately
uses 'include' and 'googletest' as include paths. Not sure whether we can still
suggest a better solution to the gyp developers (like checking whether the paths
actually exist) but getting js2c.py fixed looks like a more promising approach
right now.

Powered by Google App Engine
This is Rietveld