You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.7 KiB

# Since musl doesn't provide error.h we need to check before adding it. If
# error.h is present in system only then we include it else we use err.h.
# Already there exists a bug report for this upstream [1]. The devs are open to
# a custom implementation of error but for now this patch for do it.
#
# [1]: https://github.com/libratbag/libratbag/issues/1253
#
# Closes: https://bugs.gentoo.org/830557
--- a/meson.build
+++ b/meson.build
@@ -74,8 +74,13 @@ dep_libevdev = dependency('libevdev')
dep_glib = dependency('glib-2.0')
dep_json_glib = dependency('json-glib-1.0')
dep_lm = cc.find_library('m')
+error_exists = cc.has_header('error.h')
dep_unistring = cc.find_library('unistring')
+if error_exists
+ add_global_arguments('-DHAVE_ERROR_H', language : 'c')
+endif
+
if get_option('logind-provider') == 'elogind'
dep_logind = dependency('libelogind', version : '>=227')
else
--- a/tools/hidpp10-dump-page.c
+++ b/tools/hidpp10-dump-page.c
@@ -23,7 +23,12 @@
#include <config.h>
#include <errno.h>
+#ifdef HAVE_ERROR_H
#include <error.h>
+#else
+#include <err.h>
+#define error(status, errno, ...) err(status, __VA_ARGS__)
+#endif
#include <fcntl.h>
#include <hidpp10.h>
--- a/tools/hidpp20-dump-page.c
+++ b/tools/hidpp20-dump-page.c
@@ -23,7 +23,12 @@
#include <config.h>
#include <errno.h>
+#ifdef HAVE_ERROR_H
#include <error.h>
+#else
+#include <err.h>
+#define error(status, errno, ...) err(status, __VA_ARGS__)
+#endif
#include <fcntl.h>
#include <hidpp20.h>
--- a/tools/hidpp20-reset.c
+++ b/tools/hidpp20-reset.c
@@ -23,7 +23,12 @@
#include <config.h>
#include <errno.h>
+#ifdef HAVE_ERROR_H
#include <error.h>
+#else
+#include <err.h>
+#define error(status, errno, ...) err(status, __VA_ARGS__)
+#endif
#include <fcntl.h>
#include <hidpp20.h>