# -*- 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 ]