public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] libctf: Add configure check for asprintf (for MinGW)
@ 2020-01-05  5:51 Joel Brobecker
  0 siblings, 0 replies; only message in thread
From: Joel Brobecker @ 2020-01-05  5:51 UTC (permalink / raw)
  To: bfd-cvs, gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3a657c600bde2d3bd84870f75968622bbdb69ce8

commit 3a657c600bde2d3bd84870f75968622bbdb69ce8
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Sun Jan 5 09:50:27 2020 +0400

    libctf: Add configure check for asprintf (for MinGW)
    
    This commit fixes a compilation warning when compiling libctf
    on MinGW:
    
        libctf/ctf-dump.c:118:8: warning: implicit declaration of function
        'asprintf'; did you mean 'vasprintf'? [-Wimplicit-function-declaration]
    
    	 if (asprintf (&bit, " %lx: [slice 0x%x:0x%x]",
    	     ^~~~~~~~
    	     vasprintf
    
    MinGW doesn't provide that function, so we depend on the one provided
    by libiberty. However, the declaration is guarded by HAVE_DECL_ASPRINTF,
    which we do not have in libctf's config.h.
    
    libctf/ChangeLog:
    
    	PR binutils/25155:
    	* configure.ac: Add AC_CHECK_DECLS([asprintf]).
    	* configure, config.h.in: Regenerate.

Diff:
---
 libctf/ChangeLog    |  6 ++++++
 libctf/config.h.in  |  4 ++++
 libctf/configure    | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 libctf/configure.ac |  2 ++
 4 files changed, 72 insertions(+), 2 deletions(-)

diff --git a/libctf/ChangeLog b/libctf/ChangeLog
index a566782..f737fda 100644
--- a/libctf/ChangeLog
+++ b/libctf/ChangeLog
@@ -1,3 +1,9 @@
+2020-02-05  Joel Brobecker  <brobecker@adacore.com>
+
+	PR binutils/25155:
+	* configure.ac: Add AC_CHECK_DECLS([asprintf]).
+	* configure, config.h.in: Regenerate.
+
 2020-01-01  Alan Modra  <amodra@gmail.com>
 
 	Update year range in copyright notice of all files.
diff --git a/libctf/config.h.in b/libctf/config.h.in
index 4c8be4a..264cbc3 100644
--- a/libctf/config.h.in
+++ b/libctf/config.h.in
@@ -9,6 +9,10 @@
 /* Define to 1 if you have the <byteswap.h> header file. */
 #undef HAVE_BYTESWAP_H
 
+/* Define to 1 if you have the declaration of `asprintf', and to 0 if you
+   don't. */
+#undef HAVE_DECL_ASPRINTF
+
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #undef HAVE_DLFCN_H
 
diff --git a/libctf/configure b/libctf/configure
index 66b583f..e5493b3 100755
--- a/libctf/configure
+++ b/libctf/configure
@@ -1875,6 +1875,52 @@ $as_echo "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_decl
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
@@ -11385,7 +11431,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11388 "configure"
+#line 11434 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11491,7 +11537,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11494 "configure"
+#line 11540 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12971,6 +13017,18 @@ fi
 done
 
 
+ac_fn_c_check_decl "$LINENO" "asprintf" "ac_cv_have_decl_asprintf" "$ac_includes_default"
+if test "x$ac_cv_have_decl_asprintf" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_ASPRINTF $ac_have_decl
+_ACEOF
+
+
 
 
 
diff --git a/libctf/configure.ac b/libctf/configure.ac
index c53cf01..7f2a713 100644
--- a/libctf/configure.ac
+++ b/libctf/configure.ac
@@ -99,6 +99,8 @@ AC_C_BIGENDIAN
 AC_CHECK_HEADERS(byteswap.h endian.h)
 AC_CHECK_FUNCS(pread)
 
+AC_CHECK_DECLS([asprintf])
+
 dnl Check for qsort_r.  (Taken from gnulib.)
 AC_CHECK_FUNCS_ONCE([qsort_r])
 if test $ac_cv_func_qsort_r = yes; then


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-01-05  5:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-05  5:51 [binutils-gdb] libctf: Add configure check for asprintf (for MinGW) Joel Brobecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).