----- Original Message ----- > On 04/06/14 12:50, Jon TURNEY wrote: > > On 04/06/2014 01:06, Vinson Lee wrote: > >> Match the behavior of the SCons MinGW build. > >> > >> This patch also fixes these build errors. > >> > >> CC glapi_entrypoint.lo > >> glapi_entrypoint.c: In function 'init_glapi_relocs_once': > >> glapi_entrypoint.c:341:4: error: unknown type name 'pthread_once_t' > >> static pthread_once_t once_control = PTHREAD_ONCE_INIT; > >> ^ > >> glapi_entrypoint.c:341:41: error: 'PTHREAD_ONCE_INIT' undeclared (first > >> use > >> in this function) > >> static pthread_once_t once_control = PTHREAD_ONCE_INIT; > >> ^ > >> glapi_entrypoint.c:341:41: note: each undeclared identifier is reported > >> only > >> once for each function it appears in > >> glapi_entrypoint.c:342:4: error: implicit declaration of function > >> 'pthread_once' [-Werror=implicit-function-declaration] > >> pthread_once( & once_control, init_glapi_relocs ); > >> ^ > >> > >> Signed-off-by: Vinson Lee <v...@freedesktop.org> > >> --- > >> configure.ac | 7 ++++++- > >> 1 file changed, 6 insertions(+), 1 deletion(-) > >> > >> diff --git a/configure.ac b/configure.ac > >> index 9c64400..ab3b91d 100644 > >> --- a/configure.ac > >> +++ b/configure.ac > >> @@ -552,7 +552,12 @@ dnl See if posix_memalign is available > >> AC_CHECK_FUNC([posix_memalign], [DEFINES="$DEFINES > >> -DHAVE_POSIX_MEMALIGN"]) > >> > >> dnl Check for pthreads > >> -AX_PTHREAD > >> +case "$host_os" in > >> +mingw*) > >> + ;; > >> +*) > >> + AX_PTHREAD > >> +esac > >> dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets > >> PTHREAD_CFLAGS > >> dnl to -pthread, which causes problems if we need -lpthread to appear in > >> dnl pkgconfig files. > > > > I'm not sure this is right. > > > > Current versions of both the pthreads libraries for MinGW/MinGW64 > > (pthreads-win32, winpthreads) seem to have pthread_once() > > > Indeed same here. My assumption is that mingw*gcc is built with > --enable-threads=win32, which essentially drops any support for pthreads.
Even if MinGW's libstdc++11 uses pthreads, I don't think we want to use pthreads from Mesa ourselves. In the end, we'll sill be using win32 native threads, but just with a pointless indirection layer. Actually, I'm pretty sure that using pthreads on Windows will not work well, as we assume win32 threads in many places. Jose _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev