summaryrefslogtreecommitdiffstats
path: root/toolkit/xre/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/xre/moz.build')
-rw-r--r--toolkit/xre/moz.build185
1 files changed, 185 insertions, 0 deletions
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
new file mode 100644
index 000000000..dd15dc0bd
--- /dev/null
+++ b/toolkit/xre/moz.build
@@ -0,0 +1,185 @@
+# -*- 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/.
+
+if CONFIG['OS_ARCH'] == 'WINNT':
+ TEST_DIRS += ['test/win']
+
+MOCHITEST_MANIFESTS += ['test/mochitest.ini']
+BROWSER_CHROME_MANIFESTS += ['test/browser.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':
+ 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_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_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
+ LOCAL_INCLUDES += [
+ '/security/sandbox/chromium',
+ '/security/sandbox/chromium-shim',
+ ]
+
+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