Fix build break
[chromium-blink-merge.git] / build / ios / mac_build.gypi
blobdd5ad1d24948465fba6882cb08bce8ae47502c44
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 # Xcode throws an error if an iOS target depends on a Mac OS X target. So
6 # any place a utility program needs to be build and run, an action is
7 # used to run ninja as script to work around this.
8 # Example:
9 # {
10 #   'target_name': 'foo',
11 #   'type': 'none',
12 #   'variables': {
13 #     # The name of a directory used for ninja. This cannot be shared with
14 #     # another mac build.
15 #     'ninja_output_dir': 'ninja-foo',
16 #     # The full path to the location in which the ninja executable should be
17 #     # placed. This cannot be shared with another mac build.
18 #    'ninja_product_dir':
19 #      '<(DEPTH)/xcodebuild/<(ninja_output_dir)/<(CONFIGURATION_NAME)',
20 #     # The list of all the gyp files that contain the targets to run.
21 #     're_run_targets': [
22 #       'foo.gyp',
23 #     ],
24 #   },
25 #   'includes': ['path_to/mac_build.gypi'],
26 #   'actions': [
27 #     {
28 #       'action_name': 'compile foo',
29 #       'inputs': [],
30 #       'outputs': [],
31 #       'action': [
32 #         '<@(ninja_cmd)',
33 #         # All the targets to build.
34 #         'foo1',
35 #         'foo2',
36 #       ],
37 #     },
38 #   ],
39 # }
41   'variables': {
42     # Common ninja command line flags.
43     'ninja_cmd': [
44       # Bounce through clean_env to clean up the environment so things
45       # set by the iOS build don't pollute the Mac build.
46       '<(DEPTH)/build/ios/clean_env.py',
47       # ninja must be found in the PATH.
48       'ADD_TO_PATH=<!(echo $PATH)',
49       'ninja',
50       '-C',
51       '<(ninja_product_dir)',
52     ],
54     # Common syntax to rerun gyp to generate the Mac projects.
55     're_run_gyp': [
56       'build/gyp_chromium',
57       '--depth=.',
58       # Don't use anything set for the iOS side of things.
59       '--ignore-environment',
60       # Generate for ninja
61       '--format=ninja',
62       # Generate files into xcodebuild/ninja
63       '-Goutput_dir=xcodebuild/<(ninja_output_dir)',
64       # nacl isn't in the iOS checkout, make sure it's turned off
65       '-Ddisable_nacl=1',
66       # Add a variable to handle specific cases for mac_build.
67       '-Dios_mac_build=1',
68       # Pass through the Mac SDK version.
69       '-Dmac_sdk=<(mac_sdk)',
70     ],
72     # Rerun gyp for each of the projects needed. This is what actually
73     # generates the projects on disk.
74     're_run_gyp_execution':
75       '<!(cd <(DEPTH) && <@(re_run_gyp) <@(re_run_targets))',
76   },
77   # Since these are used to generate things needed by other targets, make
78   # them hard dependencies so they are always built first.
79   'hard_dependency': 1,