| 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': { | 9 'variables': { |
| 10 # .gyp files or targets should set chromium_code to 1 if they build | 10 # .gyp files or targets should set chromium_code to 1 if they build |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 'python_ver%': '2.5', | 99 'python_ver%': '2.5', |
| 100 | 100 |
| 101 # Set ARM-v7 compilation flags | 101 # Set ARM-v7 compilation flags |
| 102 'armv7%': 0, | 102 'armv7%': 0, |
| 103 | 103 |
| 104 # Set Neon compilation flags (only meaningful if armv7==1). | 104 # Set Neon compilation flags (only meaningful if armv7==1). |
| 105 'arm_neon%': 1, | 105 'arm_neon%': 1, |
| 106 | 106 |
| 107 # The system root for cross-compiles. Default: none. | 107 # The system root for cross-compiles. Default: none. |
| 108 'sysroot%': '', | 108 'sysroot%': '', |
| 109 | |
| 110 # On Linux, we build with sse2 for Chromium builds. | |
| 111 'disable_sse2%': 0, | |
| 112 }, | 109 }, |
| 113 | 110 |
| 114 # Define branding and buildtype on the basis of their settings within the | 111 # Define branding and buildtype on the basis of their settings within the |
| 115 # variables sub-dict above, unless overridden. | 112 # variables sub-dict above, unless overridden. |
| 116 'branding%': '<(branding)', | 113 'branding%': '<(branding)', |
| 117 'buildtype%': '<(buildtype)', | 114 'buildtype%': '<(buildtype)', |
| 118 'target_arch%': '<(target_arch)', | 115 'target_arch%': '<(target_arch)', |
| 119 'host_arch%': '<(host_arch)', | 116 'host_arch%': '<(host_arch)', |
| 120 'toolkit_views%': '<(toolkit_views)', | 117 'toolkit_views%': '<(toolkit_views)', |
| 121 'chromeos%': '<(chromeos)', | 118 'chromeos%': '<(chromeos)', |
| 122 'inside_chromium_build%': '<(inside_chromium_build)', | 119 'inside_chromium_build%': '<(inside_chromium_build)', |
| 123 'fastbuild%': '<(fastbuild)', | 120 'fastbuild%': '<(fastbuild)', |
| 124 'linux_fpic%': '<(linux_fpic)', | 121 'linux_fpic%': '<(linux_fpic)', |
| 125 'python_ver%': '<(python_ver)', | 122 'python_ver%': '<(python_ver)', |
| 126 'armv7%': '<(armv7)', | 123 'armv7%': '<(armv7)', |
| 127 'arm_neon%': '<(arm_neon)', | 124 'arm_neon%': '<(arm_neon)', |
| 128 'sysroot%': '<(sysroot)', | 125 'sysroot%': '<(sysroot)', |
| 129 'disable_sse2%': '<(disable_sse2)', | |
| 130 | 126 |
| 131 # The release channel that this build targets. This is used to restrict | 127 # The release channel that this build targets. This is used to restrict |
| 132 # channel-specific build options, like which installer packages to create. | 128 # channel-specific build options, like which installer packages to create. |
| 133 # The default is 'all', which does no channel-specific filtering. | 129 # The default is 'all', which does no channel-specific filtering. |
| 134 'channel%': 'all', | 130 'channel%': 'all', |
| 135 | 131 |
| 136 # Override chromium_mac_pch and set it to 0 to suppress the use of | 132 # Override chromium_mac_pch and set it to 0 to suppress the use of |
| 137 # precompiled headers on the Mac. Prefix header injection may still be | 133 # precompiled headers on the Mac. Prefix header injection may still be |
| 138 # used, but prefix headers will not be precompiled. This is useful when | 134 # used, but prefix headers will not be precompiled. This is useful when |
| 139 # using distcc to distribute a build to compile slaves that don't | 135 # using distcc to distribute a build to compile slaves that don't |
| (...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 956 # values in x87 floating-point stack (in 80-bit precision) | 952 # values in x87 floating-point stack (in 80-bit precision) |
| 957 # as long as possible. This has important side effects, that | 953 # as long as possible. This has important side effects, that |
| 958 # the real value used in computation may change depending on | 954 # the real value used in computation may change depending on |
| 959 # how the compiler did the optimization - that is, the value | 955 # how the compiler did the optimization - that is, the value |
| 960 # kept in 80-bit is different than the value rounded down to | 956 # kept in 80-bit is different than the value rounded down to |
| 961 # 64-bit or 32-bit. There are possible compiler options to make | 957 # 64-bit or 32-bit. There are possible compiler options to make |
| 962 # this behavior consistent (e.g. -ffloat-store would keep all | 958 # this behavior consistent (e.g. -ffloat-store would keep all |
| 963 # floating-values in the memory, thus force them to be rounded | 959 # floating-values in the memory, thus force them to be rounded |
| 964 # to its original precision) but they have significant runtime | 960 # to its original precision) but they have significant runtime |
| 965 # performance penalty. | 961 # performance penalty. |
| 966 # | |
| 967 # -mfpmath=sse -msse2 makes the compiler use SSE instructions | |
| 968 # which keep floating-point values in SSE registers in its | |
| 969 # native precision (32-bit for single precision, and 64-bit for | |
| 970 # double precision values). This means the floating-point value | |
| 971 # used during computation does not change depending on how the | |
| 972 # compiler optimized the code, since the value is always kept | |
| 973 # in its specified precision. | |
| 974 'conditions': [ | 962 'conditions': [ |
| 975 ['branding=="Chromium" and disable_sse2==0', { | 963 ['branding=="Chromium"', { |
| 976 'cflags': [ | 964 'cflags': [ |
| 977 '-march=pentium4', | 965 '-march=pentium4', |
| 978 '-msse2', | |
| 979 '-mfpmath=sse', | |
| 980 ], | 966 ], |
| 981 }], | 967 }], |
| 982 # ChromeOS targets Pinetrail, which is sse3, but most of the | 968 # ChromeOS targets Pinetrail, which is sse3, but most of the |
| 983 # benefit comes from sse2 so this setting allows ChromeOS | 969 # benefit comes from sse2 so this setting allows ChromeOS |
| 984 # to build on other CPUs. In the future -march=atom would help | 970 # to build on other CPUs. In the future -march=atom would help |
| 985 # but requires a newer compiler. | 971 # but requires a newer compiler. |
| 986 ['chromeos==1 and disable_sse2==0', { | 972 ['chromeos==1', { |
| 987 'cflags': [ | 973 'cflags': [ |
| 988 '-msse2', | 974 '-msse2', |
| 989 ], | 975 ], |
| 990 }], | 976 }], |
| 991 ], | 977 ], |
| 992 # -mmmx allows mmintrin.h to be used for mmx intrinsics. | 978 # -mmmx allows mmintrin.h to be used for mmx intrinsics. |
| 993 # video playback is mmx and sse2 optimized. | 979 # video playback is mmx and sse2 optimized. |
| 994 'cflags': [ | 980 'cflags': [ |
| 995 '-m32', | 981 '-m32', |
| 996 '-mmmx', | 982 '-mmmx', |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1364 # and therefore SYMROOT, needs to be set at the project level. | 1350 # and therefore SYMROOT, needs to be set at the project level. |
| 1365 'SYMROOT': '<(DEPTH)/xcodebuild', | 1351 'SYMROOT': '<(DEPTH)/xcodebuild', |
| 1366 }, | 1352 }, |
| 1367 } | 1353 } |
| 1368 | 1354 |
| 1369 # Local Variables: | 1355 # Local Variables: |
| 1370 # tab-width:2 | 1356 # tab-width:2 |
| 1371 # indent-tabs-mode:nil | 1357 # indent-tabs-mode:nil |
| 1372 # End: | 1358 # End: |
| 1373 # vim: set expandtab tabstop=2 shiftwidth=2: | 1359 # vim: set expandtab tabstop=2 shiftwidth=2: |
| OLD | NEW |