[gvfs] build: Use dictionary for easier unpack



commit ee00d22bd526f938b6499739014c8d81b8a9f6f3
Author: Iñigo Martínez <inigomartinez gmail com>
Date:   Mon Sep 13 23:35:40 2021 +0200

    build: Use dictionary for easier unpack
    
    Dictionaries can be used to ease `foreach` statements due to their
    natural unpacking system[0].
    
    This system has been used to ease some loops.
    
    [0] https://mesonbuild.com/Syntax.html#foreach-with-a-dictionary

 daemon/meson.build  | 53 ++++++++++++++++++++++++++---------------------------
 man/meson.build     | 22 +++++++++++-----------
 meson.build         | 34 +++++++++++++++++-----------------
 monitor/meson.build | 20 ++++++++++----------
 4 files changed, 64 insertions(+), 65 deletions(-)
---
diff --git a/daemon/meson.build b/daemon/meson.build
index f70083f2..7e86d8a0 100644
--- a/daemon/meson.build
+++ b/daemon/meson.build
@@ -154,7 +154,7 @@ daemon_main_sources = files(
   'daemon-main-generic.c',
 )
 
-programs = []
+programs = {}
 mounts = []
 schema_data = []
 convert_data = []
@@ -165,7 +165,7 @@ cflags = [
   '-DBACKEND_TYPES="localtest", G_VFS_TYPE_BACKEND_LOCALTEST,',
 ]
 
-programs += [['gvfsd-localtest', {'sources': files('gvfsbackendlocaltest.c'), 'c_args': cflags}]]
+programs += {'gvfsd-localtest': {'sources': files('gvfsbackendlocaltest.c'), 'c_args': cflags}}
 mounts += ['localtest']
 
 sources = files(
@@ -184,7 +184,7 @@ cflags = [
   '-DMAX_JOB_THREADS=10',
 ]
 
-programs += [['gvfsd-ftp', {'sources': sources, 'c_args': cflags}]]
+programs += {'gvfsd-ftp': {'sources': sources, 'c_args': cflags}}
 mounts += ['ftp', 'ftps', 'ftpis']
 
 cflags = [
@@ -194,7 +194,7 @@ cflags = [
   '-DMAX_JOB_THREADS=10',
 ]
 
-programs += [['gvfsd-trash', {'sources': files('gvfsbackendtrash.c'), 'dependencies': [libtrash_dep], 
'c_args': cflags}]]
+programs += {'gvfsd-trash': {'sources': files('gvfsbackendtrash.c'), 'dependencies': [libtrash_dep], 
'c_args': cflags}}
 mounts += ['trash']
 
 cflags = [
@@ -205,7 +205,7 @@ cflags = [
   '-DMAX_JOB_THREADS=10',
 ]
 
-programs += [['gvfsd-recent', {'sources': files('gvfsbackendrecent.c'), 'c_args': cflags}]]
+programs += {'gvfsd-recent': {'sources': files('gvfsbackendrecent.c'), 'c_args': cflags}}
 mounts += ['recent']
 
 cflags = [
@@ -216,7 +216,7 @@ cflags = [
   '-DMAX_JOB_THREADS=1',
 ]
 
-programs += [['gvfsd-computer', {'sources': files('gvfsbackendcomputer.c'), 'dependencies': [gio_unix_dep], 
'c_args': cflags}]]
+programs += {'gvfsd-computer': {'sources': files('gvfsbackendcomputer.c'), 'dependencies': [gio_unix_dep], 
'c_args': cflags}}
 mounts += ['computer']
 
 cflags = [
@@ -227,7 +227,7 @@ cflags = [
   '-DMAX_JOB_THREADS=1',
 ]
 
-programs += [['gvfsd-network', {'sources': files('gvfsbackendnetwork.c'), 'c_args': cflags}]]
+programs += {'gvfsd-network': {'sources': files('gvfsbackendnetwork.c'), 'c_args': cflags}}
 mounts += ['network']
 
 cflags = [
@@ -237,7 +237,7 @@ cflags = [
   '-DMAX_JOB_THREADS=1',
 ]
 
-programs += [['gvfsd-burn', {'sources': files('gvfsbackendburn.c'), 'dependencies': [gio_unix_dep], 
'c_args': cflags}]]
+programs += {'gvfsd-burn': {'sources': files('gvfsbackendburn.c'), 'dependencies': [gio_unix_dep], 'c_args': 
cflags}}
 mounts += ['burn']
 
 if enable_sftp
@@ -259,7 +259,7 @@ if enable_sftp
     '-DSSH_PROGRAM="@0@"'.format(ssh.full_path()),
   ]
 
-  programs += [['gvfsd-sftp', {'sources': sources, 'dependencies': deps, 'c_args': cflags}]]
+  programs += {'gvfsd-sftp': {'sources': sources, 'dependencies': deps, 'c_args': cflags}}
   mounts += ['sftp']
 endif
 
@@ -273,7 +273,7 @@ if enable_samba
     '-DMAX_JOB_THREADS=1',
   ]
 
-  programs += [['gvfsd-smb', {'sources': sources, 'dependencies': [smbclient_dep], 'c_args': cflags}]]
+  programs += {'gvfsd-smb': {'sources': sources, 'dependencies': [smbclient_dep], 'c_args': cflags}}
   mounts += ['smb']
   schema_data += files('org.gnome.system.smb.gschema.xml')
   convert_data += files('gvfs-smb.convert')
@@ -286,7 +286,7 @@ if enable_samba
     '-DMOUNTABLE_DBUS_NAME=' + gvfs_namespace + '.mountpoint_smb_browse',
   ]
 
-  programs += [['gvfsd-smb-browse', {'sources': sources + files('gvfsbackendsmbbrowse.c'), 'dependencies': 
[smbclient_dep], 'c_args': cflags}]]
+  programs += {'gvfsd-smb-browse': {'sources': sources + files('gvfsbackendsmbbrowse.c'), 'dependencies': 
[smbclient_dep], 'c_args': cflags}}
   mounts += ['smb-browse']
 endif
 
@@ -305,7 +305,7 @@ if enable_dnssd
     '-DMOUNTABLE_DBUS_NAME=' + gvfs_namespace + '.mountpoint_dnssd',
   ]
 
-  programs += [['gvfsd-dnssd', {'sources': files('gvfsbackenddnssd.c'), 'dependencies': deps, 'c_args': 
cflags}]]
+  programs += {'gvfsd-dnssd': {'sources': files('gvfsbackenddnssd.c'), 'dependencies': deps, 'c_args': 
cflags}}
   mounts += ['dns-sd']
   schema_data += files('org.gnome.system.dns_sd.gschema.xml')
   convert_data += files('gvfs-dns-sd.convert')
@@ -320,7 +320,7 @@ if enable_archive
     '-DBACKEND_USES_GVFS=1',
   ]
 
-  programs += [['gvfsd-archive', {'sources': files('gvfsbackendarchive.c'), 'dependencies': 
[libarchive_dep], 'c_args': cflags}]]
+  programs += {'gvfsd-archive': {'sources': files('gvfsbackendarchive.c'), 'dependencies': [libarchive_dep], 
'c_args': cflags}}
   mounts += ['archive']
 endif
 
@@ -337,7 +337,7 @@ if enable_cdda
     '-DMAX_JOB_THREADS=1',
   ]
 
