OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 | 9 # Variables expected to be overriden on the GYP command line (-D) or by |
10 # ~/.gyp/include.gypi. | 10 # ~/.gyp/include.gypi. |
(...skipping 1299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1310 'use_system_expat%': '<(android_webview_build)', | 1310 'use_system_expat%': '<(android_webview_build)', |
1311 'use_system_icu%': '<(android_webview_build)', | 1311 'use_system_icu%': '<(android_webview_build)', |
1312 'use_system_stlport%': '<(android_webview_build)', | 1312 'use_system_stlport%': '<(android_webview_build)', |
1313 | 1313 |
1314 'enable_managed_users%': 0, | 1314 'enable_managed_users%': 0, |
1315 | 1315 |
1316 # Copy it out one scope. | 1316 # Copy it out one scope. |
1317 'android_webview_build%': '<(android_webview_build)', | 1317 'android_webview_build%': '<(android_webview_build)', |
1318 }], # OS=="android" | 1318 }], # OS=="android" |
1319 ['OS=="mac"', { | 1319 ['OS=="mac"', { |
| 1320 # Enable clang on mac by default! |
| 1321 'clang%': 1, |
| 1322 }], # OS=="mac" |
| 1323 ['OS=="mac" or OS=="ios"', { |
1320 'variables': { | 1324 'variables': { |
1321 # Mac OS X SDK and deployment target support. The SDK identifies | 1325 # Mac OS X SDK and deployment target support. The SDK identifies |
1322 # the version of the system headers that will be used, and | 1326 # the version of the system headers that will be used, and |
1323 # corresponds to the MAC_OS_X_VERSION_MAX_ALLOWED compile-time | 1327 # corresponds to the MAC_OS_X_VERSION_MAX_ALLOWED compile-time |
1324 # macro. "Maximum allowed" refers to the operating system version | 1328 # macro. "Maximum allowed" refers to the operating system version |
1325 # whose APIs are available in the headers. The deployment target | 1329 # whose APIs are available in the headers. The deployment target |
1326 # identifies the minimum system version that the built products are | 1330 # identifies the minimum system version that the built products are |
1327 # expected to function on. It corresponds to the | 1331 # expected to function on. It corresponds to the |
1328 # MAC_OS_X_VERSION_MIN_REQUIRED compile-time macro. To ensure these | 1332 # MAC_OS_X_VERSION_MIN_REQUIRED compile-time macro. To ensure these |
1329 # macros are available, #include <AvailabilityMacros.h>. Additional | 1333 # macros are available, #include <AvailabilityMacros.h>. Additional |
(...skipping 12 matching lines...) Expand all Loading... |
1342 'mac_sdk_min%': '10.6', | 1346 'mac_sdk_min%': '10.6', |
1343 'mac_sdk_path%': '', | 1347 'mac_sdk_path%': '', |
1344 | 1348 |
1345 'mac_deployment_target%': '10.6', | 1349 'mac_deployment_target%': '10.6', |
1346 }, | 1350 }, |
1347 | 1351 |
1348 'mac_sdk_min': '<(mac_sdk_min)', | 1352 'mac_sdk_min': '<(mac_sdk_min)', |
1349 'mac_sdk_path': '<(mac_sdk_path)', | 1353 'mac_sdk_path': '<(mac_sdk_path)', |
1350 'mac_deployment_target': '<(mac_deployment_target)', | 1354 'mac_deployment_target': '<(mac_deployment_target)', |
1351 | 1355 |
1352 # Enable clang on mac by default! | |
1353 'clang%': 1, | |
1354 | |
1355 # Compile in Breakpad support by default so that it can be | 1356 # Compile in Breakpad support by default so that it can be |
1356 # tested, even if it is not enabled by default at runtime. | 1357 # tested, even if it is not enabled by default at runtime. |
1357 'mac_breakpad_compiled_in%': 1, | 1358 'mac_breakpad_compiled_in%': 1, |
1358 'conditions': [ | 1359 'conditions': [ |
1359 # mac_product_name is set to the name of the .app bundle as it should | 1360 # mac_product_name is set to the name of the .app bundle as it should |
1360 # appear on disk. This duplicates data from | 1361 # appear on disk. This duplicates data from |
1361 # chrome/app/theme/chromium/BRANDING and | 1362 # chrome/app/theme/chromium/BRANDING and |
1362 # chrome/app/theme/google_chrome/BRANDING, but is necessary to get | 1363 # chrome/app/theme/google_chrome/BRANDING, but is necessary to get |
1363 # these names into the build system. | 1364 # these names into the build system. |
1364 ['branding=="Chrome"', { | 1365 ['branding=="Chrome"', { |
(...skipping 10 matching lines...) Expand all Loading... |
1375 'mac_breakpad%': 1, | 1376 'mac_breakpad%': 1, |
1376 # Enable Keystone auto-update support. | 1377 # Enable Keystone auto-update support. |
1377 'mac_keystone%': 1, | 1378 'mac_keystone%': 1, |
1378 }, { # else: branding!="Chrome" or buildtype!="Official" | 1379 }, { # else: branding!="Chrome" or buildtype!="Official" |
1379 'mac_sdk%': '<!(python <(DEPTH)/build/mac/find_sdk.py <(mac_sdk_min)
)', | 1380 'mac_sdk%': '<!(python <(DEPTH)/build/mac/find_sdk.py <(mac_sdk_min)
)', |
1380 'mac_breakpad_uploads%': 0, | 1381 'mac_breakpad_uploads%': 0, |
1381 'mac_breakpad%': 0, | 1382 'mac_breakpad%': 0, |
1382 'mac_keystone%': 0, | 1383 'mac_keystone%': 0, |
1383 }], | 1384 }], |
1384 ], | 1385 ], |
1385 }], # OS=="mac" | 1386 }], # OS=="mac" or OS=="ios" |
1386 ['OS=="win"', { | 1387 ['OS=="win"', { |
1387 'conditions': [ | 1388 'conditions': [ |
1388 ['component=="shared_library"', { | 1389 ['component=="shared_library"', { |
1389 'win_use_allocator_shim%': 0, | 1390 'win_use_allocator_shim%': 0, |
1390 }], | 1391 }], |
1391 ['component=="shared_library" and "<(GENERATOR)"=="ninja"', { | 1392 ['component=="shared_library" and "<(GENERATOR)"=="ninja"', { |
1392 # Only enabled by default for ninja because it's buggy in VS. | 1393 # Only enabled by default for ninja because it's buggy in VS. |
1393 # Not enabled for component=static_library because some targets | 1394 # Not enabled for component=static_library because some targets |
1394 # are too large and the toolchain fails due to the size of the | 1395 # are too large and the toolchain fails due to the size of the |
1395 # .obj files. | 1396 # .obj files. |
(...skipping 1682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3078 # See the comment in the Mac section for what it takes to move | 3079 # See the comment in the Mac section for what it takes to move |
3079 # this to -std=c++11. | 3080 # this to -std=c++11. |
3080 '-std=gnu++11', | 3081 '-std=gnu++11', |
3081 ], | 3082 ], |
3082 }], | 3083 }], |
3083 ['clang==1 and (OS=="android" or chromeos==1)', { | 3084 ['clang==1 and (OS=="android" or chromeos==1)', { |
3084 # Android uses gcc4.4, and clang isn't compatible with gcc4.4's | 3085 # Android uses gcc4.4, and clang isn't compatible with gcc4.4's |
3085 # libstdc++ in C++11 mode. So no C++11 mode for Android yet. | 3086 # libstdc++ in C++11 mode. So no C++11 mode for Android yet. |
3086 # Doesn't work with asan for some reason either: crbug.com/233464 | 3087 # Doesn't work with asan for some reason either: crbug.com/233464 |
3087 'cflags': [ | 3088 'cflags': [ |
3088 # Especially needed for gtest macros using enum values from Mac» | 3089 # Especially needed for gtest macros using enum values from Mac |
3089 # system headers.» | 3090 # system headers. |
3090 # TODO(pkasting): In C++11 this is legal, so this should be» | 3091 # TODO(pkasting): In C++11 this is legal, so this should be |
3091 # removed when we change to that. (This is also why we don't» | 3092 # removed when we change to that. (This is also why we don't |
3092 # bother fixing all these cases today.)» | 3093 # bother fixing all these cases today.) |
3093 '-Wno-unnamed-type-template-args',» | 3094 '-Wno-unnamed-type-template-args', |
3094 # This (rightfully) complains about 'override', which we use» | 3095 # This (rightfully) complains about 'override', which we use |
3095 # heavily.» | 3096 # heavily. |
3096 '-Wno-c++11-extensions', | 3097 '-Wno-c++11-extensions', |
3097 ], | 3098 ], |
3098 }], | 3099 }], |
3099 ['clang==1 and clang_use_chrome_plugins==1', { | 3100 ['clang==1 and clang_use_chrome_plugins==1', { |
3100 'cflags': [ | 3101 'cflags': [ |
3101 '<@(clang_chrome_plugins_flags)', | 3102 '<@(clang_chrome_plugins_flags)', |
3102 ], | 3103 ], |
3103 }], | 3104 }], |
3104 ['clang==1 and clang_load!=""', { | 3105 ['clang==1 and clang_load!=""', { |
3105 'cflags': [ | 3106 'cflags': [ |
(...skipping 918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4024 # Clang spots more unused functions. | 4025 # Clang spots more unused functions. |
4025 '-Wno-unused-function', | 4026 '-Wno-unused-function', |
4026 # See comments on this flag higher up in this file. | 4027 # See comments on this flag higher up in this file. |
4027 '-Wno-unnamed-type-template-args', | 4028 '-Wno-unnamed-type-template-args', |
4028 # This (rightfully) complains about 'override', which we use | 4029 # This (rightfully) complains about 'override', which we use |
4029 # heavily. | 4030 # heavily. |
4030 '-Wno-c++11-extensions', | 4031 '-Wno-c++11-extensions', |
4031 ], | 4032 ], |
4032 }, | 4033 }, |
4033 'target_conditions': [ | 4034 'target_conditions': [ |
| 4035 ['_toolset=="host"', { |
| 4036 'xcode_settings': { |
| 4037 'SDKROOT': 'macosx<(mac_sdk)', # -isysroot |
| 4038 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)', |
| 4039 }, |
| 4040 }], |
| 4041 ['_toolset=="target"', { |
| 4042 'xcode_settings': { |
| 4043 # This section should be for overriding host settings. But, |
| 4044 # since we can't negate the iphone deployment target above, we |
| 4045 # instead set it here for target only. |
| 4046 'IPHONEOS_DEPLOYMENT_TARGET': '<(ios_deployment_target)', |
| 4047 }, |
| 4048 }], |
4034 ['_type=="executable"', { | 4049 ['_type=="executable"', { |
4035 'configurations': { | 4050 'configurations': { |
4036 'Release_Base': { | 4051 'Release_Base': { |
4037 'xcode_settings': { | 4052 'xcode_settings': { |
4038 'DEPLOYMENT_POSTPROCESSING': 'YES', | 4053 'DEPLOYMENT_POSTPROCESSING': 'YES', |
4039 'STRIP_INSTALLED_PRODUCT': 'YES', | 4054 'STRIP_INSTALLED_PRODUCT': 'YES', |
4040 }, | 4055 }, |
4041 }, | 4056 }, |
4042 'Debug_Base': { | 4057 'Debug_Base': { |
4043 'xcode_settings': { | 4058 'xcode_settings': { |
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4427 ], | 4442 ], |
4428 }, { | 4443 }, { |
4429 'SDKROOT': '<(ios_sdk_path)', # -isysroot | 4444 'SDKROOT': '<(ios_sdk_path)', # -isysroot |
4430 }], | 4445 }], |
4431 ], | 4446 ], |
4432 }], | 4447 }], |
4433 ['OS=="ios"', { | 4448 ['OS=="ios"', { |
4434 'ARCHS': '$(ARCHS_UNIVERSAL_IPHONE_OS)', | 4449 'ARCHS': '$(ARCHS_UNIVERSAL_IPHONE_OS)', |
4435 # Just build armv7, until armv7s is correctly tested. | 4450 # Just build armv7, until armv7s is correctly tested. |
4436 'VALID_ARCHS': 'armv7 i386', | 4451 'VALID_ARCHS': 'armv7 i386', |
4437 'IPHONEOS_DEPLOYMENT_TARGET': '<(ios_deployment_target)', | |
4438 # Target both iPhone and iPad. | 4452 # Target both iPhone and iPad. |
4439 'TARGETED_DEVICE_FAMILY': '1,2', | 4453 'TARGETED_DEVICE_FAMILY': '1,2', |
4440 }], | 4454 }], |
4441 ['target_arch=="x64"', { | 4455 ['target_arch=="x64"', { |
4442 'ARCHS': [ | 4456 'ARCHS': [ |
4443 'x86_64' | 4457 'x86_64' |
4444 ], | 4458 ], |
4445 }], | 4459 }], |
4446 ], | 4460 ], |
4447 | 4461 |
4448 # The Xcode generator will look for an xcode_settings section at the root | 4462 # The Xcode generator will look for an xcode_settings section at the root |
4449 # of each dict and use it to apply settings on a file-wide basis. Most | 4463 # of each dict and use it to apply settings on a file-wide basis. Most |
4450 # settings should not be here, they should be in target-specific | 4464 # settings should not be here, they should be in target-specific |
4451 # xcode_settings sections, or better yet, should use non-Xcode-specific | 4465 # xcode_settings sections, or better yet, should use non-Xcode-specific |
4452 # settings in target dicts. SYMROOT is a special case, because many other | 4466 # settings in target dicts. SYMROOT is a special case, because many other |
4453 # Xcode variables depend on it, including variables such as | 4467 # Xcode variables depend on it, including variables such as |
4454 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 4468 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
4455 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 4469 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
4456 # files to appear (when present) in the UI as actual files and not red | 4470 # files to appear (when present) in the UI as actual files and not red |
4457 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 4471 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
4458 # and therefore SYMROOT, needs to be set at the project level. | 4472 # and therefore SYMROOT, needs to be set at the project level. |
4459 'SYMROOT': '<(DEPTH)/xcodebuild', | 4473 'SYMROOT': '<(DEPTH)/xcodebuild', |
4460 }, | 4474 }, |
4461 } | 4475 } |
OLD | NEW |