Hi
On 2020년 01월 10일 00:28, Niclas Zeising wrote:
On 2020-01-09 16:18, Jani Nikula wrote:
On Thu, 09 Jan 2020, Seung-Woo Kim sw0312.kim@samsung.com wrote:
The <sys/sysctl.h> header is only required FreeBSD and GNU libc 2.30 starts to warn about Linux specific <sys/sysctl.h> header deprecation. Only include <sys/sysctl.h> for FreeBSD.
Signed-off-by: Seung-Woo Kim sw0312.kim@samsung.com
xf86drmMode.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/xf86drmMode.c b/xf86drmMode.c index 207d7be..ff1d31d 100644 --- a/xf86drmMode.c +++ b/xf86drmMode.c @@ -42,9 +42,11 @@ #include <stdint.h> #include <stdlib.h> #include <sys/ioctl.h> +#if defined (__FreeBSD__) || defined (__FreeBSD_kernel__) #ifdef HAVE_SYS_SYSCTL_H
Not that I know anything about this, but shouldn't you instead fix HAVE_SYS_SYSCTL_H definition in configure stage to only be enabled on FreeBSD?
BR, Jani.
#include <sys/sysctl.h> #endif +#endif /* defined (__FreeBSD__) || defined (__FreeBSD_kernel__) */ #include <stdio.h> #include <stdbool.h>
Hi! This fix looks OK on FreeBSD (I haven't had time to test), however, as has been pointed out, perhaps the change should go into the meson build script or configure instead.
Ok, I will try to fix in build side instead of include itself.
I don't know if other OSes (other BSDs primarily) need this as well. I'm pretty sure it's needed on DragonflyBSD at least. Perhaps keep the include for everything except Linux for the time being?
As far as I checked, sysctlbyname() called only with FreeBSD build flag is only function defined in <sys/sysctl.h> at least for xf86drmMode.c, but I missed something. The header deprecation is done from Linux, so it seems fine removing the header include only for Linux.
Best Regards, - Seung-Woo Kim
Regards