gupnp/linux-cm-Fix-IFA_FLAGS-detection.patch
2023-01-19 14:45:08 +08:00

55 lines
2.1 KiB
Diff

From adefe6a3394844f787424d65e5d8aa07d1167c9f Mon Sep 17 00:00:00 2001
From: Jens Georg <mail@jensge.org>
Date: Tue, 25 Oct 2022 23:47:01 +0200
Subject: [PATCH] linux-cm: Fix IFA_FLAGS detection
---
libgupnp/gupnp-linux-context-manager.c | 6 ++++--
meson.build | 8 ++++++++
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/libgupnp/gupnp-linux-context-manager.c b/libgupnp/gupnp-linux-context-manager.c
index 04a464a..fcc0c5a 100644
--- a/libgupnp/gupnp-linux-context-manager.c
+++ b/libgupnp/gupnp-linux-context-manager.c
@@ -126,8 +126,10 @@ dump_rta_attr (sa_family_t family, struct rtattr *rt_attr)
case IFA_BROADCAST: label = "IFA_BROADCAST"; break;
case IFA_ANYCAST: label = "IFA_ANYCAST"; break;
case IFA_CACHEINFO: label = "IFA_CACHEINFO"; break;
- case IFA_MULTICAST: label = "IFA_MULTICAST"; break;
-#if defined(IFA_FLAGS)
+ case IFA_MULTICAST:
+ label = "IFA_MULTICAST";
+ break;
+#if defined(HAVE_IFA_FLAGS)
case IFA_FLAGS: label = "IFA_FLAGS"; break;
#endif
default: label = "Unknown"; break;
diff --git a/meson.build b/meson.build
index 024ef81..a5837a6 100644
--- a/meson.build
+++ b/meson.build
@@ -10,11 +10,19 @@ bindir = join_paths(prefix, get_option('bindir'))
netlink_available = cc.has_header('linux/rtnetlink.h')
ifaddrs_available = cc.has_header('ifaddrs.h')
+ifa_flags_exists = cc.compiles('''#include <linux/if_addr.h>
+int main(int argc, char *argv[])
+{
+ if (IFA_FLAGS) {};
+ return 0;
+}''', name: 'IFA_FLAGS is defined')
+
conf = configuration_data()
conf.set_quoted('VERSION', meson.project_version())
conf.set('HAVE_NETLINK', netlink_available)
conf.set('HAVE_IFADDRS_H', ifaddrs_available)
conf.set('HAVE_LINUX_WIRELESS_H', cc.has_header('linux/wireless.h'))
+conf.set('HAVE_IFA_FLAGS', ifa_flags_exists)
glib_version = '2.66'
add_project_arguments(cc.get_supported_arguments('-Werror=deprecated-declarations'), language: 'c')
--
2.39.0.windows.2