[Mesa-dev] [PATCH 03/16] build: Use AX_PTHREAD's HAVE_PTHREAD preprocessor definition

Matt Turner mattst88 at gmail.com
Thu Sep 27 15:58:07 PDT 2012


---
 Android.common.mk                   |    2 +-
 configure.ac                        |   12 ++++++------
 docs/dispatch.html                  |    2 +-
 scons/gallium.py                    |    2 +-
 src/egl/main/eglcurrent.c           |    6 +++---
 src/egl/main/eglmutex.h             |    2 +-
 src/glx/apple/Makefile              |    2 +-
 src/glx/glxclient.h                 |    8 ++++----
 src/glx/glxcurrent.c                |    4 ++--
 src/mapi/glapi/gen/gl_SPARC_asm.py  |    2 +-
 src/mapi/glapi/gen/gl_x86-64_asm.py |    6 +++---
 src/mapi/glapi/gen/gl_x86_asm.py    |    6 +++---
 src/mapi/glapi/glapi_entrypoint.c   |    6 +++---
 src/mapi/mapi/stub.c                |    2 +-
 src/mapi/mapi/u_thread.h            |    8 ++++----
 15 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/Android.common.mk b/Android.common.mk
index 1e9f040..18e5726 100644
--- a/Android.common.mk
+++ b/Android.common.mk
@@ -40,7 +40,7 @@ LOCAL_CFLAGS += \
 	-DANDROID_VERSION=0x0$(major)0$(minor)
 
 LOCAL_CFLAGS += \
-	-DPTHREADS \
+	-DHAVE_PTHREAD=1 \
 	-fvisibility=hidden \
 	-Wno-sign-compare
 
diff --git a/configure.ac b/configure.ac
index 00489a7..0dd189a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -160,13 +160,13 @@ DEFINES=""
 AC_SUBST([DEFINES])
 case "$host_os" in
 linux*|*-gnu*|gnu*)
-    DEFINES="$DEFINES -D_GNU_SOURCE -DPTHREADS"
+    DEFINES="$DEFINES -D_GNU_SOURCE"
     ;;
 solaris*)
-    DEFINES="$DEFINES -DPTHREADS -DSVR4"
+    DEFINES="$DEFINES -DSVR4"
     ;;
 cygwin*)
-    DEFINES="$DEFINES -DPTHREADS"
+    DEFINES="$DEFINES"
     ;;
 esac
 
@@ -955,8 +955,8 @@ AC_ARG_ENABLE([glx-tls],
     [GLX_USE_TLS=no])
 AC_SUBST(GLX_TLS, ${GLX_USE_TLS})
 
-AS_IF([test "x$GLX_USE_TLS" = xyes],
-      [DEFINES="${DEFINES} -DGLX_USE_TLS -DPTHREADS"])
+AS_IF([test "x$GLX_USE_TLS" = xyes -a "x$ax_pthread_ok" = xyes],
+      [DEFINES="${DEFINES} -DGLX_USE_TLS"])
 
 dnl
 dnl More DRI setup
@@ -1040,7 +1040,7 @@ if test "x$enable_dri" = xyes; then
         esac
         ;;
     freebsd* | dragonfly* | *netbsd*)
-        DEFINES="$DEFINES -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1"
+        DEFINES="$DEFINES -DUSE_EXTERNAL_DXTN_LIB=1"
         DEFINES="$DEFINES -DIN_DRI_DRIVER -DHAVE_ALIAS"
 
         if test "x$DRI_DIRS" = "xyes"; then
diff --git a/docs/dispatch.html b/docs/dispatch.html
index 299d68a..4b529bc 100644
--- a/docs/dispatch.html
+++ b/docs/dispatch.html
@@ -205,7 +205,7 @@ few preprocessor defines.</p>
 
 <ul>
 <li>If <tt>GLX_USE_TLS</tt> is defined, method #4 is used.</li>
-<li>If <tt>PTHREADS</tt> is defined, method #3 is used.</li>
+<li>If <tt>HAVE_PTHREAD</tt> is defined, method #3 is used.</li>
 <li>If <tt>WIN32_THREADS</tt> is defined, method #2 is used.</li>
 <li>If none of the preceeding are defined, method #1 is used.</li>
 </ul>
diff --git a/scons/gallium.py b/scons/gallium.py
index 1dd4e81..c3f33a0 100755
--- a/scons/gallium.py
+++ b/scons/gallium.py
@@ -251,7 +251,7 @@ def generate(env):
             '_SVID_SOURCE',
             '_BSD_SOURCE',
             '_GNU_SOURCE',
