aboutsummaryrefslogtreecommitdiff
path: root/libdino/meson.build
blob: 5c7c20c4945509f9666cc558d76aa673763dd240 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
version_c = configure_file(input: 'src/version.c.in', output: 'version.c', configuration: {'VERSION': meson.project_version()})

# libdino
dependencies = [
    dep_gdk_pixbuf,
    dep_gee,
    dep_gio,
    dep_glib,
    dep_gmodule,
    dep_libsoup,
    dep_libsrtp2,
    dep_sqlite3,
    dep_xmpp_vala
]
sources = files(
    'src/application.vala',
    'src/dbus/login1.vala',
    'src/dbus/notifications.vala',
    'src/dbus/upower.vala',
    'src/crypto/cipher.vala',
    'src/crypto/cipher_converter.vala',
    'src/crypto/error.vala',
    'src/crypto/srtp.vala',
    'src/entity/account.vala',
    'src/entity/call.vala',
    'src/entity/conversation.vala',
    'src/entity/encryption.vala',
    'src/entity/file_transfer.vala',
    'src/entity/file_transfer_group.vala',
    'src/entity/message.vala',
    'src/entity/settings.vala',
    'src/file_transfer/file_manager2.vala',
    'src/file_transfer/http_transfer.vala',
    'src/plugin/interfaces.vala',
    'src/plugin/loader.vala',
    'src/plugin/registry.vala',
    'src/qlite/column.vala',
    'src/qlite/database.vala',
    'src/qlite/delete_builder.vala',
    'src/qlite/insert_builder.vala',
    'src/qlite/query_builder.vala',
    'src/qlite/row.vala',
    'src/qlite/statement_builder.vala',
    'src/qlite/table.vala',
    'src/qlite/update_builder.vala',
    'src/qlite/upsert_builder.vala',
    'src/service/avatar_manager.vala',
    'src/service/blocking_manager.vala',
    'src/service/call_store.vala',
    'src/service/call_state.vala',
    'src/service/call_peer_state.vala',
    'src/service/calls.vala',
    'src/service/chat_interaction.vala',
    'src/service/connection_manager.vala',
    'src/service/contact_model.vala',
    'src/service/content_item_store.vala',
    'src/service/conversation_manager.vala',
    'src/service/counterpart_interaction_manager.vala',
    'src/service/database.vala',
    'src/service/entity_info.vala',
    'src/service/fallback_body.vala',
    'src/service/file_manager.vala',
    'src/service/file_transfer_storage.vala',
    'src/service/history_sync.vala',
    'src/service/jingle_file_transfers.vala',
    'src/service/message_correction.vala',
    'src/service/message_deletion.vala',
    'src/service/message_processor.vala',
    'src/service/message_storage.vala',
    'src/service/module_manager.vala',
    'src/service/muc_affiliations.vala',
    'src/service/muc_manager.vala',
    'src/service/notification_events.vala',
    'src/service/occupant_id_store.vala',
    'src/service/presence_manager.vala',
    'src/service/replies.vala',
    'src/service/reactions.vala',
    'src/service/registration.vala',
    'src/service/roster_manager.vala',
    'src/service/search_processor.vala',
    'src/service/sfs_metadata.vala',
    'src/service/stateless_file_sharing.vala',
    'src/service/stream_interactor.vala',
    'src/service/util.vala',
    'src/util/display_name.vala',
    'src/util/limit_input_stream.vala',
    'src/util/send_message.vala',
    'src/util/util.vala',
    'src/util/weak_timeout.vala',
)

sources += [version_c]

if crypto_backend == 'gnu'
    dependencies += [ dep_libgcrypt ]
    sources += files(
        'src/crypto/gnu/cipher.vala',
        'src/crypto/gnu/utils.vala',
    )
elif crypto_backend == 'openssl'
    dependencies += [ dep_openssl ]
    sources += files(
        'src/crypto/openssl/cipher.vala',
        'src/crypto/openssl/utils.vala',
    )
endif

c_args = vala_c_args + [
    '-DDINO_SYSTEM_LIBDIR_NAME="@0@"'.format(get_option('prefix') / get_option('libdir')),
    '-DDINO_SYSTEM_PLUGIN_DIR="@0@"'.format(get_option('prefix') / get_option('libdir') / get_option('plugindir')),
    '-DG_LOG_DOMAIN="libdino"',
]
vala_args = [
    '--vapidir', meson.current_source_dir() / 'vapi',
]
if meson.get_compiler('vala').version().version_compare('=0.56.11')
    vala_args += ['-D', 'VALA_0_56_11']
endif
lib_dino = library('libdino', sources, c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, name_prefix: '', version: '0.0', install: true, install_dir: [true, true, true], install_rpath: default_install_rpath)
dep_dino = declare_dependency(link_with: lib_dino, include_directories: include_directories('.', 'src'))

install_data('dino.deps', install_dir: get_option('datadir') / 'vala/vapi', install_tag: 'devel') # TODO: workaround for https://github.com/mesonbuild/meson/issues/9756
install_headers('src/dino_i18n.h')