[llvm-commits] [llvm] r74284 - in /llvm/trunk: cmake/config-ix.cmake include/llvm/Config/config.h.cmake - cmake bug?
Xerxes Rånby
xerxes at zafena.se
Mon Jun 29 06:28:21 PDT 2009
Added PR4476 for this cmake issue
http://llvm.org/bugs/show_bug.cgi?id=4476
Xerxes Rånby skrev:
> Hi Doug.
>
> Im having some issues with these two test when implemented using
> check_symbol_exists(), they both fail when they should not.
> cd llvm
> svn up
> cd ..
> mkdir llvm-build
> cd llvm-build
> cmake ../llvm
> ...
> -- Looking for pthread_create in pthread
> -- Looking for pthread_create in pthread - found
> ...
> -- Looking for pthread_mutex_lock
> -- Looking for pthread_mutex_lock - found
> -- Looking for pthread_rwlock_init
> -- Looking for pthread_rwlock_init - not found.
> -- Looking for pthread_getspecific
> -- Looking for pthread_getspecific - not found.
>
> if i change config-ix.cmake to use check_library_exists() for the
> tests then they both succeed on the same machine:
>
> -- Looking for pthread_create in pthread
> -- Looking for pthread_create in pthread - found
> -- Looking for pthread_getspecific in pthread
> -- Looking for pthread_getspecific in pthread - found
> -- Looking for pthread_rwlock_init in pthread
> -- Looking for pthread_rwlock_init in pthread - found
> ...
> -- Looking for pthread_mutex_lock
> -- Looking for pthread_mutex_lock - found
>
> Im a bit puzzled why check_symbol_exists() dont seem to work for these
> two tests while working to find pthread_mutex_lock.
> Could this be a cmake bug?
> If i grep my /usr/include/pthread.h all the the symbols are there!:
>
> [xranby at pusspuss llvm-build]$ grep pthread_getspecific
> /usr/include/pthread.h
> extern void *pthread_getspecific (pthread_key_t __key) __THROW;
>
> [xranby at pusspuss llvm-build]$ grep pthread_rwlock_init
> /usr/include/pthread.h
> extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
>
> [xranby at pusspuss llvm-build]$ grep pthread_mutex_lock
> /usr/include/pthread.h
> extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
>
>
> The attached patch fixes this issue by using check_library_exists()
> for pthread_getspecific and pthread_rwlock_init test.
>
> Cheers
> Xerxes
>
> Den 2009-06-26 16:35, Douglas Gregor skrev:
>> Author: dgregor
>> Date: Fri Jun 26 09:35:43 2009
>> New Revision: 74284
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=74284&view=rev
>> Log:
>> CMake: add configure checks for pthread_rwlock_init and
>> pthread_getspecific
>>
>> Modified:
>> llvm/trunk/cmake/config-ix.cmake
>> llvm/trunk/include/llvm/Config/config.h.cmake
>>
>> Modified: llvm/trunk/cmake/config-ix.cmake
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/config-ix.cmake?rev=74284&r1=74283&r2=74284&view=diff
>>
>>
>> ==============================================================================
>>
>> --- llvm/trunk/cmake/config-ix.cmake (original)
>> +++ llvm/trunk/cmake/config-ix.cmake Fri Jun 26 09:35:43 2009
>> @@ -64,6 +64,8 @@
>> check_symbol_exists(malloc_zone_statistics malloc/malloc.h
>> HAVE_MALLOC_ZONE_STATISTICS)
>> check_symbol_exists(pthread_mutex_lock pthread.h
>> HAVE_PTHREAD_MUTEX_LOCK)
>> +check_symbol_exists(pthread_rwlock_init pthread.h
>> HAVE_PTHREAD_RWLOCK_INIT)
>> +check_symbol_exists(pthread_getspecific pthread.h
>> HAVE_PTHREAD_GETSPECIFIC)
>> check_symbol_exists(strtoll stdlib.h HAVE_STRTOLL)
>>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list