From bcee84c3e497bee3e76c3f02cdc9e7059efa87ce Mon Sep 17 00:00:00 2001 From: nia Date: Tue, 7 Dec 2021 11:15:50 +0100 Subject: [PATCH] config/wscons: Fix build and add support for NetBSD Signed-off-by: Nia Alarie --- config/meson.build | 2 +- config/wscons.c | 14 ++++++++++++-- include/meson.build | 1 + 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/config/meson.build b/config/meson.build index 2b5ab18bb..db7c49346 100644 --- a/config/meson.build +++ b/config/meson.build @@ -19,7 +19,7 @@ if build_udev config_dep += udev_dep endif -if host_machine.system() == 'openbsd' +if host_machine.system() == 'netbsd' or host_machine.system() == 'openbsd' srcs_config += 'wscons.c' endif diff --git a/config/wscons.c b/config/wscons.c index ee4567590..c0148f0e0 100644 --- a/config/wscons.c +++ b/config/wscons.c @@ -30,6 +30,7 @@ #include #include +#include #include #include @@ -54,7 +55,10 @@ struct nameint { char *name; } kbdenc[] = { KB_OVRENC, - KB_ENCTAB, + KB_ENCTAB +#ifndef __NetBSD__ + , +#endif {0} }; @@ -220,7 +224,11 @@ wscons_add_pointers(void) for (i = 0; i < 4; i++) { snprintf(devname, sizeof(devname), "%s%d", WSCONS_MOUSE_PREFIX, i); LogMessageVerb(X_INFO, 10, "wsmouse: checking %s\n", devname); - fd = open_device(devnamem O_RDWR | O_NONBLOCK | O_EXCL); +#ifdef HAVE_OPEN_DEVICE + fd = open_device(devname, O_RDWR | O_NONBLOCK | O_EXCL); +#else + fd = open(devname, O_RDWR | O_NONBLOCK | O_EXCL); +#endif if (fd == -1) { LogMessageVerb(X_WARNING, 10, "%s: %s\n", devname, strerror(errno)); continue; @@ -233,9 +241,11 @@ wscons_add_pointers(void) } close(fd); switch (wsmouse_type) { +#ifdef WSMOUSE_TYPE_SYNAPTICS case WSMOUSE_TYPE_SYNAPTICS: wscons_add_pointer(devname, "synaptics", ATTR_TOUCHPAD); break; +#endif case WSMOUSE_TYPE_TPANEL: wscons_add_pointer(devname, "ws", ATTR_TOUCHSCREEN); break; diff --git a/include/meson.build b/include/meson.build index 309a5d5b0..21939c4ca 100644 --- a/include/meson.build +++ b/include/meson.build @@ -157,6 +157,7 @@ conf_data.set('HAVE_GETZONEID', cc.has_function('getzoneid') ? '1' : false) conf_data.set('HAVE_MEMFD_CREATE', cc.has_function('memfd_create') ? '1' : false) conf_data.set('HAVE_MKOSTEMP', cc.has_function('mkostemp') ? '1' : false) conf_data.set('HAVE_MMAP', cc.has_function('mmap') ? '1' : false) +conf_data.set('HAVE_OPEN_DEVICE', cc.has_function('open_device') ? '1' : false) conf_data.set('HAVE_POLL', cc.has_function('poll') ? '1' : false) conf_data.set('HAVE_POLLSET_CREATE', cc.has_function('pollset_create') ? '1' : false) conf_data.set('HAVE_POSIX_FALLOCATE', cc.has_function('posix_fallocate') ? '1' : false)