Skip to content

macOS dynamic shared module extension probably shouldn't default to .dylib or allow both .dylib and .so #79

Open
@saxbophone

Description

@saxbophone

In the README, you specify that the file extension dylib looks for to load macOS shared modules is .dylib.

Unfortunately, there seems to be a mixture of uses of both .dylib and .so for these kinds of shared objects in macOS.

Interestingly, CMake uses .dylib for shared libraries, and .so for shared modules (the kind that are only intended for loading at runtime, and cannot be linked to).

Sample output from building one of my projects with CMake where I have two duplicate libraries, one SHARED and one MODULE:

[ 76%] Linking CXX shared library libgbfp.dylib
[ 82%] Linking CXX shared module libgbfpm.so

See also this CMake issue: https://gitlab.kitware.com/cmake/cmake/-/issues/21189

I feel like the best solution may be to check for both extensions on macOS. What do you think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions