gecko-dev/widget/gtk/moz.build

119 строки
2.8 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['MOZ_ENABLE_GTK3']:
DIRS += ['mozgtk']
EXPORTS += [
'mozcontainer.h',
'nsGTKToolkit.h',
'nsIImageToPixbuf.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',
]
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',
]
FAIL_ON_WARNINGS = True
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']