2016-07-14 16:16:42 +00:00
|
|
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
2014-01-27 03:36:28 +00:00
|
|
|
# vim: set filetype=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/.
|
|
|
|
|
2017-03-09 10:33:30 +00:00
|
|
|
with Files("**"):
|
|
|
|
BUG_COMPONENT = ("Core", "Security: PSM")
|
|
|
|
|
2014-09-03 17:24:12 +00:00
|
|
|
EXPORTS += [
|
2016-02-09 18:14:27 +00:00
|
|
|
'BRNameMatchingPolicy.h',
|
2017-08-18 07:50:49 +00:00
|
|
|
'BTInclusionProof.h',
|
|
|
|
'BTVerifier.h',
|
2017-08-17 07:23:29 +00:00
|
|
|
'Buffer.h',
|
2014-09-03 17:24:12 +00:00
|
|
|
'CertVerifier.h',
|
2016-11-29 20:51:46 +00:00
|
|
|
'CTLog.h',
|
2017-01-09 06:22:28 +00:00
|
|
|
'CTPolicyEnforcer.h',
|
2016-08-11 10:41:50 +00:00
|
|
|
'CTVerifyResult.h',
|
2014-09-03 17:24:12 +00:00
|
|
|
'OCSPCache.h',
|
2016-08-11 10:41:50 +00:00
|
|
|
'SignedCertificateTimestamp.h',
|
|
|
|
'SignedTreeHead.h',
|
2014-09-03 17:24:12 +00:00
|
|
|
]
|
|
|
|
|
2014-09-02 22:28:11 +00:00
|
|
|
UNIFIED_SOURCES += [
|
2016-02-09 18:14:27 +00:00
|
|
|
'BRNameMatchingPolicy.cpp',
|
2017-08-18 07:50:49 +00:00
|
|
|
'BTVerifier.cpp',
|
2017-08-17 07:23:29 +00:00
|
|
|
'Buffer.cpp',
|
2014-01-27 03:36:28 +00:00
|
|
|
'CertVerifier.cpp',
|
2017-01-09 06:22:28 +00:00
|
|
|
'CTDiversityPolicy.cpp',
|
2016-07-05 05:35:06 +00:00
|
|
|
'CTLogVerifier.cpp',
|
|
|
|
'CTObjectsExtractor.cpp',
|
2017-01-09 06:22:28 +00:00
|
|
|
'CTPolicyEnforcer.cpp',
|
2016-04-11 13:17:25 +00:00
|
|
|
'CTSerialization.cpp',
|
2016-08-11 10:41:50 +00:00
|
|
|
'CTVerifyResult.cpp',
|
2016-07-05 05:35:06 +00:00
|
|
|
'MultiLogCTVerifier.cpp',
|
2014-01-21 06:10:33 +00:00
|
|
|
'NSSCertDBTrustDomain.cpp',
|
2014-03-12 20:08:48 +00:00
|
|
|
'OCSPCache.cpp',
|
2014-05-01 22:07:55 +00:00
|
|
|
'OCSPRequestor.cpp',
|
2015-07-17 16:07:48 +00:00
|
|
|
'OCSPVerificationTrustDomain.cpp',
|
2016-04-11 13:17:25 +00:00
|
|
|
'SignedCertificateTimestamp.cpp',
|
2014-01-27 03:36:28 +00:00
|
|
|
]
|
|
|
|
|
2014-02-24 06:15:53 +00:00
|
|
|
if not CONFIG['NSS_NO_EV_CERTS']:
|
2014-09-02 22:28:11 +00:00
|
|
|
UNIFIED_SOURCES += [
|
2014-01-27 03:36:28 +00:00
|
|
|
'ExtendedValidation.cpp',
|
|
|
|
]
|
|
|
|
|
2017-06-08 23:10:00 +00:00
|
|
|
for var in ('DLL_PREFIX', 'DLL_SUFFIX'):
|
|
|
|
DEFINES[var] = '"%s"' % CONFIG[var]
|
|
|
|
|
2014-01-27 03:36:28 +00:00
|
|
|
LOCAL_INCLUDES += [
|
2015-05-26 17:31:23 +00:00
|
|
|
'/security/manager/ssl',
|
|
|
|
'/security/pkix/include',
|
2016-07-05 05:35:06 +00:00
|
|
|
'/security/pkix/lib',
|
2014-01-27 03:36:28 +00:00
|
|
|
]
|
|
|
|
|
2014-03-10 21:04:31 +00:00
|
|
|
DIRS += [
|
2014-03-20 21:29:21 +00:00
|
|
|
'../pkix',
|
2014-03-10 21:04:31 +00:00
|
|
|
]
|
|
|
|
|
2016-04-11 13:17:25 +00:00
|
|
|
TEST_DIRS += [
|
|
|
|
'tests/gtest',
|
|
|
|
]
|
|
|
|
|
2014-05-16 04:56:23 +00:00
|
|
|
CXXFLAGS += ['-Wall']
|
2017-12-08 12:46:13 +00:00
|
|
|
if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
|
2017-02-23 15:19:55 +00:00
|
|
|
# -Wall with Visual C++ enables too many problematic warnings
|
|
|
|
CXXFLAGS += [
|
2018-02-11 05:32:14 +00:00
|
|
|
'-wd4324', # structure was padded due to __declspec(align())
|
2017-02-23 15:19:55 +00:00
|
|
|
'-wd4355', # 'this' used in base member initializer list
|
|
|
|
'-wd4464', # relative include path contains '..'
|
|
|
|
'-wd4480', # nonstandard extension used: specifying underlying type for
|
|
|
|
# enum 'enum'
|
|
|
|
'-wd4481', # nonstandard extension used: override specifier 'keyword'
|
|
|
|
'-wd4510', # default constructor could not be generated
|
|
|
|
'-wd4512', # assignment operator could not be generated
|
|
|
|
'-wd4514', # 'function': unreferenced inline function has been removed
|
|
|
|
'-wd4610', # struct 'symbol' can never be instantiated - user defined
|
|
|
|
# constructor required
|
|
|
|
'-wd4619', # pragma warning: there is no warning 'warning'
|
|
|
|
'-wd4623', # default constructor could not be generated because a base
|
|
|
|
# class default constructor is inaccessible or deleted
|
|
|
|
'-wd4625', # copy constructor could not be generated because a base
|
|
|
|
# class copy constructor is inaccessible or deleted
|
|
|
|
'-wd4626', # assignment operator could not be generated because a base
|
|
|
|
# class assignment operator is inaccessible or deleted
|
2017-09-06 21:31:27 +00:00
|
|
|
'-wd4628', # digraphs not supported with -Ze (nsThreadUtils.h includes
|
|
|
|
# what would be the digraph "<:" in the expression
|
|
|
|
# "mozilla::EnableIf<::detail::...". Since we don't want it
|
|
|
|
# interpreted as a digraph anyway, we can disable the
|
|
|
|
# warning.)
|
2017-02-23 15:19:55 +00:00
|
|
|
'-wd4640', # construction of local static object is not thread-safe
|
|
|
|
'-wd4710', # 'function': function not inlined
|
|
|
|
'-wd4711', # function 'function' selected for inline expansion
|
|
|
|
'-wd4820', # 'bytes' bytes padding added after construct 'member_name'
|
|
|
|
]
|
2014-05-16 04:56:23 +00:00
|
|
|
|
2017-02-23 15:19:55 +00:00
|
|
|
# MSVC 2010's headers trigger these
|
|
|
|
CXXFLAGS += [
|
|
|
|
'-wd4548', # expression before comma has no effect; ...
|
|
|
|
'-wd4668', # 'symbol' is not defined as a preprocessor macro...
|
|
|
|
'-wd4987', # nonstandard extension used
|
|
|
|
]
|
2014-05-16 04:56:23 +00:00
|
|
|
|
2017-02-23 15:19:55 +00:00
|
|
|
# MSVC 2015 triggers these
|
|
|
|
CXXFLAGS += [
|
|
|
|
'-wd4456', # declaration of 'rv' hides previous local declaration
|
|
|
|
'-wd4458', # declaration of 'input' hides class member
|
|
|
|
]
|
2016-03-15 06:57:33 +00:00
|
|
|
|
2017-05-04 16:41:33 +00:00
|
|
|
# The following warnings are disabled because MSVC 2017 headers aren't
|
|
|
|
# warning free at the -Wall level.
|
|
|
|
CXXFLAGS += [
|
|
|
|
'-wd4061', # enumerator 'identifier' in switch of enum 'enumeration' is
|
|
|
|
# not explicitly handled by a case label
|
|
|
|
'-wd4365', # 'action' : conversion from 'type_1' to 'type_2',
|
|
|
|
# signed/unsigned mismatch
|
|
|
|
'-wd4774', # '<function>' : format string expected in argument
|
|
|
|
# <position> is not a string literal
|
|
|
|
]
|
|
|
|
|
2017-02-23 15:19:55 +00:00
|
|
|
# Gecko headers aren't warning-free enough for us to enable these warnings
|
|
|
|
CXXFLAGS += [
|
|
|
|
'-wd4100', # 'symbol' : unreferenced formal parameter
|
|
|
|
'-wd4127', # conditional expression is constant
|
|
|
|
'-wd4946', # reinterpret_cast used between related types
|
|
|
|
]
|
2014-05-16 04:56:23 +00:00
|
|
|
|
2017-12-07 21:09:15 +00:00
|
|
|
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
2017-02-23 15:19:55 +00:00
|
|
|
CXXFLAGS += [
|
|
|
|
'-Wextra',
|
|
|
|
'-Wunreachable-code',
|
|
|
|
]
|
|
|
|
|
|
|
|
# Gecko headers aren't warning-free enough for us to enable these warnings.
|
|
|
|
CXXFLAGS += [
|
|
|
|
'-Wno-unused-parameter',
|
|
|
|
]
|
2016-05-11 07:00:01 +00:00
|
|
|
|
2014-01-27 03:36:28 +00:00
|
|
|
FINAL_LIBRARY = 'xul'
|