Skip to content

Native Windows threads #49

@pmakin

Description

@pmakin

All windows libraries are cross-compiled via mingw, and because of it all libraries that use threads are dependent on libwinpthread-1.dll. Recompiling them natively using MSVC will remove unnecessary dependency.

So far I'm aware of libcurl. libwinpthread-1.dll is being supplied with libopus, but opus dlls doesn't seem to depend on it.

Not sure how hard it is to add MSVC compilation into the workflow. But maybe relocating libwinpthread-1.dll to curl dir would be an option.

>dumpbin /DEPENDENTS libcurl.dll
Microsoft (R) COFF/PE Dumper Version 14.50.35726.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file libcurl.dll

File Type: DLL

  Image has the following dependencies:

    ADVAPI32.dll
    bcrypt.dll
    CRYPT32.dll
    KERNEL32.dll
    msvcrt.dll
    libwinpthread-1.dll
    WLDAP32.dll
    WS2_32.dll
    zlib1.dll
>dumpbin /DEPENDENTS libogg.dll
Microsoft (R) COFF/PE Dumper Version 14.50.35726.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file libogg.dll

File Type: DLL

  Image has the following dependencies:

    KERNEL32.dll
    msvcrt.dll
>dumpbin /DEPENDENTS libopus.dll
Microsoft (R) COFF/PE Dumper Version 14.50.35726.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file libopus.dll

File Type: DLL

  Image has the following dependencies:

    KERNEL32.dll
    msvcrt.dll
>dumpbin /DEPENDENTS libopusfile.dll
Microsoft (R) COFF/PE Dumper Version 14.50.35726.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file libopusfile.dll

File Type: DLL

  Image has the following dependencies:

    libogg.dll
    libopus.dll
    KERNEL32.dll
    msvcrt.dll

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions