summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Jeddeloh <andrewjeddeloh@gmail.com>2016-06-14 02:09:06 -0700
committerLennart Poettering <lennart@poettering.net>2016-06-14 11:09:06 +0200
commitf4f5e50a0ab828991ff54e7013acc6917a9510fa (patch)
treeef3edb64aed6aab084b7bf126298a452d0b72c50
parent1be3f471e7b2c379b90207e02d95a3684329d5aa (diff)
build: fix missing symbol for old kernel headers (#3530)
Fix issue where IN6_ADDR_GEN_MODE_STABLE_PRIVACY is undefined but IFLA_INET6_ADDR_GEN_MODE is defined and thus the former does not get fixed in missing.h. This occurs with kernel headers new enough to have the IFLA_INET6_ADDR_GEN_MODE but old enough to not yet have IN6_ADDR_GEN_MODE_STABLE_PRIVACY (e.g. 3.18).
-rw-r--r--configure.ac1
-rw-r--r--src/basic/missing.h3
2 files changed, 4 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 329861a291..ffc6eedcdd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -324,6 +324,7 @@ AC_CHECK_TYPES([char16_t, char32_t, key_serial_t],
]])
AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
+ IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
IFLA_MACVLAN_FLAGS,
IFLA_IPVLAN_MODE,
IFLA_VTI_REMOTE,
diff --git a/src/basic/missing.h b/src/basic/missing.h
index 8b977871e9..53dfa1c801 100644
--- a/src/basic/missing.h
+++ b/src/basic/missing.h
@@ -577,6 +577,9 @@ struct btrfs_ioctl_quota_ctl_args {
#define IN6_ADDR_GEN_MODE_EUI64 0
#define IN6_ADDR_GEN_MODE_NONE 1
+#endif
+
+#if !HAVE_DECL_IN6_ADDR_GEN_MODE_STABLE_PRIVACY
#define IN6_ADDR_GEN_MODE_STABLE_PRIVACY 2
#endif