Skip to content
  • Martin Storsjö's avatar
    contrib: pthreads: Fix building with llvm-mingw · c407f7fb
    Martin Storsjö authored
    This avoids doing things with dlltool that llvm-dlltool doesn't
    implement.
    
    I don't see the need of running a second pass with dlltool to
    produce an output def file and yet another pass to produce
    an import library out of it; just make the linker output the
    import library while linking the dll. (If the import library is
    to be used by MSVC, there is a point in generating it with dlltool
    instead of with ld though. Even then, there's no point in generating
    the def file using dlltool though, when it could just be generated by
    the linker.)
    
    Remove an inline declaration on a function that can't be inline-only
    (static inline).
    
    For non-static inline functions in C, the compiler can choose to
    use the inline function itself, or assume that a definition exists
    in a different translation unit. In this case, clang seems to
    not inline ptw32_cond_check_need_init and creates an undefined
    reference to the same function that should be defined in another
    translation unit (which doesn't exist).
    
    See https://www.greenend.org.uk/rjk/tech/inline.html for more details
    on this.
    c407f7fb