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

Side by Side Diff: BUILD.gn

Issue 603173004: gn: Fix build on Windows (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: gn: Fix build on Windows Created 6 years, 2 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
« 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("//third_party/libvpx/libvpx_srcs.gni") 7 import("//third_party/libvpx/libvpx_srcs.gni")
8 import("//third_party/yasm/yasm_assemble.gni") 8 import("//third_party/yasm/yasm_assemble.gni")
9 9
10 if (is_posix && !is_mac) { 10 if (is_posix && !is_mac) {
(...skipping 23 matching lines...) Expand all
34 cpu_arch_full = cpu_arch 34 cpu_arch_full = cpu_arch
35 } 35 }
36 36
37 config("libvpx_config") { 37 config("libvpx_config") {
38 include_dirs = [ 38 include_dirs = [
39 "//third_party/libvpx/source/config", 39 "//third_party/libvpx/source/config",
40 "//third_party/libvpx/source/config/$os_category/$cpu_arch_full", 40 "//third_party/libvpx/source/config/$os_category/$cpu_arch_full",
41 "//third_party/libvpx/source/libvpx", 41 "//third_party/libvpx/source/libvpx",
42 "$root_gen_dir/third_party/libvpx", # Provides vpx_rtcd.h. 42 "$root_gen_dir/third_party/libvpx", # Provides vpx_rtcd.h.
43 ] 43 ]
44 cflags = [ "-Wno-unused-function", "-Wno-sign-compare" ] 44 if (!is_win) {
45 cflags = [ "-Wno-unused-function", "-Wno-sign-compare" ]
46 }
45 } 47 }
46 48
47 # This config is applied to targets that depend on libvpx. 49 # This config is applied to targets that depend on libvpx.
48 config("libvpx_external_config") { 50 config("libvpx_external_config") {
49 include_dirs = [ 51 include_dirs = [
50 "//third_party/libvpx/source/libvpx", 52 "//third_party/libvpx/source/libvpx",
51 ] 53 ]
52 } 54 }
53 55
54 executable("libvpx_obj_int_extract") { 56 executable("libvpx_obj_int_extract") {
55 sources = [ 57 sources = [
56 "//third_party/libvpx/source/libvpx/build/make/obj_int_extract.c" 58 "//third_party/libvpx/source/libvpx/build/make/obj_int_extract.c"
57 ] 59 ]
58 configs += [ ":libvpx_config" ] 60 configs += [ ":libvpx_config" ]
61 configs -= [ "//build/config/compiler:chromium_code" ]
62 configs += [ "//build/config/compiler:no_chromium_code" ]
59 if (is_android_webview_build) { 63 if (is_android_webview_build) {
60 defines += [ "FORCE_PARSE_ELF" ] 64 defines += [ "FORCE_PARSE_ELF" ]
61 include_dirs += [ "//third_party/libvpx/include" ] 65 include_dirs += [ "//third_party/libvpx/include" ]
62 } 66 }
63 } 67 }
64 68
65 # A library whose object files contain integers to be extracted. 69 # A library whose object files contain integers to be extracted.
66 static_library("libvpx_asm_offsets") { 70 static_library("libvpx_asm_offsets") {
67 sources = [ 71 sources = [
68 "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_asm_enc_offsets.c", 72 "//third_party/libvpx/source/libvpx/vp8/encoder/vp8_asm_enc_offsets.c",
69 "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_asm_offsets.c" 73 "//third_party/libvpx/source/libvpx/vpx_scale/vpx_scale_asm_offsets.c"
70 ] 74 ]
71 configs += [ ":libvpx_config" ] 75 configs += [ ":libvpx_config" ]
76 configs -= [ "//build/config/compiler:chromium_code" ]
77 configs += [ "//build/config/compiler:no_chromium_code" ]
72 if (is_clang) { 78 if (is_clang) {
73 cflags = [ "-Wno-unused-function" ] 79 cflags = [ "-Wno-unused-function" ]
74 } 80 }
75 } 81 }
76 82
77 # This works only on POSIX to extract integer values from an object file. 83 # This works only on POSIX to extract integer values from an object file.
78 template("obj_int_extract") { 84 template("obj_int_extract") {
79 action(target_name) { 85 action(target_name) {
80 script = "//third_party/libvpx/obj_int_extract.py" 86 script = "//third_party/libvpx/obj_int_extract.py"
81 bin_label = "//third_party/libvpx($host_toolchain)" 87 bin_label = "//third_party/libvpx($host_toolchain)"
82 88
83 args = [ 89 args = [
84 "-e", 90 "-e",
85 "./" + rebase_path(get_label_info(bin_label, "root_out_dir") + 91 "./" + rebase_path(get_label_info(bin_label, "root_out_dir") +
86 "/libvpx_obj_int_extract", 92 "/libvpx_obj_int_extract",
87 root_build_dir) 93 root_build_dir)
88 ] 94 ]
89 95
90 if (cpu_arch == "arm") { 96 if (cpu_arch == "arm") {
91 args += [ "-f", "gas" ] 97 args += [ "-f", "gas" ]
92 } else { 98 } else {
93 args += [ "-f", "rvds" ] 99 args += [ "-f", "rvds" ]
94 } 100 }
95 101
102 if (is_win) {
103 obj_extension = "obj"
104 } else {
105 obj_extension = "o"
106 }
107
96 args += [ 108 args += [
97 "-b", 109 "-b",
98 rebase_path(get_label_info(":libvpx_asm_offsets", "target_out_dir")) + 110 rebase_path(get_label_info(":libvpx_asm_offsets", "target_out_dir")) +
99 "/" + invoker.src_dir + "/libvpx_asm_offsets." + 111 "/" + invoker.src_dir + "/libvpx_asm_offsets." +
100 invoker.obj_file_root + ".o" 112 invoker.obj_file_root + ".${obj_extension}"
101 ] 113 ]
102 out_file = "$target_gen_dir/" + invoker.obj_file_root + ".asm" 114 out_file = "$target_gen_dir/" + invoker.obj_file_root + ".asm"
103 args += [ "-o", rebase_path(out_file) ] 115 args += [ "-o", rebase_path(out_file) ]
104 outputs = [ out_file ] 116 outputs = [ out_file ]
105 deps = [ 117 deps = [
106 ":libvpx_asm_offsets", 118 ":libvpx_asm_offsets",
107 ":libvpx_obj_int_extract($host_toolchain)" 119 ":libvpx_obj_int_extract($host_toolchain)"
108 ] 120 ]
109 } 121 }
110 } 122 }
(...skipping 25 matching lines...) Expand all
136 ] 148 ]
137 deps = [ 149 deps = [
138 ":gen_asm_offsets_vp8", 150 ":gen_asm_offsets_vp8",
139 ":gen_asm_offsets_scale", 151 ":gen_asm_offsets_scale",
140 ] 152 ]
141 } 153 }
142 } 154 }
143 155
144 static_library("libvpx_intrinsics_mmx") { 156 static_library("libvpx_intrinsics_mmx") {
145 configs += [ ":libvpx_config" ] 157 configs += [ ":libvpx_config" ]
146 cflags = [ "-mmmx" ] 158 configs -= [ "//build/config/compiler:chromium_code" ]
159 configs += [ "//build/config/compiler:no_chromium_code" ]
160 if (!is_win) {
161 cflags = [ "-mmmx" ]
162 }
147 if (cpu_arch == "x86") { 163 if (cpu_arch == "x86") {
148 sources = libvpx_srcs_x86_mmx 164 sources = libvpx_srcs_x86_mmx
149 } else if (cpu_arch == "x64") { 165 } else if (cpu_arch == "x64") {
150 sources = libvpx_srcs_x86_64_mmx 166 sources = libvpx_srcs_x86_64_mmx
151 } 167 }
152 } 168 }
153 169
154 static_library("libvpx_intrinsics_sse2") { 170 static_library("libvpx_intrinsics_sse2") {
155 configs += [ ":libvpx_config" ] 171 configs += [ ":libvpx_config" ]
156 cflags = [ "-msse2" ] 172 configs -= [ "//build/config/compiler:chromium_code" ]
173 configs += [ "//build/config/compiler:no_chromium_code" ]
174 if (!is_win) {
175 cflags = [ "-msse2" ]
176 }
157 if (cpu_arch == "x86") { 177 if (cpu_arch == "x86") {
158 sources = libvpx_srcs_x86_sse2 178 sources = libvpx_srcs_x86_sse2
159 } else if (cpu_arch == "x64") { 179 } else if (cpu_arch == "x64") {
160 sources = libvpx_srcs_x86_64_sse2 180 sources = libvpx_srcs_x86_64_sse2
161 } 181 }
162 } 182 }
163 183
164 static_library("libvpx_intrinsics_ssse3") { 184 static_library("libvpx_intrinsics_ssse3") {
165 configs += [ ":libvpx_config" ] 185 configs += [ ":libvpx_config" ]
166 cflags = [ "-mssse3" ] 186 configs -= [ "//build/config/compiler:chromium_code" ]
187 configs += [ "//build/config/compiler:no_chromium_code" ]
188 if (!is_win) {
189 cflags = [ "-mssse3" ]
190 }
167 if (cpu_arch == "x86") { 191 if (cpu_arch == "x86") {
168 sources = libvpx_srcs_x86_ssse3 192 sources = libvpx_srcs_x86_ssse3
169 } else if (cpu_arch == "x64") { 193 } else if (cpu_arch == "x64") {
170 sources = libvpx_srcs_x86_64_ssse3 194 sources = libvpx_srcs_x86_64_ssse3
171 } 195 }
172 } 196 }
173 197
174 static_library("libvpx_intrinsics_sse4_1") { 198 static_library("libvpx_intrinsics_sse4_1") {
175 configs += [ ":libvpx_config" ] 199 configs += [ ":libvpx_config" ]
176 cflags = [ "-msse4.1" ] 200 configs -= [ "//build/config/compiler:chromium_code" ]
201 configs += [ "//build/config/compiler:no_chromium_code" ]
202 if (!is_win) {
203 cflags = [ "-msse4.1" ]
204 }
177 if (cpu_arch == "x86") { 205 if (cpu_arch == "x86") {
178 sources = libvpx_srcs_x86_sse4_1 206 sources = libvpx_srcs_x86_sse4_1
179 } else if (cpu_arch == "x64") { 207 } else if (cpu_arch == "x64") {
180 sources = libvpx_srcs_x86_64_sse4_1 208 sources = libvpx_srcs_x86_64_sse4_1
181 } 209 }
182 } 210 }
183 211
184 if (cpu_arch_full == "arm-neon-cpu-detect") { 212 if (cpu_arch_full == "arm-neon-cpu-detect") {
185 static_library("libvpx_intrinsics_neon") { 213 static_library("libvpx_intrinsics_neon") {
186 configs -= [ "//build/config/compiler:compiler_arm_fpu" ] 214 configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 sources = libvpx_srcs_arm_neon 276 sources = libvpx_srcs_arm_neon
249 } else if (is_android) { 277 } else if (is_android) {
250 sources = libvpx_srcs_arm_neon_cpu_detect 278 sources = libvpx_srcs_arm_neon_cpu_detect
251 } else { 279 } else {
252 sources = libvpx_srcs_arm 280 sources = libvpx_srcs_arm
253 } 281 }
254 } else if (cpu_arch == "arm64") { 282 } else if (cpu_arch == "arm64") {
255 sources = libvpx_srcs_arm64 283 sources = libvpx_srcs_arm64
256 } 284 }
257 configs += [ ":libvpx_config" ] 285 configs += [ ":libvpx_config" ]
286 configs -= [ "//build/config/compiler:chromium_code" ]
287 configs += [ "//build/config/compiler:no_chromium_code" ]
258 deps = [] 288 deps = []
259 if (cpu_arch == "x86" || (cpu_arch == "x64" && !is_msan)) { 289 if (cpu_arch == "x86" || (cpu_arch == "x64" && !is_msan)) {
260 deps += [ 290 deps += [
261 ":libvpx_yasm", 291 ":libvpx_yasm",
262 ":libvpx_intrinsics_mmx", 292 ":libvpx_intrinsics_mmx",
263 ":libvpx_intrinsics_sse2", 293 ":libvpx_intrinsics_sse2",
264 ":libvpx_intrinsics_ssse3", 294 ":libvpx_intrinsics_ssse3",
265 ":libvpx_intrinsics_sse4_1", 295 ":libvpx_intrinsics_sse4_1",
266 ] 296 ]
267 } 297 }
268 if (cpu_arch_full == "arm-neon-cpu-detect") { 298 if (cpu_arch_full == "arm-neon-cpu-detect") {
269 deps += [ ":libvpx_intrinsics_neon" ] 299 deps += [ ":libvpx_intrinsics_neon" ]
270 } 300 }
271 if (is_android) { 301 if (is_android) {
272 deps += [ "//third_party/android_tools:cpu_features" ] 302 deps += [ "//third_party/android_tools:cpu_features" ]
273 } 303 }
274 if (cpu_arch == "arm") { 304 if (cpu_arch == "arm") {
275 deps += [ ":libvpx_assembly_arm" ] 305 deps += [ ":libvpx_assembly_arm" ]
276 } 306 }
277 307
278 public_configs = [ ":libvpx_external_config" ] 308 public_configs = [ ":libvpx_external_config" ]
279 } 309 }
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