Chromium Code Reviews| 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, | |
| 109 }, | 112 }, |
| 110 | 113 |
| 111 # Define branding and buildtype on the basis of their settings within the | 114 # Define branding and buildtype on the basis of their settings within the |
| 112 # variables sub-dict above, unless overridden. | 115 # variables sub-dict above, unless overridden. |
| 113 'branding%': '<(branding)', | 116 'branding%': '<(branding)', |
| 114 'buildtype%': '<(buildtype)', | 117 'buildtype%': '<(buildtype)', |
| 115 'target_arch%': '<(target_arch)', | 118 'target_arch%': '<(target_arch)', |
| 116 'host_arch%': '<(host_arch)', | 119 'host_arch%': '<(host_arch)', |
| 117 'toolkit_views%': '<(toolkit_views)', | 120 'toolkit_views%': '<(toolkit_views)', |
| 118 'chromeos%': '<(chromeos)', | 121 'chromeos%': '<(chromeos)', |
| 119 'inside_chromium_build%': '<(inside_chromium_build)', | 122 'inside_chromium_build%': '<(inside_chromium_build)', |
| 120 'fastbuild%': '<(fastbuild)', | 123 'fastbuild%': '<(fastbuild)', |
| 121 'linux_fpic%': '<(linux_fpic)', | 124 'linux_fpic%': '<(linux_fpic)', |
| 122 'python_ver%': '<(python_ver)', | 125 'python_ver%': '<(python_ver)', |
| 123 'armv7%': '<(armv7)', | 126 'armv7%': '<(armv7)', |
| 124 'arm_neon%': '<(arm_neon)', | 127 'arm_neon%': '<(arm_neon)', |
| 125 'sysroot%': '<(sysroot)', | 128 'sysroot%': '<(sysroot)', |
| 129 'disable_sse2%': '<(disable_sse2)', | |
| 126 | 130 |
| 127 # The release channel that this build targets. This is used to restrict | 131 # The release channel that this build targets. This is used to restrict |
| 128 # channel-specific build options, like which installer packages to create. | 132 # channel-specific build options, like which installer packages to create. |
| 129 # The default is 'all', which does no channel-specific filtering. | 133 # The default is 'all', which does no channel-specific filtering. |
| 130 'channel%': 'all', | 134 'channel%': 'all', |
| 131 | 135 |
| 132 # Override chromium_mac_pch and set it to 0 to suppress the use of | 136 # Override chromium_mac_pch and set it to 0 to suppress the use of |
| 133 # precompiled headers on the Mac. Prefix header injection may still be | 137 # precompiled headers on the Mac. Prefix header injection may still be |
| 134 # used, but prefix headers will not be precompiled. This is useful when | 138 # used, but prefix headers will not be precompiled. This is useful when |
| 135 # using distcc to distribute a build to compile slaves that don't | 139 # using distcc to distribute a build to compile slaves that don't |
| (...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 909 # performance penalty. | 913 # performance penalty. |
| 910 # | 914 # |
| 911 # -mfpmath=sse -msse2 makes the compiler use SSE instructions | 915 # -mfpmath=sse -msse2 makes the compiler use SSE instructions |
| 912 # which keep floating-point values in SSE registers in its | 916 # which keep floating-point values in SSE registers in its |
| 913 # native precision (32-bit for single precision, and 64-bit for | 917 # native precision (32-bit for single precision, and 64-bit for |
| 914 # double precision values). This means the floating-point value | 918 # double precision values). This means the floating-point value |
| 915 # used during computation does not change depending on how the | 919 # used during computation does not change depending on how the |
| 916 # compiler optimized the code, since the value is always kept | 920 # compiler optimized the code, since the value is always kept |
| 917 # in its specified precision. | 921 # in its specified precision. |
| 918 'conditions': [ | 922 'conditions': [ |
| 919 ['branding=="Chromium"', { | 923 ['branding=="Chromium" and disable_sse2==0', { |
| 920 'cflags': [ | 924 'cflags': [ |
| 921 '-march=pentium4', | 925 '-march=pentium4', |
|
agl
2010/04/27 14:07:08
This knocks out rather more than just SSE2, but wh
| |
| 922 '-msse2', | 926 '-msse2', |
| 923 '-mfpmath=sse', | 927 '-mfpmath=sse', |
| 924 ], | 928 ], |
| 925 }], | 929 }], |
| 926 # ChromeOS targets Pinetrail, which is ssse3, but most of the | 930 # ChromeOS targets Pinetrail, which is ssse3, but most of the |
| 927 # benefit comes from sse2 so this setting allows ChromeOS | 931 # benefit comes from sse2 so this setting allows ChromeOS |
| 928 # to build on other CPUs. In the future -march=atom would help | 932 # to build on other CPUs. In the future -march=atom would help |
| 929 # but requires a newer compiler. | 933 # but requires a newer compiler. |
| 930 ['chromeos==1', { | 934 ['chromeos==1 and disable_sse2==0', { |
| 931 'cflags': [ | 935 'cflags': [ |
| 932 '-msse2', | 936 '-msse2', |
| 933 ], | 937 ], |
| 934 }], | 938 }], |
| 935 ], | 939 ], |
| 936 # -mmmx allows mmintrin.h to be used for mmx intrinsics. | 940 # -mmmx allows mmintrin.h to be used for mmx intrinsics. |
| 937 # video playback is mmx and sse2 optimized. | 941 # video playback is mmx and sse2 optimized. |
| 938 'cflags': [ | 942 'cflags': [ |
| 939 '-m32', | 943 '-m32', |
| 940 '-mmmx', | 944 '-mmmx', |
| (...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1305 # and therefore SYMROOT, needs to be set at the project level. | 1309 # and therefore SYMROOT, needs to be set at the project level. |
| 1306 'SYMROOT': '<(DEPTH)/xcodebuild', | 1310 'SYMROOT': '<(DEPTH)/xcodebuild', |
| 1307 }, | 1311 }, |
| 1308 } | 1312 } |
| 1309 | 1313 |
| 1310 # Local Variables: | 1314 # Local Variables: |
| 1311 # tab-width:2 | 1315 # tab-width:2 |
| 1312 # indent-tabs-mode:nil | 1316 # indent-tabs-mode:nil |
| 1313 # End: | 1317 # End: |
| 1314 # vim: set expandtab tabstop=2 shiftwidth=2: | 1318 # vim: set expandtab tabstop=2 shiftwidth=2: |
| OLD | NEW |