configure: Improves GLES 1.x checks
We now always aim to use pkg-config based configuration when possible, but when not configure.ac now knows the difference between GLES_CM libraries that contain EGL symbols (I.e. a separate EGL library doesn't need to be found) and GLESv1_CM libraries that don't contain EGL symbols. http://bugzilla.clutter-project.org/show_bug.cgi?id=2160
This commit is contained in:
parent
5cb4e0c5d0
commit
6757f41c86
92
configure.ac
92
configure.ac
@ -375,46 +375,48 @@ AS_IF([test "x$COGL_DRIVER" = "xgles"],
|
|||||||
AC_DEFINE([HAVE_COGL_GLES], 1, [Have GL/ES for rendering])
|
AC_DEFINE([HAVE_COGL_GLES], 1, [Have GL/ES for rendering])
|
||||||
AC_SUBST(COGL_GLES_VERSION, [COGL_HAS_GLES1])
|
AC_SUBST(COGL_GLES_VERSION, [COGL_HAS_GLES1])
|
||||||
|
|
||||||
AC_CHECK_HEADERS([GLES/egl.h],
|
|
||||||
[],
|
|
||||||
[AC_MSG_ERROR([Unable to locate required GLES headers])])
|
|
||||||
|
|
||||||
PKG_CHECK_EXISTS([glesv1_cm],
|
PKG_CHECK_EXISTS([glesv1_cm],
|
||||||
[BACKEND_PC_FILES="$BACKEND_PC_FILES glesv1_cm"],
|
[BACKEND_PC_FILES="$BACKEND_PC_FILES glesv1_cm"
|
||||||
|
NEED_SEPARATE_EGL=yes
|
||||||
|
],
|
||||||
[
|
[
|
||||||
# check for upper/lower case libgles_em
|
AC_CHECK_HEADERS([$clutter_gl_header],
|
||||||
# The powervr sdk uses lower case.
|
[],
|
||||||
|
[AC_MSG_ERROR([Unable to locate required GLES headers])])
|
||||||
|
|
||||||
|
# Check for a GLES 1.x Common Profile library with/without EGL.
|
||||||
|
#
|
||||||
|
# Note: historically GLES 1 libraries shipped with the
|
||||||
|
# EGL and GLES symbols all bundled in one library. Now
|
||||||
|
# the Khronos Implementers Guide defines two naming
|
||||||
|
# schemes: -lGLES_CM should be used for a library that
|
||||||
|
# bundles the GLES and EGL API together and -lGLESv1_CM
|
||||||
|
# would be used for a standalone GLES API.
|
||||||
AC_CHECK_LIB(GLES_CM, [eglInitialize],
|
AC_CHECK_LIB(GLES_CM, [eglInitialize],
|
||||||
[HAVE_LIBGLES=yes],
|
[FLAVOUR_LIBS="$FLAVOUR_LIBS -lGLES_CM"],
|
||||||
[HAVE_LIBGLES=no])
|
[
|
||||||
|
AC_CHECK_LIB(GLESv1_CM, [glFlush],
|
||||||
AS_IF([test "x$HAVE_LIBGLES" = "xyes"],
|
[FLAVOUR_LIBS="$FLAVOUR_LIBS -lGLESv1_CM"
|
||||||
[FLAVOUR_LIBS="$FLAVOUR_LIBS -lGLES_CM"],
|
NEED_SEPARATE_EGL=yes
|
||||||
[
|
],
|
||||||
AC_CHECK_LIB(GLESv1_CM, [eglInitialize],
|
[AC_MSG_ERROR([Unable to locate required GLES 1.x Common Profile library])])
|
||||||
[HAVE_LIBGLES=yes],
|
])
|
||||||
[HAVE_LIBGLES=no])
|
|
||||||
|
|
||||||
AS_IF([test "x$HAVE_LIBGLES" = "xyes"],
|
|
||||||
[FLAVOUR_LIBS="$FLAVOUR_LIBS -lGLESv1_CM"],
|
|
||||||
[
|
|
||||||
AC_CHECK_LIB(gles_cm, [eglInitialize],
|
|
||||||
[HAVE_LIBGLES=yes],
|
|
||||||
[HAVE_LIBGLES=no])
|
|
||||||
|
|
||||||
AS_IF([test "x$HAVE_LIBGLES" = "xyes"],
|
|
||||||
[FLAVOUR_LIBS="$FLAVOUR_LIBS -lgles_cm"],
|
|
||||||
[
|
|
||||||
AC_MSG_ERROR([GLES library not found and egl backend requested.])
|
|
||||||
]
|
|
||||||
)
|
|
||||||
]
|
|
||||||
)
|
|
||||||
]
|
|
||||||
)
|
|
||||||
])
|
])
|
||||||
|
|
||||||
PKG_CHECK_EXISTS([egl], [BACKEND_PC_FILES="$BACKEND_PC_FILES egl"])
|
AS_IF([test "x$NEED_SEPARATE_EGL" = "xyes"],
|
||||||
|
[
|
||||||
|
PKG_CHECK_EXISTS([egl],
|
||||||
|
[BACKEND_PC_FILES="$BACKEND_PC_FILES egl"],
|
||||||
|
[
|
||||||
|
AC_CHECK_HEADERS([GLES/egl.h],
|
||||||
|
[],
|
||||||
|
[AC_MSG_ERROR([Unable to locate required EGL headers])])
|
||||||
|
|
||||||
|
AC_CHECK_LIB(EGL, [eglInitialize],
|
||||||
|
[FLAVOUR_LIBS="$FLAVOUR_LIBS -lEGL"],
|
||||||
|
[AC_MSG_ERROR([Unable to locate required EGL library])])
|
||||||
|
])
|
||||||
|
])
|
||||||
],
|
],
|
||||||
|
|
||||||
[2*],
|
[2*],
|
||||||
@ -425,8 +427,14 @@ AS_IF([test "x$COGL_DRIVER" = "xgles"],
|
|||||||
AC_SUBST(COGL_GLES_VERSION, [COGL_HAS_GLES2])
|
AC_SUBST(COGL_GLES_VERSION, [COGL_HAS_GLES2])
|
||||||
|
|
||||||
PKG_CHECK_EXISTS([glesv2],
|
PKG_CHECK_EXISTS([glesv2],
|
||||||
[BACKEND_PC_FILES="$BACKEND_PC_FILES glesv2"],
|
[BACKEND_PC_FILES="$BACKEND_PC_FILES glesv2"],
|
||||||
[FLAVOUR_LIBS="$FLAVOUR_LIBS -lGLESv2"])
|
[
|
||||||
|
AC_CHECK_HEADERS([$clutter_gl_header],
|
||||||
|
[],
|
||||||
|
[AC_MSG_ERROR([Unable to locate required GLES headers])])
|
||||||
|
|
||||||
|
FLAVOUR_LIBS="$FLAVOUR_LIBS -lGLESv2"
|
||||||
|
])
|
||||||
|
|
||||||
PKG_CHECK_EXISTS([egl],
|
PKG_CHECK_EXISTS([egl],
|
||||||
[BACKEND_PC_FILES="$BACKEND_PC_FILES egl"],
|
[BACKEND_PC_FILES="$BACKEND_PC_FILES egl"],
|
||||||
@ -434,6 +442,11 @@ AS_IF([test "x$COGL_DRIVER" = "xgles"],
|
|||||||
AC_CHECK_HEADERS([EGL/egl.h],
|
AC_CHECK_HEADERS([EGL/egl.h],
|
||||||
[],
|
[],
|
||||||
[AC_MSG_ERROR([Unable to locate required EGL headers])])
|
[AC_MSG_ERROR([Unable to locate required EGL headers])])
|
||||||
|
|
||||||
|
AC_CHECK_LIB(EGL, [eglInitialize],
|
||||||
|
[FLAVOUR_LIBS="$FLAVOUR_LIBS -lEGL"],
|
||||||
|
[AC_MSG_ERROR([Unable to locate required EGL library])])
|
||||||
|
|
||||||
FLAVOUR_LIBS="$FLAVOUR_LIBS -lEGL"
|
FLAVOUR_LIBS="$FLAVOUR_LIBS -lEGL"
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
@ -492,12 +505,7 @@ done;
|
|||||||
|
|
||||||
AC_SUBST(COGL_DEFINES)
|
AC_SUBST(COGL_DEFINES)
|
||||||
|
|
||||||
# at this point we must have a GL header to check
|
|
||||||
AS_IF([test "x$clutter_gl_header" = "x"], [AC_MSG_ERROR([Internal error: no GL header set])])
|
AS_IF([test "x$clutter_gl_header" = "x"], [AC_MSG_ERROR([Internal error: no GL header set])])
|
||||||
AC_CHECK_HEADERS([$clutter_gl_header],
|
|
||||||
[],
|
|
||||||
[AC_MSG_ERROR([Unable to locate required GLES headers])])
|
|
||||||
|
|
||||||
CLUTTER_GL_HEADER=$clutter_gl_header
|
CLUTTER_GL_HEADER=$clutter_gl_header
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user