]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - meson.build
resolve: rename Link.name -> Link.ifname
[thirdparty/systemd.git] / meson.build
index 795ea1f5e4e6b2c17eb2c0d0641322a676bd5345..15e3394b91d5e84d2e040eede8dbfc9cdac446c5 100644 (file)
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: LGPL-2.1+
 
 project('systemd', 'c',
-        version : '241',
+        version : '242',
         license : 'LGPLv2+',
         default_options: [
                 'c_std=gnu99',
@@ -12,8 +12,8 @@ project('systemd', 'c',
         meson_version : '>= 0.46',
        )
 
-libsystemd_version = '0.25.0'
-libudev_version = '1.6.13'
+libsystemd_version = '0.26.0'
+libudev_version = '1.6.14'
 
 # We need the same data in two different formats, ugh!
 # Also, for hysterical reasons, we use different variable
@@ -383,6 +383,16 @@ if get_option('buildtype') != 'debug'
         possible_link_flags += '-Wl,--gc-sections'
 endif
 
+if get_option('b_ndebug') == 'true'
+        # With asserts disabled with get a bunch of warnings about variables which
+        # are used only in the asserts. This is not useful at all, so let's just silence
+        # those warnings.
+        possible_cc_flags += [
+                '-Wno-unused-variable',
+                '-Wno-unused-but-set-variable',
+        ]
+endif
+
 add_project_arguments(cc.get_supported_arguments(possible_cc_flags), language : 'c')
 add_project_link_arguments(cc.get_supported_link_arguments(possible_link_flags), language : 'c')
 
@@ -444,96 +454,6 @@ endforeach
 
 conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h)
 
-foreach decl : [['ETHTOOL_LINK_MODE_10baseT_Half_BIT',      'linux/ethtool.h'],
-                ['ETHTOOL_LINK_MODE_25000baseCR_Full_BIT',  'linux/ethtool.h'],
-                ['ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT', 'linux/ethtool.h'],
-                ['ETHTOOL_LINK_MODE_1000baseX_Full_BIT',    'linux/ethtool.h'],
-                ['ETHTOOL_LINK_MODE_2500baseT_Full_BIT',    'linux/ethtool.h'],
-                ['ETHTOOL_LINK_MODE_FEC_NONE_BIT',          'linux/ethtool.h'],
-                ['FRA_TUN_ID',                              'linux/fib_rules.h'],
-                ['FRA_SUPPRESS_PREFIXLEN',                  'linux/fib_rules.h'],
-                ['FRA_PAD',                                 'linux/fib_rules.h'],
-                ['FRA_L3MDEV',                              'linux/fib_rules.h'],
-                ['FRA_UID_RANGE',                           'linux/fib_rules.h'],
-                ['FRA_DPORT_RANGE',                         'linux/fib_rules.h'],
-                ['FOU_ATTR_REMCSUM_NOPARTIAL',              'linux/fou.h'],
-                ['FOU_CMD_GET',                             'linux/fou.h'],
-                ['IFA_FLAGS',                               'linux/if_addr.h'],
-                ['IFLA_BRIDGE_VLAN_TUNNEL_INFO',            'linux/if_bridge.h'],
-                ['IFLA_INET6_ADDR_GEN_MODE',                'linux/if_link.h'],
-                ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY',        'linux/if_link.h'],
-                ['IN6_ADDR_GEN_MODE_RANDOM',                'linux/if_link.h'],
-                ['IFLA_IPVLAN_MODE',                        'linux/if_link.h'],
-                ['IPVLAN_MODE_L3S',                         'linux/if_link.h'],
-                ['IFLA_IPVLAN_FLAGS',                       'linux/if_link.h'],
-                ['IFLA_PHYS_PORT_ID',                       'linux/if_link.h'],
-                ['IFLA_CARRIER_CHANGES',                    'linux/if_link.h'],
-                ['IFLA_PHYS_SWITCH_ID',                     'linux/if_link.h'],
-                ['IFLA_LINK_NETNSID',                       'linux/if_link.h'],
-                ['IFLA_PHYS_PORT_NAME',                     'linux/if_link.h'],
-                ['IFLA_PROTO_DOWN',                         'linux/if_link.h'],
-                ['IFLA_GSO_MAX_SIZE',                       'linux/if_link.h'],
-                ['IFLA_PAD',                                'linux/if_link.h'],
-                ['IFLA_XDP',                                'linux/if_link.h'],
-                ['IFLA_EVENT',                              'linux/if_link.h'],
-                ['IFLA_IF_NETNSID',                         'linux/if_link.h'],
-                ['IFLA_TARGET_NETNSID',                     'linux/if_link.h'],
-                ['IFLA_NEW_IFINDEX',                        'linux/if_link.h'],
-                ['IFLA_MAX_MTU',                            'linux/if_link.h'],
-                ['IFLA_BOND_MODE',                          'linux/if_link.h'],
-                ['IFLA_BOND_ACTIVE_SLAVE',                  'linux/if_link.h'],
-                ['IFLA_BOND_AD_INFO',                       'linux/if_link.h'],
-                ['IFLA_BOND_AD_ACTOR_SYSTEM',               'linux/if_link.h'],
-                ['IFLA_BOND_TLB_DYNAMIC_LB',                'linux/if_link.h'],
-                ['IFLA_VXLAN_UDP_ZERO_CSUM6_RX',            'linux/if_link.h'],
-                ['IFLA_VXLAN_REMCSUM_NOPARTIAL',            'linux/if_link.h'],
-                ['IFLA_VXLAN_COLLECT_METADATA',             'linux/if_link.h'],
-                ['IFLA_VXLAN_LABEL',                        'linux/if_link.h'],
-                ['IFLA_VXLAN_GPE',                          'linux/if_link.h'],
-                ['IFLA_VXLAN_TTL_INHERIT',                  'linux/if_link.h'],
-                ['IFLA_GENEVE_TOS',                         'linux/if_link.h'],
-                ['IFLA_GENEVE_COLLECT_METADATA',            'linux/if_link.h'],
-                ['IFLA_GENEVE_REMOTE6',                     'linux/if_link.h'],
-                ['IFLA_GENEVE_UDP_ZERO_CSUM6_RX',           'linux/if_link.h'],
-                ['IFLA_GENEVE_LABEL',                       'linux/if_link.h'],
-                ['IFLA_GENEVE_TTL_INHERIT',                 'linux/if_link.h'],
-                ['IFLA_BR_MAX_AGE',                         'linux/if_link.h'],
-                ['IFLA_BR_PRIORITY',                        'linux/if_link.h'],
-                ['IFLA_BR_VLAN_PROTOCOL',                   'linux/if_link.h'],
-                ['IFLA_BR_VLAN_DEFAULT_PVID',               'linux/if_link.h'],
-                ['IFLA_BR_VLAN_STATS_ENABLED',              'linux/if_link.h'],
-                ['IFLA_BR_MCAST_STATS_ENABLED',             'linux/if_link.h'],
-                ['IFLA_BR_MCAST_MLD_VERSION',               'linux/if_link.h'],
-                ['IFLA_BR_VLAN_STATS_PER_PORT',             'linux/if_link.h'],
-                ['IFLA_BRPORT_LEARNING_SYNC',               'linux/if_link.h'],
-                ['IFLA_BRPORT_PROXYARP_WIFI',               'linux/if_link.h'],
-                ['IFLA_BRPORT_MULTICAST_ROUTER',            'linux/if_link.h'],
-                ['IFLA_BRPORT_PAD',                         'linux/if_link.h'],
-                ['IFLA_BRPORT_MCAST_FLOOD',                 'linux/if_link.h'],
-                ['IFLA_BRPORT_VLAN_TUNNEL',                 'linux/if_link.h'],
-                ['IFLA_BRPORT_BCAST_FLOOD',                 'linux/if_link.h'],
-                ['IFLA_BRPORT_NEIGH_SUPPRESS',              'linux/if_link.h'],
-                ['IFLA_BRPORT_ISOLATED',                    'linux/if_link.h'],
-                ['IFLA_BRPORT_BACKUP_PORT',                 'linux/if_link.h'],
-                ['IFLA_VRF_TABLE',                          'linux/if_link.h'],
-                # if_tunnel.h is buggy and cannot be included on its own
-                ['IFLA_VTI_FWMARK',                         'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['IFLA_IPTUN_ENCAP_DPORT',                  'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['IFLA_IPTUN_COLLECT_METADATA',             'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['IFLA_IPTUN_FWMARK',                       'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['IFLA_GRE_ENCAP_DPORT',                    'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['IFLA_GRE_COLLECT_METADATA',               'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['IFLA_GRE_IGNORE_DF',                      'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['IFLA_GRE_FWMARK',                         'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['IFLA_GRE_ERSPAN_INDEX',                   'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['IFLA_GRE_ERSPAN_HWID',                    'linux/if_tunnel.h', '#include <net/if.h>'],
-                ['LO_FLAGS_PARTSCAN',                       'linux/loop.h'],
-               ]
-        prefix = decl.length() > 2 ? decl[2] : ''
-        have = cc.has_header_symbol(decl[1], decl[0], prefix : prefix)
-        conf.set10('HAVE_' + decl[0], have)
-endforeach
-
 foreach ident : ['secure_getenv', '__secure_getenv']
         conf.set10('HAVE_' + ident.to_upper(), cc.has_function(ident))
 endforeach
@@ -670,11 +590,8 @@ if not cc.has_header('sys/capability.h')
         error('POSIX caps headers not found')
 endif
 foreach header : ['crypt.h',
-                  'linux/btrfs_tree.h',
-                  'linux/fou.h',
                   'linux/memfd.h',
                   'linux/vm_sockets.h',
-                  'linux/can/vxcan.h',
                   'sys/auxv.h',
                   'valgrind/memcheck.h',
                   'valgrind/valgrind.h',
@@ -822,7 +739,9 @@ conf.set10('ENABLE_WHEEL_GROUP', get_option('wheel-group'))
 dev_kvm_mode = get_option('dev-kvm-mode')
 substs.set('DEV_KVM_MODE', dev_kvm_mode)
 conf.set10('DEV_KVM_UACCESS', dev_kvm_mode != '0666')
-substs.set('GROUP_RENDER_MODE', get_option('group-render-mode'))
+group_render_mode = get_option('group-render-mode')
+substs.set('GROUP_RENDER_MODE', group_render_mode)
+conf.set10('GROUP_RENDER_UACCESS', group_render_mode != '0666')
 
 kill_user_processes = get_option('default-kill-user-processes')
 conf.set10('KILL_USER_PROCESSES', kill_user_processes)
@@ -1594,8 +1513,7 @@ foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'],
                         # Note that we link NSS modules with '-z nodelete' so that mempools never get orphaned
                         link_args : ['-Wl,-z,nodelete',
                                      '-shared',
-                                     '-Wl,--version-script=' + version_script_arg,
-                                     '-Wl,--undefined'],
+                                     '-Wl,--version-script=' + version_script_arg],
                         link_with : [libsystemd_static,
                                      libbasic],
                         dependencies : [threads,
@@ -1948,7 +1866,10 @@ else
                                libbasic_gcrypt]
 endif
 
-exe = executable('systemctl', 'src/systemctl/systemctl.c',
+exe = executable('systemctl',
+                 'src/systemctl/systemctl.c',
+                 'src/systemctl/sysv-compat.h',
+                 'src/systemctl/sysv-compat.c',
                  include_directories : includes,
                  link_with : systemctl_link_with,
                  dependencies : [threads,
@@ -2730,7 +2651,8 @@ exe = executable('systemd-nspawn',
                  link_with : [libcore_shared,
                               libnspawn_core,
                               libshared],
-                 dependencies : [libblkid],
+                 dependencies : [libblkid,
+                                 libseccomp],
                  install_rpath : rootlibexecdir,
                  install : true)
 public_programs += exe