# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # 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/. 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': UNIFIED_SOURCES += [ 'MacApplicationDelegate.mm', 'MacAutoreleasePool.mm', 'MacLaunchHelper.mm', 'nsCommandLineServiceMac.cpp', 'nsNativeAppSupportCocoa.mm', 'updaterfileutils_osx.mm', ] 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 += [ '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['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_PHOENIX']: DEFINES['MOZ_BUILD_APP_IS_BROWSER'] = True LOCAL_INCLUDES += [ '../profile', '/config', '/dom/base', '/dom/ipc', '/testing/gtest/mozilla', '/xpcom/build', ] 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