# Copyright 2021 Google LLC. All Rights Reserved. This file and proprietary # source code may only be used and distributed under the Widevine License # Agreement. { 'variables': { 'boringssl_libcrypto_path%': '../../../third_party/boringssl/boringssl.gyp:crypto', 'boringssl_libssl_path%': '../../../third_party/boringssl/boringssl.gyp:ssl', 'oemcrypto_dir': '../..', 'platform_specific_dir': '../../../linux/src', 'privacy_crypto_impl%': 'boringssl', 'oemcrypto_static_library%': '', 'util_dir': '../../../util', }, 'sources': [ '../../odk/src/core_message_deserialize.cpp', '../../odk/src/core_message_serialize.cpp', '../oec_device_features.cpp', '../oec_key_deriver.cpp', '../oemcrypto_corpus_generator_helper.cpp', '../oec_session_util.cpp', '../oemcrypto_corpus_generator_helper.cpp', 'oemcrypto_fuzz_helper.cc', '../oemcrypto_session_tests_helper.cpp', '<(platform_specific_dir)/file_store.cpp', '<(platform_specific_dir)/log.cpp', '<(util_dir)/src/platform.cpp', '<(util_dir)/src/rw_lock.cpp', '<(util_dir)/src/string_conversions.cpp', '<(util_dir)/src/string_format.cpp', '<(util_dir)/test/test_sleep.cpp', '<(util_dir)/test/test_clock.cpp', ], 'include_dirs': [ '../../../third_party/fuzz', '<(util_dir)/include', '<(util_dir)/test', '<(oemcrypto_dir)/include', '<(oemcrypto_dir)/test', '<(oemcrypto_dir)/test/fuzz_tests', '<(oemcrypto_dir)/odk/include', '<(oemcrypto_dir)/odk/src', '<(oemcrypto_dir)/opk/oemcrypto_ta', ], 'includes': [ '../../../util/libssl_dependency.gypi', ], 'dependencies': [ '../../../third_party/googletest.gyp:gtest', '../../../third_party/googletest.gyp:gmock', '<(oemcrypto_dir)/util/oec_ref_util.gyp:oec_ref_util', ], 'defines': [ 'OEMCRYPTO_FUZZ_TESTS', ], # Include flags to build fuzzer binaries for cluster fuzz. 'cflags': [ '-fPIC', '-O0', '-fno-omit-frame-pointer', '-U_FORTIFY_SOURCE', '-fsanitize=fuzzer,address,undefined', '-fno-sanitize-recover=address,undefined', # Need -g flag to include source line numbers in error stack trace. '-g3', ], 'cflags_c': [ '-std=c11', '-D_POSIX_C_SOURCE=200809L', ], 'cflags_cc': [ '-std=c++17', '-frtti', ], 'ldflags': [ '-fPIC', # Sanitizers with link-time components must be repeated here. '-fsanitize=fuzzer,address', ], 'libraries': [ '-lpthread', # include absolute path to oemcrypto static library on the machine where # fuzz tests are being built here. '<(oemcrypto_static_library)', ], }