security/apps/moz.build
author Jim Chen <nchen@mozilla.com>
Tue, 01 May 2018 00:22:54 -0400
changeset 416494 1d986592d690a79f122361b5cb1d8b91e08877c0
parent 398396 8ae89b17787b7a67e3a7ce621e63fdf2d3c7bb26
child 439155 432a98e50d2bfab224328254266069aef1a474cc
permissions -rw-r--r--
Bug 1457255 - 3. Turn Java warnings into errors; r=nalexander Turn Java warnings into errors except for the deprecation and serial warnings. This is done for all Gradle projects except the thirdparty project.

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# 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/.

with Files("**"):
    BUG_COMPONENT = ("Core", "Security: PSM")

UNIFIED_SOURCES += [
    'AppSignatureVerification.cpp',
    'AppTrustDomain.cpp',
]

FINAL_LIBRARY = 'xul'

LOCAL_INCLUDES += [
    '/security/certverifier',
    '/security/manager/ssl',
    '/security/pkix/include',
    '/third_party/rust/cose-c/include',
]

DEFINES['NSS_ENABLE_ECC'] = 'True'
for var in ('DLL_PREFIX', 'DLL_SUFFIX'):
    DEFINES[var] = '"%s"' % CONFIG[var]

if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
    CXXFLAGS += [
        '-Wextra',
    ]

    # Gecko headers aren't warning-free enough for us to enable these warnings.
    CXXFLAGS += [
        '-Wno-unused-parameter',
    ]

test_ssl_path = '/security/manager/ssl/tests/unit'

headers_arrays_certs = [
    ('xpcshell.inc', 'xpcshellRoot', test_ssl_path + '/test_signed_apps/xpcshellTestRoot.der'),
    ('addons-public.inc', 'addonsPublicRoot', 'addons-public.crt'),
    ('addons-stage.inc', 'addonsStageRoot', 'addons-stage.crt'),
    ('privileged-package-root.inc', 'privilegedPackageRoot', 'privileged-package-root.der'),
]

for header, array_name, cert in headers_arrays_certs:
    GENERATED_FILES += [header]
    h = GENERATED_FILES[header]
    h.script = 'gen_cert_header.py:' + array_name
    h.inputs = [cert]