Removed several header files that were copied from Mesa but aren't used in
libglvnd.
Removed everything under src/arch, also copied from Mesa but unused.
Two header files (libglxabi.h and GLdispatchABI.h) are public -- intended to be
used by vendor libraries, while the other headers are all internal to libglvnd.
Move the public header files to a new directory, include/glvnd.
Add a makefile so that the public headers are installed by make install.
- Add a config check for ((constructor)) and ((destructor)) funciton
attributes.
- Add missing GL/glxmd.h header.
- For sufficiently old gcc versions, revert to inline asm
implementations of Atomic{Increment,Swap,CompareAndSwap}()
- Add a local implementation of asprintf.
- entry_x86_tsd.h: Add missing cast to (char *) in entry_get_public
- glvnd_pthread.[ch]: Only use pthread_rwlock_t if it's available, and fall
back to pthread_mutex_t otherwise.
- trace.c: Add missing _GNU_SOURCE define
- uthash.h: Fix a -Wcast-qual warning
- x11glvndclient.c: Fix a -Wcast-qual warning by using a writable
array for storing the XGLV_EXTENSION_NAME
Based on a patch by Brian Nguyen.
This macro frees all entries in a locked hash table, and either
re-initializes the table's lock for fork recovery, or destroys the
lock, in which case the hash table is fully torn down and must be
re-initialized before it can be used.
Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
This typedef is already defined in GL/glext.h and GLES/gl.h; including
this redundant typedef may lead to build errors.
Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>