Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[APIDigester] Build the API digester as a frontend tool instead of a standalone executable #36381

Merged
merged 1 commit into from Mar 16, 2021

Conversation

owenv
Copy link
Collaborator

@owenv owenv commented Mar 10, 2021

This reduces the install size of the toolchain by around 10% depending on the platform and configuration. Because the api digester now has virtually no size overhead, I moved it from the toolchain-tools component to compiler. If there's a reason to continue excluding it from some toolchains I can revert that change though.

For now, api-digester still uses llvm::cl based option parsing, but I'd like to migrate it to use the frontend option tables eventually for consistency with the other tools. There's also probably some opportunities to refactor code out of swift_api_digester_main.cpp, I haven't looked into that too much yet.

@owenv
Copy link
Collaborator Author

owenv commented Mar 10, 2021

@swift-ci please smoke test

@owenv
Copy link
Collaborator Author

owenv commented Mar 10, 2021

@swift-ci please build toolchain

@owenv owenv force-pushed the api-digester-as-frontend-tool branch from 5b58cb6 to 77efd77 Compare March 11, 2021 03:30
@owenv
Copy link
Collaborator Author

owenv commented Mar 11, 2021

@swift-ci please smoke test

1 similar comment
@owenv
Copy link
Collaborator Author

owenv commented Mar 11, 2021

@swift-ci please smoke test

@owenv
Copy link
Collaborator Author

owenv commented Mar 11, 2021

@swift-ci please smoke test macOS

@owenv
Copy link
Collaborator Author

owenv commented Mar 11, 2021

@swift-ci please smoke test Linux

@owenv
Copy link
Collaborator Author

owenv commented Mar 11, 2021

Hmm, these lldb failures seem unrelated

@owenv owenv marked this pull request as ready for review March 11, 2021 07:46
@owenv owenv requested a review from nkcsgexi March 11, 2021 07:47
@nkcsgexi
Copy link
Member

This is a great idea, Thanks, @owenv !

@owenv
Copy link
Collaborator Author

owenv commented Mar 12, 2021

@swift-ci please smoke test

@owenv
Copy link
Collaborator Author

owenv commented Mar 12, 2021

@swift-ci please build toolchain

@swift-ci
Copy link
Collaborator

Linux Toolchain (Ubuntu 16.04)
Download Toolchain
Git Sha - 77efd77

Install command
tar zxf swift-PR-36381-573-ubuntu16.04.tar.gz
More info

@owenv
Copy link
Collaborator Author

owenv commented Mar 12, 2021

@swift-ci please build toolchain macOS

1 similar comment
@owenv
Copy link
Collaborator Author

owenv commented Mar 13, 2021

@swift-ci please build toolchain macOS

@owenv
Copy link
Collaborator Author

owenv commented Mar 13, 2021

I think the watchOS failure is fixed now

@swift-ci please build toolchain macOS

@swift-ci
Copy link
Collaborator

macOS Toolchain
Download Toolchain
Git Sha - 77efd77

Install command
tar -zxf swift-PR-36381-912-osx.tar.gz --directory ~/

@owenv
Copy link
Collaborator Author

owenv commented Mar 13, 2021

I tried the toolchain out locally and everything seemed to be working. I think this is good to go now, as long as it's ok to keep the FrameworkABIBaseline data in the toolchain-tools component, which I don't expect to cause any problems

@owenv
Copy link
Collaborator Author

owenv commented Mar 16, 2021

@swift-ci please smoke test and merge

@swift-ci swift-ci merged commit 3bd26d0 into apple:main Mar 16, 2021
drodriguez added a commit to drodriguez/swift that referenced this pull request Jun 16, 2021
In apple#36381 the swift-api-digester changed from being a standalone tool to
be a symlink of the frontend. With the symlink, the target
swift-api-checker disappeared. In order to keep depending on
symlink_abi_checker_data for the tests, change the mentions of
swift-api-checker to swift-frontend (which is the actual target that
creates the symlink).
drodriguez added a commit that referenced this pull request Jun 16, 2021
In #36381 the swift-api-digester changed from being a standalone tool to
be a symlink of the frontend. With the symlink, the target
swift-api-checker disappeared. In order to keep depending on
symlink_abi_checker_data for the tests, change the mentions of
swift-api-checker to swift-frontend (which is the actual target that
creates the symlink).
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.

None yet

3 participants