aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-08-16 18:28:43 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-16 18:28:43 -0700
commit422310ddbe4db616200a949adcac2c560685030c (patch)
tree2ae9dc3d385d2132779c25b9a0c934209fc604b6
parent6480619f9ff4676a97edae41b2ca23eadeddcfbf (diff)
GN: make current_cpu work
Then we can use it to remind ourselves that SSE and AVX are x86-only. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2247413003 Review-Url: https://codereview.chromium.org/2247413003
-rw-r--r--BUILD.gn62
-rw-r--r--gn/BUILDCONFIG.gn7
2 files changed, 43 insertions, 26 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 8bfc984753..1f43ca1c58 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -144,32 +144,38 @@ utils_gypi = exec_script("gn/gypi_to_gn.py",
"scope",
[ "gyp/utils.gypi" ])
-source_set("opts_ssse3") {
- configs += skia_library_configs
-
- sources = opts_gypi.ssse3_sources
- cflags = [ "-mssse3" ]
-}
-
-source_set("opts_sse41") {
- configs += skia_library_configs
+is_x86 = current_cpu == "x64" || current_cpu == "x86"
- sources = opts_gypi.sse41_sources
- cflags = [ "-msse4.1" ]
-}
+if (is_x86) {
+ source_set("opts_sse2") {
+ configs += skia_library_configs
+ sources = opts_gypi.sse2_sources
+ cflags = [ "-msse2" ]
+ }
-source_set("opts_sse42") {
- configs += skia_library_configs
+ source_set("opts_ssse3") {
+ configs += skia_library_configs
+ sources = opts_gypi.ssse3_sources
+ cflags = [ "-mssse3" ]
+ }
- sources = opts_gypi.sse42_sources
- cflags = [ "-msse4.2" ]
-}
+ source_set("opts_sse41") {
+ configs += skia_library_configs
+ sources = opts_gypi.sse41_sources
+ cflags = [ "-msse4.1" ]
+ }
-source_set("opts_avx") {
- configs += skia_library_configs
+ source_set("opts_sse42") {
+ configs += skia_library_configs
+ sources = opts_gypi.sse42_sources
+ cflags = [ "-msse4.2" ]
+ }
- sources = opts_gypi.avx_sources
- cflags = [ "-mavx" ]
+ source_set("opts_avx") {
+ configs += skia_library_configs
+ sources = opts_gypi.avx_sources
+ cflags = [ "-mavx" ]
+ }
}
component("skia") {
@@ -177,10 +183,6 @@ component("skia") {
configs += skia_library_configs
deps = [
- ":opts_avx",
- ":opts_sse41",
- ":opts_sse42",
- ":opts_ssse3",
"//third_party/expat",
"//third_party/giflib",
"//third_party/libjpeg_turbo",
@@ -189,6 +191,15 @@ component("skia") {
"//third_party/sfntly",
"//third_party/zlib",
]
+ if (is_x86) {
+ deps += [
+ ":opts_avx",
+ ":opts_sse2",
+ ":opts_sse41",
+ ":opts_sse42",
+ ":opts_ssse3",
+ ]
+ }
if (!is_win) {
libs = [ "pthread" ]
@@ -198,7 +209,6 @@ component("skia") {
sources += core_gypi.sources
sources += effects_gypi.sources
sources += gpu_gypi.skgpu_sources
- sources += opts_gypi.sse2_sources
sources += pdf_gypi.sources
sources += utils_gypi.sources
sources += [
diff --git a/gn/BUILDCONFIG.gn b/gn/BUILDCONFIG.gn
index e2719c196e..2daba29481 100644
--- a/gn/BUILDCONFIG.gn
+++ b/gn/BUILDCONFIG.gn
@@ -18,6 +18,13 @@ if (current_os == "") {
current_os = target_os
}
+if (target_cpu == "") {
+ target_cpu = host_cpu
+}
+if (current_cpu == "") {
+ current_cpu = target_cpu
+}
+
is_android = current_os == "android"
is_fuchsia = current_os == "fuchsia"
is_ios = current_os == "ios"