OLD | NEW |
1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # IMPORTANT: | 5 # IMPORTANT: |
6 # Please don't directly include this file if you are building via gyp_chromium, | 6 # Please don't directly include this file if you are building via gyp_chromium, |
7 # since gyp_chromium is automatically forcing its inclusion. | 7 # since gyp_chromium is automatically forcing its inclusion. |
8 { | 8 { |
| 9 # Variables expected to be overriden on the GYP command line (-D) or by |
| 10 # ~/.gyp/include.gypi. |
9 'variables': { | 11 'variables': { |
10 # .gyp files or targets should set chromium_code to 1 if they build | |
11 # Chromium-specific code, as opposed to external code. This variable is | |
12 # used to control such things as the set of warnings to enable, and | |
13 # whether warnings are treated as errors. | |
14 'chromium_code%': 0, | |
15 | |
16 'internal_pdf%': 0, | |
17 | |
18 # This allows to use libcros from the current system, ie. /usr/lib/ | |
19 # The cros_api will be pulled in as a static library, and all headers | |
20 # from the system include dirs. | |
21 'system_libcros%': '0', | |
22 | |
23 # Variables expected to be overriden on the GYP command line (-D) or by | |
24 # ~/.gyp/include.gypi. | |
25 | |
26 # Putting a variables dict inside another variables dict looks kind of | 12 # Putting a variables dict inside another variables dict looks kind of |
27 # weird. This is done so that "branding" and "buildtype" are defined as | 13 # weird. This is done so that 'host_arch', 'chromeos', etc are defined as |
28 # variables within the outer variables dict here. This is necessary | 14 # variables within the outer variables dict here. This is necessary |
29 # to get these variables defined for the conditions within this variables | 15 # to get these variables defined for the conditions within this variables |
30 # dict that operate on these variables. | 16 # dict that operate on these variables (e.g., for setting 'toolkit_views', |
| 17 # we need to have 'chromeos' already set). |
31 'variables': { | 18 'variables': { |
32 # Override branding to select the desired branding flavor. | 19 'variables': { |
33 'branding%': 'Chromium', | 20 # Whether we're building a ChromeOS build. |
| 21 'chromeos%': '0', |
34 | 22 |
35 # Override buildtype to select the desired build flavor. | 23 # Disable touch support by default. |
36 # Dev - everyday build for development/testing | 24 'touchui%': 0, |
37 # Official - release build (generally implies additional processing) | |
38 # TODO(mmoss) Once 'buildtype' is fully supported (e.g. Windows gyp | |
39 # conversion is done), some of the things which are now controlled by | |
40 # 'branding', such as symbol generation, will need to be refactored based | |
41 # on 'buildtype' (i.e. we don't care about saving symbols for non-Official | |
42 # builds). | |
43 'buildtype%': 'Dev', | |
44 | 25 |
45 'variables': { | 26 # To do a shared build on linux we need to be able to choose between |
| 27 # type static_library and shared_library. We default to doing a static |
| 28 # build but you can override this with "gyp -Dlibrary=shared_library" |
| 29 # or you can add the following line (without the #) to |
| 30 # ~/.gyp/include.gypi {'variables': {'library': 'shared_library'}} |
| 31 # to compile as shared by default |
| 32 'library%': 'static_library', |
| 33 |
46 # Compute the architecture that we're building on. | 34 # Compute the architecture that we're building on. |
47 'conditions': [ | 35 'conditions': [ |
48 [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { | 36 [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { |
49 # This handles the Linux platforms we generally deal with. Anything | 37 # This handles the Linux platforms we generally deal with. Anything |
50 # else gets passed through, which probably won't work very well; suc
h | 38 # else gets passed through, which probably won't work very well; suc
h |
51 # hosts should pass an explicit target_arch to gyp. | 39 # hosts should pass an explicit target_arch to gyp. |
52 'host_arch%': | 40 'host_arch%': |
53 '<!(uname -m | sed -e "s/i.86/ia32/;s/x86_64/x64/;s/amd64/x64/;s/a
rm.*/arm/")', | 41 '<!(uname -m | sed -e "s/i.86/ia32/;s/x86_64/x64/;s/amd64/x64/;s/a
rm.*/arm/")', |
54 }, { # OS!="linux" | 42 }, { # OS!="linux" |
55 'host_arch%': 'ia32', | 43 'host_arch%': 'ia32', |
56 }], | 44 }], |
57 ], | 45 ], |
58 | |
59 # Whether we're building a ChromeOS build. We set the initial | |
60 # value at this level of nesting so it's available for the | |
61 # toolkit_views test below. | |
62 'chromeos%': '0', | |
63 | |
64 # Disable touch support by default. | |
65 'touchui%': 0, | |
66 | |
67 # To do a shared build on linux we need to be able to choose between | |
68 # type static_library and shared_library. We default to doing a static | |
69 # build but you can override this with "gyp -Dlibrary=shared_library" | |
70 # or you can add the following line (without the #) to | |
71 # ~/.gyp/include.gypi {'variables': {'library': 'shared_library'}} | |
72 # to compile as shared by default | |
73 'library%': 'static_library', | |
74 }, | 46 }, |
75 | 47 |
76 # We set those at this level of nesting so the values are available for | 48 # Copy conditionally-set variables out one scope. |
77 # other conditionals below. | 49 'chromeos%': '<(chromeos)', |
78 'conditions': [ | 50 'touchui%': '<(touchui)', |
79 # Set default value of toolkit_views on for Windows, Chrome OS | 51 'host_arch%': '<(host_arch)', |
80 # and the touch UI. | 52 'library%': '<(library)', |
81 ['OS=="win" or chromeos==1 or touchui==1', { | |
82 'toolkit_views%': 1, | |
83 }, { | |
84 'toolkit_views%': 0, | |
85 }], | |
86 | 53 |
87 # A flag to enable or disable our compile-time dependency | 54 # Override branding to select the desired branding flavor. |
88 # on gnome-keyring. If that dependency is disabled, no gnome-keyring | 55 'branding%': 'Chromium', |
89 # support will be available. This option is useful | |
90 # for Linux distributions. | |
91 ['chromeos==1', { | |
92 'use_gnome_keyring%': 0, | |
93 }, { | |
94 'use_gnome_keyring%': 1, | |
95 }], | |
96 | 56 |
97 # Set to 1 compile with -fPIC cflag on linux. This is a must for shared | 57 # Override buildtype to select the desired build flavor. |
98 # libraries on linux x86-64 and arm. | 58 # Dev - everyday build for development/testing |
99 ['host_arch=="ia32"', { | 59 # Official - release build (generally implies additional processing) |
100 'linux_fpic%': 0, | 60 # TODO(mmoss) Once 'buildtype' is fully supported (e.g. Windows gyp |
101 }, { | 61 # conversion is done), some of the things which are now controlled by |
102 'linux_fpic%': 1, | 62 # 'branding', such as symbol generation, will need to be refactored based |
103 }], | 63 # on 'buildtype' (i.e. we don't care about saving symbols for non-Official |
104 ], | 64 # builds). |
105 | 65 'buildtype%': 'Dev', |
106 'host_arch%': '<(host_arch)', | |
107 | 66 |
108 # Default architecture we're building for is the architecture we're | 67 # Default architecture we're building for is the architecture we're |
109 # building on. | 68 # building on. |
110 'target_arch%': '<(host_arch)', | 69 'target_arch%': '<(host_arch)', |
111 | 70 |
112 # Copy conditionally-set variables out one scope. | |
113 'chromeos%': '<(chromeos)', | |
114 'touchui%': '<(touchui)', | |
115 | |
116 # This variable tells WebCore.gyp and JavaScriptCore.gyp whether they are | 71 # This variable tells WebCore.gyp and JavaScriptCore.gyp whether they are |
117 # are built under a chromium full build (1) or a webkit.org chromium | 72 # are built under a chromium full build (1) or a webkit.org chromium |
118 # build (0). | 73 # build (0). |
119 'inside_chromium_build%': 1, | 74 'inside_chromium_build%': 1, |
120 | 75 |
121 # Set to 1 to enable fast builds. It disables debug info for fastest | 76 # Set to 1 to enable fast builds. It disables debug info for fastest |
122 # compilation. | 77 # compilation. |
123 'fastbuild%': 0, | 78 'fastbuild%': 0, |
124 | 79 |
125 # Python version. | 80 # Python version. |
126 'python_ver%': '2.5', | 81 'python_ver%': '2.5', |
127 | 82 |
128 # Set ARM-v7 compilation flags | 83 # Set ARM-v7 compilation flags |
129 'armv7%': 0, | 84 'armv7%': 0, |
130 | 85 |
131 # Set Neon compilation flags (only meaningful if armv7==1). | 86 # Set Neon compilation flags (only meaningful if armv7==1). |
132 'arm_neon%': 1, | 87 'arm_neon%': 1, |
133 | 88 |
134 # The system root for cross-compiles. Default: none. | 89 # The system root for cross-compiles. Default: none. |
135 'sysroot%': '', | 90 'sysroot%': '', |
136 | 91 |
137 # On Linux, we build with sse2 for Chromium builds. | 92 # On Linux, we build with sse2 for Chromium builds. |
138 'disable_sse2%': 0, | 93 'disable_sse2%': 0, |
139 | 94 |
140 # Remoting compilation is enabled by default. Set to 0 to disable. | |
141 'remoting%': 1, | |
142 | |
143 # Use libjpeg-turbo as the JPEG codec used by Chromium. | 95 # Use libjpeg-turbo as the JPEG codec used by Chromium. |
144 'use_libjpeg_turbo%': 0, | 96 'use_libjpeg_turbo%': 0, |
145 | 97 |
146 'library%': '<(library)', | |
147 | |
148 # Variable 'component' is for cases where we would like to build some | 98 # Variable 'component' is for cases where we would like to build some |
149 # components as dynamic shared libraries but still need variable | 99 # components as dynamic shared libraries but still need variable |
150 # 'library' for static libraries. | 100 # 'library' for static libraries. |
151 # By default, component is set to whatever library is set to and | 101 # By default, component is set to whatever library is set to and |
152 # it can be overriden by the GYP command line or by ~/.gyp/include.gypi. | 102 # it can be overriden by the GYP command line or by ~/.gyp/include.gypi. |
153 'component%': '<(library)', | 103 'component%': '<(library)', |
| 104 |
| 105 'conditions': [ |
| 106 # Set default value of toolkit_views on for Windows, Chrome OS |
| 107 # and the touch UI. |
| 108 ['OS=="win" or chromeos==1 or touchui==1', { |
| 109 'toolkit_views%': 1, |
| 110 }, { |
| 111 'toolkit_views%': 0, |
| 112 }], |
| 113 |
| 114 # A flag to enable or disable our compile-time dependency |
| 115 # on gnome-keyring. If that dependency is disabled, no gnome-keyring |
| 116 # support will be available. This option is useful |
| 117 # for Linux distributions. |
| 118 ['chromeos==1', { |
| 119 'use_gnome_keyring%': 0, |
| 120 }, { |
| 121 'use_gnome_keyring%': 1, |
| 122 }], |
| 123 |
| 124 # Set to 1 compile with -fPIC cflag on linux. This is a must for shared |
| 125 # libraries on linux x86-64 and arm. |
| 126 ['host_arch=="ia32"', { |
| 127 'linux_fpic%': 0, |
| 128 }, { |
| 129 'linux_fpic%': 1, |
| 130 }], |
| 131 ], |
154 }, | 132 }, |
155 | 133 |
156 # Define branding and buildtype on the basis of their settings within the | 134 # Copy conditionally-set variables out one scope. |
157 # variables sub-dict above, unless overridden. | |
158 'branding%': '<(branding)', | 135 'branding%': '<(branding)', |
159 'buildtype%': '<(buildtype)', | 136 'buildtype%': '<(buildtype)', |
160 'target_arch%': '<(target_arch)', | 137 'target_arch%': '<(target_arch)', |
161 'host_arch%': '<(host_arch)', | 138 'host_arch%': '<(host_arch)', |
162 'toolkit_views%': '<(toolkit_views)', | 139 'toolkit_views%': '<(toolkit_views)', |
163 'use_gnome_keyring%': '<(use_gnome_keyring)', | 140 'use_gnome_keyring%': '<(use_gnome_keyring)', |
164 'linux_fpic%': '<(linux_fpic)', | 141 'linux_fpic%': '<(linux_fpic)', |
165 'chromeos%': '<(chromeos)', | 142 'chromeos%': '<(chromeos)', |
166 'touchui%': '<(touchui)', | 143 'touchui%': '<(touchui)', |
167 'inside_chromium_build%': '<(inside_chromium_build)', | 144 'inside_chromium_build%': '<(inside_chromium_build)', |
168 'fastbuild%': '<(fastbuild)', | 145 'fastbuild%': '<(fastbuild)', |
169 'python_ver%': '<(python_ver)', | 146 'python_ver%': '<(python_ver)', |
170 'armv7%': '<(armv7)', | 147 'armv7%': '<(armv7)', |
171 'arm_neon%': '<(arm_neon)', | 148 'arm_neon%': '<(arm_neon)', |
172 'sysroot%': '<(sysroot)', | 149 'sysroot%': '<(sysroot)', |
173 'disable_sse2%': '<(disable_sse2)', | 150 'disable_sse2%': '<(disable_sse2)', |
174 'remoting%': '<(remoting)', | |
175 'library%': '<(library)', | 151 'library%': '<(library)', |
176 'component%': '<(component)', | 152 'component%': '<(component)', |
177 | 153 |
178 # The release channel that this build targets. This is used to restrict | 154 # The release channel that this build targets. This is used to restrict |
179 # channel-specific build options, like which installer packages to create. | 155 # channel-specific build options, like which installer packages to create. |
180 # The default is 'all', which does no channel-specific filtering. | 156 # The default is 'all', which does no channel-specific filtering. |
181 'channel%': 'all', | 157 'channel%': 'all', |
182 | 158 |
183 # Override chromium_mac_pch and set it to 0 to suppress the use of | 159 # Override chromium_mac_pch and set it to 0 to suppress the use of |
184 # precompiled headers on the Mac. Prefix header injection may still be | 160 # precompiled headers on the Mac. Prefix header injection may still be |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 # Enable a variable used elsewhere throughout the GYP files to determine | 292 # Enable a variable used elsewhere throughout the GYP files to determine |
317 # whether to compile in the sources for the GPU plugin / process. | 293 # whether to compile in the sources for the GPU plugin / process. |
318 'enable_gpu%': 1, | 294 'enable_gpu%': 1, |
319 | 295 |
320 # Use GConf, the GNOME configuration system. | 296 # Use GConf, the GNOME configuration system. |
321 'use_gconf%': 1, | 297 'use_gconf%': 1, |
322 | 298 |
323 # Use OpenSSL instead of NSS. Under development: see http://crbug.com/62803 | 299 # Use OpenSSL instead of NSS. Under development: see http://crbug.com/62803 |
324 'use_openssl%': 0, | 300 'use_openssl%': 0, |
325 | 301 |
| 302 # .gyp files or targets should set chromium_code to 1 if they build |
| 303 # Chromium-specific code, as opposed to external code. This variable is |
| 304 # used to control such things as the set of warnings to enable, and |
| 305 # whether warnings are treated as errors. |
| 306 'chromium_code%': 0, |
| 307 |
| 308 # Set to 1 to compile with the built in pdf viewer. |
| 309 'internal_pdf%': 0, |
| 310 |
| 311 # This allows to use libcros from the current system, ie. /usr/lib/ |
| 312 # The cros_api will be pulled in as a static library, and all headers |
| 313 # from the system include dirs. |
| 314 'system_libcros%': '0', |
| 315 |
| 316 # Remoting compilation is enabled by default. Set to 0 to disable. |
| 317 'remoting%': 1, |
| 318 |
| 319 # NOTE: When these end up in the Mac bundle, we need to replace '-' for '_' |
| 320 # so Cocoa is happy (http://crbug.com/20441). |
| 321 'locales': [ |
| 322 'am', 'ar', 'bg', 'bn', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', |
| 323 'en-US', 'es-419', 'es', 'et', 'fa', 'fi', 'fil', 'fr', 'gu', 'he', |
| 324 'hi', 'hr', 'hu', 'id', 'it', 'ja', 'kn', 'ko', 'lt', 'lv', |
| 325 'ml', 'mr', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', |
| 326 'sk', 'sl', 'sr', 'sv', 'sw', 'ta', 'te', 'th', 'tr', 'uk', |
| 327 'vi', 'zh-CN', 'zh-TW', |
| 328 ], |
| 329 |
326 # Use Harfbuzz-NG instead of Harfbuzz. | 330 # Use Harfbuzz-NG instead of Harfbuzz. |
327 # Under development: http://crbug.com/68551 | 331 # Under development: http://crbug.com/68551 |
328 'use_harfbuzz_ng%': 0, | 332 'use_harfbuzz_ng%': 0, |
329 | 333 |
330 'conditions': [ | 334 'conditions': [ |
331 ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', { | 335 ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', { |
332 # This will set gcc_version to XY if you are running gcc X.Y.*. | 336 # This will set gcc_version to XY if you are running gcc X.Y.*. |
333 # This is used to tweak build flags for gcc 4.4. | 337 # This is used to tweak build flags for gcc 4.4. |
334 'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)', | 338 'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)', |
335 # Figure out the python architecture to decide if we build pyauto. | 339 # Figure out the python architecture to decide if we build pyauto. |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 'use_cups%': 0, | 412 'use_cups%': 0, |
409 }], | 413 }], |
410 # Set the relative path from this file to the GYP file of the JPEG | 414 # Set the relative path from this file to the GYP file of the JPEG |
411 # library used by Chromium. | 415 # library used by Chromium. |
412 ['use_libjpeg_turbo==1', { | 416 ['use_libjpeg_turbo==1', { |
413 'libjpeg_gyp_path': '../third_party/libjpeg_turbo/libjpeg.gyp', | 417 'libjpeg_gyp_path': '../third_party/libjpeg_turbo/libjpeg.gyp', |
414 }, { | 418 }, { |
415 'libjpeg_gyp_path': '../third_party/libjpeg/libjpeg.gyp', | 419 'libjpeg_gyp_path': '../third_party/libjpeg/libjpeg.gyp', |
416 }], # use_libjpeg_turbo==1 | 420 }], # use_libjpeg_turbo==1 |
417 ], | 421 ], |
418 | |
419 # NOTE: When these end up in the Mac bundle, we need to replace '-' for '_' | |
420 # so Cocoa is happy (http://crbug.com/20441). | |
421 'locales': [ | |
422 'am', 'ar', 'bg', 'bn', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', | |
423 'en-US', 'es-419', 'es', 'et', 'fa', 'fi', 'fil', 'fr', 'gu', 'he', | |
424 'hi', 'hr', 'hu', 'id', 'it', 'ja', 'kn', 'ko', 'lt', 'lv', | |
425 'ml', 'mr', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', | |
426 'sk', 'sl', 'sr', 'sv', 'sw', 'ta', 'te', 'th', 'tr', 'uk', | |
427 'vi', 'zh-CN', 'zh-TW', | |
428 ], | |
429 }, | 422 }, |
430 'target_defaults': { | 423 'target_defaults': { |
431 'variables': { | 424 'variables': { |
432 # The condition that operates on chromium_code is in a target_conditions | 425 # The condition that operates on chromium_code is in a target_conditions |
433 # section, and will not have access to the default fallback value of | 426 # section, and will not have access to the default fallback value of |
434 # chromium_code at the top of this file, or to the chromium_code | 427 # chromium_code at the top of this file, or to the chromium_code |
435 # variable placed at the root variables scope of .gyp files, because | 428 # variable placed at the root variables scope of .gyp files, because |
436 # those variables are not set at target scope. As a workaround, | 429 # those variables are not set at target scope. As a workaround, |
437 # if chromium_code is not set at target scope, define it in target scope | 430 # if chromium_code is not set at target scope, define it in target scope |
438 # to contain whatever value it has during early variable expansion. | 431 # to contain whatever value it has during early variable expansion. |
(...skipping 1032 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1471 # and therefore SYMROOT, needs to be set at the project level. | 1464 # and therefore SYMROOT, needs to be set at the project level. |
1472 'SYMROOT': '<(DEPTH)/xcodebuild', | 1465 'SYMROOT': '<(DEPTH)/xcodebuild', |
1473 }, | 1466 }, |
1474 } | 1467 } |
1475 | 1468 |
1476 # Local Variables: | 1469 # Local Variables: |
1477 # tab-width:2 | 1470 # tab-width:2 |
1478 # indent-tabs-mode:nil | 1471 # indent-tabs-mode:nil |
1479 # End: | 1472 # End: |
1480 # vim: set expandtab tabstop=2 shiftwidth=2: | 1473 # vim: set expandtab tabstop=2 shiftwidth=2: |
OLD | NEW |