зеркало из https://github.com/mozilla/gecko-dev.git
381 строка
9.1 KiB
Python
381 строка
9.1 KiB
Python
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
{
|
|
'includes': [
|
|
'../coreconf/config.gypi',
|
|
],
|
|
'target_defaults': {
|
|
'variables': {
|
|
'debug_optimization_level': '2',
|
|
},
|
|
'target_conditions': [
|
|
[ '_type=="executable"', {
|
|
'libraries!': [
|
|
'<@(nspr_libs)',
|
|
],
|
|
'libraries': [
|
|
'<(nss_dist_obj_dir)/lib/libplds4.a',
|
|
'<(nss_dist_obj_dir)/lib/libnspr4.a',
|
|
'<(nss_dist_obj_dir)/lib/libplc4.a',
|
|
],
|
|
}],
|
|
],
|
|
},
|
|
'targets': [
|
|
{
|
|
'target_name': 'fuzz_base',
|
|
'type': 'static_library',
|
|
'sources': [
|
|
'shared.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'<(DEPTH)/lib/certdb/certdb.gyp:certdb',
|
|
'<(DEPTH)/lib/certhigh/certhigh.gyp:certhi',
|
|
'<(DEPTH)/lib/cryptohi/cryptohi.gyp:cryptohi',
|
|
'<(DEPTH)/lib/ssl/ssl.gyp:ssl',
|
|
'<(DEPTH)/lib/base/base.gyp:nssb',
|
|
'<(DEPTH)/lib/dev/dev.gyp:nssdev',
|
|
'<(DEPTH)/lib/pki/pki.gyp:nsspki',
|
|
'<(DEPTH)/lib/util/util.gyp:nssutil',
|
|
'<(DEPTH)/lib/nss/nss.gyp:nss_static',
|
|
'<(DEPTH)/lib/pkcs7/pkcs7.gyp:pkcs7',
|
|
# This is a static build of pk11wrap, softoken, and freebl.
|
|
'<(DEPTH)/lib/pk11wrap/pk11wrap.gyp:pk11wrap_static',
|
|
'<(DEPTH)/lib/libpkix/libpkix.gyp:libpkix',
|
|
],
|
|
'cflags_cc': [
|
|
'-Wno-error=shadow',
|
|
],
|
|
'conditions': [
|
|
['fuzz_oss==0', {
|
|
'sources': [
|
|
'<!@(ls <(DEPTH)/fuzz/libFuzzer/*.cpp)',
|
|
],
|
|
'cflags/': [
|
|
['exclude', '-fsanitize-coverage'],
|
|
],
|
|
'xcode_settings': {
|
|
'OTHER_CFLAGS/': [
|
|
['exclude', '-fsanitize-coverage'],
|
|
],
|
|
},
|
|
}, {
|
|
'all_dependent_settings': {
|
|
'libraries': ['-lFuzzingEngine'],
|
|
}
|
|
}]
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-base',
|
|
'type': 'none',
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'fuzz_base',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'<(DEPTH)/lib/freebl/mpi',
|
|
],
|
|
'sources': [
|
|
'mpi_helper.cc',
|
|
],
|
|
'conditions': [
|
|
[ 'fuzz_oss==1', {
|
|
'libraries': [
|
|
'/usr/lib/x86_64-linux-gnu/libcrypto.a',
|
|
],
|
|
}, {
|
|
'libraries': [
|
|
'-lcrypto',
|
|
],
|
|
}],
|
|
# For static builds we have to set MPI defines.
|
|
[ 'target_arch=="ia32"', {
|
|
'defines': [
|
|
'MP_USE_UINT_DIGIT',
|
|
'MP_ASSEMBLY_MULTIPLY',
|
|
'MP_ASSEMBLY_SQUARE',
|
|
'MP_ASSEMBLY_DIV_2DX1D',
|
|
],
|
|
}],
|
|
],
|
|
},
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-pkcs8',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'asn1_mutators.cc',
|
|
'pkcs8_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'fuzz_base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-quickder',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'asn1_mutators.cc',
|
|
'quickder_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'fuzz_base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-certDN',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'certDN_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'fuzz_base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-add',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_add_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-sub',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_sub_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-sqr',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_sqr_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-div',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_div_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-mod',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_mod_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-sqrmod',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_sqrmod_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-addmod',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_addmod_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-submod',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_submod_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-mulmod',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_mulmod_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-expmod',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_expmod_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-mpi-invmod',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'mpi_invmod_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'nssfuzz-mpi-base',
|
|
],
|
|
'include_dirs': [
|
|
'<(DEPTH)/lib/freebl',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-tls-base',
|
|
'type': 'static_library',
|
|
'sources': [
|
|
'tls_common.cc',
|
|
'tls_mutators.cc',
|
|
'tls_socket.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/cpputil/cpputil.gyp:cpputil',
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'fuzz_base',
|
|
],
|
|
'include_dirs': [
|
|
'<(DEPTH)/lib/ssl',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'<(DEPTH)/lib/freebl',
|
|
'<(DEPTH)/lib/ssl',
|
|
],
|
|
},
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-tls-client',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'tls_client_config.cc',
|
|
'tls_client_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'<(DEPTH)/cpputil/cpputil.gyp:cpputil',
|
|
'nssfuzz-tls-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-tls-server',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'tls_server_certs.cc',
|
|
'tls_server_config.cc',
|
|
'tls_server_target.cc',
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'<(DEPTH)/cpputil/cpputil.gyp:cpputil',
|
|
'nssfuzz-tls-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-dtls-client',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'tls_client_config.cc',
|
|
'tls_client_target.cc',
|
|
],
|
|
'defines': [
|
|
'IS_DTLS'
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'<(DEPTH)/cpputil/cpputil.gyp:cpputil',
|
|
'nssfuzz-tls-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz-dtls-server',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'tls_server_certs.cc',
|
|
'tls_server_config.cc',
|
|
'tls_server_target.cc',
|
|
],
|
|
'defines': [
|
|
'IS_DTLS'
|
|
],
|
|
'dependencies': [
|
|
'<(DEPTH)/exports.gyp:nss_exports',
|
|
'<(DEPTH)/cpputil/cpputil.gyp:cpputil',
|
|
'nssfuzz-tls-base',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'nssfuzz',
|
|
'type': 'none',
|
|
'dependencies': [
|
|
'nssfuzz-certDN',
|
|
'nssfuzz-dtls-client',
|
|
'nssfuzz-dtls-server',
|
|
'nssfuzz-pkcs8',
|
|
'nssfuzz-quickder',
|
|
'nssfuzz-tls-client',
|
|
'nssfuzz-tls-server',
|
|
],
|
|
'conditions': [
|
|
['OS=="linux"', {
|
|
'dependencies': [
|
|
'nssfuzz-mpi-add',
|
|
'nssfuzz-mpi-addmod',
|
|
'nssfuzz-mpi-div',
|
|
'nssfuzz-mpi-expmod',
|
|
'nssfuzz-mpi-invmod',
|
|
'nssfuzz-mpi-mod',
|
|
'nssfuzz-mpi-mulmod',
|
|
'nssfuzz-mpi-sqr',
|
|
'nssfuzz-mpi-sqrmod',
|
|
'nssfuzz-mpi-sub',
|
|
'nssfuzz-mpi-submod',
|
|
],
|
|
}],
|
|
],
|
|
}
|
|
],
|
|
}
|