Skip to content

Conversation

compnerd
Copy link
Member

The newer clang compiler prefers module.modulemap over module.map. This will result in us using the framework form of the module definitions for CoreFoundation. While this is fine for the compilation, the linker directive to link against the framework will also be emitted into the object files. This causes a linker failure on Windows as -framework (CoreFoundation|CFURLInterface|CFXMLInterface) is not a valid linker option. Use the swift control over the directives to avoid emitting the framework link directive to repair the build.

The newer clang compiler prefers `module.modulemap` over `module.map`.
This will result in us using the framework form of the module
definitions for CoreFoundation. While this is fine for the compilation,
the linker directive to link against the framework will also be emitted
into the object files. This causes a linker failure on Windows as
`-framework (CoreFoundation|CFURLInterface|CFXMLInterface)` is not a
valid linker option. Use the swift control over the directives to avoid
emitting the framework link directive to repair the build.
@compnerd
Copy link
Member Author

@swift-ci please test

Copy link
Member

@etcwilde etcwilde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we still need the module.map files if they're not being used anymore? I believe this going to consistently use the module.modulemap file, no?

@compnerd
Copy link
Member Author

I think that we should be able to remove them after the rebranch. This is going into main for now.

@compnerd compnerd merged commit f07fa9f into swiftlang:main Sep 18, 2023
@compnerd compnerd deleted the ostrich-map branch September 18, 2023 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants