]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: compat: automatically detect support for crypt_r()
authorWilly Tarreau <w@1wt.eu>
Mon, 29 Oct 2018 18:14:14 +0000 (19:14 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 29 Oct 2018 18:14:14 +0000 (19:14 +0100)
glibc >= 2.2 and FreeBSD >= 12.0 support crypt_r(), let's detect this
and set a macro HA_HAVE_CRYPT_R for this.

include/common/compat.h

index 59bc6c7e9f6e2d7aa5872776e896ce4f1303a72d..8a7bbd5bf304b4ea8a3cf559e7030c506a6c6646 100644 (file)
 #include <strings.h>
 #endif
 
+/* crypt_r() has been present in glibc since 2.2 and on FreeBSD since 12.0
+ * (12000002). No other OS makes any mention of it for now. Feel free to add
+ * valid known combinations below if needed to relax the crypt() lock when
+ * using threads.
+ */
+#if (defined(__GNU_LIBRARY__) && (__GLIBC__ > 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) \
+ || (defined(__FreeBSD__) && __FreeBSD_version >= 1200002)
+#define HA_HAVE_CRYPT_R
+#endif
+
 #endif /* _COMMON_COMPAT_H */
 
 /*