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

Side by Side Diff: build/common.gypi

Issue 7811014: When cross-compiling for ia32, do not build 'host' targets with -m32 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 9 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2011 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 1404 matching lines...) Expand 10 before | Expand all | Expand 10 after
1415 }, 1415 },
1416 'profile': { 1416 'profile': {
1417 'cflags': ['-pg', '-g'], 1417 'cflags': ['-pg', '-g'],
1418 'ldflags': ['-pg'], 1418 'ldflags': ['-pg'],
1419 }, 1419 },
1420 'symbols': { 1420 'symbols': {
1421 'cflags': ['-g'], 1421 'cflags': ['-g'],
1422 }, 1422 },
1423 }, 1423 },
1424 'conditions': [ 1424 'conditions': [
1425 [ 'target_arch=="ia32"', { 1425 ['target_arch=="ia32"', {
1426 'asflags': [ 1426 'target_conditions': [
1427 # Needed so that libs with .s files (e.g. libicudata.a) 1427 ['_toolset=="target"', {
1428 # are compatible with the general 32-bit-ness. 1428 'asflags': [
1429 '-32', 1429 # Needed so that libs with .s files (e.g. libicudata.a)
1430 ], 1430 # are compatible with the general 32-bit-ness.
1431 # All floating-point computations on x87 happens in 80-bit 1431 '-32',
1432 # precision. Because the C and C++ language standards allow 1432 ],
1433 # the compiler to keep the floating-point values in higher 1433 # All floating-point computations on x87 happens in 80-bit
1434 # precision than what's specified in the source and doing so 1434 # precision. Because the C and C++ language standards allow
1435 # is more efficient than constantly rounding up to 64-bit or 1435 # the compiler to keep the floating-point values in higher
1436 # 32-bit precision as specified in the source, the compiler, 1436 # precision than what's specified in the source and doing so
1437 # especially in the optimized mode, tries very hard to keep 1437 # is more efficient than constantly rounding up to 64-bit or
1438 # values in x87 floating-point stack (in 80-bit precision) 1438 # 32-bit precision as specified in the source, the compiler,
1439 # as long as possible. This has important side effects, that 1439 # especially in the optimized mode, tries very hard to keep
1440 # the real value used in computation may change depending on 1440 # values in x87 floating-point stack (in 80-bit precision)
1441 # how the compiler did the optimization - that is, the value 1441 # as long as possible. This has important side effects, that
1442 # kept in 80-bit is different than the value rounded down to 1442 # the real value used in computation may change depending on
1443 # 64-bit or 32-bit. There are possible compiler options to make 1443 # how the compiler did the optimization - that is, the value
1444 # this behavior consistent (e.g. -ffloat-store would keep all 1444 # kept in 80-bit is different than the value rounded down to
1445 # floating-values in the memory, thus force them to be rounded 1445 # 64-bit or 32-bit. There are possible compiler options to
1446 # to its original precision) but they have significant runtime 1446 # make this behavior consistent (e.g. -ffloat-store would keep
1447 # performance penalty. 1447 # all floating-values in the memory, thus force them to be
1448 # 1448 # rounded to its original precision) but they have significant
1449 # -mfpmath=sse -msse2 makes the compiler use SSE instructions 1449 # runtime performance penalty.
1450 # which keep floating-point values in SSE registers in its 1450 #
1451 # native precision (32-bit for single precision, and 64-bit for 1451 # -mfpmath=sse -msse2 makes the compiler use SSE instructions
1452 # double precision values). This means the floating-point value 1452 # which keep floating-point values in SSE registers in its
1453 # used during computation does not change depending on how the 1453 # native precision (32-bit for single precision, and 64-bit
1454 # compiler optimized the code, since the value is always kept 1454 # for double precision values). This means the floating-point
1455 # in its specified precision. 1455 # value used during computation does not change depending on
1456 'conditions': [ 1456 # how the compiler optimized the code, since the value is
1457 ['branding=="Chromium" and disable_sse2==0', { 1457 # always kept in its specified precision.
1458 'conditions': [
1459 ['branding=="Chromium" and disable_sse2==0', {
1460 'cflags': [
1461 '-march=pentium4',
1462 '-msse2',
1463 '-mfpmath=sse',
1464 ],
1465 }],
1466 # ChromeOS targets Pinetrail, which is sse3, but most of the
1467 # benefit comes from sse2 so this setting allows ChromeOS
1468 # to build on other CPUs. In the future -march=atom would
1469 # help but requires a newer compiler.
1470 ['chromeos==1 and disable_sse2==0', {
1471 'cflags': [
1472 '-msse2',
1473 ],
1474 }],
1475 # Install packages have started cropping up with
1476 # different headers between the 32-bit and 64-bit
1477 # versions, so we have to shadow those differences off
1478 # and make sure a 32-bit-on-64-bit build picks up the
1479 # right files.
1480 ['host_arch!="ia32"', {
1481 'include_dirs+': [
1482 '/usr/include32',
1483 ],
1484 }],
1485 ],
1486 # -mmmx allows mmintrin.h to be used for mmx intrinsics.
1487 # video playback is mmx and sse2 optimized.
1458 'cflags': [ 1488 'cflags': [
1459 '-march=pentium4', 1489 '-m32',
1460 '-msse2', 1490 '-mmmx',
1461 '-mfpmath=sse', 1491 ],
1492 'ldflags': [
1493 '-m32',
1462 ], 1494 ],
1463 }], 1495 }],
1464 # ChromeOS targets Pinetrail, which is sse3, but most of the
1465 # benefit comes from sse2 so this setting allows ChromeOS
1466 # to build on other CPUs. In the future -march=atom would help
1467 # but requires a newer compiler.
1468 ['chromeos==1 and disable_sse2==0', {
1469 'cflags': [
1470 '-msse2',
1471 ],
1472 }],
1473 # Install packages have started cropping up with
1474 # different headers between the 32-bit and 64-bit
1475 # versions, so we have to shadow those differences off
1476 # and make sure a 32-bit-on-64-bit build picks up the
1477 # right files.
1478 ['host_arch!="ia32"', {
1479 'include_dirs+': [
1480 '/usr/include32',
1481 ],
1482 }],
1483 ],
1484 # -mmmx allows mmintrin.h to be used for mmx intrinsics.
1485 # video playback is mmx and sse2 optimized.
1486 'cflags': [
1487 '-m32',
1488 '-mmmx',
1489 ],
1490 'ldflags': [
1491 '-m32',
1492 ], 1496 ],
1493 }], 1497 }],
1494 ['target_arch=="arm"', { 1498 ['target_arch=="arm"', {
1495 'target_conditions': [ 1499 'target_conditions': [
1496 ['_toolset=="target"', { 1500 ['_toolset=="target"', {
1497 'cflags_cc': [ 1501 'cflags_cc': [
1498 # The codesourcery arm-2009q3 toolchain warns at that the ABI 1502 # The codesourcery arm-2009q3 toolchain warns at that the ABI
1499 # has changed whenever it encounters a varargs function. This 1503 # has changed whenever it encounters a varargs function. This
1500 # silences those warnings, as they are not helpful and 1504 # silences those warnings, as they are not helpful and
1501 # clutter legitimate warnings. 1505 # clutter legitimate warnings.
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after
2046 # settings in target dicts. SYMROOT is a special case, because many other 2050 # settings in target dicts. SYMROOT is a special case, because many other
2047 # Xcode variables depend on it, including variables such as 2051 # Xcode variables depend on it, including variables such as
2048 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 2052 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
2049 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 2053 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
2050 # files to appear (when present) in the UI as actual files and not red 2054 # files to appear (when present) in the UI as actual files and not red
2051 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 2055 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
2052 # and therefore SYMROOT, needs to be set at the project level. 2056 # and therefore SYMROOT, needs to be set at the project level.
2053 'SYMROOT': '<(DEPTH)/xcodebuild', 2057 'SYMROOT': '<(DEPTH)/xcodebuild',
2054 }, 2058 },
2055 } 2059 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698