Re: [PATCH 3/6] meson: do a full usage-based compile check for sysinfo
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Apr 22, 2025, 07:31 UTC
- Message-ID
- <aAdF1MvGJcqfpI4p@pks.im>
- In-Reply-To
- <20250421175247.240971-3-eschwartz@gentoo.org>
On Mon, Apr 21, 2025 at 01:51:47PM -0400, Eli Schwartz wrote:
Show 22 quoted lines
> diff --git a/meson.build b/meson.build
> index f5d9ffcd7f..8037e536dd 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1058,10 +1058,6 @@ if compiler.has_header('alloca.h')
> libgit_c_args += '-DHAVE_ALLOCA_H'
> endif
>
> -if compiler.has_header('sys/sysinfo.h')
> - libgit_c_args += '-DHAVE_SYSINFO'
> -endif
> -
> # Windows has libgen.h and a basename implementation, but we still need our own
> # implementation to threat things like drive prefixes specially.
> if host_machine.system() == 'windows' or not compiler.has_header('libgen.h')
> @@ -1272,6 +1268,10 @@ if host_machine.system() != 'windows'
> endif
> endif
>
> +if compiler.has_member('struct sysinfo', 'totalram', prefix: '#include <sys/sysinfo.h>')
> + libgit_c_args += '-DHAVE_SYSINFO'
> +endifMakes sense. We do have c9a51775a36 (builtin/gc.c: correct RAM calculation when using sysinfo, 2025-04-17) in flight which also causes us to use `struct sysinfo::mem_unit`. But I think it's fine to check for only one of the members here.
Patrick