-
Notifications
You must be signed in to change notification settings - Fork 289
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
Improve build system + prepare for 0.22 #183
Conversation
rdkafka had been upgraded to the 2018 edition of Rust, but not rdkafka-sys.
Previously we were using `cargo:rustc-link-lib` dependencies to link some of our *-sys dependencies, but not others. Using `extern crate` is cleaner. Also, ensure sasl2 is linked for both the CMake and non-CMake builds. Since there's no *-sys crate for sasl2, we just output the link directive directly and hope that the library exists.
Rather than maxing out the host's cores, let Cargo tell Make how much parallelism is available.
To avoid breaking backwards compatibility, libz becomes a default feature.
00f4ef9
to
b13b8aa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for all your work on the library!
README.md
Outdated
version = "~0.21" | ||
features = ["ssl", "sasl"] | ||
[dependencies] | ||
rdkafka = { version = "0.22", features = ["cmake-build", "dynamic-linking"] } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is cmake-build necessary when using dynamic linking?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
D'oh, good catch, thanks!
b13b8aa
to
328d9a0
Compare
We can't always get CMake, mklove, and Cargo to agree on what version of each library to use, but we can try.
328d9a0
to
7e27588
Compare
Thank you for building the library in the first place! Happy to keep things moving forward. |
Should I build a new release? Or are there still open issues that we want to solve first? |
Yes, please! Folks seem to be ready for a new release, and there’s nothing else that seems urgent. (I want to get to the futures stuff ASAP, but better to put that in 0.23 instead of the next release, since there’s a lot of stuff in the ecosystem that’s still on tokio 0.1, and those folks could benefit from the past six months of compatible improvements here.) |
Probably easiest just to look at the commit messages and the updates to the changelog/README.