diff options
| author | frosty <frostinator33@airmail.cc> | 2026-10-26 10:21:57 -0400 |
|---|---|---|
| committer | frosty <frostinator33@airmail.cc> | 2026-10-26 10:21:57 -0400 |
| commit | 74aecd8b0986d07b50b7ce310d64e645b8b54e38 (patch) | |
| tree | 560e6434f183eb54cd779936f3a4c9575146a066 /main/meson.build | |
| parent | 3d7e90d401da02d430a87db0ec7e1db3a6f1a68f (diff) | |
| parent | 4436001bb361ad4f9e4e05819214ecf0ea77c063 (diff) | |
Merge 'upstream/master'
Diffstat (limited to 'main/meson.build')
| -rw-r--r-- | main/meson.build | 162 |
1 files changed, 135 insertions, 27 deletions
diff --git a/main/meson.build b/main/meson.build index 446bb0d2..b733e0c8 100644 --- a/main/meson.build +++ b/main/meson.build @@ -8,7 +8,6 @@ dependencies = [ dep_icu_uc, dep_libadwaita, dep_m, - dep_qlite, dep_xmpp_vala, meson.get_compiler('vala').find_library('posix'), ] @@ -50,7 +49,9 @@ sources = files( 'src/ui/conversation_content_view/date_separator_populator.vala', 'src/ui/conversation_content_view/file_default_widget.vala', 'src/ui/conversation_content_view/file_image_widget.vala', + 'src/ui/conversation_content_view/file_transmission_progress.c', 'src/ui/conversation_content_view/file_transmission_progress.vala', + 'src/ui/conversation_content_view/file_group_widget.vala', 'src/ui/conversation_content_view/file_video_widget.vala', 'src/ui/conversation_content_view/file_widget.vala', 'src/ui/conversation_content_view/item_actions.vala', @@ -112,7 +113,7 @@ sources += gnome.compile_resources( source_dir: 'data', ) -c_args = [ +c_args = vala_c_args + [ '-DG_LOG_DOMAIN="dino"', '-DGETTEXT_PACKAGE="dino"', '-DLOCALE_INSTALL_DIR="@0@"'.format(get_option('prefix') / get_option('localedir')), @@ -120,34 +121,141 @@ c_args = [ vala_args = [ '--vapidir', meson.current_source_dir() / 'vapi', ] -if dep_gtk4.version() == 'unknown' or dep_gtk4.version().version_compare('>=4.6') - vala_args += ['-D', 'GTK_4_6'] -endif -if dep_gtk4.version() == 'unknown' or dep_gtk4.version().version_compare('>=4.8') - vala_args += ['-D', 'GTK_4_8'] -endif -if dep_gtk4.version() == 'unknown' or dep_gtk4.version().version_compare('>=4.12') - vala_args += ['-D', 'GTK_4_12'] -endif -if dep_gtk4.version() == 'unknown' or dep_gtk4.version().version_compare('>=4.14') - vala_args += ['-D', 'GTK_4_14'] - sources += files('src/ui/conversation_content_view/file_transmission_progress.c') -endif -if dep_libadwaita.version() == 'unknown' or dep_libadwaita.version().version_compare('>=1.4') - vala_args += ['-D', 'Adw_1_4'] -endif -if meson.get_compiler('vala').version().version_compare('>=0.56.5') and meson.get_compiler('vala').version().version_compare('<0.58') - vala_args += ['-D', 'VALA_0_56_GREATER_5'] -endif -if meson.get_compiler('vala').version().version_compare('>=0.56.11') and meson.get_compiler('vala').version().version_compare('<0.58') - vala_args += ['-D', 'VALA_0_56_GREATER_11'] + +if get_option('rtp').allowed() and dep_gstreamer.found() and dep_gstreamer_app.found() and dep_gstreamer_audio.found() and dep_gstreamer_rtp.found() and dep_gstreamer_video.found() + dependencies += [ + dep_gstreamer, + dep_gstreamer_app, + dep_gstreamer_audio, + dep_gstreamer_rtp, + dep_gstreamer_video, + ] + + sources += files( + 'src/plugins/rtp/codec_util.vala', + 'src/plugins/rtp/device.vala', + 'src/plugins/rtp/gst_fixes.c', + 'src/plugins/rtp/module.vala', + 'src/plugins/rtp/plugin.vala', + 'src/plugins/rtp/stream.vala', + 'src/plugins/rtp/video_widget.vala', + ) + + if dep_webrtc_audio_processing.found() and get_option('voice-processing').allowed() + voice_dependencies = [ + dep_gstreamer_audio, + dep_webrtc_audio_processing, + ] + voice_sources = files( + 'src/plugins/rtp/voice_processor_native.cpp', + ) + voice_c_args = ['-DG_LOG_DOMAIN="dino"'] + if dep_webrtc_audio_processing.version().version_compare('>=2.0') + voice_c_args += ['-DWEBRTC2'] + elif dep_webrtc_audio_processing.version().version_compare('>=1.0') + voice_c_args += ['-DWEBRTC1'] + else + voice_c_args += ['-DWEBRTC0'] + endif + lib_rtp_voice_processor = static_library('rtp-voice-processor', voice_sources, c_args: voice_c_args, cpp_args: voice_c_args, dependencies: voice_dependencies, install: false) + dep_rtp_voice_processor = declare_dependency(link_with: lib_rtp_voice_processor) + vala_args += ['-D', 'WITH_VOICE_PROCESSOR'] + dependencies += [dep_rtp_voice_processor] + sources += files( + 'src/plugins/rtp/voice_processor.vala', + ) + endif + if get_option('rtp-h264') + vala_args += ['-D', 'ENABLE_H264'] + endif + if get_option('rtp-msdk') + vala_args += ['-D', 'ENABLE_MSDK'] + endif + if get_option('rtp-vaapi') + vala_args += ['-D', 'ENABLE_VAAPI'] + endif + if get_option('rtp-vp9') + vala_args += ['-D', 'ENABLE_VP9'] + endif + vala_args += ['-D', 'WITH_RTP'] + + summary('Voice/video calls (rtp)', true, bool_yn: true, section: 'Plugins') + summary('H264 codec', get_option('rtp-h264'), bool_yn: true, section: 'RTP configuration') + summary('VP9 codec', get_option('rtp-vp9'), bool_yn: true, section: 'RTP configuration') + summary('Intel MediaSDK', get_option('rtp-msdk'), bool_yn: true, section: 'RTP configuration') + summary('Video Acceleration API', get_option('rtp-vaapi'), bool_yn: true, section: 'RTP configuration') + summary('Voice preprocessing', dep_webrtc_audio_processing.found() and get_option('voice-processing').allowed(), bool_yn: true, section: 'RTP configuration') +else + summary('Voice/video calls (rtp)', false, bool_yn: true, section: 'Plugins') endif -if meson.get_compiler('vala').version().version_compare('=0.56.11') - vala_args += ['-D', 'VALA_0_56_11'] + +if get_option('omemo').allowed() and dep_libomemo_c.found() and dep_libqrencode.found() + dependencies += [ + dep_libomemo_c, + dep_libqrencode, + ] + sources += files( + 'src/plugins/omemo/dtls_srtp_verification_draft.vala', + 'src/plugins/omemo/file_transfer/file_decryptor.vala', + 'src/plugins/omemo/file_transfer/file_encryptor.vala', + 'src/plugins/omemo/jingle/jet_omemo.vala', + 'src/plugins/omemo/jingle/jingle_helper.vala', + 'src/plugins/omemo/logic/database.vala', + 'src/plugins/omemo/logic/decrypt.vala', + 'src/plugins/omemo/logic/encrypt.vala', + 'src/plugins/omemo/logic/manager.vala', + 'src/plugins/omemo/logic/pre_key_store.vala', + 'src/plugins/omemo/logic/session_store.vala', + 'src/plugins/omemo/logic/signed_pre_key_store.vala', + 'src/plugins/omemo/logic/trust_manager.vala', + 'src/plugins/omemo/plugin.vala', + 'src/plugins/omemo/protocol/bundle.vala', + 'src/plugins/omemo/protocol/message_flag.vala', + 'src/plugins/omemo/protocol/stream_module.vala', + 'src/plugins/omemo/trust_level.vala', + 'src/plugins/omemo/ui/bad_messages_populator.vala', + 'src/plugins/omemo/ui/call_encryption_entry.vala', + 'src/plugins/omemo/ui/contact_details_provider.vala', + 'src/plugins/omemo/ui/device_notification_populator.vala', + 'src/plugins/omemo/ui/encryption_list_entry.vala', + 'src/plugins/omemo/ui/encryption_preferences_entry.vala', + 'src/plugins/omemo/ui/manage_key_dialog.vala', + 'src/plugins/omemo/ui/own_notifications.vala', + 'src/plugins/omemo/ui/util.vala', + ) + vala_args += ['-D', 'WITH_OMEMO'] + + summary('End-to-end encryption using OMEMO (omemo)', true, bool_yn: true, section: 'Plugins') +else + summary('End-to-end encryption using OMEMO (omemo)', false, bool_yn: true, section: 'Plugins') endif -if meson.get_compiler('vala').version().version_compare('=0.56.12') - vala_args += ['-D', 'VALA_0_56_12'] + +if get_option('openpgp').allowed() and dep_gpgme.found() + dependencies += [ + dep_gpgme, + ] + sources += files( + 'src/plugins/openpgp/contact_details_provider.vala', + 'src/plugins/openpgp/database.vala', + 'src/plugins/openpgp/encryption_list_entry.vala', + 'src/plugins/openpgp/encryption_preferences_entry.vala', + 'src/plugins/openpgp/file_transfer/file_decryptor.vala', + 'src/plugins/openpgp/file_transfer/file_encryptor.vala', + 'src/plugins/openpgp/gpgme_fix.c', + 'src/plugins/openpgp/gpgme_helper.vala', + 'src/plugins/openpgp/manager.vala', + 'src/plugins/openpgp/plugin.vala', + 'src/plugins/openpgp/stream_module.vala', + 'src/plugins/openpgp/util.vala', + 'vapi/gpg-error.vapi', + ) + vala_args += ['-D', 'WITH_OPENPGP'] + + summary('End-to-end encryption using PGP (openpgp)', true, bool_yn: true, section: 'Plugins') +else + summary('End-to-end encryption using PGP (openpgp)', false, bool_yn: true, section: 'Plugins') endif + exe_dino = executable('dino', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, install: true, install_rpath: default_install_rpath) install_data('data/icons/scalable/apps/im.dino.Dino-symbolic.svg', install_dir: get_option('datadir') / 'icons/hicolor/symbolic/apps') |
