| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |