1 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 if CONFIG['OS_ARCH'] == 'WINNT':
8 TEST_DIRS += ['test/win']
10 MOCHITEST_MANIFESTS += ['test/mochitest.ini']
13 'nsINativeAppSupport.idl',
16 if CONFIG['OS_ARCH'] == 'WINNT':
18 'nsIWinAppHelper.idl',
21 XPIDL_MODULE = 'xulapp'
23 if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']:
24 EXPORTS += ['EventTracer.h']
26 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
28 'nsNativeAppSupportWin.cpp',
30 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
31 EXPORTS += ['MacQuirks.h']
33 'nsCommandLineServiceMac.cpp',
36 'MacApplicationDelegate.mm',
37 'MacAutoreleasePool.mm',
39 'nsNativeAppSupportCocoa.mm',
41 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
42 EXPORTS += ['nsQAppInstance.h']
43 GENERATED_SOURCES += [
44 'moc_nsNativeAppSupportQt.cpp',
47 'nsNativeAppSupportQt.cpp',
50 elif CONFIG['MOZ_ENABLE_GTK']:
52 'nsNativeAppSupportUnix.cpp',
56 'nsNativeAppSupportDefault.cpp',
59 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
61 'nsGDKErrorHandler.cpp',
66 'nsX11ErrorHandler.cpp',
69 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
71 'nsAndroidStartup.cpp',
76 'nsConsoleWriter.cpp',
77 'nsNativeAppSupportBase.cpp',
79 'nsXREDirProvider.cpp',
83 # nsAppRunner.cpp cannot be built in unified mode because it pulls in OS X system headers.
84 # nsEmbedFunctions.cpp cannot be built in unified mode because it pulls in X11 headers.
87 'nsEmbedFunctions.cpp',
90 if CONFIG['MOZ_GL_DEFAULT_PROVIDER'] == 'GLX':
95 if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']:
100 if CONFIG['MOZ_UPDATER']:
101 if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android':
103 'nsUpdateDriver.cpp',
106 MSVC_ENABLE_PGO = True
108 include('/ipc/chromium/chromium-config.mozbuild')
110 FINAL_LIBRARY = 'xul'
112 if CONFIG['MOZ_GL_DEFAULT_PROVIDER'] == 'GLX':
113 DEFINES['USE_GLX_TEST'] = True
115 for var in ('MOZ_APP_NAME', 'MOZ_APP_BASENAME', 'MOZ_APP_VERSION', 'OS_TARGET',
116 'MOZ_WIDGET_TOOLKIT'):
117 DEFINES[var] = '"%s"' % CONFIG[var]
119 if CONFIG['MOZ_UPDATER'] and CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android':
120 DEFINES['MOZ_UPDATER'] = True
122 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
123 DEFINES['WIN32_LEAN_AND_MEAN'] = True
124 DEFINES['UNICODE'] = True
125 DEFINES['_UNICODE'] = True
127 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
128 DEFINES['ANDROID_PACKAGE_NAME'] = '"%s"' % CONFIG['ANDROID_PACKAGE_NAME']
130 if CONFIG['TARGET_XPCOM_ABI']:
131 DEFINES['TARGET_OS_ABI'] = '"%s_%s"' % (CONFIG['OS_TARGET'],
132 CONFIG['TARGET_XPCOM_ABI'])
134 if CONFIG['WRAP_SYSTEM_INCLUDES']:
135 DEFINES['WRAP_SYSTEM_INCLUDES'] = True
137 if CONFIG['OS_ARCH'] == 'Linux' and 'lib64' in CONFIG['libdir']:
138 DEFINES['HAVE_USR_LIB64_DIR'] = True
140 DEFINES['GRE_MILESTONE'] = CONFIG['GRE_MILESTONE']
142 for var in ('APP_VERSION', 'APP_ID'):
143 DEFINES[var] = CONFIG['MOZ_%s' % var]
145 if CONFIG['MOZILLA_OFFICIAL']:
146 DEFINES['MOZILLA_OFFICIAL'] = True
153 '/testing/gtest/mozilla',
154 '/toolkit/crashreporter',
158 if CONFIG['MOZ_ENABLE_XREMOTE']:
160 '/widget/xremoteclient',
163 if CONFIG['MOZ_B2G_LOADER']:
164 DEFINES['OMNIJAR_NAME'] = CONFIG['OMNIJAR_NAME']
165 CXXFLAGS += CONFIG['TK_CFLAGS']
166 CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
167 CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
169 if CONFIG['MOZ_WIDGET_GTK']:
170 CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']