configure: Add check for log2
authorThiago Santos <thiago.sousa.santos@collabora.co.uk>
Wed, 25 Aug 2010 14:19:31 +0000 (11:19 -0300)
committerThiago Santos <thiago.sousa.santos@collabora.co.uk>
Wed, 25 Aug 2010 14:19:31 +0000 (11:19 -0300)
Adds check for log2 and only use it in exif library if it is
available.

configure.ac
gst-libs/gst/tag/gstexiftag.c

index 2f6c82b42afed1cc22e30e0430f9969d46efc9ec..7116766538acb9d80744f8920ce81759a8351e01 100644 (file)
@@ -219,6 +219,10 @@ dnl *** checks for functions ***
 AC_CHECK_FUNCS([localtime_r gmtime_r])
 
 dnl *** checks for math functions ***
+LIBS_SAVE=$LIBS
+LIBS="$LIBS $LIBM"
+AC_CHECK_FUNCS(log2)
+LIBS=$LIBS_SAVE
 
 dnl *** checks for types/defines ***
 
index 894453b54cc76da4c8a5ed383c4213119c406370..6ba3b838ccbe52645ba93e02fdcc5bc0de9008b9 100644 (file)
@@ -2210,7 +2210,11 @@ serialize_shutter_speed (GstExifWriter * writer, const GstTagList * taglist,
   gst_util_fraction_to_double (gst_value_get_fraction_numerator (value),
       gst_value_get_fraction_denominator (value), &num);
 
+#ifdef HAVE_LOG2
   num = -log2 (num);
+#else
+  num = -log (num) / M_LN2;
+#endif
 
   /* now the value */
   gst_exif_writer_write_signed_rational_tag_from_double (writer,
@@ -2256,7 +2260,11 @@ serialize_aperture_value (GstExifWriter * writer, const GstTagList * taglist,
     GST_WARNING ("Failed to get focal ratio from from tag list");
     return;
   }
+#ifdef HAVE_LOG2
   num = 2 * log2 (num);
+#else
+  num = 2 * (log (num) / M_LN2);
+#endif
 
   /* now the value */
   gst_exif_writer_write_rational_tag_from_double (writer,