mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
* Fix two issues with the SwiftGlibc module map. The issues are: - Today, some submodules in `SwiftGlibc` fail to provide definitions that they should contain. As a consequence, Swift fails to import some code that compiles correctly with standalone Clang. As just one example, including `signal.h` should make the type `pid_t` available, but it currently does not. - `SwiftGlibc` is not compatible with the libc++ module map. Trying to include libc++ headers in a C++ module imported into Swift results in an error message about cyclic dependencies. This change fixes both of these issues by making it so that `SwiftGlibc` no actually longer defines a module map for the glibc headers but merely makes all of the symbols from those headers available in a module that can be imported into Swift. C / Objective-C / C++ code, on the other hand, will now include the glibc headers texually. For more context on the two issues and this fix, see this forum discussion: https://forums.swift.org/t/problems-with-swiftglibc-and-proposed-fix/37594 This change only modifies `glibc.modulemap.gyb` for the time being but leaves `bionic.modulemap.gyb` and `libc-openbsd.modulemap.gyb` unchanged. The intent is to fix these in the same way, but it will be easier to do this in separate PRs that can be tested individually. Co-authored-by: zoecarver <z.zoelec2@gmail.com> Co-authored-by: Marcel Hlopko <hlopko@google.com>
1.6 KiB
1.6 KiB