diff --git a/src/Fl_lock.cxx b/src/Fl_lock.cxx index e95bceb..e635a59 100644 --- a/src/Fl_lock.cxx +++ b/src/Fl_lock.cxx @@ -284,7 +284,7 @@ static void unlock_function_std() { if (!--counter) pthread_mutex_unlock(&fltk_mutex); } -# ifdef PTHREAD_MUTEX_RECURSIVE +# ifdef HAVE_PTHREAD_MUTEX_RECURSIVE static bool lock_function_init_rec() { pthread_mutexattr_t attrib; pthread_mutexattr_init(&attrib); @@ -352,7 +352,7 @@ int Fl::lock() { // Set lock/unlock functions for this system, using a system-supplied // recursive mutex if supported... -# ifdef PTHREAD_MUTEX_RECURSIVE +# ifdef HAVE_PTHREAD_MUTEX_RECURSIVE if (!lock_function_init_rec()) { fl_lock_function = lock_function_rec; fl_unlock_function = unlock_function_rec; @@ -361,7 +361,7 @@ int Fl::lock() { lock_function_init_std(); fl_lock_function = lock_function_std; fl_unlock_function = unlock_function_std; -# ifdef PTHREAD_MUTEX_RECURSIVE +# ifdef HAVE_PTHREAD_MUTEX_RECURSIVE } # endif // PTHREAD_MUTEX_RECURSIVE } diff --git a/wscript b/wscript index a93ed88..8f22727 100644 --- a/wscript +++ b/wscript @@ -74,6 +74,11 @@ def configure(conf): conf.check(header_name='pthread.h', define_name='HAVE_PTHREAD', mandatory=True) conf.check(header_name='png.h', define_name='HAVE_PNG_H', mandatory=False) + conf.check(features='c cprogram', + fragment='#include \nint main ( int argc, const char **argv ) { return PTHREAD_MUTEX_RECURSIVE; }\n', + execute = False, + define_name='HAVE_PTHREAD_MUTEX_RECURSIVE', mandatory=False, + msg='Checking for PTHREAD_MUTEX_RECURSIVE') # conf.check(function_name='jpeg_CreateCompress', header_name='jpeglib.h', use='jpeg', define_name='HAVE_LIBJPEG', mandatory=False) if Options.options.ENABLE_TEST: