Commit ed5652c8 authored by Ernestas Kulik's avatar Ernestas Kulik

general: add support for Meson

Since it’s 2017 already, Nautilus should use a build system that doesn’t
take longer to set up the build than it takes to actually build. An
observed build time using Ninja of roughly one-fifth of what it took
Autotools is more than reason enough to add support for Meson. Along
with that, this commit adds a convenience script to generate a tarball
for releases, since we use libgd as a submodule and Meson does not
handle source distributions.

https://bugzilla.gnome.org/show_bug.cgi?id=778167
parent 72830033
/scripts export-ignore
/git.mk export-ignore
/.gitattributes export-ignore
/.gitmodules export-ignore
/nautilus.doap export-ignore
/.buildconfig export-ignore
/OVERVIEW.md export-ignore
/org.gnome.Nautilus.json export-ignore
/test/file-torture.py export-ignore
/src/gtk/gtk-code-generator.sh export-ignore
/data/run-uncrustify.sh export-ignore
/data/uncrustify.cfg export-ignore
/eel/README.canvas export-ignore
#mesondefine VERSION
#mesondefine PACKAGE_VERSION
#mesondefine GETTEXT_PACKAGE
#mesondefine HAVE_SELINUX
#mesondefine ENABLE_EMPTY_VIEW
#mesondefine ENABLE_DESKTOP
#mesondefine ENABLE_PACKAGEKIT
#mesondefine ENABLE_TRACKER
#mesondefine LOCALEDIR
#mesondefine NAUTILUS_DATADIR
#mesondefine NAUTILUS_EXTENSIONDIR
install_subdir ('hicolor',
install_dir: icondir)
subdir ('icons')
po_dir = join_paths (meson.source_root (), 'po')
line_up_parameters = executable ('lineup-parameters',
'lineup-parameters.c',
dependencies: [gio, gio_unix])
i18n.merge_file ('desktop',
input: 'org.gnome.Nautilus.desktop.in',
output: 'org.gnome.Nautilus.desktop',
install: true,
install_dir: desktopdir,
po_dir: po_dir,
type: 'desktop')
i18n.merge_file ('desktop-autorun-software',
input: 'nautilus-autorun-software.desktop.in',
output: 'nautilus-autorun-software.desktop',
install: true,
install_dir: desktopdir,
po_dir: po_dir,
type: 'desktop')
i18n.merge_file ('desktop-autostart',
input: 'nautilus-autostart.desktop.in',
output: 'nautilus-autostart.desktop',
install: true,
install_dir: join_paths (sysconfdir, 'xdg', 'autostart'),
po_dir: po_dir,
type: 'desktop')
if get_option ('enable-desktop')
i18n.merge_file ('desktop',
input: 'nautilus-classic.desktop.in',
output: 'nautilus-classic.desktop',
install: true,
install_dir: desktopdir,
po_dir: po_dir,
type: 'desktop')
endif
i18n.merge_file ('desktop',
input: 'org.gnome.Nautilus.appdata.xml.in',
output: 'org.gnome.Nautilus.appdata.xml',
install: true,
install_dir: appdatadir,
po_dir: po_dir,)
service_conf = configuration_data ()
service_conf.set ('bindir', join_paths (prefix, bindir))
configure_file (input: 'org.gnome.Nautilus.service.in',
output: 'org.gnome.Nautilus.service',
configuration: service_conf,
install_dir: servicedir)
configure_file (input: 'org.freedesktop.FileManager1.service.in',
output: 'org.freedesktop.FileManager1.service',
configuration: service_conf,
install_dir: servicedir)
install_data ('nautilus-search-provider.ini',
install_dir: searchproviderdir)
install_data ('org.gnome.nautilus.gschema.xml',
install_dir: schemadir)
install_man ('nautilus.1')
subdir ('reference')
docs_conf = configuration_data ()
docs_conf.set ('NAUTILUS_EXTENSION_VERSION_INFO', nautilus_extension_version)
docs_version = configure_file (input: 'version.xml.in',
output: 'version.xml',
configuration: docs_conf)
gnome.gtkdoc ('libnautilus-extension',
main_xml: 'libnautilus-extension-docs.xml',
src_dir: join_paths (meson.source_root (), 'libnautilus-extension'),
dependencies: nautilus_extension,
install: true,
scan_args: ['--ignore-headers=nautilus-extension-private.h'])
subdir ('libnautilus-extension')
libeel_2_sources = [
'eel-accessibility.h',
'eel-accessibility.c',
'eel-art-extensions.h',
'eel-art-extensions.c',
'eel-canvas.h',
'eel-canvas.c',
'eel-debug.h',
'eel-debug.c',
'eel-gdk-extensions.h',
'eel-gdk-extensions.c',
'eel-glib-extensions.h',
'eel-glib-extensions.c',
'eel-gnome-extensions.h',
'eel-gnome-extensions.c',
'eel-graphic-effects.h',
'eel-graphic-effects.c',
'eel-gtk-extensions.h',
'eel-self-checks.h',
'eel-self-checks.c',
'eel-stock-dialogs.h',
'eel-stock-dialogs.c',
'eel-string.h',
'eel-string.c',
'eel-vfs-extensions.h',
'eel-vfs-extensions.c',
'eel.h',
'eel-gtk-extensions.c',
'eel-lib-self-check-functions.h',
'eel-lib-self-check-functions.c',
]
libeel_2_deps = [glib, gtk, gail, libm, x11]
libeel_2 = static_library ('eel-2', libeel_2_sources,
dependencies: libeel_2_deps,
include_directories: nautilus_include_dirs)
eel_2 = declare_dependency (link_with: libeel_2,
include_directories: nautilus_include_dirs,
dependencies: libeel_2_deps)
check_eel = executable ('check-eel',
'check-program.c',
dependencies: [eel_2, xml])
test ('check-eel', check_eel)
nautilus_extension_version = '1.4.0'
libnautilus_extension_headers = [
'nautilus-column-provider.h',
'nautilus-column.h',
'nautilus-extension-types.h',
'nautilus-file-info.h',
'nautilus-info-provider.h',
'nautilus-location-widget-provider.h',
'nautilus-menu-item.h',
'nautilus-menu-provider.h',
'nautilus-property-page-provider.h',
'nautilus-property-page.h',
'nautilus-menu.h'
]
install_headers (libnautilus_extension_headers,
subdir: join_paths ('nautilus', 'libnautilus-extension'))
libnautilus_extension_sources = [
'nautilus-column-provider.c',
'nautilus-column.c',
'nautilus-extension-types.c',
'nautilus-extension-private.h',
'nautilus-file-info.c',
'nautilus-info-provider.c',
'nautilus-location-widget-provider.c',
'nautilus-menu-item.c',
'nautilus-menu-provider.c',
'nautilus-property-page-provider.c',
'nautilus-property-page.c',
'nautilus-menu.c'
]
libnautilus_extension_deps = [glib, gtk]
libnautilus_extension = shared_library ('nautilus-extension',
libnautilus_extension_sources,
dependencies: libnautilus_extension_deps,
include_directories: nautilus_include_dirs,
version: nautilus_extension_version,
install: true)
gnome.generate_gir (libnautilus_extension,
sources: libnautilus_extension_headers + libnautilus_extension_sources,
nsversion: '3.0',
namespace: 'Nautilus',
includes: ['Gtk-3.0', 'Gio-2.0', 'GLib-2.0'],
install: true)
nautilus_extension = declare_dependency (link_with: libnautilus_extension,
dependencies: libnautilus_extension_deps,
include_directories: nautilus_include_dirs)
pkgconfig_data = configuration_data ()
pkgconfig_data.set ('prefix', prefix)
pkgconfig_data.set ('exec_prefix', '${prefix}')
pkgconfig_data.set ('libdir', join_paths ('${exec_prefix}', libdir))
pkgconfig_data.set ('includedir', join_paths ('${prefix}', includedir))
pkgconfig_data.set ('extensiondir', join_paths ('${exec_prefix}', extensiondir))
pkgconfig_data.set ('VERSION', nautilus_extension_version)
configure_file (input: 'libnautilus-extension.pc.in',
output: 'libnautilus-extension.pc',
configuration: pkgconfig_data,
install_dir: join_paths (libdir, 'pkgconfig'))
#!/bin/sh
test -n "$srcdir" || srcdir=$(dirname "$0")
test -n "$srcdir" || srcdir=.
cd $srcdir
VERSION=$(git describe --abbrev=0)
NAME="nautilus-$VERSION"
echo "Updating submodules…"
git submodule update --init
echo "Creating git tree archive…"
git archive --prefix="${NAME}/" --format=tar HEAD > nautilus.tar
cd libgd
git archive --prefix="${NAME}/libgd/" --format=tar HEAD > libgd.tar
cd ..
rm -f "${NAME}.tar"
tar -Af "${NAME}.tar" nautilus.tar
tar -Af "${NAME}.tar" libgd/libgd.tar
rm -f nautilus.tar
rm -f libgd/libgd.tar
echo "Compressing archive…"
xz -f "${NAME}.tar"
project ('nautilus', 'c',
version: '3.23.90',
meson_version: '>=0.37.0',
license: 'GPL2+')
bindir = get_option ('bindir')
datadir = get_option ('datadir')
appdatadir = join_paths (datadir, 'appdata')
desktopdir = join_paths (datadir, 'applications')
icondir = join_paths (datadir, 'icons')
includedir = get_option ('includedir')
libdir = get_option ('libdir')
extensiondir = join_paths (libdir, 'nautilus', 'extensions-3.0')
localedir = get_option ('localedir')
prefix = get_option ('prefix')
schemadir = join_paths (datadir, 'glib-2.0', 'schemas')
searchproviderdir = join_paths (datadir, 'gnome-shell', 'search-providers')
servicedir = join_paths (datadir, 'dbus-1', 'services')
sysconfdir = get_option ('sysconfdir')
glib_ver = '>=2.51.2'
gnome_desktop_ver = '>=3.0.0'
pango_ver = '1.28.3'
gtk_ver = '>=3.21.6'
xml_ver = '>=2.7.8'
exif_ver = '>=0.6.20'
exempi_ver = '>=2.1.0'
notify_ver = '0.7.0'
schemas_ver = '>=3.8.0'
autoar_ver = '>=0.1'
selinux_ver = '>=2.0'
cc = meson.get_compiler ('c')
gnome = import ('gnome')
i18n = import ('i18n')
glib = dependency ('glib-2.0', version: glib_ver)
gtk = dependency ('gtk+-3.0', version: gtk_ver)
autoar = dependency ('gnome-autoar-0', version: autoar_ver)
gail = dependency ('gail-3.0')
gnome_desktop = dependency ('gnome-desktop-3.0', version: gnome_desktop_ver)
xml = dependency ('libxml-2.0', version: xml_ver)
x11 = dependency ('x11')
gthread = dependency ('gthread-2.0', version: glib_ver)
gmodule_no_export = dependency ('gmodule-no-export-2.0', version: glib_ver)
gio = dependency ('gio-2.0', version: glib_ver)
gio_unix = dependency ('gio-unix-2.0', version: glib_ver)
gsettings_desktop_schemas = dependency ('gsettings-desktop-schemas',
version: schemas_ver)
libm = cc.find_library ('libm')
if get_option ('enable-update-mimedb')
update_mime_database = find_program ('update-mime-database', required: true)
endif
exif = dependency ('libexif',
version: exif_ver,
required: get_option ('enable-exif'))
exempi = dependency ('exempi-2.0',
version: exempi_ver,
required: get_option ('enable-xmp'))
selinux = dependency ('libselinux',
version: selinux_ver,
required: get_option ('enable-selinux'))
if get_option ('enable-tracker')
tracker_sparql = dependency ('tracker-sparql-1.0')
endif
conf = configuration_data ()
conf.set_quoted ('VERSION', meson.project_version ())
conf.set_quoted ('PACKAGE_VERSION', meson.project_version ())
conf.set_quoted ('GETTEXT_PACKAGE', 'nautilus')
conf.set_quoted ('LOCALEDIR', join_paths (prefix, localedir))
conf.set_quoted ('NAUTILUS_DATADIR', join_paths (datadir, 'nautilus'))
conf.set_quoted ('NAUTILUS_EXTENSIONDIR', join_paths (prefix, extensiondir))
if get_option ('enable-selinux')
conf.set10 ('HAVE_SELINUX', true)
endif
if get_option ('enable-empty-view')
conf.set10 ('ENABLE_EMPTY_VIEW', true)
endif
if get_option ('enable-desktop')
conf.set10 ('ENABLE_DESKTOP', true)
endif
if get_option ('enable-packagekit')
conf.set10 ('ENABLE_PACKAGEKIT', true)
endif
if get_option ('enable-tracker')
conf.set10 ('ENABLE_TRACKER', true)
endif
configure_file (input: 'config.h.meson',
output: 'config.h',
configuration: conf)
nautilus_include_dirs = include_directories ('.')
subdir ('eel')
subdir ('libnautilus-extension')
message ('Updating libgd submodule…')
run_command ('git', '--git-dir="$MESON_SOURCE_ROOT/.git"', 'submodule', 'update', '--init', 'libgd')
libgd_options = ['static=true',
'with-gtk-hacks=true',
'with-main-view=true',
'with-tagged-entry=true']
libgd = subproject('libgd', default_options: libgd_options)
libgd_dep = libgd.get_variable ('libgd_dep')
subdir ('src')
subdir ('test')
subdir ('data')
subdir ('po')
subdir ('docs')
if get_option ('enable-desktop')
subdir ('nautilus-desktop')
endif
if get_option ('enable-nst-extension')
subdir ('nautilus-sendto-extension')
endif
option ('enable-profiling',
type: 'boolean',
value: false)
option ('enable-nst-extension',
type: 'boolean',
value: true)
option ('enable-exif',
type: 'boolean',
value: false,
description: 'enable EXIF support')
option ('enable-xmp',
type: 'boolean',
value: false,
description: 'enable XMP support')
option ('enable-selinux',
type: 'boolean',
value: true)
option ('enable-empty-view',
type: 'boolean',
value: false)
option ('enable-desktop',
type: 'boolean',
value: true)
option ('enable-packagekit',
type: 'boolean',
value: true)
option ('enable-tracker',
type: 'boolean',
value: true)
option ('enable-update-mimedb',
type: 'boolean',
value: true)
nautilus_desktop_sources = [
'main-desktop.c',
'nautilus-desktop-application.c',
'nautilus-desktop-application.h',
'nautilus-desktop-canvas-view.c',
'nautilus-desktop-canvas-view.h',
'nautilus-desktop-canvas-view-container.c',
'nautilus-desktop-canvas-view-container.h',
'nautilus-desktop-directory.c',
'nautilus-desktop-directory.h',
'nautilus-desktop-directory-file.c',
'nautilus-desktop-directory-file.h',
'nautilus-desktop-icon-file.c',
'nautilus-desktop-icon-file.h',
'nautilus-desktop-link.c',
'nautilus-desktop-link.h',
'nautilus-desktop-link-monitor.c',
'nautilus-desktop-link-monitor.h',
'nautilus-desktop-metadata.c',
'nautilus-desktop-metadata.h',
'nautilus-desktop-window.c',
'nautilus-desktop-window.h',
'nautilus-desktop-window-slot.c',
'nautilus-desktop-window-slot.h'
]
nautilus_desktop = executable ('nautilus-desktop',
nautilus_desktop_sources,
dependencies: libnautilus_dep,
install: true)
libnautilus_sendto_sources = [
'nautilus-nste.c',
'nautilus-nste.h',
'nautilus-sendto-module.c'
]
libnautilus_sendto = shared_library ('nautilus-sendto',
libnautilus_sendto_sources,
dependencies: nautilus_extension,
install: true,
install_dir: extensiondir)
i18n.gettext ('nautilus')
built_sources = []
gdbus_sources = []
enums = []
gdbus_sources += gnome.gdbus_codegen ('nautilus-freedesktop-generated',
join_paths (meson.source_root (), 'data', 'freedesktop-dbus-interfaces.xml'),
interface_prefix: 'org.freedesktop',
namespace: 'NautilusFreedesktop')
# The header is used in nautilus-desktop.
built_sources += gdbus_sources
gdbus_sources += gnome.gdbus_codegen ('nautilus-generated',
join_paths (meson.source_root (), 'data', 'dbus-interfaces.xml'),
interface_prefix: 'org.gnome.Nautilus',
namespace: 'NautilusDBus')
gdbus_sources += gnome.gdbus_codegen ('nautilus-shell-search-provider-generated',
join_paths (meson.source_root (), 'data', 'shell-search-provider-dbus-interfaces.xml'),
interface_prefix: 'org.gnome',
namespace: 'Nautilus')
enum_headers = [
'nautilus-search-popover.h',
'nautilus-special-location-bar.h',
'nautilus-query.h',
'nautilus-search-provider.h'
]
enums += gnome.mkenums ('nautilus-enum-types',
c_template: 'nautilus-enum-types.c.template',
h_template: 'nautilus-enum-types.h.template',
sources: enum_headers)
resources = gnome.compile_resources ('nautilus-resources',
'resources/nautilus.gresource.xml',
source_dir: 'resources',
c_name: 'nautilus',
extra_args: '--manual-register')
built_sources += resources[1]
libnautilus_sources = [
enums,
gdbus_sources,
resources[0],
'animation/egg-animation.c',
'animation/egg-animation.h',
'animation/egg-frame-source.c',
'animation/egg-frame-source.h',
'animation/ide-box-theatric.c',
'animation/ide-box-theatric.h',
'animation/ide-cairo.c',
'animation/ide-cairo.h',
'gtk/nautilusgtkplacesview.c',
'gtk/nautilusgtkplacesviewprivate.h',
'gtk/nautilusgtkplacesviewrow.c',
'gtk/nautilusgtkplacesviewrowprivate.h',
'nautilus-application.c',
'nautilus-application.h',
'nautilus-bookmark-list.c',
'nautilus-bookmark-list.h',
'nautilus-canvas-view.c',
'nautilus-canvas-view.h',
'nautilus-canvas-view-container.c',
'nautilus-canvas-view-container.h',
'nautilus-container-max-width.c',
'nautilus-container-max-width.h',
'nautilus-dbus-manager.c',
'nautilus-dbus-manager.h',
'nautilus-desktop-item-properties.c',
'nautilus-desktop-item-properties.h',
'nautilus-error-reporting.c',
'nautilus-error-reporting.h',
'nautilus-preferences-window.c',
'nautilus-preferences-window.h',
'nautilus-files-view.c',
'nautilus-files-view.h',
'nautilus-files-view-dnd.c',
'nautilus-files-view-dnd.h',
'nautilus-floating-bar.c',
'nautilus-floating-bar.h',
'nautilus-freedesktop-dbus.c',
'nautilus-freedesktop-dbus.h',
'nautilus-image-properties-page.c',
'nautilus-image-properties-page.h',
'nautilus-list-model.c',
'nautilus-list-model.h',
'nautilus-list-view.c',
'nautilus-list-view.h',
'nautilus-list-view-private.h',
'nautilus-list-view-dnd.c',
'nautilus-list-view-dnd.h',
'nautilus-location-entry.c',
'nautilus-location-entry.h',
'nautilus-mime-actions.c',
'nautilus-mime-actions.h',
'nautilus-notebook.c',
'nautilus-notebook.h',
'nautilus-other-locations-window-slot.c',
'nautilus-other-locations-window-slot.h',
'nautilus-pathbar.c',
'nautilus-pathbar.h',
'nautilus-places-view.c',
'nautilus-places-view.h',
'nautilus-previewer.c',
'nautilus-previewer.h',
'nautilus-progress-info-widget.c',
'nautilus-progress-info-widget.h',
'nautilus-progress-persistence-handler.c',
'nautilus-progress-persistence-handler.h',
'nautilus-properties-window.c',
'nautilus-properties-window.h',
'nautilus-query-editor.c',
'nautilus-query-editor.h',
'nautilus-search-popover.c',
'nautilus-self-check-functions.c',
'nautilus-self-check-functions.h',
'nautilus-shell-search-provider.c',
'nautilus-special-location-bar.c',
'nautilus-toolbar.c',
'nautilus-toolbar.h',
'nautilus-toolbar-menu-sections.h',
'nautilus-trash-bar.c',
'nautilus-trash-bar.h',
'nautilus-view.c',
'nautilus-view.h',
'nautilus-view-icon-controller.c',
'nautilus-view-icon-controller.h',
'nautilus-view-icon-item-ui.c',
'nautilus-view-icon-item-ui.h',
'nautilus-view-icon-ui.c',
'nautilus-view-icon-ui.h',
'nautilus-view-item-model.c',
'nautilus-view-item-model.h',
'nautilus-view-model.c',
'nautilus-view-model.h',
'nautilus-window-slot.c',
'nautilus-window-slot.h',
'nautilus-window-slot-dnd.c',
'nautilus-window-slot-dnd.h',
'nautilus-window.c',
'nautilus-window.h',
'nautilus-x-content-bar.c',
'nautilus-x-content-bar.h',
'nautilus-bookmark.c',
'nautilus-bookmark.h',
'nautilus-canvas-container.c',
'nautilus-canvas-container.h',
'nautilus-canvas-dnd.c',
'nautilus-canvas-dnd.h',
'nautilus-canvas-item.c',
'nautilus-canvas-item.h',
'nautilus-canvas-private.h',
'nautilus-clipboard.c',
'nautilus-clipboard.h',
'nautilus-column-chooser.c',
'nautilus-column-chooser.h',
'nautilus-column-utilities.c',
'nautilus-column-utilities.h',
'nautilus-debug.c',
'nautilus-debug.h',
'nautilus-default-file-icon.c',
'nautilus-default-file-icon.h',
'nautilus-directory-async.c',
'nautilus-directory-notify.h',
'nautilus-directory-private.h',
'nautilus-directory.c',
'nautilus-directory.h',
'nautilus-dnd.c',
'nautilus-dnd.h',
'nautilus-file-attributes.h',
'nautilus-file-changes-queue.c',
'nautilus-file-changes-queue.h',
'nautilus-file-conflict-dialog.c',
'nautilus-file-conflict-dialog.h',
'nautilus-file-name-widget-controller.c',
'nautilus-file-name-widget-controller.h',
'nautilus-rename-file-popover-controller.c',
'nautilus-rename-file-popover-controller.h',
'nautilus-new-folder-dialog-controller.c',
'nautilus-new-folder-dialog-controller.h',
'nautilus-compress-dialog-controller.c',
'nautilus-compress-dialog-controller.h',
'nautilus-operations-ui-manager.c',
'nautilus-operations-ui-manager.h',
'nautilus-file-operations.c',
'nautilus-file-operations.h',
'nautilus-file-private.h',
'nautilus-file-queue.c',
'nautilus-file-queue.h',
'nautilus-file-utilities.c',
'nautilus-file-utilities.h',
'nautilus-file.c',
'nautilus-file.h',
'nautilus-global-preferences.c',
'nautilus-global-preferences.h',
'nautilus-icon-info.c',
'nautilus-icon-info.h',
'nautilus-icon-names.h',
'nautilus-keyfile-metadata.c',
'nautilus-keyfile-metadata.h',
'nautilus-lib-self-check-functions.c',
'nautilus-lib-self-check-functions.h',
'nautilus-link.c',
'nautilus-link.h',
'nautilus-metadata.h',
'nautilus-metadata.c',
'nautilus-mime-application-chooser.c',
'nautilus-mime-application-chooser.h',
'nautilus-module.c',
'nautilus-module.h',
'nautilus-monitor.c',
'nautilus-monitor.h',
'nautilus-profile.c',
'nautilus-profile.h',
'nautilus-progress-info.c',
'nautilus-progress-info.h',
'nautilus-progress-info-manager.c',
'nautilus-progress-info-manager.h',
'nautilus-program-choosing.c',
'nautilus-program-choosing.h',
'nautilus-recent.c',
'nautilus-recent.h',
'nautilus-search-directory.c',
'nautilus-search-directory.h',
'nautilus-search-directory-file.c',
'nautilus-search-directory-file.h',
'nautilus-search-provider.c',
'nautilus-search-provider.h',
'nautilus-search-engine.c',
'nautilus-search-engine.h',
'nautilus-search-engine-model.c',
'nautilus-search-engine-model.h',
'nautilus-search-engine-simple.c',
'nautilus-search-engine-simple.h',
'nautilus-search-hit.c',
'nautilus-search-hit.h',
'nautilus-selection-canvas-item.c',
'nautilus-selection-canvas-item.h',
'nautilus-signaller.h',
'nautilus-signaller.c',
'nautilus-query.c',
'nautilus-thumbnails.c',
'nautilus-thumbnails.h',
'nautilus-trash-monitor.c',
'nautilus-trash-monitor.h',
'nautilus-tree-view-drag-dest.c',
'nautilus-tree-view-drag-dest.h',
'nautilus-ui-utilities.c',
'nautilus-ui-utilities.h',
'nautilus-video-mime-types.h',
'nautilus-vfs-directory.c',
'nautilus-vfs-directory.h',
'nautilus-vfs-file.c',
'nautilus-vfs-file.h',
'nautilus-file-undo-operations.c',
'nautilus-file-undo-operations.h',
'nautilus-file-undo-manager.c',
'nautilus-file-undo-manager.h'
]
if get_option ('enable-tracker')
libnautilus_sources += ['nautilus-batch-rename-dialog.c',
'nautilus-batch-rename-dialog.h',
'nautilus-batch-rename-utilities.c',
'nautilus-batch-rename-utilities.h',
'nautilus-search-engine-tracker.c',
'nautilus-search-engine-tracker.h']
endif
nautilus_deps = [glib,
gtk,
autoar,
xml,
gsettings_desktop_schemas,
libgd_dep,
gail,
gnome_desktop,
eel_2,
nautilus_extension,
x11,
gmodule_no_export]
if get_option ('enable-tracker')
nautilus_deps += tracker_sparql
endif
if get_option ('enable-selinux')
nautilus_deps += selinux
endif
libnautilus = static_library ('nautilus',
libnautilus_sources,
dependencies: nautilus_deps,
include_directories: nautilus_include_dirs)
libnautilus_include_dirs = include_directories ('.')
libnautilus_dep = declare_dependency (link_with: libnautilus,
include_directories: [nautilus_include_dirs,
libnautilus_include_dirs],
dependencies: nautilus_deps,
sources: built_sources)
nautilus = executable ('nautilus',
'nautilus-main.c',