geary/src/engine/meson.build
Michael Gratton 4f9df7d74a engine: Remove in-tree unicodesn stemmer
Now that search is using libstemmer, the in-tree stemmer is no longer
needed and can be removed.
2020-10-14 20:05:15 +11:00

403 lines
14 KiB
Python

# Geary engine
engine_vala_sources = files(
'api/geary.vala',
'api/geary-abstract-local-folder.vala',
'api/geary-account.vala',
'api/geary-account-information.vala',
'api/geary-aggregated-folder-properties.vala',
'api/geary-attachment.vala',
'api/geary-base-object.vala',
'api/geary-client-service.vala',
'api/geary-composed-email.vala',
'api/geary-contact.vala',
'api/geary-contact-store.vala',
'api/geary-credentials.vala',
'api/geary-credentials-mediator.vala',
'api/geary-email-flags.vala',
'api/geary-email-header-set.vala',
'api/geary-email-identifier.vala',
'api/geary-email-properties.vala',
'api/geary-email.vala',
'api/geary-endpoint.vala',
'api/geary-engine-error.vala',
'api/geary-engine.vala',
'api/geary-folder.vala',
'api/geary-folder-path.vala',
'api/geary-folder-properties.vala',
'api/geary-folder-supports-archive.vala',
'api/geary-folder-supports-copy.vala',
'api/geary-folder-supports-create.vala',
'api/geary-folder-supports-empty.vala',
'api/geary-folder-supports-mark.vala',
'api/geary-folder-supports-move.vala',
'api/geary-folder-supports-remove.vala',
'api/geary-named-flag.vala',
'api/geary-named-flags.vala',
'api/geary-problem-report.vala',
'api/geary-progress-monitor.vala',
'api/geary-revokable.vala',
'api/geary-search-query.vala',
'api/geary-service-information.vala',
'api/geary-service-provider.vala',
'app/app-conversation.vala',
'app/app-conversation-monitor.vala',
'app/app-draft-manager.vala',
'app/app-email-store.vala',
'app/app-search-folder.vala',
'app/conversation-monitor/app-append-operation.vala',
'app/conversation-monitor/app-conversation-operation-queue.vala',
'app/conversation-monitor/app-conversation-operation.vala',
'app/conversation-monitor/app-conversation-set.vala',
'app/conversation-monitor/app-external-append-operation.vala',
'app/conversation-monitor/app-fill-window-operation.vala',
'app/conversation-monitor/app-insert-operation.vala',
'app/conversation-monitor/app-load-operation.vala',
'app/conversation-monitor/app-local-search-operation.vala',
'app/conversation-monitor/app-remove-operation.vala',
'app/conversation-monitor/app-reseed-operation.vala',
'app/conversation-monitor/app-terminate-operation.vala',
'app/email-store/app-async-folder-operation.vala',
'app/email-store/app-copy-operation.vala',
'app/email-store/app-fetch-operation.vala',
'app/email-store/app-list-operation.vala',
'app/email-store/app-mark-operation.vala',
'common/common-contact-harvester.vala',
'common/common-contact-store-impl.vala',
'common/common-message-data.vala',
'db/db.vala',
'db/db-connection.vala',
'db/db-context.vala',
'db/db-database.vala',
'db/db-database-connection.vala',
'db/db-database-error.vala',
'db/db-result.vala',
'db/db-statement.vala',
'db/db-synchronous-mode.vala',
'db/db-transaction-async-job.vala',
'db/db-transaction-connection.vala',
'db/db-transaction-outcome.vala',
'db/db-transaction-type.vala',
'db/db-versioned-database.vala',
'imap/imap.vala',
'imap/imap-error.vala',
'imap/api/imap-account-session.vala',
'imap/api/imap-capabilities.vala',
'imap/api/imap-client-service.vala',
'imap/api/imap-email-flags.vala',
'imap/api/imap-email-properties.vala',
'imap/api/imap-folder.vala',
'imap/api/imap-folder-properties.vala',
'imap/api/imap-folder-root.vala',
'imap/api/imap-folder-session.vala',
'imap/api/imap-quirks.vala',
'imap/api/imap-session-object.vala',
'imap/command/imap-append-command.vala',
'imap/command/imap-authenticate-command.vala',
'imap/command/imap-capability-command.vala',
'imap/command/imap-close-command.vala',
'imap/command/imap-command.vala',
'imap/command/imap-copy-command.vala',
'imap/command/imap-create-command.vala',
'imap/command/imap-delete-command.vala',
'imap/command/imap-examine-command.vala',
'imap/command/imap-expunge-command.vala',
'imap/command/imap-fetch-command.vala',
'imap/command/imap-id-command.vala',
'imap/command/imap-idle-command.vala',
'imap/command/imap-list-command.vala',
'imap/command/imap-list-return-parameter.vala',
'imap/command/imap-login-command.vala',
'imap/command/imap-logout-command.vala',
'imap/command/imap-message-set.vala',
'imap/command/imap-namespace-command.vala',
'imap/command/imap-noop-command.vala',
'imap/command/imap-search-command.vala',
'imap/command/imap-search-criteria.vala',
'imap/command/imap-search-criterion.vala',
'imap/command/imap-select-command.vala',
'imap/command/imap-starttls-command.vala',
'imap/command/imap-status-command.vala',
'imap/command/imap-store-command.vala',
'imap/message/imap-data-format.vala',
'imap/message/imap-envelope.vala',
'imap/message/imap-fetch-body-data-specifier.vala',
'imap/message/imap-fetch-data-specifier.vala',
'imap/message/imap-flag.vala',
'imap/message/imap-flags.vala',
'imap/message/imap-internal-date.vala',
'imap/message/imap-mailbox-specifier.vala',
'imap/message/imap-message-data.vala',
'imap/message/imap-message-flag.vala',
'imap/message/imap-message-flags.vala',
'imap/message/imap-namespace.vala',
'imap/message/imap-sequence-number.vala',
'imap/message/imap-status-data-type.vala',
'imap/message/imap-tag.vala',
'imap/message/imap-uid.vala',
'imap/message/imap-uid-validity.vala',
'imap/parameter/imap-atom-parameter.vala',
'imap/parameter/imap-list-parameter.vala',
'imap/parameter/imap-literal-parameter.vala',
'imap/parameter/imap-nil-parameter.vala',
'imap/parameter/imap-number-parameter.vala',
'imap/parameter/imap-parameter.vala',
'imap/parameter/imap-quoted-string-parameter.vala',
'imap/parameter/imap-root-parameters.vala',
'imap/parameter/imap-string-parameter.vala',
'imap/parameter/imap-unquoted-string-parameter.vala',
'imap/response/imap-continuation-response.vala',
'imap/response/imap-fetch-data-decoder.vala',
'imap/response/imap-fetched-data.vala',
'imap/response/imap-mailbox-attribute.vala',
'imap/response/imap-mailbox-attributes.vala',
'imap/response/imap-mailbox-information.vala',
'imap/response/imap-namespace-response.vala',
'imap/response/imap-response-code.vala',
'imap/response/imap-response-code-type.vala',
'imap/response/imap-server-data.vala',
'imap/response/imap-server-data-type.vala',
'imap/response/imap-server-response.vala',
'imap/response/imap-status.vala',
'imap/response/imap-status-data.vala',
'imap/response/imap-status-response.vala',
'imap/transport/imap-client-connection.vala',
'imap/transport/imap-client-session.vala',
'imap/transport/imap-deserializer.vala',
'imap/transport/imap-serializer.vala',
'imap-db/imap-db-account.vala',
'imap-db/imap-db-attachment.vala',
'imap-db/imap-db-database.vala',
'imap-db/imap-db-email-identifier.vala',
'imap-db/imap-db-folder.vala',
'imap-db/imap-db-gc.vala',
'imap-db/imap-db-message-row.vala',
'imap-db/imap-db-search-query.vala',
'imap-db/imap-db-sqlite.c',
'imap-engine/imap-engine.vala',
'imap-engine/imap-engine-account-operation.vala',
'imap-engine/imap-engine-account-processor.vala',
'imap-engine/imap-engine-account-synchronizer.vala',
'imap-engine/imap-engine-email-prefetcher.vala',
'imap-engine/imap-engine-generic-account.vala',
'imap-engine/imap-engine-generic-folder.vala',
'imap-engine/imap-engine-minimal-folder.vala',
'imap-engine/imap-engine-replay-operation.vala',
'imap-engine/imap-engine-replay-queue.vala',
'imap-engine/imap-engine-revokable-move.vala',
'imap-engine/imap-engine-revokable-committed-move.vala',
'imap-engine/imap-engine-send-replay-operation.vala',
'imap-engine/gmail/imap-engine-gmail-account.vala',
'imap-engine/gmail/imap-engine-gmail-all-mail-folder.vala',
'imap-engine/gmail/imap-engine-gmail-drafts-folder.vala',
'imap-engine/gmail/imap-engine-gmail-folder.vala',
'imap-engine/gmail/imap-engine-gmail-spam-trash-folder.vala',
'imap-engine/other/imap-engine-other-account.vala',
'imap-engine/other/imap-engine-other-folder.vala',
'imap-engine/outlook/imap-engine-outlook-account.vala',
'imap-engine/outlook/imap-engine-outlook-folder.vala',
'imap-engine/outlook/imap-engine-outlook-drafts-folder.vala',
'imap-engine/replay-ops/imap-engine-abstract-list-email.vala',
'imap-engine/replay-ops/imap-engine-copy-email.vala',
'imap-engine/replay-ops/imap-engine-create-email.vala',
'imap-engine/replay-ops/imap-engine-empty-folder.vala',
'imap-engine/replay-ops/imap-engine-fetch-email.vala',
'imap-engine/replay-ops/imap-engine-list-email-by-id.vala',
'imap-engine/replay-ops/imap-engine-list-email-by-sparse-id.vala',
'imap-engine/replay-ops/imap-engine-mark-email.vala',
'imap-engine/replay-ops/imap-engine-move-email-commit.vala',
'imap-engine/replay-ops/imap-engine-move-email-prepare.vala',
'imap-engine/replay-ops/imap-engine-move-email-revoke.vala',
'imap-engine/replay-ops/imap-engine-remove-email.vala',
'imap-engine/replay-ops/imap-engine-replay-append.vala',
'imap-engine/replay-ops/imap-engine-replay-removal.vala',
'imap-engine/replay-ops/imap-engine-replay-update.vala',
'imap-engine/replay-ops/imap-engine-server-search-email.vala',
'imap-engine/replay-ops/imap-engine-user-close.vala',
'imap-engine/yahoo/imap-engine-yahoo-account.vala',
'imap-engine/yahoo/imap-engine-yahoo-folder.vala',
'memory/memory-buffer.vala',
'memory/memory-byte-buffer.vala',
'memory/memory-empty-buffer.vala',
'memory/memory-file-buffer.vala',
'memory/memory-growable-buffer.vala',
'memory/memory-string-buffer.vala',
'memory/memory-unowned-byte-array-buffer.vala',
'memory/memory-unowned-bytes-buffer.vala',
'memory/memory-unowned-string-buffer.vala',
'mime/mime-content-disposition.vala',
'mime/mime-content-parameters.vala',
'mime/mime-content-type.vala',
'mime/mime-data-format.vala',
'mime/mime-disposition-type.vala',
'mime/mime-error.vala',
'mime/mime-multipart-subtype.vala',
'nonblocking/nonblocking-batch.vala',
'nonblocking/nonblocking-concurrent.vala',
'nonblocking/nonblocking-counting-semaphore.vala',
'nonblocking/nonblocking-error.vala',
'nonblocking/nonblocking-lock.vala',
'nonblocking/nonblocking-mutex.vala',
'nonblocking/nonblocking-queue.vala',
'nonblocking/nonblocking-reporting-semaphore.vala',
'nonblocking/nonblocking-variants.vala',
'outbox/outbox-email-identifier.vala',
'outbox/outbox-email-properties.vala',
'outbox/outbox-folder.vala',
'outbox/outbox-folder-properties.vala',
'rfc822/rfc822.vala',
'rfc822/rfc822-error.vala',
'rfc822/rfc822-gmime-filter-flowed.vala',
'rfc822/rfc822-gmime-filter-blockquotes.vala',
'rfc822/rfc822-gmime-filter-plain.vala',
'rfc822/rfc822-mailbox-addresses.vala',
'rfc822/rfc822-mailbox-address.vala',
'rfc822/rfc822-message.vala',
'rfc822/rfc822-message-data.vala',
'rfc822/rfc822-part.vala',
'rfc822/rfc822-utils.vala',
'smtp/smtp-authenticator.vala',
'smtp/smtp-capabilities.vala',
'smtp/smtp-client-connection.vala',
'smtp/smtp-client-service.vala',
'smtp/smtp-client-session.vala',
'smtp/smtp-command.vala',
'smtp/smtp-data-format.vala',
'smtp/smtp-error.vala',
'smtp/smtp-greeting.vala',
'smtp/smtp-login-authenticator.vala',
'smtp/smtp-oauth2-authenticator.vala',
'smtp/smtp-plain-authenticator.vala',
'smtp/smtp-request.vala',
'smtp/smtp-response.vala',
'smtp/smtp-response-code.vala',
'smtp/smtp-response-line.vala',
'state/state-machine-descriptor.vala',
'state/state-machine.vala',
'state/state-mapping.vala',
'util/util-ascii.vala',
'util/util-collection.vala',
'util/util-config-file.vala',
'util/util-connectivity-manager.vala',
'util/util-error-context.vala',
'util/util-files.vala',
'util/util-generic-capabilities.vala',
'util/util-html.vala',
'util/util-idle-manager.vala',
'util/util-imap-utf7.vala',
'util/util-inet.vala',
'util/util-iterable.vala',
'util/util-logging.vala',
'util/util-numeric.vala',
'util/util-object.vala',
'util/util-reference-semantics.vala',
'util/util-scheduler.vala',
'util/util-stream.vala',
'util/util-string.vala',
'util/util-synchronization.vala',
'util/util-timeout-manager.vala',
'util/util-trillian.vala',
)
engine_sources = [
engine_vala_sources,
]
engine_dependencies = [
gee,
gio,
glib,
gmime,
libmath,
libstemmer,
libxml,
posix,
sqlite
]
if libunwind_dep.found()
engine_dependencies += libunwind
endif
engine_build_dir = meson.current_build_dir()
# Generate internal VAPI for unit testing. See Meson issue
# https://github.com/mesonbuild/meson/issues/1781 for official
# internal VAPI support.
engine_vala_args = geary_vala_args
engine_vala_args += [
'--internal-header=@0@/geary-engine-internal.h'.format(engine_build_dir),
'--internal-vapi=@0@/geary-engine-internal.vapi'.format(engine_build_dir)
]
if libunwind_dep.found()
engine_vala_args += [
'-D', 'HAVE_LIBUNWIND',
]
endif
if libytnef.found()
engine_dependencies += libytnef
engine_vala_args += [
'-D', 'WITH_TNEF_SUPPORT'
]
endif
engine_lib = static_library('geary-engine',
engine_sources,
dependencies: engine_dependencies,
include_directories: config_h_dir,
vala_args: engine_vala_args,
c_args: geary_c_args,
)
# Dummy target to tell Meson about the internal VAPI given the
# workaround above, and fix the VAPI header to work around
# GNOME/vala#358
engine_internal_header_fixup = custom_target(
'engine_internal_header_fixup',
output: [
'geary-engine-internal.h',
'geary-engine-internal.vapi',
],
command: [
find_program('sed'),
'-ibak',
's/geary-engine.h/geary-engine-internal.h/g',
'@OUTDIR@/geary-engine-internal.vapi',
],
depends: engine_lib
)
engine_dep = declare_dependency(
link_with: [
engine_lib,
],
include_directories: include_directories('.')
)
engine_internal_dep = declare_dependency(
# Can't just include engine_lib in link_with since that will
# pull in the public header and we get duplicate symbol errors.
link_args: [
'-L' + engine_build_dir,
'-lgeary-engine'
],
include_directories: include_directories('.'),
sources: engine_internal_header_fixup
)