Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(385)

Issue 206463007: change default build (in "make" wrapper) to ninja on all platforms (Closed)

Created:
6 years, 9 months ago by epoger
Modified:
6 years, 8 months ago
CC:
skia-review_googlegroups.com
Base URL:
https://skia.googlesource.com/skia.git@master
Visibility:
Public.

Description

change default build (in "make" wrapper) to ninja on all platforms This will change the build method used by bots, and also developers who run the toplevel "fake-make" wrapper. DO NOT COMMIT until Chrome M35 branches, in order to not interfere in that process. manually committed as https://code.google.com/p/skia/source/detail?r=14003 BUG=skia:2317, skia:2348, skia:2338 NOTRY=True

Patch Set 1 #

Patch Set 2 : fix syntax error in make.py #

Patch Set 3 : tell Android to go back to using make #

Patch Set 4 : make chromeos use ninja #

Patch Set 5 : add Debug_x64 and Release_x64 configurations for Windows build #

Patch Set 6 : windows make.py : don't run ninja for just "make gyp" #

Patch Set 7 : rebase #

Patch Set 8 : rebase #

Patch Set 9 : android too #

Total comments: 2

Patch Set 10 : revert change to android_make #

Patch Set 11 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+37 lines, -71 lines) Patch
M Makefile View 3 4 5 6 7 8 4 chunks +8 lines, -42 lines 0 comments Download
M gyp/common_conditions.gypi View 1 2 3 4 5 6 7 1 chunk +16 lines, -0 lines 0 comments Download
M gyp_skia View 1 chunk +4 lines, -4 lines 0 comments Download
M make.py View 1 2 3 4 5 3 chunks +8 lines, -24 lines 0 comments Download
M platform_tools/chromeos/bin/chromeos_setup.sh View 1 2 3 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 30 (0 generated)
epoger
adding "EXCEPT Android" to the description; I'm going to modify the patch to leave Android's ...
6 years, 9 months ago (2014-03-21 19:17:23 UTC) #1
epoger
Ben, Eric, and Derek- please review at patchset 4. As noted in the description, I ...
6 years, 9 months ago (2014-03-24 17:25:33 UTC) #2
borenet
I think I'd rather us be honest and just remove the Makefile and run Ninja ...
6 years, 9 months ago (2014-03-24 17:28:09 UTC) #3
epoger
On 2014/03/24 17:28:09, borenet wrote: > I think I'd rather us be honest and just ...
6 years, 9 months ago (2014-03-24 17:29:54 UTC) #4
epoger
On 2014/03/24 17:29:54, epoger wrote: > On 2014/03/24 17:28:09, borenet wrote: > > I think ...
6 years, 9 months ago (2014-03-24 17:32:03 UTC) #5
borenet
Code LGTM. I don't feel too strongly, but my preference is: - Change the bots ...
6 years, 9 months ago (2014-03-24 17:39:03 UTC) #6
epoger
On 2014/03/24 17:39:03, borenet wrote: > Code LGTM. I don't feel too strongly, but my ...
6 years, 9 months ago (2014-03-24 17:46:07 UTC) #7
epoger
ping bungeman and djsollen
6 years, 9 months ago (2014-03-25 17:05:02 UTC) #8
bungeman-skia
sgtm/lgtm for the change and general plan, at least on the bits that I know ...
6 years, 9 months ago (2014-03-25 17:10:04 UTC) #9
djsollen
I have the same sentiment as ben. Also, if we can figure out a way ...
6 years, 9 months ago (2014-03-25 17:34:05 UTC) #10
epoger
On 2014/03/25 17:34:05, djsollen wrote: > I have the same sentiment as ben. Also, if ...
6 years, 9 months ago (2014-03-25 17:45:58 UTC) #11
epoger
As of patchset 6, I think this CL is "ready for prime time". I plan ...
6 years, 9 months ago (2014-03-27 18:46:36 UTC) #12
epoger
As of patchset 9, uses ninja to build Android too, so now it covers ALL ...
6 years, 8 months ago (2014-03-31 15:30:06 UTC) #13
mtklein
On 2014/03/31 15:30:06, epoger wrote: > As of patchset 9, uses ninja to build Android ...
6 years, 8 months ago (2014-03-31 15:41:30 UTC) #14
epoger
On 2014/03/31 15:41:30, mtklein wrote: > On 2014/03/31 15:30:06, epoger wrote: > > As of ...
6 years, 8 months ago (2014-03-31 15:49:51 UTC) #15
mtklein
On 2014/03/31 15:49:51, epoger wrote: > On 2014/03/31 15:41:30, mtklein wrote: > > On 2014/03/31 ...
6 years, 8 months ago (2014-03-31 15:52:28 UTC) #16
djsollen
https://codereview.chromium.org/206463007/diff/200001/platform_tools/android/bin/android_make File platform_tools/android/bin/android_make (left): https://codereview.chromium.org/206463007/diff/200001/platform_tools/android/bin/android_make#oldcode14 platform_tools/android/bin/android_make:14: if [ $(basename $0) = "android_make" ]; then can ...
6 years, 8 months ago (2014-03-31 16:00:33 UTC) #17
mtklein
https://codereview.chromium.org/206463007/diff/200001/platform_tools/android/bin/android_make File platform_tools/android/bin/android_make (left): https://codereview.chromium.org/206463007/diff/200001/platform_tools/android/bin/android_make#oldcode14 platform_tools/android/bin/android_make:14: if [ $(basename $0) = "android_make" ]; then On ...
6 years, 8 months ago (2014-03-31 16:04:18 UTC) #18
epoger
On 2014/03/31 16:04:18, mtklein wrote: > https://codereview.chromium.org/206463007/diff/200001/platform_tools/android/bin/android_make > File platform_tools/android/bin/android_make (left): > > https://codereview.chromium.org/206463007/diff/200001/platform_tools/android/bin/android_make#oldcode14 > ...
6 years, 8 months ago (2014-03-31 16:08:56 UTC) #19
mtklein
On 2014/03/31 16:08:56, epoger wrote: > On 2014/03/31 16:04:18, mtklein wrote: > > > https://codereview.chromium.org/206463007/diff/200001/platform_tools/android/bin/android_make ...
6 years, 8 months ago (2014-03-31 16:15:45 UTC) #20
epoger
On 2014/03/31 16:15:45, mtklein wrote: > On 2014/03/31 16:08:56, epoger wrote: > > On 2014/03/31 ...
6 years, 8 months ago (2014-03-31 16:20:58 UTC) #21
epoger
Patchset 10: Thanks to https://skia.googlesource.com/buildbot/+/73a028bfb6a2e5ef1300728dbaf660af688138b2 ('reland "make bots call android_ninja instead of android_make"'), we don't ...
6 years, 8 months ago (2014-03-31 20:56:41 UTC) #22
epoger
The CQ bit was checked by epoger@google.com
6 years, 8 months ago (2014-04-01 06:28:29 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/epoger@google.com/206463007/220001
6 years, 8 months ago (2014-04-01 06:28:33 UTC) #24
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-01 06:28:37 UTC) #25
commit-bot: I haz the power
Failed to apply patch for make.py: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 8 months ago (2014-04-01 06:28:38 UTC) #26
epoger
The CQ bit was checked by epoger@google.com
6 years, 8 months ago (2014-04-01 06:41:11 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://skia-tree-status.appspot.com/cq/epoger@google.com/206463007/240001
6 years, 8 months ago (2014-04-01 06:41:16 UTC) #28
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 8 months ago (2014-04-01 06:41:19 UTC) #29
commit-bot: I haz the power
6 years, 8 months ago (2014-04-01 06:41:19 UTC) #30
Failed to apply patch for make.py:
While running patch -p1 --forward --force --no-backup-if-mismatch;
  patching file make.py
  Hunk #1 FAILED at 42.
  Hunk #2 FAILED at 99.
  Hunk #3 FAILED at 184.
  3 out of 3 hunks FAILED -- saving rejects to file make.py.rej

Patch:       make.py
Index: make.py
diff --git a/make.py b/make.py
index
28f3554a492076fbeeb3a532dccca54fcf9061a4..306a977c4301afa87f355734f279e13f08e01a4c
100644
--- a/make.py
+++ b/make.py
@@ -42,11 +42,6 @@ def rmtree(path):
     print '> rmtree %s' % path
     shutil.rmtree(path, ignore_errors=True)
 
-def mkdirs(path):
-    print '> mkdirs %s' % path
-    if not os.path.isdir(path):
-        os.makedirs(path)
-
 def runcommand(command):
     print '> %s' % command
     if os.system(command):
@@ -99,30 +94,21 @@ def MakeWindows(targets):
     parameters:
         targets: build targets as a list of strings
     """
+    # TODO(epoger): I'm not sure if this is needed for ninja builds.
     CheckWindowsEnvironment()
 
     # Run gyp_skia to prepare Visual Studio projects.
     cd(SCRIPT_DIR)
     runcommand('python gyp_skia')
 
-    # Prepare final output dir into which we will copy all binaries.
-    msbuild_working_dir = os.path.join(SCRIPT_DIR, OUT_SUBDIR, GYP_SUBDIR)
-    msbuild_output_dir = os.path.join(msbuild_working_dir, BUILDTYPE)
-    final_output_dir = os.path.join(SCRIPT_DIR, OUT_SUBDIR, BUILDTYPE)
-    mkdirs(final_output_dir)
+    # We already built the gypfiles...
+    while TARGET_GYP in targets:
+        targets.remove(TARGET_GYP)
 
-    for target in targets:
-        # We already built the gypfiles...
-        if target == TARGET_GYP:
-            continue
-
-        cd(msbuild_working_dir)
-        runcommand(
-            ('msbuild /nologo /property:Configuration=%s'
-            ' /target:%s /verbosity:minimal %s.sln') % (
-                BUILDTYPE, target, target))
-        runcommand('xcopy /y %s\* %s' % (
-            msbuild_output_dir, final_output_dir))
+    # And call ninja to do the work!
+    if targets:
+        runcommand('ninja -C %s %s' % (
+            os.path.join(OUT_SUBDIR, BUILDTYPE), ' '.join(targets)))
 
 
 def Make(args):
@@ -184,5 +170,3 @@ def Make(args):
 
 # main()
 Make(sys.argv[1:])
-
-

Powered by Google App Engine
This is Rietveld 408576698