On 09/15/2014 07:11 AM, Pádraig Brady wrote:
Did you forget to git add m4/qsort_r.m4 ?

Oops, yes I did.  Thanks for catching that.  I added it as per attached.


>From 41473cf94a0e9eef96870b76eed9070f87d0c01a Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email protected]>
Date: Mon, 15 Sep 2014 08:59:18 -0700
Subject: [PATCH] qsort_r: new module, for GNU-style qsort_r

* m4/qsort_r.m4: New file.  Forgot to add this earlier.
---
 ChangeLog     |  5 +++++
 m4/qsort_r.m4 | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)
 create mode 100644 m4/qsort_r.m4

diff --git a/ChangeLog b/ChangeLog
index 3748237..689d21b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-09-15  Paul Eggert  <[email protected]>
+
+	qsort_r: new module, for GNU-style qsort_r
+	* m4/qsort_r.m4: New file.  Forgot to add this earlier.
+
 2014-09-15  Werner LEMBERG  <[email protected]>
 
 	strerror_r-posix: support compilation with C++
diff --git a/m4/qsort_r.m4 b/m4/qsort_r.m4
new file mode 100644
index 0000000..c4576f4
--- /dev/null
+++ b/m4/qsort_r.m4
@@ -0,0 +1,48 @@
+dnl Reentrant sort function.
+
+dnl Copyright 2014 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Written by Paul Eggert.
+
+AC_DEFUN([gl_FUNC_QSORT_R],
+[
+  dnl Persuade glibc to declare qsort_r.
+  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
+
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
+
+  AC_CACHE_CHECK([for qsort_r signature], [gl_cv_qsort_r_signature],
+    [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM([[#include <stdlib.h>
+                          void qsort_r (void *, size_t, size_t,
+                                        int (*) (void const *, void const *,
+                                                 void *),
+                                        void *);
+                          void (*p) (void *, size_t, size_t,
+                                     int (*) (void const *, void const *,
+                                              void *),
+                                     void *) = qsort_r;
+                        ]])],
+       [gl_cv_qsort_r_signature=GNU],
+       [AC_LINK_IFELSE(
+          [AC_LANG_PROGRAM([[#include <stdlib.h>
+                             void qsort_r (void *, size_t, size_t, void *,
+                                           int (*) (void *,
+                                                    void const *,
+                                                    void const *));
+                             void (*p) (void *, size_t, size_t, void *,
+                                        int (*) (void *, void const *,
+                                                 void const *)) = qsort_r;
+                           ]])],
+          [gl_cv_qsort_r_signature=BSD],
+          [gl_cv_qsort_r_signature=no])])])
+
+  case $gl_cv_qsort_r_signature in
+    GNU) HAVE_QSORT_R=1;;
+    BSD) HAVE_QSORT_R=1 REPLACE_QSORT_R=1;;
+    *)   HAVE_QSORT_R=0 REPLACE_QSORT_R=1;;
+  esac
+])
-- 
1.9.3

Reply via email to