Index: third_party/qcms/BUILD.gn |
diff --git a/third_party/qcms/BUILD.gn b/third_party/qcms/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..04db5df64af11b9c6bf8c021761c130274ce7512 |
--- /dev/null |
+++ b/third_party/qcms/BUILD.gn |
@@ -0,0 +1,77 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+config("qcms_config") { |
+ include_dirs = [ "src" ] |
+} |
+ |
+# Do not build QCMS on Android or iOS. (See http://crbug.com/577155) |
+disable_qcms = is_android || is_ios |
+ |
+source_set("qcms") { |
+ if (disable_qcms) { |
+ sources = [ |
+ "src/empty.c", |
+ ] |
+ } else { |
+ sources = [ |
+ "src/chain.c", |
+ "src/chain.h", |
+ "src/iccread.c", |
+ "src/matrix.c", |
+ "src/matrix.h", |
+ "src/qcms.h", |
+ "src/qcms_util.c", |
+ "src/qcmsint.h", |
+ "src/qcmstypes.h", |
+ "src/transform.c", |
+ "src/transform_util.c", |
+ "src/transform_util.h", |
+ ] |
+ |
+ if (current_cpu == "x86" || current_cpu == "x64") { |
+ defines = [ "SSE2_ENABLE" ] |
+ sources += [ "src/transform-sse2.c" ] |
+ } |
+ } |
+ |
+ configs -= [ "//build/config/compiler:chromium_code" ] |
+ configs += [ "//build/config/compiler:no_chromium_code" ] |
+ public_configs = [ ":qcms_config" ] |
+ |
+ if (is_win) { |
+ cflags = [ |
+ "/wd4018", # Signed/unsigned mismatch in comparison. |
+ "/wd4056", # Overflow in floating-point constant arithmetic (INFINITY). |
+ "/wd4756", # Overflow in constant arithmetic (INFINITY). |
+ ] |
+ } |
+} |
+ |
+if (!disable_qcms) { |
+ executable("qcms_tests") { |
+ if (current_cpu == "x86" || current_cpu == "x64") { |
+ defines = [ "SSE2_ENABLE" ] |
+ } |
+ sources = [ |
+ "src/tests/qcms_test_internal_srgb.c", |
+ "src/tests/qcms_test_main.c", |
+ "src/tests/qcms_test_munsell.c", |
+ "src/tests/qcms_test_ntsc_gamut.c", |
+ "src/tests/qcms_test_output_trc.c", |
+ "src/tests/qcms_test_tetra_clut_rgba.c", |
+ "src/tests/qcms_test_util.c", |
+ ] |
+ |
+ deps = [ |
+ "//build/config/sanitizers:deps", |
+ "//build/win:default_exe_manifest", |
+ "//third_party/qcms", |
+ ] |
+ |
+ configs -= [ "//build/config/compiler:chromium_code" ] |
+ configs += [ "//build/config/compiler:no_chromium_code" ] |
+ public_configs = [ ":qcms_config" ] |
+ } |
+} |