libglvnd/tests/dummy/Makefile.am

69 lines
2 KiB
Makefile
Raw Normal View History

noinst_HEADERS = \
patchentrypoints.h \
GLX_dummy.h \
EGL_dummy.h
check_LTLIBRARIES =
check_LTLIBRARIES += libpatchentrypoints.la
libpatchentrypoints_la_CFLAGS = \
-I$(top_srcdir)/src/GLdispatch \
-I$(top_srcdir)/src/util \
-I$(top_srcdir)/include
libpatchentrypoints_la_SOURCES = \
patchentrypoints.c
if ENABLE_GLX
check_LTLIBRARIES += libGLX_dummy.la
libGLX_dummy_la_CFLAGS = \
-I$(top_srcdir)/src/GLX \
Simplify vendor-library ABI for libglx - Pull GL dispatch callback typedefs into GLdispatchABI.h. This is a common header which will be shared between the libGLX and libEGL ABIs. - Add extern "C" blocks to libglxabi.h and GLdispatchABI.h so these headers may be used with vendor libraries that are built C++. - Remove support for auxiliary dispatch table management (libglxgldispatch.[ch] and __GLdispatchExports). This can be added back in later on if it proves useful. - In libglxmappings.c, replace static initialization of glxExportsTable with one-time runtime initialization of the table. - In libglxmappings.c, use __glDispatchCreateTable() directly to create the initial dispatch table. - In libglxnoopdefs.h, remove unnecessary includes of libglxabipriv.h and libglxnoop.h. - Add screen mapping functions to the GLX exports table. Some extension functions not implemented by libglvnd, e.g. glXCreateContextAttribsARB() from GLX_ARB_create_context, may need to update the mappings from context or drawable to screen that are managed by libglvnd in order to work properly. Additionally, dispatch functions implemented by vendor libraries for GLX extension functions may want to query these mappings in order to properly dispatch the call. - Remove the getDispatchProto() vendor callback. This is not needed by libglvnd since libglvnd does not support mapping more than one entrypoint to a single dispatch stub. See GLdispatch.c for the rationale behind this decision. - Remove redundant typedefs to prevent build errors. - Delete the vendorData parameter from the getProcAddress() vendor callback, which isn't useful if there is no support for more than one libglvnd dispatch table per context. Add the isClientAPI parameter, which can be used to distinguish between getProcAddress() requests for GLX functions versus getProcAddress() requests for client API functions. - Remove the "screen" argument from Remove.*Mapping() functions. This is unnecessary, as the hash key used to lookup the mapping object in libglvnd's hashtables doesn't depend on the screen (which is the hash value). It's problematic since in some cases we don't actually know the value of the screen mapped to by a key. Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
2013-11-26 00:21:41 +01:00
-I$(top_srcdir)/src/GLdispatch \
-I$(top_srcdir)/src/util \
-I$(top_srcdir)/include
libGLX_dummy_la_SOURCES = \
GLX_dummy.c
libGLX_dummy_la_LIBADD = $(top_builddir)/src/util/libtrace.la
libGLX_dummy_la_LIBADD += $(top_builddir)/src/util/libutils_misc.la
libGLX_dummy_la_LIBADD += libpatchentrypoints.la
libGLX_dummy_la_LIBADD += $(X11_LIBS)
# The -rpath option forces libtool to create a shared library instead of just a
# static library.
libGLX_dummy_la_LDFLAGS = \
-shared \
-rpath /nowhere \
$(LINKER_FLAG_NO_UNDEFINED)
endif # ENABLE_GLX
if ENABLE_EGL
EGL_DUMMY_CFLAGS_COMMON = \
-I$(top_srcdir)/src/util \
-I$(top_srcdir)/include
EGL_DUMMY_SOURCES_COMMON = EGL_dummy.c
EGL_DUMMY_LIBADD_COMMON = \
$(top_builddir)/src/util/libglvnd_pthread.la \
$(top_builddir)/src/util/libtrace.la \
$(top_builddir)/src/util/libutils_misc.la
EGL_DUMMY_LDFLAGS_COMMON = \
-shared \
-rpath /nowhere \
$(LINKER_FLAG_NO_UNDEFINED)
check_LTLIBRARIES += libEGL_dummy0.la
libEGL_dummy0_la_CFLAGS = \
$(EGL_DUMMY_CFLAGS_COMMON) \
-D DUMMY_VENDOR_NAME=\"dummy0\"
libEGL_dummy0_la_SOURCES = $(EGL_DUMMY_SOURCES_COMMON)
libEGL_dummy0_la_LIBADD = $(EGL_DUMMY_LIBADD_COMMON)
libEGL_dummy0_la_LDFLAGS = $(EGL_DUMMY_LDFLAGS_COMMON)
check_LTLIBRARIES += libEGL_dummy1.la
libEGL_dummy1_la_CFLAGS = \
$(EGL_DUMMY_CFLAGS_COMMON) \
-D DUMMY_VENDOR_NAME=\"dummy1\"
libEGL_dummy1_la_SOURCES = $(EGL_DUMMY_SOURCES_COMMON)
libEGL_dummy1_la_LIBADD = $(EGL_DUMMY_LIBADD_COMMON)
libEGL_dummy1_la_LDFLAGS = $(EGL_DUMMY_LDFLAGS_COMMON)
endif # ENABLE_EGL
EXTRA_DIST = meson.build