diff options
Diffstat (limited to 'widget/gtk/moz.build')
-rw-r--r-- | widget/gtk/moz.build | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build new file mode 100644 index 000000000..baccb6ccd --- /dev/null +++ b/widget/gtk/moz.build @@ -0,0 +1,141 @@ +# -*- 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['MOZ_WIDGET_TOOLKIT'] == 'gtk3': + DIRS += ['mozgtk'] + +EXPORTS += [ + 'mozcontainer.h', + 'nsGTKToolkit.h', + 'nsIImageToPixbuf.h', +] + +EXPORTS.mozilla += [ + 'WidgetUtilsGtk.h' +] + +UNIFIED_SOURCES += [ + 'IMContextWrapper.cpp', + 'mozcontainer.c', + 'NativeKeyBindings.cpp', + 'nsAppShell.cpp', + 'nsBidiKeyboard.cpp', + 'nsColorPicker.cpp', + 'nsFilePicker.cpp', + 'nsGtkKeyUtils.cpp', + 'nsImageToPixbuf.cpp', + 'nsLookAndFeel.cpp', + 'nsNativeThemeGTK.cpp', + 'nsScreenGtk.cpp', + 'nsScreenManagerGtk.cpp', + 'nsSound.cpp', + 'nsToolkit.cpp', + 'nsWidgetFactory.cpp', + 'WakeLockListener.cpp', + 'WidgetTraceEvent.cpp', + 'WidgetUtilsGtk.cpp', +] + +SOURCES += [ + 'nsWindow.cpp', # conflicts with X11 headers +] + +if CONFIG['MOZ_X11']: + UNIFIED_SOURCES += [ + 'CompositorWidgetChild.cpp', + 'CompositorWidgetParent.cpp', + 'InProcessX11CompositorWidget.cpp', + 'nsIdleServiceGTK.cpp', + 'X11CompositorWidget.cpp', + ] + EXPORTS.mozilla.widget += [ + 'CompositorWidgetChild.h', + 'CompositorWidgetParent.h', + 'InProcessX11CompositorWidget.h', + 'X11CompositorWidget.h', + ] + +if CONFIG['NS_PRINTING']: + UNIFIED_SOURCES += [ + 'nsCUPSShim.cpp', + 'nsDeviceContextSpecG.cpp', + 'nsPaperPS.cpp', + 'nsPrintDialogGTK.cpp', + 'nsPrintOptionsGTK.cpp', + 'nsPrintSettingsGTK.cpp', + 'nsPSPrinters.cpp', + ] + +if CONFIG['MOZ_X11']: + UNIFIED_SOURCES += [ + 'nsClipboard.cpp', + 'nsDragService.cpp', + 'WindowSurfaceProvider.cpp', + 'WindowSurfaceX11.cpp', + 'WindowSurfaceX11Image.cpp', + 'WindowSurfaceXRender.cpp', + ] + EXPORTS.mozilla.widget += [ + 'WindowSurfaceProvider.h', + ] + +if CONFIG['ACCESSIBILITY']: + UNIFIED_SOURCES += [ + 'maiRedundantObjectFactory.c', + ] + +if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk2': + UNIFIED_SOURCES += [ + 'gtk2drawing.c', + ] +else: + UNIFIED_SOURCES += [ + 'gtk3drawing.cpp', + 'nsApplicationChooser.cpp', + 'WidgetStyleCache.cpp', + ] + +include('/ipc/chromium/chromium-config.mozbuild') + +FINAL_LIBRARY = 'xul' + +LOCAL_INCLUDES += [ + '/layout/generic', + '/layout/xul', + '/other-licenses/atk-1.0', + '/widget', +] + +if CONFIG['MOZ_X11']: + LOCAL_INCLUDES += [ + '/widget/x11', + ] + +DEFINES['CAIRO_GFX'] = True + +DEFINES['MOZ_APP_NAME'] = '"%s"' % CONFIG['MOZ_APP_NAME'] + +CFLAGS += CONFIG['MOZ_STARTUP_NOTIFICATION_CFLAGS'] + +# When building with GTK3, the widget code always needs to use +# system Cairo headers, regardless of whether we are also linked +# against and using in-tree Cairo. By not using in-tree Cairo +# headers, we avoid picking up our renamed symbols, and instead +# use only system Cairo symbols that GTK3 uses. This allows that +# any Cairo objects created can be freely passed back and forth +# between the widget code and GTK3. +if not (CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3' and CONFIG['MOZ_TREE_CAIRO']): + CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] + +CXXFLAGS += CONFIG['MOZ_STARTUP_NOTIFICATION_CFLAGS'] + +CFLAGS += CONFIG['TK_CFLAGS'] +CXXFLAGS += CONFIG['TK_CFLAGS'] + +if CONFIG['MOZ_ENABLE_DBUS']: + CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS'] + +CXXFLAGS += ['-Wno-error=shadow'] |