From cab0bb7fc694a59de379befb6062f48fdd1b731c Mon Sep 17 00:00:00 2001 From: mtklein Date: Fri, 26 Aug 2016 13:43:19 -0700 Subject: GN: support compiler_prefix, use it for ccache on bots. This makes it considerably easier to use ccache with the Android NDK. You can now just set compiler_prefix = "ccache" ndk = "/path/to/ndk" and we'll use the NDK clang, wrapped with ccache. The name compiler_prefix is stolen from / compatible with Chrome. If you have ccache, you can just always leave compiler_prefix="ccache" enabled. This should make it an unusual thing for humans to have to change cc or cxx. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2281163002 Review-Url: https://codereview.chromium.org/2281163002 --- infra/bots/recipe_modules/flavor/gn_flavor.py | 4 +++- .../swarm_compile.expected/Build-Ubuntu-Clang-x86_64-Debug-GN.json | 2 +- .../swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Debug-GN.json | 2 +- ...d-Ubuntu-GCC-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json | 2 +- .../swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Release-Fast.json | 2 +- .../recipes/swarm_compile.expected/Build-Win-MSVC-x86-Release-GN.json | 2 +- 6 files changed, 8 insertions(+), 6 deletions(-) (limited to 'infra/bots') diff --git a/infra/bots/recipe_modules/flavor/gn_flavor.py b/infra/bots/recipe_modules/flavor/gn_flavor.py index 75c318f818..cba72a8467 100644 --- a/infra/bots/recipe_modules/flavor/gn_flavor.py +++ b/infra/bots/recipe_modules/flavor/gn_flavor.py @@ -29,9 +29,10 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils): elif compiler == 'GCC': cc, cxx = 'gcc', 'g++' + compiler_prefix = "" ccache = self.m.run.ccache() if ccache: - cc, cxx = '%s %s' % (ccache, cc), '%s %s' % (ccache, cxx) + compiler_prefix = ccache if compiler == 'Clang': # Stifle "argument unused during compilation: ..." warnings. extra_cflags.append('-Qunused-arguments') @@ -45,6 +46,7 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils): gn_args = ' '.join('%s=%s' % (k,v) for (k,v) in { 'cc': quote(cc), 'cxx': quote(cxx), + 'compiler_prefix': quote(compiler_prefix), 'extra_cflags': quote(' '.join(extra_cflags)), 'is_debug': 'true' if configuration == 'Debug' else 'false', }.iteritems()) diff --git a/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-Clang-x86_64-Debug-GN.json b/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-Clang-x86_64-Debug-GN.json index 3e3ef0e0bd..35c21ce889 100644 --- a/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-Clang-x86_64-Debug-GN.json +++ b/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-Clang-x86_64-Debug-GN.json @@ -127,7 +127,7 @@ "gn", "gen", "[CUSTOM_/_B_WORK]/skia/out/Build-Ubuntu-Clang-x86_64-Debug-GN/Debug", - "--args=cc=\"/usr/bin/ccache clang\" cxx=\"/usr/bin/ccache clang++\" is_debug=true extra_cflags=\"-Qunused-arguments\"" + "--args=cc=\"clang\" cxx=\"clang++\" is_debug=true extra_cflags=\"-Qunused-arguments\" compiler_prefix=\"/usr/bin/ccache\"" ], "cwd": "[CUSTOM_/_B_WORK]/skia", "env": { diff --git a/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Debug-GN.json b/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Debug-GN.json index 10ff8c3307..253f918399 100644 --- a/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Debug-GN.json +++ b/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Debug-GN.json @@ -125,7 +125,7 @@ "gn", "gen", "[CUSTOM_/_B_WORK]/skia/out/Build-Ubuntu-GCC-x86_64-Debug-GN/Debug", - "--args=cc=\"/usr/bin/ccache gcc\" cxx=\"/usr/bin/ccache g++\" is_debug=true extra_cflags=\"\"" + "--args=cc=\"gcc\" cxx=\"g++\" is_debug=true extra_cflags=\"\" compiler_prefix=\"/usr/bin/ccache\"" ], "cwd": "[CUSTOM_/_B_WORK]/skia", "env": { diff --git a/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json b/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json index 12314f87cc..090d312016 100644 --- a/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json +++ b/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE.json @@ -124,7 +124,7 @@ "gn", "gen", "[CUSTOM_/_B_WORK]/skia/out/Build-Ubuntu-GCC-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE/Debug", - "--args=cc=\"gcc\" cxx=\"g++\" is_debug=true extra_cflags=\"-DSK_USE_DISCARDABLE_SCALEDIMAGECACHE\"" + "--args=cc=\"gcc\" cxx=\"g++\" is_debug=true extra_cflags=\"-DSK_USE_DISCARDABLE_SCALEDIMAGECACHE\" compiler_prefix=\"\"" ], "cwd": "[CUSTOM_/_B_WORK]/skia", "env": { diff --git a/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Release-Fast.json b/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Release-Fast.json index 091b29ebb1..10321f6f9a 100644 --- a/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Release-Fast.json +++ b/infra/bots/recipes/swarm_compile.expected/Build-Ubuntu-GCC-x86_64-Release-Fast.json @@ -123,7 +123,7 @@ "gn", "gen", "[CUSTOM_/_B_WORK]/skia/out/Build-Ubuntu-GCC-x86_64-Release-Fast/Release", - "--args=cc=\"gcc\" cxx=\"g++\" is_debug=false extra_cflags=\"-march=native -fomit-frame-pointer -O3\"" + "--args=cc=\"gcc\" cxx=\"g++\" is_debug=false extra_cflags=\"-march=native -fomit-frame-pointer -O3\" compiler_prefix=\"\"" ], "cwd": "[CUSTOM_/_B_WORK]/skia", "env": { diff --git a/infra/bots/recipes/swarm_compile.expected/Build-Win-MSVC-x86-Release-GN.json b/infra/bots/recipes/swarm_compile.expected/Build-Win-MSVC-x86-Release-GN.json index fe8c242369..62b59e92c8 100644 --- a/infra/bots/recipes/swarm_compile.expected/Build-Win-MSVC-x86-Release-GN.json +++ b/infra/bots/recipes/swarm_compile.expected/Build-Win-MSVC-x86-Release-GN.json @@ -93,7 +93,7 @@ "gn", "gen", "[CUSTOM_C:\\_B_WORK]\\skia\\out\\Build-Win-MSVC-x86-Release-GN\\Release", - "--args=cc=\"cc\" cxx=\"c++\" is_debug=false extra_cflags=\"\"" + "--args=cc=\"cc\" cxx=\"c++\" is_debug=false extra_cflags=\"\" compiler_prefix=\"\"" ], "cwd": "[CUSTOM_C:\\_B_WORK]\\skia", "env": { -- cgit v1.2.3