-  programs += [['gvfsd-cdda', {'sources': files('gvfsbackendcdda.c'), 'dependencies': deps, 'c_args': 
cflags}]]
+  programs += {'gvfsd-cdda': {'sources': files('gvfsbackendcdda.c'), 'dependencies': deps, 'c_args': cflags}}
   mounts += ['cdda']
 endif
 
@@ -354,7 +354,7 @@ if enable_admin
     '-DMOUNTABLE_DBUS_NAME=' + gvfs_namespace + '.mountpoint_admin',
   ]
 
-  programs += [['gvfsd-admin', {'sources': files('gvfsbackendadmin.c'), 'dependencies': deps, 'c_args': 
cflags}]]
+  programs += {'gvfsd-admin': {'sources': files('gvfsbackendadmin.c'), 'dependencies': deps, 'c_args': 
cflags}}
   mounts += ['admin']
 
   policy = gvfs_namespace + '.file-operations.policy'
@@ -399,7 +399,7 @@ if enable_google
     '-DBACKEND_TYPES="google-drive", G_VFS_TYPE_BACKEND_GOOGLE,',
   ]
 
-  programs += [['gvfsd-google', {'sources': files('gvfsbackendgoogle.c'), 'dependencies': deps, 'c_args': 
cflags}]]
+  programs += {'gvfsd-google': {'sources': files('gvfsbackendgoogle.c'), 'dependencies': deps, 'c_args': 
cflags}}
   mounts += ['google']
 endif
 
@@ -417,7 +417,7 @@ if enable_gphoto2
     '-DMAX_JOB_THREADS=1',
   ]
 
