Skip to content
  • Bruno Haible's avatar
    setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku. · 6be28624
    Bruno Haible authored
    Reported by Arnold Robbins <arnold@skeeve.com>.
    
    * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
    copied from lib/glthread/lock.h.
    (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
    (setlocale_null_with_lock): If pthread_in_use() is false, use
    setlocale_null_unlocked directly.
    * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
    gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
    (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
    * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
    Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
    * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
    6be28624