1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- # 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/win:default_exe_manifest",
- "//third_party/qcms",
- ]
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- public_configs = [ ":qcms_config" ]
- }
- }
|