mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 14:26:09 +03:00
102 lines
2.4 KiB
Plaintext
102 lines
2.4 KiB
Plaintext
|
# 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.
|
||
|
|
||
|
import("//testing/libfuzzer/fuzzer_test.gni")
|
||
|
|
||
|
config("qcms_config") {
|
||
|
include_dirs = [ "src" ]
|
||
|
}
|
||
|
|
||
|
disable_qcms = false
|
||
|
|
||
|
static_library("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",
|
||
|
]
|
||
|
|
||
|
defines = []
|
||
|
|
||
|
if (current_cpu == "x86" || current_cpu == "x64") {
|
||
|
defines += [ "SSE2_ENABLE" ]
|
||
|
sources += [ "src/transform-sse2.c" ]
|
||
|
}
|
||
|
|
||
|
if (use_fuzzing_engine) {
|
||
|
defines += [ "USE_LIBFUZZER" ]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
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).
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# fuzzers BUILD depends on this target. Needed for package discovery
|
||
|
group("fuzzers") {
|
||
|
}
|
||
|
|
||
|
fuzzer_test("qcms_color_space_fuzzer") {
|
||
|
sources = [
|
||
|
"//testing/libfuzzer/fuzzers/color_space_data.h",
|
||
|
"qcms_color_space_fuzzer.cc",
|
||
|
]
|
||
|
deps = [
|
||
|
":qcms",
|
||
|
"//base",
|
||
|
]
|
||
|
dict = "//testing/libfuzzer/fuzzers/dicts/icc.dict"
|
||
|
libfuzzer_options = [ "max_len=4194304" ]
|
||
|
}
|
||
|
|
||
|
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:exe_and_shlib_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" ]
|
||
|
}
|
||
|
}
|