-            'PTHREADS',
+            'HAVE_PTHREAD',
             'HAVE_POSIX_MEMALIGN',
         ]
         if env['platform'] == 'darwin':
diff --git a/src/egl/main/eglcurrent.c b/src/egl/main/eglcurrent.c
index 2e2185f..5b09a48 100644
--- a/src/egl/main/eglcurrent.c
+++ b/src/egl/main/eglcurrent.c
@@ -42,7 +42,7 @@
 static _EGLThreadInfo dummy_thread = _EGL_THREAD_INFO_INITIALIZER;
 
 
-#if PTHREADS
+#if HAVE_PTHREAD
 #include <pthread.h>
 
 static _EGL_DECLARE_MUTEX(_egl_TSDMutex);
@@ -108,7 +108,7 @@ static INLINE EGLBoolean _eglInitTSD(void (*dtor)(_EGLThreadInfo *))
    return EGL_TRUE;
 }
 
-#else /* PTHREADS */
+#else /* HAVE_PTHREAD */
 static const _EGLThreadInfo *_egl_TSD;
 static void (*_egl_FreeTSD)(_EGLThreadInfo *);
 
@@ -137,7 +137,7 @@ static INLINE EGLBoolean _eglInitTSD(void (*dtor)(_EGLThreadInfo *))
    return EGL_TRUE;
 }
 
-#endif /* !PTHREADS */
+#endif /* !HAVE_PTHREAD */
 
 
 static void
diff --git a/src/egl/main/eglmutex.h b/src/egl/main/eglmutex.h
index 852e251..e464864 100644
--- a/src/egl/main/eglmutex.h
+++ b/src/egl/main/eglmutex.h
@@ -31,7 +31,7 @@
 
 #include "eglcompiler.h"
 
-#ifdef PTHREADS
+#ifdef HAVE_PTHREAD
 #include <pthread.h>
 
 typedef pthread_mutex_t _EGLMutex;
diff --git a/src/glx/apple/Makefile b/src/glx/apple/Makefile
index ef12eb0..f6faa1e 100644
--- a/src/glx/apple/Makefile
+++ b/src/glx/apple/Makefile
@@ -7,7 +7,7 @@ top_srcdir = $(TOP)
 include $(TOP)/configs/current
 
 #CC=gcc
-#GL_CFLAGS=-Wall -ggdb3 -Os -DPTHREADS -D_REENTRANT $(RC_CFLAGS) $(CFLAGS)
+#GL_CFLAGS=-Wall -ggdb3 -Os -DHAVE_PTHREAD -D_REENTRANT $(RC_CFLAGS) $(CFLAGS)
 #GL_LDFLAGS=-L$(INSTALL_DIR)/lib -L$(X11_DIR)/lib $(LDFLAGS) -Wl,-single_module
 
 TCLSH=tclsh8.5
diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h
index 087f238..e4adedd 100644
--- a/src/glx/glxclient.h
+++ b/src/glx/glxclient.h
@@ -53,7 +53,7 @@
 #include "GL/glxproto.h"
 #include "glxconfig.h"
 #include "glxhash.h"
-#if defined( PTHREADS )
+#if defined( HAVE_PTHREAD )
 # include <pthread.h>
 #endif
 
@@ -623,7 +623,7 @@ extern void __glXPreferEGL(int state);
 extern int __glXDebug;
 
 /* This is per-thread storage in an MT environment */
-#if defined( PTHREADS )
+#if defined( HAVE_PTHREAD )
 
 extern void __glXSetCurrentContext(struct glx_context * c);
 
@@ -646,7 +646,7 @@ extern struct glx_context *__glXcurrentContext;
 #define __glXGetCurrentContext() __glXcurrentContext
 #define __glXSetCurrentContext(gc) __glXcurrentContext = gc
 
-#endif /* defined( PTHREADS ) */
+#endif /* defined( HAVE_PTHREAD ) */
 
 extern void __glXSetCurrentContextNull(void);
 
@@ -655,7 +655,7 @@ extern void __glXSetCurrentContextNull(void);
 ** Global lock for all threads in this address space using the GLX
 ** extension
 */
-#if defined( PTHREADS )
+#if defined( HAVE_PTHREAD )
 extern pthread_mutex_t __glXmutex;
 #define __glXLock()    pthread_mutex_lock(&__glXmutex)
 #define __glXUnlock()  pthread_mutex_unlock(&__glXmutex)