-  programs += [['gvfsd-gphoto2', {'sources': files('gvfsbackendgphoto2.c'), 'dependencies': deps, 'c_args': 
cflags}]]
+  programs += {'gvfsd-gphoto2': {'sources': files('gvfsbackendgphoto2.c'), 'dependencies': deps, 'c_args': 
cflags}}
   mounts += ['gphoto2']
 endif
 
@@ -438,7 +438,7 @@ if enable_mtp
     deps += libusb_dep
   endif
 
-  programs += [['gvfsd-mtp', {'sources': files('gvfsbackendmtp.c'), 'dependencies': deps, 'c_args': cflags}]]
+  programs += {'gvfsd-mtp': {'sources': files('gvfsbackendmtp.c'), 'dependencies': deps, 'c_args': cflags}}
   mounts += ['mtp']
 endif
 
@@ -461,7 +461,7 @@ if enable_http
     '-DMOUNTABLE_DBUS_NAME=' + gvfs_namespace + '.mountpoint_http',
   ]
 
-  programs += [['gvfsd-http', {'sources': sources, 'dependencies': deps, 'c_args': cflags}]]
+  programs += {'gvfsd-http': {'sources': sources, 'dependencies': deps, 'c_args': cflags}}
   mounts += ['http']
 
   cflags = [
@@ -480,7 +480,7 @@ if enable_http
     cflags += '-DBACKEND_TYPES="dav", G_VFS_TYPE_BACKEND_DAV,'
   endif
 
-  programs += [['gvfsd-dav', {'sources': sources + files('gvfsbackenddav.c'), 'dependencies': deps, 
'c_args': cflags}]]
+  programs += {'gvfsd-dav': {'sources': sources + files('gvfsbackenddav.c'), 'dependencies': deps, 'c_args': 
cflags}}
   mounts += ['dav']
 endif
 
@@ -498,7 +498,7 @@ if enable_afc
     '-DBACKEND_USES_GVFS=1',
   ]
 
-  programs += [['gvfsd-afc', {'sources': files('gvfsbackendafc.c'), 'dependencies': deps, 'c_args': cflags}]]
+  programs += {'gvfsd-afc': {'sources': files('gvfsbackendafc.c'), 'dependencies': deps, 'c_args': cflags}}
   mounts += ['afc']
 endif
 
@@ -523,7 +523,7 @@ if enable_afp
     '-DMAX_JOB_THREADS=1',
   ]
 
-  programs += [['gvfsd-afp', {'sources': common_sources + files('gvfsbackendafp.c'), 'dependencies': deps, 
'c_args': cflags}]]
+  programs += {'gvfsd-afp': {'sources': common_sources + files('gvfsbackendafp.c'), 'dependencies': deps, 
'c_args': cflags}}
   mounts += ['afp']
 
   cflags = [
@@ -533,7 +533,7 @@ if enable_afp
     '-DMAX_JOB_THREADS=1',
   ]
 
-  programs += [['gvfsd-afp-browse', {'sources': common_sources + files('gvfsbackendafpbrowse.c'), 
'dependencies': deps, 'c_args': cflags}]]
+  programs += {'gvfsd-afp-browse': {'sources': common_sources + files('gvfsbackendafpbrowse.c'), 
'dependencies': deps, 'c_args': cflags}}
   mounts += ['afp-browse']
 endif
 
@@ -545,12 +545,11 @@ if enable_nfs
     '-DMAX_JOB_THREADS=1',
   ]
 
-  programs += [['gvfsd-nfs', {'sources': files('gvfsbackendnfs.c'), 'dependencies': [libnfs_dep], 'c_args': 
cflags}]]
+  programs += {'gvfsd-nfs': {'sources': files('gvfsbackendnfs.c'), 'dependencies': [libnfs_dep], 'c_args': 
cflags}}
   mounts += ['nfs']
 endif
 
