[committed] libstdc++: Fix autoconf check for O_NONBLOCK in <fcntl.h>
Jonathan Wakely
jwakely@redhat.com
Wed Aug 28 20:43:06 GMT 2024
Tested x86_64-linux. Pushed to trunk.
-- >8 --
I misused the AC_CHECK_DECL macro, assuming that it behaved like
AC_CHECK_DECLS and always defined a HAVE_xxx macro if the decl was
found. Instead, the [action-if-found] shell commands are needed to
defined HAVE_O_NONBLOCK explicitly.
libstdc++-v3/ChangeLog:
* configure.ac: Fix check for O_NONBLOCK.
* config.h.in: Regenerate.
* configure: Regenerate.
---
libstdc++-v3/config.h.in | 3 +++
libstdc++-v3/configure | 2 ++
libstdc++-v3/configure.ac | 5 ++++-
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
index 486ba450749..91e920044ee 100644
--- a/libstdc++-v3/config.h.in
+++ b/libstdc++-v3/config.h.in
@@ -302,6 +302,9 @@
/* Define if openat is available in <fcntl.h>. */
#undef HAVE_OPENAT
+/* Define if O_NONBLOCK is defined in <fcntl.h> */
+#undef HAVE_O_NONBLOCK
+
/* Define if poll is available in <poll.h>. */
#undef HAVE_POLL
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 305675eaa1e..005c4a29fd0 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -54132,6 +54132,8 @@ if test "$ac_cv_have_decl_F_GETFL$ac_cv_have_decl_F_SETFL" = yesyes ; then
"
if test "x$ac_cv_have_decl_O_NONBLOCK" = xyes; then :
+$as_echo "#define HAVE_O_NONBLOCK 1" >>confdefs.h
+
fi
fi
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 4049f54bd5a..a3b257fe652 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -554,7 +554,10 @@ AC_CHECK_HEADERS([fcntl.h sys/ioctl.h sys/socket.h sys/uio.h poll.h netdb.h arpa
AC_CHECK_DECL(F_GETFL,,,[#include <fcntl.h>])
AC_CHECK_DECL(F_SETFL,,,[#include <fcntl.h>])
if test "$ac_cv_have_decl_F_GETFL$ac_cv_have_decl_F_SETFL" = yesyes ; then
- AC_CHECK_DECL(O_NONBLOCK,,,[#include <fcntl.h>])
+ AC_CHECK_DECL(O_NONBLOCK,
+ AC_DEFINE(HAVE_O_NONBLOCK,1,[Define if O_NONBLOCK is defined in <fcntl.h>]),
+ [],
+ [#include <fcntl.h>])
fi
# For Transactional Memory TS
--
2.46.0
More information about the Libstdc++
mailing list