https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112963

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I've already started testing the:
2023-12-11  Jakub Jelinek  <ja...@redhat.com>

        PR libquadmath/112963
        * configure.ac (LIBM): Readd AC_CHECK_LIBM-like check without doing
        AC_CHECK_LIB in it.
        * configure: Regenerated.
        * Makefile.in: Regenerated.

--- libquadmath/configure.ac.jj 2023-11-02 07:49:22.120795297 +0100
+++ libquadmath/configure.ac    2023-12-11 19:03:50.823783215 +0100
@@ -122,6 +122,20 @@ esac
 AC_SUBST(toolexecdir)
 AC_SUBST(toolexeclibdir)

+# AC_CHECK_LIBM variant which avoids AC_CHECK_LIB which doesn't work
+# on bare metal.  In the past we've used -lm in Makefile.am unconditionally,
+# let's use it there unless target knows it doesn't need that.
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*)
+  LIBM=-lm
+  ;;
+esac
+AC_SUBST([LIBM])
+
 AC_CHECK_HEADERS(fenv.h langinfo.h locale.h wchar.h wctype.h limits.h ctype.h
printf.h errno.h)
 LIBQUAD_CHECK_MATH_H_SIGNGAM

--- libquadmath/configure.jj    2023-11-02 07:49:22.119795311 +0100
+++ libquadmath/configure       2023-12-11 19:04:04.239598274 +0100
@@ -644,6 +644,7 @@ LIBQUAD_USE_SYMVER_GNU_FALSE
 LIBQUAD_USE_SYMVER_GNU_TRUE
 LIBQUAD_USE_SYMVER_FALSE
 LIBQUAD_USE_SYMVER_TRUE
+LIBM
 toolexeclibdir
 toolexecdir
 MAINT
@@ -10921,7 +10922,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 10924 "configure"
+#line 10925 "configure"
 #include "confdefs.h"

 #if HAVE_DLFCN_H
@@ -11027,7 +11028,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11030 "configure"
+#line 11031 "configure"
 #include "confdefs.h"

 #if HAVE_DLFCN_H
@@ -12260,6 +12261,20 @@ esac



+# AC_CHECK_LIBM variant which avoids AC_CHECK_LIB which doesn't work
+# on bare metal.  In the past we've used -lm in Makefile.am unconditionally,
+# let's use it there unless target knows it doesn't need that.
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*)
+  LIBM=-lm
+  ;;
+esac
+
+
 for ac_header in fenv.h langinfo.h locale.h wchar.h wctype.h limits.h ctype.h
printf.h errno.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
--- libquadmath/Makefile.in.jj  2023-11-02 07:49:22.108795464 +0100
+++ libquadmath/Makefile.in     2023-12-11 19:04:57.971857555 +0100
@@ -355,6 +355,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
+LIBM = @LIBM@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@

version.

Reply via email to