diff --git a/src/glx/glxcurrent.c b/src/glx/glxcurrent.c
index c92a2fd..3d8893c 100644
--- a/src/glx/glxcurrent.c
+++ b/src/glx/glxcurrent.c
@@ -33,7 +33,7 @@
  * Client-side GLX interface for current context management.
  */
 
-#ifdef PTHREADS
+#ifdef HAVE_PTHREAD
 #include <pthread.h>
 #endif
 
@@ -73,7 +73,7 @@ struct glx_context dummyContext = {
  * Current context management and locking
  */
 
-#if defined( PTHREADS )
+#if defined( HAVE_PTHREAD )
 
 _X_HIDDEN pthread_mutex_t __glXmutex = PTHREAD_MUTEX_INITIALIZER;
 
diff --git a/src/mapi/glapi/gen/gl_SPARC_asm.py b/src/mapi/glapi/gen/gl_SPARC_asm.py
index 400e684..5539596 100644
--- a/src/mapi/glapi/gen/gl_SPARC_asm.py
+++ b/src/mapi/glapi/gen/gl_SPARC_asm.py
@@ -120,7 +120,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
 		print '\t sethi\tGL_OFF(off), %g3;\t\t\t\\'
 		print '\t.size\tfn,.-fn;'
 		print ''
-		print '#elif defined(PTHREADS)'
+		print '#elif defined(HAVE_PTHREAD)'
 		print ''
 		print '\t/* 64-bit 0x00 --> sethi %hh(_glapi_Dispatch), %g1 */'
 		print '\t/* 64-bit 0x04 --> sethi %lm(_glapi_Dispatch), %g2 */'
diff --git a/src/mapi/glapi/gen/gl_x86-64_asm.py b/src/mapi/glapi/gen/gl_x86-64_asm.py
index 3ef5e08..9a085ea 100644
--- a/src/mapi/glapi/gen/gl_x86-64_asm.py
+++ b/src/mapi/glapi/gen/gl_x86-64_asm.py
@@ -138,7 +138,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
 		print '#  define GL_PREFIX(n) GLNAME(CONCAT(gl,n))'
 		print '# endif'
 		print ''
-		print '#if defined(PTHREADS) || defined(_WIN32)'
+		print '#if defined(HAVE_PTHREAD) || defined(_WIN32)'
 		print '#  define THREADS'
 		print '#endif'
 		print ''
@@ -158,7 +158,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
 		print '\tret'
 		print '\t.size\t_x86_64_get_dispatch, .-_x86_64_get_dispatch'
 		print ''
-		print '#elif defined(PTHREADS)'
+		print '#elif defined(HAVE_PTHREAD)'
 		print ''
 		print '\t.extern\t_glapi_Dispatch'
 		print '\t.extern\t_gl_DispatchTSD'
@@ -251,7 +251,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
 		print '\tcall\t_x86_64_get_dispatch at PLT'
 		print '\tmovq\t%u(%%rax), %%r11' % (f.offset * 8)
 		print '\tjmp\t*%r11'
-		print '#elif defined(PTHREADS)'
+		print '#elif defined(HAVE_PTHREAD)'
 		
 		save_all_regs(registers)
 		print '\tcall\t_x86_64_get_dispatch at PLT'
diff --git a/src/mapi/glapi/gen/gl_x86_asm.py b/src/mapi/glapi/gen/gl_x86_asm.py
index 095edcd..5eaa340 100644
--- a/src/mapi/glapi/gen/gl_x86_asm.py
+++ b/src/mapi/glapi/gen/gl_x86_asm.py
@@ -78,7 +78,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
 		print '#define GLOBL_FN(x) GLOBL x'
 		print '#endif'
 		print ''
-		print '#if defined(PTHREADS) || defined(_WIN32)'
+		print '#if defined(HAVE_PTHREAD) || defined(_WIN32)'
 		print '#  define THREADS'
 		print '#endif'
 		print ''
@@ -98,7 +98,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
 		print '\tCTX_INSNS ;					\\'
 		print '\tJMP(GL_OFFSET(off))'
 		print ''
-		print '#elif defined(PTHREADS)'
+		print '#elif defined(HAVE_PTHREAD)'
 		print '#  define GL_STUB(fn,off,fn_alt)\t\t\t\\'
 		print 'ALIGNTEXT16;\t\t\t\t\t\t\\'
 		print 'GLOBL_FN(GL_PREFIX(fn, fn_alt));\t\t\t\\'
@@ -152,7 +152,7 @@ class PrintGenericStubs(gl_XML.gl_print_base):
 		print '\tmovl	_glapi_tls_Dispatch at GOTNTPOFF(%eax), %eax'
 		print '\tret'
 		print ''
-		print '#elif defined(PTHREADS)'
+		print '#elif defined(HAVE_PTHREAD)'
 		print 'EXTERN GLNAME(_glapi_Dispatch)'
 		print 'EXTERN GLNAME(_gl_DispatchTSD)'
 		print 'EXTERN GLNAME(pthread_getspecific)'
diff --git a/src/mapi/glapi/glapi_entrypoint.c b/src/mapi/glapi/glapi_entrypoint.c
index 993ccb94..7a0eb35 100644
--- a/src/mapi/glapi/glapi_entrypoint.c
+++ b/src/mapi/glapi/glapi_entrypoint.c
@@ -136,7 +136,7 @@ extern void __glapi_sparc_icache_flush(unsigned int *);
 static void
 init_glapi_relocs( void )
 {
-#if defined(PTHREADS) || defined(GLX_USE_TLS)
+#if defined(HAVE_PTHREAD) || defined(GLX_USE_TLS)
     static const unsigned int template[] = {
 #ifdef GLX_USE_TLS
 	0x05000000, /* sethi %hi(_glapi_tls_Dispatch), %g2 */
@@ -266,7 +266,7 @@ init_glapi_relocs( void )
 _glapi_proc
 generate_entrypoint(GLuint functionOffset)
 {
-#if defined(PTHREADS) || defined(GLX_USE_TLS)
+#if defined(HAVE_PTHREAD) || defined(GLX_USE_TLS)
    static const unsigned int template[] = {
       0x07000000, /* sethi %hi(0), %g3 */
       0x8210000f, /* mov  %o7, %g1 */
@@ -337,7 +337,7 @@ fill_in_entrypoint_offset(_glapi_proc entrypoint, GLuint offset)
 void
 init_glapi_relocs_once( void )
 {
-#if defined(PTHREADS) || defined(GLX_USE_TLS)
+#if defined(HAVE_PTHREAD) || defined(GLX_USE_TLS)
    static pthread_once_t once_control = PTHREAD_ONCE_INIT;
    pthread_once( & once_control, init_glapi_relocs );
 #endif
diff --git a/src/mapi/mapi/stub.c b/src/mapi/mapi/stub.c
index 99b475a..6fb8556 100644
--- a/src/mapi/mapi/stub.c
+++ b/src/mapi/mapi/stub.c
@@ -55,7 +55,7 @@ static int next_dynamic_slot = MAPI_TABLE_NUM_STATIC;
 void
 stub_init_once(void)
 {
-#ifdef PTHREADS
+#ifdef HAVE_PTHREAD
    static pthread_once_t once = PTHREAD_ONCE_INIT;
    pthread_once(&once, entry_patch_public);
 #else
diff --git a/src/mapi/mapi/u_thread.h b/src/mapi/mapi/u_thread.h
index e53f872..a5e5043 100644
--- a/src/mapi/mapi/u_thread.h
+++ b/src/mapi/mapi/u_thread.h
@@ -46,14 +46,14 @@
 #include <stdlib.h>
 #include "u_compiler.h"
 
-#if defined(PTHREADS)
+#if defined(HAVE_PTHREAD)
 #include <pthread.h> /* POSIX threads headers */
 #endif
 #ifdef _WIN32
 #include <windows.h>
 #endif
 
-#if defined(PTHREADS) || defined(_WIN32)
+#if defined(HAVE_PTHREAD) || defined(_WIN32)
 #ifndef THREADS
 #define THREADS
 #endif
@@ -88,7 +88,7 @@ extern "C" {
  * compiler flag.  On Solaris with gcc, use -D_REENTRANT to enable
  * proper compiling for MT-safe libc etc.
  */
-#if defined(PTHREADS)
+#if defined(HAVE_PTHREAD)
 
 struct u_tsd {
    pthread_key_t key;
@@ -145,7 +145,7 @@ u_tsd_set(struct u_tsd *tsd, void *ptr)
    }
 }
 
-#endif /* PTHREADS */
+#endif /* HAVE_PTHREAD */
 
 
 /*
-- 
1.7.8.6



More information about the mesa-dev mailing list