blob: ee62b8e7f55f9c46a8cdc3d5a8a390c2a571d713 [file] [log] [blame]
James Robinson646469d2014-10-03 15:33:28 -07001# Copyright 2014 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5config("qcms_config") {
6 include_dirs = [ "src" ]
7}
8
9source_set("qcms") {
10 sources = [
11 "src/chain.c",
12 "src/chain.h",
13 "src/iccread.c",
14 "src/matrix.c",
15 "src/matrix.h",
16 "src/qcms.h",
17 "src/qcmsint.h",
18 "src/qcmstypes.h",
19 "src/transform.c",
20 "src/transform_util.c",
21 "src/transform_util.h",
22 ]
23
24 configs -= [ "//build/config/compiler:chromium_code" ]
25 configs += [ "//build/config/compiler:no_chromium_code" ]
26 public_configs = [ ":qcms_config" ]
27
Benjamin Lermane8ca9b72015-02-24 16:42:13 +010028 if (current_cpu == "x86" || current_cpu == "x64") {
James Robinson646469d2014-10-03 15:33:28 -070029 defines = [ "SSE2_ENABLE" ]
30 sources += [ "src/transform-sse2.c" ]
Benjamin Lermane8ca9b72015-02-24 16:42:13 +010031 if (!(is_win && current_cpu == "x64")) {
James Robinson646469d2014-10-03 15:33:28 -070032 # QCMS assumes this target isn't compiled since MSVC x64 doesn't support
33 # the MMX intrinsics present in the SSE1 code.
34 sources += [ "src/transform-sse1.c" ]
35 }
36 }
37
38 if (is_win) {
39 cflags = [
40 "/wd4056", # Overflow in floating-point constant arithmetic (INFINITY).
41 "/wd4756", # Overflow in constant arithmetic (INFINITY).
42 ]
43 }
44}