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

Side by Side Diff: third_party/libvpx/BUILD.gn

Issue 2516703002: Remove /arch:AVX and /arch:AVX2 from libvpx (Closed)
Patch Set: Reenable /arch:AVX* for clang-cl, and mandatory gn format??? Created 4 years, 1 month 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
« 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 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 import("//build/config/arm.gni") 5 import("//build/config/arm.gni")
6 import("//build/config/android/config.gni") 6 import("//build/config/android/config.gni")
7 import("//build/config/sanitizers/sanitizers.gni") 7 import("//build/config/sanitizers/sanitizers.gni")
8 import("//third_party/libvpx/libvpx_srcs.gni") 8 import("//third_party/libvpx/libvpx_srcs.gni")
9 import("//third_party/yasm/yasm_assemble.gni") 9 import("//third_party/yasm/yasm_assemble.gni")
10 10
(...skipping 20 matching lines...) Expand all
31 31
32 if (is_nacl) { 32 if (is_nacl) {
33 platform_include_dir = "//third_party/libvpx/source/config/nacl" 33 platform_include_dir = "//third_party/libvpx/source/config/nacl"
34 } else { 34 } else {
35 # The mac configurations are currently a relic. They were useful when 35 # The mac configurations are currently a relic. They were useful when
36 # x86inc.asm did not work for MACH_O but now the build is identical to the 36 # x86inc.asm did not work for MACH_O but now the build is identical to the
37 # linux config. iOS for arm on the other hand needs an apple-specific twist in 37 # linux config. iOS for arm on the other hand needs an apple-specific twist in
38 # vpx_config.asm 38 # vpx_config.asm
39 if (is_ios && current_cpu == "arm") { 39 if (is_ios && current_cpu == "arm") {
40 os_category = current_os 40 os_category = current_os
41 } else if (is_posix) { # Should cover linux, mac, and the ios simulator. 41 } else if (is_posix) { # Should cover linux, mac, and the ios simulator.
42 os_category = "linux" 42 os_category = "linux"
43 } else { # This should only match windows. 43 } else { # This should only match windows.
44 os_category = current_os 44 os_category = current_os
45 } 45 }
46 platform_include_dir = 46 platform_include_dir =
47 "//third_party/libvpx/source/config/$os_category/$cpu_arch_full" 47 "//third_party/libvpx/source/config/$os_category/$cpu_arch_full"
48 } 48 }
49 49
50 config("libvpx_config") { 50 config("libvpx_config") {
51 include_dirs = [ 51 include_dirs = [
52 "//third_party/libvpx/source/config", 52 "//third_party/libvpx/source/config",
53 platform_include_dir, 53 platform_include_dir,
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 sources = libvpx_srcs_x86_64_sse4_1 173 sources = libvpx_srcs_x86_64_sse4_1
174 } 174 }
175 } 175 }
176 176
177 source_set("libvpx_intrinsics_avx") { 177 source_set("libvpx_intrinsics_avx") {
178 configs += [ ":libvpx_config" ] 178 configs += [ ":libvpx_config" ]
179 configs -= [ "//build/config/compiler:chromium_code" ] 179 configs -= [ "//build/config/compiler:chromium_code" ]
180 configs += [ "//build/config/compiler:no_chromium_code" ] 180 configs += [ "//build/config/compiler:no_chromium_code" ]
181 configs += [ ":libvpx_warnings" ] 181 configs += [ ":libvpx_warnings" ]
182 if (is_win) { 182 if (is_win) {
183 cflags = [ "/arch:AVX" ] 183 if (is_clang) {
184 cflags = [ "/arch:AVX" ]
185 } else {
186 # /arch:AVX leads to ODR violations in CRT functions that are inline but
187 # not inlined. crbug.com/666707
188 cflags = [ "/wd4752" ]
189 }
184 } else { 190 } else {
185 cflags = [ "-mavx" ] 191 cflags = [ "-mavx" ]
186 } 192 }
187 if (current_cpu == "x86") { 193 if (current_cpu == "x86") {
188 sources = libvpx_srcs_x86_avx 194 sources = libvpx_srcs_x86_avx
189 } else if (current_cpu == "x64") { 195 } else if (current_cpu == "x64") {
190 sources = libvpx_srcs_x86_64_avx 196 sources = libvpx_srcs_x86_64_avx
191 } 197 }
192 } 198 }
193 199
194 source_set("libvpx_intrinsics_avx2") { 200 source_set("libvpx_intrinsics_avx2") {
195 configs += [ ":libvpx_config" ] 201 configs += [ ":libvpx_config" ]
196 configs -= [ "//build/config/compiler:chromium_code" ] 202 configs -= [ "//build/config/compiler:chromium_code" ]
197 configs += [ "//build/config/compiler:no_chromium_code" ] 203 configs += [ "//build/config/compiler:no_chromium_code" ]
198 configs += [ ":libvpx_warnings" ] 204 configs += [ ":libvpx_warnings" ]
199 if (is_win) { 205 if (is_win) {
200 cflags = [ "/arch:AVX2" ] 206 if (is_clang) {
207 cflags = [ "/arch:AVX2" ]
208 } else {
209 # /arch:AVX leads to ODR violations in CRT functions that are inline but
210 # not inlined. crbug.com/666707
211 cflags = [ "/wd4752" ]
212 }
201 } else { 213 } else {
202 cflags = [ "-mavx2" ] 214 cflags = [ "-mavx2" ]
203 } 215 }
204 if (current_cpu == "x86") { 216 if (current_cpu == "x86") {
205 sources = libvpx_srcs_x86_avx2 217 sources = libvpx_srcs_x86_avx2
206 } else if (current_cpu == "x64") { 218 } else if (current_cpu == "x64") {
207 sources = libvpx_srcs_x86_64_avx2 219 sources = libvpx_srcs_x86_64_avx2
208 } 220 }
209 } 221 }
210 } 222 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 } 339 }
328 if (is_android) { 340 if (is_android) {
329 deps += [ "//third_party/android_tools:cpu_features" ] 341 deps += [ "//third_party/android_tools:cpu_features" ]
330 } 342 }
331 if (current_cpu == "arm" && arm_assembly_sources != []) { 343 if (current_cpu == "arm" && arm_assembly_sources != []) {
332 deps += [ ":libvpx_assembly_arm" ] 344 deps += [ ":libvpx_assembly_arm" ]
333 } 345 }
334 346
335 public_configs = [ ":libvpx_external_config" ] 347 public_configs = [ ":libvpx_external_config" ]
336 } 348 }
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