Merge pull request #184 from kbrenneman/make-x11-optional

Make x11 optional

Fixes https://github.com/NVIDIA/libglvnd/issues/183
This commit is contained in:
Kyle Brenneman 2019-09-12 13:25:06 -06:00 committed by GitHub
commit f7186d1fb1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 53 additions and 18 deletions

View file

@ -27,6 +27,7 @@ AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
AC_PROG_MKDIR_P
PKG_PROG_PKG_CONFIG
# The tarball from "make dist" already contains all of the generated files. If
# we're building from that, then we won't need Python.
@ -49,14 +50,26 @@ AC_ARG_ENABLE([egl],
)
AM_CONDITIONAL([ENABLE_EGL], [test "x$enable_egl" = "xyes"])
AC_ARG_ENABLE([x11],
[AS_HELP_STRING([--disable-x11],
[Disable X11 support. Implies --disable-glx @<:@default=enabled@:>@])],
[enable_x11="$enableval"],
[enable_x11=yes]
)
AM_CONDITIONAL([ENABLE_X11], [test "x$enable_x11" = "xyes"])
AC_ARG_ENABLE([glx],
[AS_HELP_STRING([--disable-glx],
[Disable GLX support @<:@default=enabled@:>@])],
[enable_glx="$enableval"],
[enable_glx=yes]
[enable_glx="$enable_x11"]
)
AM_CONDITIONAL([ENABLE_GLX], [test "x$enable_glx" = "xyes"])
if test "x$enable_x11" != "xyes" -a "x$enable_glx" = "xyes" ; then
AC_MSG_ERROR([Can't build GLX without X11.])
fi
AC_ARG_ENABLE([gles],
[AS_HELP_STRING([--disable-gles],
[Do not build the libGLES*.so libraries @<:@default=enabled@:>@])],
@ -154,9 +167,19 @@ dnl
dnl Checks for libraries.
AX_PTHREAD()
PKG_CHECK_MODULES([X11], [x11])
PKG_CHECK_MODULES([XEXT], [xext])
PKG_CHECK_MODULES([GLPROTO], [glproto])
if test "x$enable_x11" = "xyes" ; then
PKG_CHECK_MODULES([X11], [x11])
AC_DEFINE([USE_X11], 1,
[Define to 1 if X11 support is enabled.])
fi
if test "x$enable_glx" = "xyes" ; then
PKG_CHECK_MODULES([XEXT], [xext])
PKG_CHECK_MODULES([GLPROTO], [glproto])
fi
AS_IF([test "x$gldispatch_use_tls" = "xyes"],
[AC_DEFINE([GLDISPATCH_USE_TLS], 1,
[Define to 1 if libGLdispatch should use a TLS variable for the dispatch table.])])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_TYPEOF

View file

@ -49,6 +49,9 @@ libEGL_la_CFLAGS = -I$(srcdir)/$(UTHASH_DIR)
libEGL_la_CFLAGS += -I$(srcdir)/$(UTIL_DIR)
libEGL_la_CFLAGS += -I$(srcdir)/$(GL_DISPATCH_DIR)
libEGL_la_CFLAGS += -I$(top_srcdir)/include
if ENABLE_X11
libEGL_la_CFLAGS += $(X11_CFLAGS)
endif
libEGL_la_CFLAGS += \
-DDEFAULT_EGL_VENDOR_CONFIG_DIRS=\"@sysconfdir@/glvnd/egl_vendor.d:@datadir@/glvnd/egl_vendor.d\"

View file

@ -36,7 +36,9 @@
#include <unistd.h>
#include <sys/mman.h>
#if defined(USE_X11)
#include <X11/Xlib.h>
#endif
#include "glvnd_pthread.h"
#include "libeglabipriv.h"
@ -178,6 +180,7 @@ static EGLBoolean IsGbmDisplay(void *native_display)
static EGLBoolean IsX11Display(void *dpy)
{
#if defined(USE_X11)
void *alloc;
void *handle;
void *XAllocID = NULL;
@ -194,6 +197,9 @@ static EGLBoolean IsX11Display(void *dpy)
}
return (XAllocID != NULL && XAllocID == alloc);
#else // defined(USE_X11)
return EGL_FALSE;
#endif // defined(USE_X11)
}
static EGLBoolean IsWaylandDisplay(void *native_display)

View file

@ -45,7 +45,7 @@ libGLX_la_CFLAGS = -I$(srcdir)/$(UTHASH_DIR)
libGLX_la_CFLAGS += -I$(srcdir)/$(UTIL_DIR)
libGLX_la_CFLAGS += -I$(srcdir)/$(GL_DISPATCH_DIR)
libGLX_la_CFLAGS += -I$(top_srcdir)/include
libGLX_la_CFLAGS += $(GLPROTO_CFLAGS)
libGLX_la_CFLAGS += $(GLPROTO_CFLAGS) $(X11_CFLAGS) $(XEXT_CFLAGS)
# Required library flags
libGLX_la_CFLAGS += $(PTHREAD_CFLAGS)

View file

@ -45,16 +45,12 @@ EXTRA_DIST = $(TESTS) \
eglenv.sh \
json
# The *_oldlink variant tests that linking against legacy libGL.so works
# Disable annoying "unused" errors
AM_CFLAGS = \
-Wno-error=unused-variable \
-Wno-error=unused-label \
CFLAGS_COMMON = \
-I$(top_srcdir)/include \
-I$(top_srcdir)/src/util \
-I$(top_srcdir)/src/util/glvnd_pthread
AM_CFLAGS = $(CFLAGS_COMMON)
TESTS += testgldispatch_static.sh
TESTS += testgldispatch_static_thr.sh
@ -98,7 +94,8 @@ if ENABLE_GLX
TESTS += $(TESTS_GLX)
check_PROGRAMS += testglxcreatecontext
testglxcreatecontext_LDADD = -lX11
testglxcreatecontext_CFLAGS = $(CFLAGS_COMMON) $(X11_CFLAGS)
testglxcreatecontext_LDADD = $(X11_LIBS)
testglxcreatecontext_LDADD += $(top_builddir)/src/GLX/libGLX.la
testglxcreatecontext_LDADD += $(top_builddir)/src/OpenGL/libOpenGL.la
testglxcreatecontext_SOURCES = \
@ -112,7 +109,8 @@ TESTGLXMAKECURRENT_SOURCES_COMMON = \
check_PROGRAMS += testglxmakecurrent
testglxmakecurrent_SOURCES = $(TESTGLXMAKECURRENT_SOURCES_COMMON)
testglxmakecurrent_LDADD = -lX11 @LIB_DL@
testglxmakecurrent_CFLAGS = $(CFLAGS_COMMON) $(X11_CFLAGS)
testglxmakecurrent_LDADD = $(X11_LIBS) @LIB_DL@
testglxmakecurrent_LDADD += $(top_builddir)/src/GLX/libGLX.la
testglxmakecurrent_LDADD += $(top_builddir)/src/OpenGL/libOpenGL.la
testglxmakecurrent_LDADD += $(top_builddir)/src/util/libglvnd_pthread.la
@ -122,7 +120,8 @@ testglxmakecurrent_LDADD += $(top_builddir)/src/util/libutils_misc.la
check_PROGRAMS += testglxmakecurrent_oldlink
testglxmakecurrent_oldlink_SOURCES = $(TESTGLXMAKECURRENT_SOURCES_COMMON)
testglxmakecurrent_oldlink_LDADD = -lX11 @LIB_DL@
testglxmakecurrent_oldlink_CFLAGS = $(CFLAGS_COMMON) $(X11_CFLAGS)
testglxmakecurrent_oldlink_LDADD = $(X11_LIBS) @LIB_DL@
testglxmakecurrent_oldlink_LDADD += $(top_builddir)/src/GL/libGL.la
testglxmakecurrent_oldlink_LDADD += $(top_builddir)/src/util/libglvnd_pthread.la
testglxmakecurrent_oldlink_LDADD += $(top_builddir)/src/util/libtrace.la
@ -130,12 +129,14 @@ testglxmakecurrent_oldlink_LDADD += $(top_builddir)/src/util/libutils_misc.la
check_PROGRAMS += testglxgetprocaddress
testglxgetprocaddress_LDADD = -lX11
testglxgetprocaddress_CFLAGS = $(CFLAGS_COMMON) $(X11_CFLAGS)
testglxgetprocaddress_LDADD = $(X11_LIBS)
testglxgetprocaddress_LDADD += $(top_builddir)/src/GLX/libGLX.la
check_PROGRAMS += testglxgetclientstr
testglxgetclientstr_LDADD = -lX11
testglxgetclientstr_CFLAGS = $(CFLAGS_COMMON) $(X11_CFLAGS)
testglxgetclientstr_LDADD = $(X11_LIBS)
testglxgetclientstr_LDADD += $(top_builddir)/src/GLX/libGLX.la
testglxgetclientstr_LDADD += $(top_builddir)/src/OpenGL/libOpenGL.la
testglxgetclientstr_LDADD += $(top_builddir)/src/util/libtrace.la
@ -143,7 +144,8 @@ testglxgetclientstr_LDADD += $(top_builddir)/src/util/libutils_misc.la
check_PROGRAMS += testglxqueryversion
testglxqueryversion_LDADD = -lX11
testglxqueryversion_CFLAGS = $(CFLAGS_COMMON) $(X11_CFLAGS)
testglxqueryversion_LDADD = $(X11_LIBS)
testglxqueryversion_LDADD += $(top_builddir)/src/GLX/libGLX.la
testglxqueryversion_LDADD += $(top_builddir)/src/OpenGL/libOpenGL.la
@ -153,7 +155,8 @@ testpatchentrypoints_SOURCES = \
testpatchentrypoints.c \
test_utils.c
testpatchentrypoints_LDADD = -lX11 @LIB_DL@
testpatchentrypoints_CFLAGS = $(CFLAGS_COMMON) $(X11_CFLAGS)
testpatchentrypoints_LDADD = $(X11_LIBS) @LIB_DL@
testpatchentrypoints_LDADD += $(top_builddir)/src/GLX/libGLX.la
testpatchentrypoints_LDADD += $(top_builddir)/src/OpenGL/libOpenGL.la
testpatchentrypoints_LDADD += $(top_builddir)/src/util/libtrace.la