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

[RFC] build: switch back to gix/max-performance-safe feature by default #5047

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

arxanas
Copy link
Collaborator

@arxanas arxanas commented Dec 7, 2024

See commit message, plus discussions at
https://discord.com/channels/968932220549103686/1314478258636718081 and
https://discord.com/channels/968932220549103686/969291218347524238/1315041069032804383.

Before committing, I'll need to update the docs to clarify the cmake dependency situation.

Checklist

If applicable:

  • I have updated CHANGELOG.md
  • I have updated the documentation (README.md, docs/, demos/)
  • I have updated the config schema (cli/src/config-schema.json)
  • I have added tests to cover my changes

Copy link
Collaborator

@yuja yuja left a comment

Choose a reason for hiding this comment

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

iirc, @thoughtpolice's idea was to drop cmake dependency from lib-nz-sys. If that works, we won't need the feature flag.

We'll also need to revert the doc change b7ba3fc.

cli/Cargo.toml Outdated Show resolved Hide resolved
Using `gix/max-performance` requires `cmake` as a build-time dependency, which could be a significant barrier for contributors (including existing ones, like me, who already work on jj but didn't have `cmake` installed thus far).

This commit switches back to using `gix/max-performance-safe`, which doesn't have the `cmake` dependency, and adds `gix/max-performance` behind the `gix-max-performance` feature for `jj-lib`.

It also adds `gix-max-performance` to the `packaging` feature group, since I'm assuming that packagers will want maximum performance, and are more likely to have `cmake` at hand.

Tested with

```
$ cargo build --workspace
$ cargo build --workspace --features packaging
```

(and the `--features packaging` build failed until I installed `cmake`)
…eeded"

This reverts commit b7ba3fc.

As per discussion in #5047, I would like to make it so that the default build configuration doesn't need `cmake`.
@arxanas arxanas force-pushed the arxanas/build-no-cmake branch from 27c6e19 to defa823 Compare December 8, 2024 21:20
@arxanas
Copy link
Collaborator Author

arxanas commented Dec 8, 2024

iirc, @thoughtpolice's idea was to drop cmake dependency from lib-nz-sys. If that works, we won't need the feature flag.

That would be great 😄

We'll also need to revert the doc change b7ba3fc.

Reverted in this PR.

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.

3 participants