-foreach program: programs
-  options = program[1]
+foreach program, options: programs
   kwargs = {
     'sources': daemon_main_sources + options.get('sources', []),
     'dependencies': [libgvfsdaemon_dep] + options.get('dependencies', []),
@@ -558,7 +557,7 @@ foreach program: programs
   }
 
   executable(
-    program[0],
+    program,
     include_directories: top_inc,
     kwargs: kwargs,
     install: true,
diff --git a/man/meson.build b/man/meson.build
index a333194a..f64da677 100644
--- a/man/meson.build
+++ b/man/meson.build
@@ -14,20 +14,20 @@ xsltproc_cmd = [
   '@INPUT@',
 ]
 
-mans = [
-  ['gvfs', '7'],
-  ['gvfsd', '1'],
-  ['gvfsd-fuse', '1'],
-  ['gvfsd-metadata', '1'],
-]
+mans = {
+  'gvfs': '7',
+  'gvfsd': '1',
+  'gvfsd-fuse': '1',
+  'gvfsd-metadata': '1',
+}
 
-foreach man: mans
+foreach program, section: mans
   custom_target(
-    man[0] + man[1],
-    input: man[0] + '.xml',
-    output: '@BASENAME@.' + man[1],
+    program + section,
+    input: program + '.xml',
+    output: '@BASENAME@.' + section,
     command: xsltproc_cmd,
     install: true,
-    install_dir: gvfs_mandir / ('man' + man[1]),
+    install_dir: gvfs_mandir / ('man' + section),
   )
 endforeach
diff --git a/meson.build b/meson.build
index 52188993..c82b3aba 100644
--- a/meson.build
+++ b/meson.build
@@ -44,16 +44,16 @@ cc = meson.get_compiler('c')
 config_h = configuration_data()
 
 # defines
-set_defines = [
+set_defines = {
   # package
-  ['PACKAGE_STRING', '@0@ @1@'.format(gvfs_name, gvfs_version)],
-  ['VERSION', gvfs_version],
+  'PACKAGE_STRING': '@0@ @1@'.format(gvfs_name, gvfs_version),
+  'VERSION': gvfs_version,
   # i18n
-  ['GETTEXT_PACKAGE', gvfs_name],
-]
+  'GETTEXT_PACKAGE': gvfs_name,
+}
 
-foreach define: set_defines
-  config_h.set_quoted(define[0], define[1])
+foreach define, value: set_defines
+  config_h.set_quoted(define, value)
 endforeach
 
 # Globally define_GNU_SOURCE and therefore enable the GNU extensions
@@ -179,17 +179,17 @@ foreach name: ['mkdev', 'sysmacros']
 endforeach
 
 # types
-check_types = [
+check_types = {
   # type, fallback type
-  ['gid_t', 'int'],
-  ['pid_t', 'int'],
-  ['size_t', 'unsigned int'],
-  ['uid_t', 'int'],
-]
-
-foreach type: check_types
-  if not cc.has_type(type[0], prefix: '#include<sys/types.h>')
-    config_h.set(type[0], type[1])
+  'gid_t': 'int',
+  'pid_t': 'int',
+  'size_t': 'unsigned int',
+  'uid_t': 'int',
+}
+
+foreach type, value: check_types
+  if not cc.has_type(type, prefix: '#include<sys/types.h>')
+    config_h.set(type, value)
   endif
 endforeach
 
diff --git a/monitor/meson.build b/monitor/meson.build
index c86bb483..86b2feac 100644
--- a/monitor/meson.build
+++ b/monitor/meson.build
@@ -1,33 +1,33 @@
 subdir('proxy')
 
 # [[service name suffix, install monitor test data]]
-monitors = []
+monitors = {}
 
 if enable_afc
-  monitors += [['Afc', true]]
+  monitors += {'Afc': true}
 endif
 
 if enable_goa
-  monitors += [['Goa', false]]
+  monitors += {'Goa': false}
 endif
 
 if enable_gphoto2
-  monitors += [['GPhoto2', true]]
+  monitors += {'GPhoto2': true}
 endif
 
 if enable_mtp
-  monitors += [['MTP', false]]
+  monitors += {'MTP': false}
 endif
 
 if enable_udisks2
-  monitors += [['UDisks2', true]]
+  monitors += {'UDisks2': true}
 endif
 
 monitors_test_data = []
-foreach monitor: monitors
-  monitor_name = monitor[0].to_lower()
+foreach monitor, monitor_test: monitors
+  monitor_name = monitor.to_lower()
 
-  dbus_service = '@0@.@1@VolumeMonitor'.format(gvfs_namespace, monitor[0])
+  dbus_service = '@0@.@1@VolumeMonitor'.format(gvfs_namespace, monitor)
   dbus_exec = 'gvfs-@0@-volume-monitor'.format(monitor_name)
   dbus_systemd_service = ''
 
@@ -66,7 +66,7 @@ foreach monitor: monitors
     install_dir: dbus_session_bus_services_dir,
   )
 
-  if monitor[1]
+  if monitor_test
     monitors_test_data += [monitor_data, monitor_service]
   endif
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]