# -*- 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', ] if CONFIG['OS_ARCH'] == 'WINNT': XPIDL_SOURCES += [ 'nsIWinAppHelper.idl', ] XPIDL_MODULE = 'xulapp' EXPORTS += [ 'nsAppRunner.h', 'nsIAppStartupNotifier.h', ] EXPORTS.mozilla += ['Bootstrap.h'] if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']: EXPORTS += ['EventTracer.h'] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': SOURCES += [ '../../other-licenses/nsis/Contrib/CityHash/cityhash/city.cpp', ] UNIFIED_SOURCES += [ 'nsNativeAppSupportWin.cpp', ] DEFINES['PROXY_PRINTING'] = 1 LOCAL_INCLUDES += [ '../../other-licenses/nsis/Contrib/CityHash/cityhash', '../components/printingui/win', ] 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/mac', ] 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 += [ '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 += [ 'nsAppRunner.cpp', 'nsEmbedFunctions.cpp', 'ProfileReset.cpp', ] if CONFIG['MOZ_GL_DEFAULT_PROVIDER'] == 'GLX': 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/unixshared', ] include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' if CONFIG['MOZ_GL_DEFAULT_PROVIDER'] == 'GLX': DEFINES['USE_GLX_TEST'] = True for var in ('MOZ_APP_NAME', 'MOZ_APP_BASENAME', '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 += [ '../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', ] if CONFIG['MOZ_ENABLE_XREMOTE']: LOCAL_INCLUDES += [ '/widget/xremoteclient', ] 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'] DEFINES['TOPOBJDIR'] = TOPOBJDIR FINAL_TARGET_PP_FILES += [ 'platform.ini' ] if CONFIG['GNU_CXX']: CXXFLAGS += ['-Wno-error=shadow'] if CONFIG['MOZ_IPDL_TESTS']: DEFINES['MOZ_IPDL_TESTS'] = True