gecko/security/sandbox/moz.build

60 lines
2.0 KiB
Python

# -*- 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['%s/security/sandbox/chromium/sandbox/win/src/sharedmem_ipc_client.cc' % TOPSRCDIR].no_pgo = True
for var in ('UNICODE', '_UNICODE', 'NS_NO_XPCOM', 'SANDBOX_EXPORTS',
'NOMINMAX', '_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