[cogl] Fix a warning about ‘sincos’ in exam ples/cogl-gles2-gears



commit eb5c92952e1882c95cfd6debc69a2c9efff096b9
Author: Neil Roberts <neil linux intel com>
Date:   Fri Apr 5 18:08:29 2013 +0100

    Fix a warning about ‘sincos’ in examples/cogl-gles2-gears
    
    ‘sincos’ is a GNU extension. cogl-gles2-gears was using it without
    defining _GNU_SOURCE so it was generating some annoying warnings. This
    patch fixes it by making the example include config.h which will end
    up defining _GNU_SOURCE.
    
    In addition this patch adds a configure check for the function and
    provides a fallback if it's not available.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=697330
    
    Reviewed-by: Robert Bragg <robert linux intel com>

 configure.ac                |    6 ++++++
 examples/cogl-gles2-gears.c |   13 +++++++++++++
 2 files changed, 19 insertions(+), 0 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 8c188e6..3c6d00b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1212,6 +1212,12 @@ AC_CHECK_FUNCS([ffs])
 dnl 'memmem' is a GNU extension but we have a simple fallback
 AC_CHECK_FUNCS([memmem])
 
+dnl This is used in the cogl-gles2-gears example but it is a GNU extension
+save_libs="$LIBS"
+LIBS="$LIBS $LIBM"
+AC_CHECK_FUNCS([sincos])
+LIBS="$save_libs"
+
 dnl ================================================================
 dnl Platform values
 dnl ================================================================
diff --git a/examples/cogl-gles2-gears.c b/examples/cogl-gles2-gears.c
index d7dd271..c7185b6 100644
--- a/examples/cogl-gles2-gears.c
+++ b/examples/cogl-gles2-gears.c
@@ -35,6 +35,10 @@
  * Jul 13, 2010
  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #define GL_GLEXT_PROTOTYPES
 
 #include <math.h>
@@ -110,6 +114,15 @@ static GLfloat ProjectionMatrix[16];
 /** The direction of the directional light for the scene */
 static const GLfloat LightSourcePosition[4] = { 5.0, 5.0, 10.0, 1.0};
 
+#ifndef HAVE_SINCOS
+static void
+sincos (double x, double *sinx, double *cosx)
+{
+  *sinx = sin (x);
+  *cosx = cos (x);
+}
+#endif /* HAVE_SINCOS */
+
 /**
  * Fills a gear vertex.
  *


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]