# -*- 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['MOZ_ENABLE_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 += [ 'nsIdleServiceGTK.cpp', ] 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', ] if CONFIG['GNU_CC']: CFLAGS += ['-Wshadow'] if CONFIG['ACCESSIBILITY']: UNIFIED_SOURCES += [ 'maiRedundantObjectFactory.c', ] if CONFIG['MOZ_ENABLE_GTK2']: UNIFIED_SOURCES += [ 'gtk2drawing.c', ] else: UNIFIED_SOURCES += [ 'gtk3drawing.c', 'nsApplicationChooser.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_ENABLE_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']