From: Yu Watanabe Date: Fri, 28 Feb 2025 16:05:05 +0000 (+0900) Subject: meson: cleanup glibc header checkers X-Git-Tag: v258-rc1~1195^2~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b5337d1d524545e9938391e871f39cccc1d1fc14;p=thirdparty%2Fsystemd.git meson: cleanup glibc header checkers --- diff --git a/meson.build b/meson.build index 94021034016..f31f6372470 100644 --- a/meson.build +++ b/meson.build @@ -565,85 +565,61 @@ long_max = cc.compute_int( assert(long_max > 100000) conf.set_quoted('LONG_MAX_STR', '@0@'.format(long_max)) -decl_headers = ''' -#include -#include -#include -''' - -foreach decl : [ - 'struct mount_attr', - 'struct dirent64', - 'struct sched_attr', - ] - +foreach ident : [ + ['struct dirent64', '''##include '''], # for musl, but only for compile time check, see dirent-util.h + ['struct mount_attr', '''#include '''], # since glibc-2.36 + ['struct sched_attr', '''#include '''], # since glibc-2.41 +] # We get -1 if the size cannot be determined - have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0 + have = cc.sizeof(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE') > 0 - if decl == 'struct mount_attr' + if ident[0] == 'struct mount_attr' if have want_linux_fs_h = false else - have = cc.sizeof(decl, - prefix : decl_headers + '#include ', + have = cc.sizeof(ident[0], + prefix : ident[1] + '\n#include ', args : '-D_GNU_SOURCE') > 0 want_linux_fs_h = have endif endif - conf.set10('HAVE_' + decl.underscorify().to_upper(), have) + conf.set10('HAVE_' + ident[0].underscorify().to_upper(), have) endforeach conf.set10('WANT_LINUX_FS_H', want_linux_fs_h) foreach ident : [ - ['fchmodat2', '''#include - #include '''], # no known header declares fchmodat2 - ['pivot_root', '''#include - #include '''], # no known header declares pivot_root - ['ioprio_get', '''#include '''], # no known header declares ioprio_get - ['ioprio_set', '''#include '''], # no known header declares ioprio_set - ['sched_setattr', '''#include '''], - ['kcmp', '''#include '''], - ['keyctl', '''#include - #include '''], - ['bpf', '''#include - #include '''], - ['set_mempolicy', '''#include - #include '''], - ['get_mempolicy', '''#include - #include '''], - ['pidfd_send_signal', '''#include - #include - #include - #include - #include '''], - ['pidfd_open', '''#include - #include - #include - #include - #include '''], - ['rt_tgsigqueueinfo', '''#include - #include - #include - #include '''], - ['mallinfo', '''#include '''], - ['mallinfo2', '''#include '''], - ['execveat', '''#include '''], - ['close_range', '''#include '''], - ['epoll_pwait2', '''#include '''], - ['mount_setattr', '''#include '''], - ['move_mount', '''#include '''], - ['open_tree', '''#include '''], - ['fsopen', '''#include '''], - ['fsconfig', '''#include '''], - ['fsmount', '''#include '''], - ['getdents64', '''#include '''], - ['pidfd_spawn', '''#include '''], - ['strerrorname_np', '''#include '''], - ['quotactl_fd', '''#include '''], - ['setxattrat', '''#include '''], # no known header declares setxattrat - ['removexattrat', '''#include '''], # no known header declares removexattrat + ['set_mempolicy', '''#include '''], # declared at numaif.h provided by libnuma, which we do not use + ['get_mempolicy', '''#include '''], # declared at numaif.h provided by libnuma, which we do not use + ['getdents64', '''#include '''], # since glibc-2.30, but check it for musl + ['strerrorname_np', '''#include '''], # since glibc-2.32 + ['mallinfo', '''#include '''], # deprecated since glibc-2.33, but check it for musl + ['mallinfo2', '''#include '''], # since glibc-2.33 + ['execveat', '''#include '''], # since glibc-2.34 + ['close_range', '''#include '''], # since glibc-2.34 + ['epoll_pwait2', '''#include '''], # since glibc-2.35 + ['fsconfig', '''#include '''], # since glibc-2.36 + ['fsmount', '''#include '''], # since glibc-2.36 + ['fsopen', '''#include '''], # since glibc-2.36 + ['mount_setattr', '''#include '''], # since glibc-2.36 + ['move_mount', '''#include '''], # since glibc-2.36 + ['open_tree', '''#include '''], # since glibc-2.36 + ['pidfd_open', '''#include '''], # since glibc-2.36 + ['pidfd_send_signal', '''#include '''], # since glibc-2.36 + ['pidfd_spawn', '''#include '''], # since glibc-2.39 + ['sched_setattr', '''#include '''], # since glibc-2.41 + ['ioprio_get', '''#include '''], # no known header declares ioprio_get + ['ioprio_set', '''#include '''], # no known header declares ioprio_set + ['rt_tgsigqueueinfo', '''#include '''], # no known header declares rt_tgsigqueueinfo + ['quotactl_fd', '''#include '''], # no known header declares quotactl_fd + ['fchmodat2', '''#include '''], # no known header declares fchmodat2 + ['bpf', '''#include '''], # no known header declares bpf + ['kcmp', '''#include '''], # no known header declares kcmp + ['keyctl', '''#include '''], # no known header declares keyctl + ['pivot_root', '''#include '''], # no known header declares pivot_root + ['setxattrat', '''#include '''], # no known header declares setxattrat + ['removexattrat', '''#include '''], # no known header declares removexattrat ] have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')