Re: [PATCH] build: fix FreeBSD build when sysinfo compat library installed
Eric Sunshine <sunshine@sunshineco.com> writes:
Show 20 quoted lines
>> need to link a separate library (-lsysinfo). (This would require
>> a similar change to meson.build).
>>
>> - change the order of the preprocessor conditionals in the total_ram()
>> function in 'builtin/gc.c', so that the *BSD sysctl() function
>> (in the HAVE_BSD_SYSCTL block) takes priority over the sysinfo()
>> function (in the HAVE_SYSINFO block).
>>
>> - suppress the setting of HAVE_SYSINFO when HAVE_BSD_SYSCTL has been
>> defined (in both configure.ac and meson.build).
>> ...
>> The second solution would only be required by the autoconf and meson
>> build systems, the Makefile already sets the build variables to the
>> required values (since they are not 'auto-detected').
> ...
> The final solution is almost certainly good enough (and is definitely
> simple), although the second solution has the benefit that it "fixes"
> the problem once and for all even if someone defines both
> HAVE_BSD_SYSCTL and HAVE_SYSINFO (say, in config.mak), assuming I'm
> understanding correctly.
Yeah, I think I agree with this assessment.
Show 8 quoted lines
>> In order to fix the FreeBSD build, move the sysinfo() check after the
>> determination of the HAVE_BSD_SYSCTL build variable, suppressing the
>> setting of HAVE_SYSINFO if HAVE_BSD_SYSCTL is defined. Apply this logic
>> to both the configure.ac and meson.build file.
>
> Nicely described. I wasn't really following along with the discussion,
> but this commit message summarizes the situation well, so I can
> understand the reason for the change and (I hope) the implications.