summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac111
-rw-r--r--test/Makefile.am7
2 files changed, 79 insertions, 39 deletions
diff --git a/configure.ac b/configure.ac
index e5a6ba0..283e8c2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -58,41 +58,71 @@ AC_CHECK_HEADER([KHR/khrplatform.h],
# uintptr_t to a void *") by default. Kill that.
XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion])
-has_znow=yes
-
-case $host_os in
- mingw*)
- build_egl=no
- build_glx=no
- build_wgl=yes
- # On windows, the DLL has to have all of its functions
- # resolved at link time, so we have to link directly aginst
- # opengl32.dll. But that's the only GL provider, anyway.
- EPOXY_LINK_LIBS="-lopengl32"
-
- # Testing our built windows binaries requires that they be run
- # under wine. Yeah, we should be nice and autodetect, but
- # there's lots of missing autodetection for the testsuite
- # (like checking for EGL and GLX libs in non-windows.).
- AC_SUBST([LOG_COMPILER], [wine])
- ;;
- darwin*)
- build_egl=no
- build_glx=no
- build_wgl=no
- build_apple=yes
- has_znow=no
- EPOXY_LINK_LIBS=""
- ;;
- *)
- build_egl=yes
- build_glx=yes
- build_wgl=no
- # On platforms with dlopen, we load everything dynamically and
- # don't link against a specific window system or GL implementation.
- EPOXY_LINK_LIBS=""
- ;;
-esac
+AC_ARG_ENABLE([glx],
+ [AC_HELP_STRING([--enable-glx=@<:@auto,yes,no@:>@], [Enable GLX support @<:@default=auto@:>@])],
+ [enable_glx=$enableval],
+ [enable_glx=auto])
+
+# GLX can be used on different platforms, so we expose a
+# configure time switch to enable or disable it; in case
+# the "auto" default value is set, we only enable GLX
+# support on Linux and Unix
+AS_CASE([$enable_glx],
+ [auto], [
+ AS_CASE([$host_os],
+ [mingw*], [build_glx=no],
+ [darwin*], [build_glx=no],
+ [android*], [build_glx=no],
+ [build_glx=yes])
+ ],
+
+ [yes], [
+ build_glx=yes
+ ],
+
+ [no], [
+ build_glx=no
+ ],
+
+ [AC_MSG_ERROR([Invalid value "$enable_glx" for option "--enable-glx"])]
+])
+
+# The remaining platform specific API for GL/GLES are enabled
+# depending on the platform we're building for
+AS_CASE([$host_os],
+ [mingw*], [
+ build_egl=no
+ build_wgl=yes
+ has_znow=yes
+ # On windows, the DLL has to have all of its functions
+ # resolved at link time, so we have to link directly aginst
+ # opengl32.dll. But that's the only GL provider, anyway.
+ EPOXY_LINK_LIBS="-lopengl32"
+
+ # Testing our built windows binaries requires that they be run
+ # under wine. Yeah, we should be nice and autodetect, but
+ # there's lots of missing autodetection for the testsuite
+ # (like checking for EGL and GLX libs in non-windows.).
+ AC_SUBST([LOG_COMPILER], [wine])
+ ],
+
+ [darwin*], [
+ build_egl=no
+ build_wgl=no
+ build_apple=yes
+ has_znow=no
+ EPOXY_LINK_LIBS=""
+ ],
+
+ [
+ build_egl=yes
+ build_wgl=no
+ has_znow=yes
+ # On platforms with dlopen, we load everything dynamically and
+ # don't link against a specific window system or GL implementation.
+ EPOXY_LINK_LIBS=""
+ ]
+)
AC_SUBST(EPOXY_LINK_LIBS)
@@ -161,9 +191,14 @@ AS_CASE(["$host"],
AC_SUBST([VISIBILITY_CFLAGS])
-PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no])
-if test x$x11 = xno -a x$build_glx = xyes; then
- AC_MSG_ERROR([libX11 headers (libx11-dev) required to build with GLX support])
+if test x$build_glx = xyes; then
+ PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no])
+ if test x$x11 = xno -a x$build_glx = xyes; then
+ AC_MSG_ERROR([libX11 headers (libx11-dev) required to build with GLX support])
+ fi
+ AC_DEFINE(ENABLE_GLX, [1], [Whether GLX support is enabled])
+else
+ x11=no
fi
AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes)
diff --git a/test/Makefile.am b/test/Makefile.am
index 5781702..b1f0c7a 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -72,8 +72,11 @@ check_PROGRAMS = $(TESTS)
if BUILD_EGL
EGL_TESTS = \
+ $()
+
+if HAVE_X11
+EGL_TESTS += \
egl_has_extension_nocontext \
- egl_gl \
egl_gles2_without_glx \
$()
@@ -83,6 +86,7 @@ endif
EGL_UTIL_LIB = libegl_common.la
endif
+endif
if BUILD_GLX
if HAS_ZNOW
@@ -93,6 +97,7 @@ if BUILD_EGL
if BUILD_GLX
if !BUILD_APPLE
EGL_AND_GLX_TESTS = \
+ egl_gl \
egl_and_glx_different_pointers_egl_glx \
egl_and_glx_different_pointers_egl \
egl_and_glx_different_pointers_glx \