Skip to content

Conversation

daniel-grumberg
Copy link
Contributor

Cherry picks 7c5b0bc

This is an implementation of the auditing tool described in
[SE-0482](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0482-swiftpm-static-library-binary-target-non-apple-platforms.md).

### Motivation:

As part of SE-0482 and
#8639 we
introduced the ability to depend on prebuilt static libraries (that
expose a C interface) and that don't have any dependencies outside of
the C standard library. This PR introduces an auditing tool that checks
the ABI of static library artifact bundle and checks if it's compatible
with the current host platform.

### Modifications:

- Create a new package subcommand that checks a local artifact bundle
for unexpected external dependencies.
- New internal APIs to inspect the ABI of a binary object (object file,
static archive, dynamic library).

### Result:

Users will be able to validate that their static library binary
artifacts won't cause runtime issues for users.
@daniel-grumberg
Copy link
Contributor Author

@swift-ci test self-hosted windows

@dschaefer2
Copy link
Member

@swift-ci please test

@daniel-grumberg
Copy link
Contributor Author

Closing as this was pulled in as part of 8211977

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants