2017-12-09 00:45:29 +01:00
|
|
|
# Geary engine
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_vala_sources = files(
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2018-11-18 21:31:35 +11:00
|
|
|
'api/geary-client-service.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2019-03-09 20:01:55 +11:00
|
|
|
'api/geary-email-header-set.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2018-05-23 16:34:23 +10:00
|
|
|
'api/geary-service-information.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'api/geary-service-provider.vala',
|
|
|
|
|
|
|
|
|
|
'app/app-conversation.vala',
|
|
|
|
|
'app/app-conversation-monitor.vala',
|
|
|
|
|
'app/app-draft-manager.vala',
|
|
|
|
|
'app/app-email-store.vala',
|
2019-12-13 12:12:07 +11:00
|
|
|
'app/app-search-folder.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
|
|
|
|
|
'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',
|
Make ConversationMonitor more robust with no/changing connectivity.
Conversation monitor was built around older assumptions of how a folder's
remote connections work - that once a folder opens it will likely also
eventually establish a remote connection, that once the connection is up
it will hang around, and so on.
This patch removes any public notion of (re)seeding, since it can't be
relied to actually happen over the course of the session, ensures that
all folder operations are local-only when the folder does not have a
working remote connection so it doesn't block, and take the opportunity
to reorganise and clean up the monitor API and documentation comments.
* src/engine/app/app-conversation-monitor.vala (ConversationMonitor):
Remove seed signals, and don't bother running an initial reseed if the
folder is already open, since the fill operation will cause any locally
incomplete messages to be filled out from the report. Manage and use an
internal Cancellable for cancelling internal operations when shutting
down. Construct a queue only when starting to monitor conversations,
delete it when stopping. Move as much operation-specific code into the
operations themselves as reasonably possible, making some methods
internal so thy can be accessed from the ops. Ensure all folder listing
operations specify LOCAL_ONLY when the remote is not open. Removed
LocalLoadOperation since that is now redundant. Update the API for
accessing conversations to match Gee conventions and update call
sites. Update documentation comments. Hook back up to locally-complete
signals so we don't miss emails being filled out by the prefetcher, for
now.
* src/engine/app/conversation-monitor/app-conversation-set.vala
(ConversationSet): Rename conversations property to match Gee
conventions, update call sites.
* src/engine/app/conversation-monitor/app-conversation-operation.vala
(ConversationOperation): Allow operations to specify if they should
allow duplicates, and allow the execution method to throw errors, so
they can be handled in a uniform way.
* src/engine/app/conversation-monitor/app-conversation-operation-queue.vala
(ConversationOperationQueue): Accept progress monitor property as a
ctor arg rather than constructing on itself, so it is tied to the
life-cycle of the ConversationMonitor rather than the queue. Add a
signal for notifying of errors thrown when running operations, and use
the new operation-independent support for determining if duplicates
should be queued.
* src/engine/app/conversation-monitor/app-fill-window-operation.vala
(FillWindowOperation): Enforce a maximum window size as well as minimum
to keep loading large windows semi-responsive. Remove code to handle
inserts now that they are handled by their own op.
* src/engine/app/conversation-monitor/app-insert-operation.vala
(InsertOperation): New operation to manage inserts, handle it them by
simply adding them to the conversation if they are newer than the
oldest message, rather that relisting all loaded messages.
2018-03-03 10:56:29 +11:00
|
|
|
'app/conversation-monitor/app-insert-operation.vala',
|
2019-11-05 10:46:23 +11:00
|
|
|
'app/conversation-monitor/app-load-operation.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
|
|
|
|
|
2019-06-10 08:43:40 +10:00
|
|
|
'common/common-contact-harvester.vala',
|
2019-06-07 17:58:31 +10:00
|
|
|
'common/common-contact-store-impl.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'common/common-message-data.vala',
|
|
|
|
|
|
|
|
|
|
'db/db.vala',
|
|
|
|
|
'db/db-connection.vala',
|
|
|
|
|
'db/db-context.vala',
|
|
|
|
|
'db/db-database.vala',
|
2020-09-03 16:54:30 +10:00
|
|
|
'db/db-database-connection.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'db/db-database-error.vala',
|
|
|
|
|
'db/db-result.vala',
|
|
|
|
|
'db/db-statement.vala',
|
|
|
|
|
'db/db-synchronous-mode.vala',
|
|
|
|
|
'db/db-transaction-async-job.vala',
|
2020-09-03 16:54:30 +10:00
|
|
|
'db/db-transaction-connection.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'db/db-transaction-outcome.vala',
|
|
|
|
|
'db/db-transaction-type.vala',
|
|
|
|
|
'db/db-versioned-database.vala',
|
|
|
|
|
|
|
|
|
|
'imap/imap.vala',
|
|
|
|
|
'imap/imap-error.vala',
|
2018-01-26 09:52:20 +10:30
|
|
|
'imap/api/imap-account-session.vala',
|
2019-12-29 23:15:34 +10:30
|
|
|
'imap/api/imap-capabilities.vala',
|
2018-11-18 22:13:25 +11:00
|
|
|
'imap/api/imap-client-service.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'imap/api/imap-email-flags.vala',
|
|
|
|
|
'imap/api/imap-email-properties.vala',
|
|
|
|
|
'imap/api/imap-folder.vala',
|
2018-01-26 09:52:20 +10:30
|
|
|
'imap/api/imap-folder-properties.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'imap/api/imap-folder-root.vala',
|
2018-01-26 09:52:20 +10:30
|
|
|
'imap/api/imap-folder-session.vala',
|
2020-05-01 15:40:18 +10:00
|
|
|
'imap/api/imap-quirks.vala',
|
2018-01-26 09:52:20 +10:30
|
|
|
'imap/api/imap-session-object.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'imap/command/imap-append-command.vala',
|
2018-05-29 06:12:36 +02:00
|
|
|
'imap/command/imap-authenticate-command.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2018-09-26 23:54:47 +10:00
|
|
|
'imap/command/imap-delete-command.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2019-12-10 20:51:20 +11:00
|
|
|
'imap-db/imap-db-search-query.vala',
|
2020-09-13 23:46:53 +10:00
|
|
|
'imap-db/imap-db-sqlite.c',
|
2017-12-09 00:45:29 +01:00
|
|
|
|
|
|
|
|
'imap-engine/imap-engine.vala',
|
2018-01-12 12:23:33 +11:00
|
|
|
'imap-engine/imap-engine-account-operation.vala',
|
|
|
|
|
'imap-engine/imap-engine-account-processor.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2018-01-12 12:23:33 +11:00
|
|
|
'imap-engine/replay-ops/imap-engine-replay-update.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2018-01-17 14:47:57 +11:00
|
|
|
'nonblocking/nonblocking-lock.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'nonblocking/nonblocking-mutex.vala',
|
2018-01-12 12:23:33 +11:00
|
|
|
'nonblocking/nonblocking-queue.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'nonblocking/nonblocking-reporting-semaphore.vala',
|
|
|
|
|
'nonblocking/nonblocking-variants.vala',
|
|
|
|
|
|
2018-11-18 23:46:41 +11:00
|
|
|
'outbox/outbox-email-identifier.vala',
|
|
|
|
|
'outbox/outbox-email-properties.vala',
|
|
|
|
|
'outbox/outbox-folder.vala',
|
|
|
|
|
'outbox/outbox-folder-properties.vala',
|
|
|
|
|
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2018-05-10 13:47:47 +10:00
|
|
|
'rfc822/rfc822-part.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'rfc822/rfc822-utils.vala',
|
|
|
|
|
|
|
|
|
|
'smtp/smtp-authenticator.vala',
|
|
|
|
|
'smtp/smtp-capabilities.vala',
|
|
|
|
|
'smtp/smtp-client-connection.vala',
|
2018-11-18 23:10:11 +11:00
|
|
|
'smtp/smtp-client-service.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2018-05-29 05:51:11 +02:00
|
|
|
'smtp/smtp-oauth2-authenticator.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2018-05-25 00:32:17 +10:00
|
|
|
'util/util-config-file.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'util/util-connectivity-manager.vala',
|
2019-01-07 22:04:03 +11:00
|
|
|
'util/util-error-context.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
2019-12-01 19:37:15 +11:00
|
|
|
'util/util-logging.vala',
|
2017-12-09 00:45:29 +01:00
|
|
|
'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',
|
|
|
|
|
)
|
|
|
|
|
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_sources = [
|
|
|
|
|
engine_vala_sources,
|
2017-12-09 00:45:29 +01:00
|
|
|
]
|
|
|
|
|
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_dependencies = [
|
2017-12-09 00:45:29 +01:00
|
|
|
gee,
|
|
|
|
|
gio,
|
|
|
|
|
glib,
|
|
|
|
|
gmime,
|
2019-07-21 10:05:24 +10:00
|
|
|
libmath,
|
2020-09-13 16:27:51 +10:00
|
|
|
libstemmer,
|
2017-12-09 00:45:29 +01:00
|
|
|
libxml,
|
|
|
|
|
posix,
|
2017-12-15 15:08:02 +11:00
|
|
|
sqlite
|
2017-12-09 00:45:29 +01:00
|
|
|
]
|
|
|
|
|
|
2019-02-17 17:56:46 +01:00
|
|
|
if libunwind_dep.found()
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_dependencies += libunwind
|
2019-02-17 17:56:46 +01:00
|
|
|
endif
|
|
|
|
|
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_build_dir = meson.current_build_dir()
|
2018-11-29 09:56:25 +11:00
|
|
|
|
|
|
|
|
# Generate internal VAPI for unit testing. See Meson issue
|
|
|
|
|
# https://github.com/mesonbuild/meson/issues/1781 for official
|
|
|
|
|
# internal VAPI support.
|
2020-08-10 16:53:39 +10:00
|
|
|
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)
|
2017-12-15 15:11:24 +11:00
|
|
|
]
|
|
|
|
|
|
2019-02-17 17:56:46 +01:00
|
|
|
if libunwind_dep.found()
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_vala_args += [
|
2019-02-17 17:56:46 +01:00
|
|
|
'-D', 'HAVE_LIBUNWIND',
|
|
|
|
|
]
|
|
|
|
|
endif
|
|
|
|
|
|
2020-10-03 21:06:43 +10:00
|
|
|
if libytnef.found()
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_dependencies += libytnef
|
|
|
|
|
engine_vala_args += [
|
2018-06-15 11:38:10 +03:00
|
|
|
'-D', 'WITH_TNEF_SUPPORT'
|
|
|
|
|
]
|
|
|
|
|
endif
|
|
|
|
|
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_lib = static_library('geary-engine',
|
|
|
|
|
engine_sources,
|
|
|
|
|
dependencies: engine_dependencies,
|
2017-12-09 00:45:29 +01:00
|
|
|
include_directories: config_h_dir,
|
2020-08-10 16:53:39 +10:00
|
|
|
vala_args: engine_vala_args,
|
2019-09-27 23:56:52 +10:00
|
|
|
c_args: geary_c_args,
|
2017-12-09 00:45:29 +01:00
|
|
|
)
|
|
|
|
|
|
2018-11-29 09:56:25 +11:00
|
|
|
# Dummy target to tell Meson about the internal VAPI given the
|
|
|
|
|
# workaround above, and fix the VAPI header to work around
|
|
|
|
|
# GNOME/vala#358
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_internal_header_fixup = custom_target(
|
|
|
|
|
'engine_internal_header_fixup',
|
2018-05-23 11:23:09 +10:00
|
|
|
output: [
|
|
|
|
|
'geary-engine-internal.h',
|
|
|
|
|
'geary-engine-internal.vapi',
|
|
|
|
|
],
|
2017-12-15 15:11:24 +11:00
|
|
|
command: [
|
2018-11-29 09:56:25 +11:00
|
|
|
find_program('sed'),
|
2019-01-09 12:30:49 +03:00
|
|
|
'-ibak',
|
2018-11-29 09:56:25 +11:00
|
|
|
's/geary-engine.h/geary-engine-internal.h/g',
|
|
|
|
|
'@OUTDIR@/geary-engine-internal.vapi',
|
2017-12-15 15:11:24 +11:00
|
|
|
],
|
2020-08-10 16:53:39 +10:00
|
|
|
depends: engine_lib
|
2017-12-15 15:11:24 +11:00
|
|
|
)
|
|
|
|
|
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_dep = declare_dependency(
|
2018-11-29 09:56:25 +11:00
|
|
|
link_with: [
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_lib,
|
2018-11-29 09:56:25 +11:00
|
|
|
],
|
|
|
|
|
include_directories: include_directories('.')
|
|
|
|
|
)
|
|
|
|
|
|
2020-08-10 16:53:39 +10:00
|
|
|
engine_internal_dep = declare_dependency(
|
|
|
|
|
# Can't just include engine_lib in link_with since that will
|
2017-12-15 15:11:24 +11:00
|
|
|
# pull in the public header and we get duplicate symbol errors.
|
|
|
|
|
link_args: [
|
2020-08-10 16:53:39 +10:00
|
|
|
'-L' + engine_build_dir,
|
2017-12-15 15:11:24 +11:00
|
|
|
'-lgeary-engine'
|
|
|
|
|
],
|
|
|
|
|
include_directories: include_directories('.'),
|
2020-08-10 16:53:39 +10:00
|
|
|
sources: engine_internal_header_fixup
|
2017-12-15 15:11:24 +11:00
|
|
|
)
|