gecko-dev/toolkit/xre/moz.build
Carl Corcoran 70f1efda61 Bug 1435827 part 5/9: Add untrusted DLLs evaluation and processing r=aklotz
Bug 1435827 part 5/9: Add untrusted DLLs evaluation and processing;r=aklotz

This adds the module trustworthiness calculation code and WinDllServices
handling which prepares data to be consumed by telemetry.

This effectively closes the gap between UntrustedDllsHandler and the upcoming
untrusted modules telemetry ping. At this point nothing is going to invoke most
of this code yet; that comes in following patches that add the untrusted
modules telemetry ping.

Differential Revision: https://phabricator.services.mozilla.com/D6241

--HG--
extra : moz-landing-system : lando
2018-11-02 07:59:19 +00:00

240 lines
6.1 KiB
Python

# -*- 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 = ('Toolkit', 'Startup and Profile System')
if CONFIG['OS_ARCH'] == 'WINNT':
TEST_DIRS += ['test/win']
MOCHITEST_MANIFESTS += ['test/mochitest.ini']
BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
XPCSHELL_TESTS_MANIFESTS += ['test/xpcshell.ini']
XPIDL_SOURCES += [
'nsINativeAppSupport.idl',
'nsIXREDirProvider.idl',
]
if CONFIG['OS_ARCH'] == 'WINNT':
XPIDL_SOURCES += [
'nsIWinAppHelper.idl',
]
XPIDL_MODULE = 'xulapp'
EXPORTS += [
'nsAppRunner.h',
'nsIAppStartupNotifier.h',
]
EXPORTS.mozilla += [
'AutoSQLiteLifetime.h',
'Bootstrap.h',
'CmdLineAndEnvUtils.h',
'SafeMode.h',
]
if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']:
EXPORTS += ['EventTracer.h']
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
EXPORTS.mozilla += [
'ModuleEvaluator_windows.h',
'ModuleVersionInfo_windows.h',
'PolicyChecks.h',
'WinDllServices.h',
]
UNIFIED_SOURCES += [
'/toolkit/mozapps/update/common/win_dirent.cpp',
'ModuleEvaluator_windows.cpp',
'ModuleVersionInfo_windows.cpp',
'nsNativeAppSupportWin.cpp',
'WinDllServices.cpp',
]
DEFINES['PROXY_PRINTING'] = 1
LOCAL_INCLUDES += [
'../components/printingui',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
UNIFIED_SOURCES += [
'MacApplicationDelegate.mm',
'MacAutoreleasePool.mm',
'MacLaunchHelper.mm',
'nsCommandLineServiceMac.cpp',
'nsNativeAppSupportCocoa.mm',
'updaterfileutils_osx.mm',
]
DEFINES['PROXY_PRINTING'] = 1
LOCAL_INCLUDES += [
'../components/printingui',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
UNIFIED_SOURCES += [
'nsNativeAppSupportDefault.cpp',
'UIKitDirProvider.mm',
]
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
UNIFIED_SOURCES += [
'nsNativeAppSupportUnix.cpp',
]
else:
UNIFIED_SOURCES += [
'nsNativeAppSupportDefault.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
UNIFIED_SOURCES += [
'nsGDKErrorHandler.cpp',
]
if CONFIG['MOZ_X11']:
EXPORTS += ['nsX11ErrorHandler.h']
UNIFIED_SOURCES += [
'nsX11ErrorHandler.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
UNIFIED_SOURCES += [
'nsAndroidStartup.cpp',
]
UNIFIED_SOURCES += [
'/toolkit/mozapps/update/common/commonupdatedir.cpp',
'AutoSQLiteLifetime.cpp',
'Bootstrap.cpp',
'CreateAppData.cpp',
'nsAppStartupNotifier.cpp',
'nsConsoleWriter.cpp',
'nsEmbeddingModule.cpp',
'nsNativeAppSupportBase.cpp',
'nsSigHandlers.cpp',
'nsXREDirProvider.cpp',
]
# nsAppRunner.cpp and ProfileReset.cpp cannot be built in unified mode because
# they pull in OS X system headers.
# nsEmbedFunctions.cpp cannot be built in unified mode because it pulls in X11 headers.
SOURCES += [
'../../other-licenses/nsis/Contrib/CityHash/cityhash/city.cpp',
'nsAppRunner.cpp',
'nsEmbedFunctions.cpp',
'ProfileReset.cpp',
]
if CONFIG['MOZ_X11']:
UNIFIED_SOURCES += [
'glxtest.cpp',
]
if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']:
UNIFIED_SOURCES += [
'EventTracer.cpp',
]
if CONFIG['MOZ_UPDATER']:
if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android':
UNIFIED_SOURCES += [
'nsUpdateDriver.cpp',
]
if CONFIG['MOZ_PDF_PRINTING']:
DEFINES['PROXY_PRINTING'] = 1
LOCAL_INCLUDES += [
'../components/printingui',
]
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
if CONFIG['MOZ_X11']:
DEFINES['USE_GLX_TEST'] = True
for var in ('MOZ_APP_NAME', 'MOZ_APP_BASENAME', 'MOZ_APP_DISPLAYNAME',
'MOZ_APP_VERSION', 'OS_TARGET', 'MOZ_WIDGET_TOOLKIT'):
DEFINES[var] = '"%s"' % CONFIG[var]
if CONFIG['MOZ_UPDATER'] and CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android':
DEFINES['MOZ_UPDATER'] = True
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
DEFINES['WIN32_LEAN_AND_MEAN'] = True
DEFINES['UNICODE'] = True
DEFINES['_UNICODE'] = True
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
DEFINES['ANDROID_PACKAGE_NAME'] = '"%s"' % CONFIG['ANDROID_PACKAGE_NAME']
if CONFIG['TARGET_XPCOM_ABI']:
DEFINES['TARGET_OS_ABI'] = '"%s_%s"' % (CONFIG['OS_TARGET'],
CONFIG['TARGET_XPCOM_ABI'])
if CONFIG['OS_ARCH'] == 'Linux' and 'lib64' in CONFIG['libdir']:
DEFINES['HAVE_USR_LIB64_DIR'] = True
DEFINES['GRE_MILESTONE'] = CONFIG['GRE_MILESTONE']
for var in ('APP_VERSION', 'APP_ID'):
DEFINES[var] = CONFIG['MOZ_%s' % var]
if CONFIG['MOZ_BUILD_APP'] == 'browser':
DEFINES['MOZ_BUILD_APP_IS_BROWSER'] = True
LOCAL_INCLUDES += [
'../../other-licenses/nsis/Contrib/CityHash/cityhash',
'../components/find',
'../components/printingui/ipc',
'../components/windowwatcher',
'../profile',
'/config',
'/dom/base',
'/dom/commandhandler',
'/dom/ipc',
'/dom/webbrowserpersist',
'/testing/gtest/mozilla',
'/toolkit/crashreporter',
'/xpcom/build',
]
if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
LOCAL_INCLUDES += [
'/security/sandbox/chromium',
'/security/sandbox/chromium-shim',
]
if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'Linux':
USE_LIBS += [
'mozsandbox',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
LOCAL_INCLUDES += [
'/widget',
'/widget/cocoa',
]
CXXFLAGS += CONFIG['TK_CFLAGS']
CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
LOCAL_INCLUDES += [
'/widget/xremoteclient',
]
DEFINES['TOPOBJDIR'] = TOPOBJDIR
FINAL_TARGET_PP_FILES += [
'platform.ini'
]
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']
if CONFIG['MOZ_IPDL_TESTS']:
DEFINES['MOZ_IPDL_TESTS'] = True