view m4/check-math-lib.m4 @ 9413:9572edc3cc57

Check whether round* exist in libraries, not just whether they are declared.
author Ben Pfaff <blp@cs.stanford.edu>
date Sat, 27 Oct 2007 21:05:58 -0700
parents 54f12e03e281
children 56ceeef91c22
line wrap: on
line source

# check-math-lib.m4 serial 2
dnl Copyright (C) 2007 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
dnl gl_CHECK_MATH_LIB (VARIABLE, EXPRESSION)
dnl
dnl Sets the shell VARIABLE according to the libraries needed by EXPRESSION
dnl to compile and link: to the empty string if no extra libraries are needed,
dnl to "-lm" if -lm is needed, or to "missing" if it does not compile and
dnl link either way.
dnl
dnl Example: gl_CHECK_MATH_LIB([ROUNDF_LIBM], [x = roundf (x);])
AC_DEFUN([gl_CHECK_MATH_LIB], [
  save_LIBS=$LIBS
  $1=missing
  for libm in "" "-lm"; do
    LIBS="$save_LIBS $libm"
    AC_TRY_LINK([
       #ifndef __NO_MATH_INLINES
       # define __NO_MATH_INLINES 1 /* for glibc */
       #endif
       #include <math.h>
       double x;],
      [$2],
      [$1=$libm
break])
  done
  LIBS=$save_LIBS
])