gecko-dev/toolkit/xre/moz.build

183 строки
4.6 KiB
Python

# -*- 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',
'ProfileReset.cpp',
]
# nsAppRunner.cpp cannot be built in unified mode because it pulls in OS X system headers.
# nsEmbedFunctions.cpp cannot be built in unified mode because it pulls in X11 headers.
SOURCES += [
'nsAppRunner.cpp',
'nsEmbedFunctions.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['MOZILLA_OFFICIAL']:
DEFINES['MOZILLA_OFFICIAL'] = 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']
FAIL_ON_WARNINGS = True