1
0
Fork 0

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)
This commit is contained in:
Neil Roberts 2013-04-05 18:08:29 +01:00
parent 2ce952af59
commit 95fe636a53
2 changed files with 19 additions and 0 deletions

View file

@ -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 ================================================================

View file

@ -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.
*