зеркало из https://github.com/mozilla/gecko-dev.git
128 строки
3.1 KiB
Python
128 строки
3.1 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_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 += [
|
|
'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['ACCESSIBILITY']:
|
|
UNIFIED_SOURCES += [
|
|
'maiRedundantObjectFactory.c',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk2':
|
|
UNIFIED_SOURCES += [
|
|
'gtk2drawing.c',
|
|
]
|
|
else:
|
|
# Ignore GTK3 deprecation warnings while much of the code is still used
|
|
# with GTK2.
|
|
DEFINES['GDK_DISABLE_DEPRECATION_WARNINGS'] = True;
|
|
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']
|