1
0
Fork 0

2008-04-28 Matthew Allum <mallum@openedhand.com>

* autogen.sh:
        Dont display 'make' if configure fails.
        * configure.ac:
        Add new --with-gles version option for eventual GLES2 support
        Also minor tidyups.
This commit is contained in:
Matthew Allum 2008-04-28 13:18:16 +00:00
parent ed9f2bc16f
commit 2b80688cfe
3 changed files with 86 additions and 83 deletions

View file

@ -1,3 +1,11 @@
2008-04-28 Matthew Allum <mallum@openedhand.com>
* autogen.sh:
Dont display 'make' if configure fails.
* configure.ac:
Add new --with-gles version option for eventual GLES2 support
Also minor tidyups.
2008-04-28 Neil Roberts <neil@o-hand.com> 2008-04-28 Neil Roberts <neil@o-hand.com>
* tests/test-cogl-tex-polygon.c: Added buttons to toggle whether * tests/test-cogl-tex-polygon.c: Added buttons to toggle whether

View file

@ -23,6 +23,4 @@ fi
# back in the stupidity of autoreconf # back in the stupidity of autoreconf
autoreconf -v --install || exit $? autoreconf -v --install || exit $?
./configure "$@" ./configure "$@" && echo "Now type 'make' to compile $PROJECT."
echo "Now type 'make' to compile $PROJECT."

View file

