diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2017-01-18 16:07:02 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2017-02-06 15:58:20 +0000 |
commit | 2b6f01b0085e10b4644b672ef03b6120b1927911 (patch) | |
tree | a6fac002829a3f27caf62100418174cf17c2af44 /configure.ac | |
parent | 476851ba416c0fa478a8ec0620d482ed5079e38b (diff) | |
download | libepoxy-2b6f01b0085e10b4644b672ef03b6120b1927911.tar.gz |
Allow enabling and disabling GLX support, part II
After doing this for Meson in commit fc014fa1, let's do the same dance
for the Autotools build.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 111 |
1 files changed, 73 insertions, 38 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) |