Raw File
moz.build
# -*- Mode: python; c-basic-offset: 4; 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: Process Sandboxing')

if CONFIG['OS_ARCH'] == 'Linux':
    DIRS += ['linux']
elif CONFIG['OS_ARCH'] == 'Darwin':
    DIRS += ['mac']
elif CONFIG['OS_ARCH'] == 'WINNT':
    Library('sandbox_s')
    FORCE_STATIC_LIB = True

    DIRS += [
        'staticruntime',
        'win/src/sandboxbroker',
        'win/src/sandboxtarget',
    ]

    if (CONFIG['CPU_ARCH'] == 'x86' and CONFIG['_MSC_VER'] and not
            CONFIG['CLANG_CL']):
        DIRS += ['win/wow_helper']

    EXPORTS.mozilla.sandboxing += [
        'chromium-shim/sandbox/win/loggingCallbacks.h',
        'chromium-shim/sandbox/win/loggingTypes.h',
        'chromium-shim/sandbox/win/sandboxLogging.h',
    ]

    include('objs.mozbuild')
    SOURCES += security_sandbox_cppsrcs

    # Bug 1102853 tracks looking at removing this.
    if CONFIG['CPU_ARCH'] == 'x86_64':
        SOURCES['/security/sandbox/chromium/sandbox/win/src/sharedmem_ipc_client.cc'].no_pgo = True

    for var in ('UNICODE', '_UNICODE', 'NS_NO_XPCOM', 'SANDBOX_EXPORTS',
                '_CRT_RAND_S', 'CHROMIUM_SANDBOX_BUILD'):
        DEFINES[var] = True

    LOCAL_INCLUDES += ['/security/sandbox/chromium-shim']
    LOCAL_INCLUDES += ['/security/sandbox/chromium']
    LOCAL_INCLUDES += ['/nsprpub']

    DISABLE_STL_WRAPPING = True

    # Suppress warnings in third-party code.
    if CONFIG['_MSC_VER']:
        CXXFLAGS += [
            '-wd4275', # non dll-interface class exception used as base for dll-interface class
            '-wd4717', # recursive on all control paths, function will cause runtime stack overflow
            '-wd4996', # 'GetVersionExW': was declared deprecated
        ]

FAIL_ON_WARNINGS = True
back to top