Skip to content
  • Emil Velikov's avatar
    Rework the pthread-stub design · 8340ebd6
    Emil Velikov authored and Uli Schlachter's avatar Uli Schlachter committed
    
    
    The current design handles the most common use-cases, although it causes
    breakage on others (when a pthreads liked library is dlopened). Refer to
    the README for further details.
    
    The new design, makes pthread-stubs a "meta" package which _never_
    provides a library but only a .pc file.
    
    pthread-stubs checks if the run-time (libc or otherwise) expose
    lightweight pthread symbols to link against and defaults to a full blown
    pthread.
    
    This way projects can use the Cflags/Libs without having to know the
    details. Alternatively they can directly link against the pthread
    implementation, although that might bring unwarranted overhead.
    
    v2:
     - Remove m4 macro, always use -pthread and document why.
     - Sort the symbol list, document how it's derived what is allowed and
    what not.
     - Rework the README to start from current state of afairs to past ones.
     - Document platforms that are 'safe' and ones that are not.
    
    v3:
     - Add SVN note about -pthread + Cygwin/mingw/mingw-w64
    
    Signed-off-by: default avatarEmil Velikov <emil.velikov@collabora.com>
    Acked-by: default avatarEric Anholt <eric@anholt.net>
    Signed-off-by: default avatarUli Schlachter <psychon@znc.in>
    8340ebd6