Browse Source

Special check for math.h functions

These are often, contrary to standards, implemented only as macros
or compiler-builtin functions without an actual symbol definition.

Originally committed as revision 21734 to svn://svn.ffmpeg.org/ffmpeg/trunk
Måns Rullgård 15 years ago
parent
commit
645d26520a
1 changed files with 21 additions and 10 deletions
  1. 21 10
      configure

+ 21 - 10
configure

@@ -668,6 +668,17 @@ int main(void){ $func(); }
 EOF
 }
 
+check_mathfunc(){
+    log check_func "$@"
+    func=$1
+    shift
+    disable $func
+    check_ld "$@" <<EOF && enable $func
+#include <math.h>
+int main(void){ $func(0); return 0; }
+EOF
+}
+
 check_func_headers(){
     log check_func_headers "$@"
     headers=$1
@@ -2519,16 +2530,16 @@ done
 check_lib math.h sin -lm
 check_lib va/va.h vaInitialize -lva
 
-check_func exp2
-check_func exp2f
-check_func llrint
-check_func log2
-check_func log2f
-check_func lrint
-check_func lrintf
-check_func round
-check_func roundf
-check_func truncf
+check_mathfunc exp2
+check_mathfunc exp2f
+check_mathfunc llrint
+check_mathfunc log2
+check_mathfunc log2f
+check_mathfunc lrint
+check_mathfunc lrintf
+check_mathfunc round
+check_mathfunc roundf
+check_mathfunc truncf
 
 # these are off by default, so fail if requested and not available
 enabled avisynth   && require2 vfw32 "windows.h vfw.h" AVIFileInit -lavifil32