# -*- 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/. if CONFIG['OS_ARCH'] == 'WINNT': TEST_DIRS += ['test/win'] MOCHITEST_MANIFESTS += ['test/mochitest.ini'] XPIDL_SOURCES += [ 'nsINativeAppSupport.idl', ] if CONFIG['OS_ARCH'] == 'WINNT': XPIDL_SOURCES += [ 'nsIWinAppHelper.idl', ] XPIDL_MODULE = 'xulapp' EXPORTS += ['nsAppRunner.h'] if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']: EXPORTS += ['EventTracer.h'] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': UNIFIED_SOURCES += [ 'nsNativeAppSupportWin.cpp', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': EXPORTS += ['MacQuirks.h'] UNIFIED_SOURCES += [ 'nsCommandLineServiceMac.cpp', ] UNIFIED_SOURCES += [ 'MacApplicationDelegate.mm', 'MacAutoreleasePool.mm', 'MacLaunchHelper.mm', 'nsNativeAppSupportCocoa.mm', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': UNIFIED_SOURCES += [ 'nsNativeAppSupportDefault.cpp', 'UIKitDirProvider.mm', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt': EXPORTS += ['nsQAppInstance.h'] SOURCES += [ '!moc_nsNativeAppSupportQt.cpp', 'nsNativeAppSupportQt.cpp', 'nsQAppInstance.cpp', ] elif CONFIG['MOZ_ENABLE_GTK']: UNIFIED_SOURCES += [ 'nsNativeAppSupportUnix.cpp', ] else: UNIFIED_SOURCES += [ 'nsNativeAppSupportDefault.cpp', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3': UNIFIED_SOURCES += [ 'nsGDKErrorHandler.cpp', ] if CONFIG['MOZ_X11']: UNIFIED_SOURCES += [ 'nsX11ErrorHandler.cpp', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': UNIFIED_SOURCES += [ 'nsAndroidStartup.cpp', ] UNIFIED_SOURCES += [ 'CreateAppData.cpp', 'nsConsoleWriter.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', ] 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['WRAP_SYSTEM_INCLUDES']: DEFINES['WRAP_SYSTEM_INCLUDES'] = True 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 += [ '../profile', '/config', '/dom/base', '/dom/ipc', '/testing/gtest/mozilla', '/toolkit/crashreporter', '/xpcom/build', ] if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': LOCAL_INCLUDES += [ '/widget', '/widget/cocoa', ] if CONFIG['MOZ_ENABLE_XREMOTE']: LOCAL_INCLUDES += [ '/widget/xremoteclient', ] if CONFIG['MOZ_B2G_LOADER']: DEFINES['OMNIJAR_NAME'] = CONFIG['OMNIJAR_NAME'] CXXFLAGS += CONFIG['TK_CFLAGS'] CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS'] CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS'] if CONFIG['MOZ_WIDGET_GTK']: CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS'] DEFINES['TOPOBJDIR'] = TOPOBJDIR FINAL_TARGET_PP_FILES += [ 'platform.ini' ]