@@ -31,9 +31,6 @@ def to_gn_args(args):
31
31
gn_args ["is_debug" ] = args .debug
32
32
gn_args ["is_clang" ] = args .target_os not in ['android' ]
33
33
34
- # TODO(abarth): Add support for goma.
35
- gn_args ["use_goma" ] = False
36
-
37
34
if args .target_os == 'android' :
38
35
gn_args ["target_os" ] = "android"
39
36
elif args .target_os == 'ios' :
@@ -52,17 +49,36 @@ def to_gn_args(args):
52
49
gn_args ["target_cpu" ] = 'arm'
53
50
else :
54
51
gn_args ["target_cpu" ] = 'x64'
52
+
53
+ goma_dir = os .environ .get ('GOMA_DIR' )
54
+ goma_home_dir = os .path .join (os .getenv ('HOME' , '' ), 'goma' )
55
+ if args .goma and goma_dir :
56
+ gn_args ['use_goma' ] = True
57
+ gn_args ['goma_dir' ] = goma_dir
58
+ elif args .goma and os .path .exists (goma_home_dir ):
59
+ gn_args ['use_goma' ] = True
60
+ gn_args ['goma_dir' ] = goma_home_dir
61
+ else :
62
+ gn_args ['use_goma' ] = False
63
+ gn_args ['goma_dir' ] = None
64
+
55
65
return gn_args
56
66
57
67
58
68
def main ():
59
69
parser = argparse .ArgumentParser (description = 'A script run` gn gen`.' )
70
+
60
71
parser .add_argument ('--debug' , default = True )
61
72
parser .add_argument ('--release' , default = False , dest = 'debug' , action = 'store_false' )
73
+
62
74
parser .add_argument ('--target-os' , type = str )
63
75
parser .add_argument ('--android' , dest = 'target_os' , action = 'store_const' , const = 'android' )
64
76
parser .add_argument ('--ios' , dest = 'target_os' , action = 'store_const' , const = 'ios' )
65
77
parser .add_argument ('--simulator' , default = False )
78
+
79
+ parser .add_argument ('--goma' , default = True , action = 'store_true' )
80
+ parser .add_argument ('--no-goma' , dest = 'goma' , action = 'store_false' )
81
+
66
82
args = parser .parse_args ()
67
83
68
84
command = ['gn' , 'gen' , '--check' ]
0 commit comments