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

Each back end should list its dependencies separately. The top-level dependencies should only list the dependencies necessary for p4test. #4536

Open
fruffy opened this issue Mar 15, 2024 · 6 comments
Labels
enhancement This topic discusses an improvement to existing compiler code. good-first-issue An issue that could be solved by someone new to the code base.

Comments

@fruffy
Copy link
Collaborator

fruffy commented Mar 15, 2024

Do not force users to install more than necessary if they only want to use one particular part of the compiler.

@fruffy fruffy added enhancement This topic discusses an improvement to existing compiler code. good-first-issue An issue that could be solved by someone new to the code base. labels Mar 15, 2024
@vlstill
Copy link
Contributor

vlstill commented Mar 15, 2024

Why is the p4test assumed to be always present? Or is it just that p4test does not have any dependencies that are also not dependencies of the "core" used by all backends?

@fruffy
Copy link
Collaborator Author

fruffy commented Mar 15, 2024

Why is the p4test assumed to be always present? Or is it just that p4test does not have any dependencies that are also not dependencies of the "core" used by all backends?

Yes, p4test does not have any non-core dependencies (except the control-plane maybe). We could make it optional too but then we only have gtest.

@vlstill
Copy link
Contributor

vlstill commented Mar 15, 2024

We could make it optional too but then we only have gtest.

There is already a ENABLE_P4TEST option. So presumably it can be disabled already.

Of course, building without p4test makes the test suite much less useful, but I could see a downstream backend disabling it just to make the builds a bit faster.

@asl
Copy link
Contributor

asl commented Mar 15, 2024

Yes, p4test does not have any non-core dependencies (except the control-plane maybe). We could make it optional too but then we only have gtest.

I would probably vote to have control-plane dependency optional, if possible. As control-plane currently requires protobuf and it's ok for a downstream project to have completely separate controlplane

@Sanket-0510
Copy link
Contributor

From the conversation it seems we are heading to disable the control plane dependencies which we install for p4test which is a non-core dependency. And also if we could disable other dependencies which are backend specific am I correct?

@fruffy
Copy link
Collaborator Author

fruffy commented Mar 16, 2024

The relevant issue for this problem is #4420. This requires adding checks for every back end and code that depends on the control plane.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This topic discusses an improvement to existing compiler code. good-first-issue An issue that could be solved by someone new to the code base.
Projects
None yet
Development

No branches or pull requests

4 participants