@ -103,12 +103,19 @@ dnl ========================================================================
backendextra= backendextra=
backendextralib= backendextralib=
glesversion=1.1
clutterbackend=glx clutterbackend=glx
AC_ARG_WITH([flavour], AC_ARG_WITH([flavour],
AC_HELP_STRING([--with-flavour=@<:@glx/eglx/eglnative/sdl/osx@:>@], AC_HELP_STRING([--with-flavour=@<:@glx/eglx/eglnative/sdl/osx@:>@],
[Select the Clutter backend]), [Select the Clutter backend]),
clutterbackend=$with_flavour) clutterbackend=$with_flavour)
AC_ARG_WITH([gles],
AC_HELP_STRING([--with-gles=@1.1/2.0@:>@],
[Select Clutter GLES version (for EGL backends)]),
glesversion=$with_gles)
BACKEND_PC_FILES="" BACKEND_PC_FILES=""
# Check for X though could be redundant if backend does not need it. # Check for X though could be redundant if backend does not need it.
@ -165,6 +172,56 @@ AM_CONDITIONAL(X11_TESTS, test "x$x11_tests" != "xno")
clutter_gl_header="" clutter_gl_header=""
if test "x$clutterbackend" = "xeglnative" || test "x$clutterbackend" = "xeglx" || test "x$clutterbackend" = "xfruity"
then
case $glesversion in
1*)
clutter_gl_header="GLES/gl.h"
CLUTTER_COGL="gles"
AC_DEFINE([HAVE_COGL_GLES], 1, [Have GL/ES for rendering])
AC_CHECK_HEADERS([GLES/egl.h],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
# check for upper/lower case libgles_em
# The powervr sdk uses lower case.
AC_CHECK_LIB(GLES_CM, eglInitialize, HAVE_LIBGLES=yes, HAVE_LIBGLES=no)
if test "x$HAVE_LIBGLES" = "xno"; then
AC_CHECK_LIB(gles_cm, eglInitialize, HAVE_LIBGLES=yes, HAVE_LIBGLES=no)
if test "x$HAVE_LIBGLES" = "xno"; then
AC_MSG_ERROR([GLES library not found and egl backend requested.]);
fi
GLES_LIBS="-lgles_cm"
else
GLES_LIBS="-lGLES_CM"
fi
;;
2*)
clutter_gl_header="GLES2/gl2.h"
CLUTTER_COGL="gl"
AC_DEFINE([HAVE_COGL_GLES2], 1, [Have GL/ES for rendering])
AC_CHECK_HEADERS([EGL/egl.h],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
GLES_LIBS="-lGLESv2 -lEGL"
;;
*) AC_MSG_ERROR([Invalid GL ES Version '$glesversion' specified])
;;
esac
fi
case $clutterbackend in case $clutterbackend in
sdl) sdl)
@ -243,105 +300,42 @@ case $clutterbackend in
eglx) eglx)
clutter_gl_header="GLES/gl.h"
CLUTTER_FLAVOUR="eglx" CLUTTER_FLAVOUR="eglx"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_EGL" CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_EGL"
AC_DEFINE([HAVE_CLUTTER_EGL], 1, [Have the EGL backend]) AC_DEFINE([HAVE_CLUTTER_EGL], 1, [Have the EGL backend])
# We currently assume having egl means also having gles.. EGL_LIBS="$GLES_LIBS $X11_LIBS"
CLUTTER_COGL="gles" EGL_CFLAGS="$GLES_CFLAGS $X11_CFLAGS"
AC_DEFINE([HAVE_COGL_GLES], 1, [Have GL/ES for rendering])
AC_CHECK_HEADERS([GLES/egl.h $clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
# check for upper/lower case libgles_em
# The powervr sdk uses lower case.
AC_CHECK_LIB(GLES_CM, eglInitialize, HAVE_LIBGLES=yes, HAVE_LIBGLES=no)
if test "x$HAVE_LIBGLES" = "xno"; then
AC_CHECK_LIB(gles_cm, eglInitialize, HAVE_LIBGLES=yes, HAVE_LIBGLES=no)
if test "x$HAVE_LIBGLES" = "xno"; then
AC_MSG_ERROR([GLES library not found and egl backend requested.]);
fi
EGL_LIBS="gles_cm"
else
EGL_LIBS="GLES_CM"
fi
# glColor4ub needed for more precise picking, seems presence is a
# bit random in egl 1.1 (in SDK header, but not lib)
AC_CHECK_LIB($EGL_LIBS, glColor4ub, COLOR4UB=1, COLOR4UB=0)
AC_DEFINE_UNQUOTED([HAVE_GLES_COLOR4UB], $COLOR4UB, [Have GL/ES glColor4ub])
EGL_LIBS="-l$EGL_LIBS $X11_LIBS"
EGL_CFLAGS="$EGL_CFLAGS $X11_CFLAGS"
backendextra=x11 backendextra=x11
backendextralib="x11/libclutter-x11.la" backendextralib="x11/libclutter-x11.la"
;; ;;
eglnative) eglnative)
clutter_gl_header="GLES/gl.h"
CLUTTER_FLAVOUR="eglnative" CLUTTER_FLAVOUR="eglnative"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_EGLNATIVE" CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_EGLNATIVE"
AC_DEFINE([HAVE_CLUTTER_EGL], 1, [Have the EGL backend]) AC_DEFINE([HAVE_CLUTTER_EGL], 1, [Have the EGL backend])
# We currently assume having egl means also having gles..
CLUTTER_COGL="gles"
AC_DEFINE([HAVE_COGL_GLES], 1, [Have GL/ES for rendering])
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate require GL header])])
AC_CHECK_HEADERS([GLES/egl.h],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
AC_CHECK_LIB(GLES_CM, eglInitialize, HAVE_LIBGLES=yes, HAVE_LIBGLES=no)
if test "x$HAVE_LIBGLES" = "xno"; then
AC_MSG_ERROR([libGLES_CM not found and egl backend requested.]);
fi
AC_CHECK_LIB(GLES_CM, glColor4ub, COLOR4UB=1, COLOR4UB=0)
AC_DEFINE([HAVE_GLES_COLOR4UB], COLOR4UB, [Have GL/ES glColor4ub])
PKG_CHECK_MODULES(TSLIB, tslib-1.0, [have_tslib=yes], [have_tslib=no]) PKG_CHECK_MODULES(TSLIB, tslib-1.0, [have_tslib=yes], [have_tslib=no])
if test x$have_tslib = xyes; then if test x$have_tslib = xyes; then
AC_DEFINE([HAVE_TSLIB], 1, [Have tslib for touchscreen handling]) AC_DEFINE([HAVE_TSLIB], 1, [Have tslib for touchscreen handling])
fi fi
EGL_LIBS="-lGLES_CM $TSLIB_LIBS" EGL_LIBS="$GLES_LIBS $TSLIB_LIBS"
EGL_CFLAGS="$TSLIB_CFLAGS" EGL_CFLAGS="$TSLIB_CFLAGS"
;; ;;
fruity) fruity)
clutter_gl_header="GLES/gl.h"
CLUTTER_FLAVOUR="fruity" CLUTTER_FLAVOUR="fruity"
CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_FRUITY" CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_FRUITY"
AC_DEFINE([HAVE_CLUTTER_FRUITY], 1, [We're building a fruity version of the eglnative backend]) AC_DEFINE([HAVE_CLUTTER_FRUITY], 1, [We're building a fruity version of the eglnative backend])
# We currently assume having egl means also having gles.. if test "x$glesversion" != "x1.1"; then
CLUTTER_COGL="gles" AC_MSG_ERROR([Fruity backend only supports GL ES 1.1.]);
fi
AC_DEFINE([HAVE_CLUTTER_EGL], 1, [Have the EGL backend]) EGL_LIBS="-ObjC -framework Foundation -framework CoreFoundation -framework CoreGraphics -framework CoreSurface -framework GraphicsServices -framework OpenGLES -framework LayerKit -framework UIKit"
EGL_CFLAGS=""
# We currently assume having egl means also having gles..
CLUTTER_COGL="gles"
AC_DEFINE([HAVE_COGL_GLES], 1, [Have GL/ES for rendering])
AC_CHECK_HEADERS([$clutter_gl_header],,
[AC_MSG_ERROR([Unable to locate require GL header])])
AC_CHECK_HEADERS([GLES/egl.h],,
[AC_MSG_ERROR([Unable to locate required GLES headers])])
backendextra=
EGL_LIBS="-ObjC -framework Foundation -framework CoreFoundation -framework CoreGraphics -framework CoreSurface -framework GraphicsServices -framework OpenGLES -framework LayerKit -framework UIKit"
EGL_CFLAGS=""
;; ;;
osx) osx)
@ -388,6 +382,9 @@ case $clutterbackend in
esac esac
CLUTTER_GL_HEADER=$clutter_gl_header CLUTTER_GL_HEADER=$clutter_gl_header
AC_SUBST([clutterbackend]) AC_SUBST([clutterbackend])
@ -598,23 +595,23 @@ echo ""
# the experimental/unstable warning summary. # the experimental/unstable warning summary.
if test "x$imagebackend" = "xinternal"; then if test "x$imagebackend" = "xinternal"; then
experimental_stuff="$experimental_stuff\n imagebackend=$imagebackend" experimental_stuff="$experimental_stuff imagebackend=$imagebackend\n"
fi fi
if test "x$clutterbackend" = "xfruity"; then if test "x$clutterbackend" = "xfruity"; then
experimental_stuff="$experimental_stuff\n clutterbackend=$clutterbackend" experimental_stuff="$experimental_stuff clutterbackend=$clutterbackend\n"
fi fi
if test "x$experimental_stuff" != "x"; then if test "x$experimental_stuff" != "x"; then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "" echo ""
echo "Experimental features configured, stability of your build either uses" echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
echo "experimental backends or experimental and unsupported features:" echo " *WARNING*"
echo -e "$experimental_stuff" echo ""
echo " Experimental features configured, stability of your build either uses"
echo " experimental backends or experimental and unsupported features:"
echo -e " $experimental_stuff"
echo "☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠☠"
echo "" echo ""
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
fi fi