summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Roberts <neil@linux.intel.com>2013-04-05 18:08:29 +0100
committerNeil Roberts <neil@linux.intel.com>2013-04-23 18:30:54 +0100
commit95fe636a5386f010247ee117077ee7ae0b6ad839 (patch)
treef3fcfeeae28b194998ca0b4d3b08eac63239df47
parent2ce952af597e85c50cb0ec968f1239fa83dec4d5 (diff)
downloadcogl-95fe636a5386f010247ee117077ee7ae0b6ad839.tar.gz
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> (cherry picked from commit eb5c92952e1882c95cfd6debc69a2c9efff096b9)
-rw-r--r--configure.ac6
-rw-r--r--examples/cogl-gles2-gears.c13
2 files changed, 19 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index a2543487..4ba85b8a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1180,6 +1180,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 d7dd2716..c7185b67 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.
*