Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Side by Side Diff: build/common.gypi

Issue 14597007: Support target/host architecture with ninja iOS builds (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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 }
OLDNEW
« breakpad/breakpad.gyp ('K') | « breakpad/breakpad.gyp ('k') | testing/gtest.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698