feat(openssl): strip unnessary openssl features - #5010
Conversation
|
#4979 was already fixed, and this seems to add a bunch of complexity. Not sure it's worth it? |
1cdd751 to
f05d9f3
Compare
This reverts commit 300c1b4.
f05d9f3 to
9920566
Compare
This fixes previouse android ci/cd error, and further strips some of the openssl parts to improve build speed and size.
9920566 to
0d48290
Compare
|
@djc I just discussed with @Cloud0310 and we agree that:
|
To me this is better in two ways:
Comparing the binary size main run with the PR run, excluding Android targets:
The largest reduction is for Android build is also fixed with this PR.
It's due to my local config problem, I used format on save, causing the change bloat, actually it's just less then 10 lines. And as for the potential problem of stripping out wrong binary section, I've verified the |
|
I don't consider a 7%/0.5MB win for adding shell script calling into OpenSSL configuration worth it. |
Did you mean less error prone? How/why would it be less error prone? |
With a hack like this, we can even strip down further to the minimal stable feature set of openssl, as long as the specific feature stays buildable, we can make sure later versions won't affect or ci build. |
You're adding a hack. We have to maintain that hack potentially forever. It doesn't seem like a good trade-off to me. In my mind we want to maintain OpenSSL support as little as possible. |
@djc I 100% agree with this stance, but according to my experience maintaining the CI, it looks like:
In any way, I think hacking on this repo is not working on the right abstraction level; as such, I think this PR can be closed now. |
|
@cuviper do you know people who could help keep OpenSSL support working in rustup? |
|
I can probably help when it comes to linux-gnu targets, at least, although I haven't seen what's been challenging for you. For this case with android, I don't have much expertise to add, but don't we also build openssl-src for cargo in rust-lang/rust dist CI? |
This fixes previouse android ci/cd error, and further strips some of the openssl parts to improve build speed and size.
Also fixes #5007, allowing for future further reductions about openssl build.