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

build: don't build shared libraries for zlib and zlib-ng. #13652

Merged
merged 3 commits into from
Oct 22, 2020

Conversation

PiotrSikora
Copy link
Contributor

Signed-off-by: Piotr Sikora [email protected]

@moderation
Copy link
Contributor

Dependency patch expansion @htuch

@lizan
Copy link
Member

lizan commented Oct 20, 2020

Feels like maintaining a patch of CMakeLists in this size is even harder than maintaining a bespoke BUILD.bazel. I'd prefer latter. WDYT?

@htuch
Copy link
Member

htuch commented Oct 20, 2020

I'd rather we dedupe as per #13261, but it seems this is still some time away. It could be OK to have a custom zlib BUILD file, but would be even better to have support upstream for shared lib suppression.

@moderation I'll fix RepoKitteh to tag us on foreign_cc patch files as well.

@PiotrSikora
Copy link
Contributor Author

If you look at it, the patch is actually pretty trivial, and the original zlib is updated once every few years, so I doubt maintaining it is going to be an issue.

The problem with adding custom BUILD file, is that we would need to add separate build targets for zlib and zlib-ng, since right now they use the same cmake_external rule, but different source code.

I don't think that the latter makes this a good trade-off, so I'd prefer the patch route, especially if the original zlib is going to be removed soon-ish.

@PiotrSikora
Copy link
Contributor Author

PiotrSikora commented Oct 20, 2020

but would be even better to have support upstream for shared lib suppression.

madler/zlib#526

But looking at the number of open and closed PRs there, I don't think we should block this PR on it.

@PiotrSikora
Copy link
Contributor Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@htuch
Copy link
Member

htuch commented Oct 21, 2020

@PiotrSikora thanks for the upstream PR. Can you comment on why this PR is needed in the first place? If we're going to override the patch policy, it would be good to have some functional necessity rather than let's say just build time or the like.

@PiotrSikora
Copy link
Contributor Author

PiotrSikora commented Oct 21, 2020

zlib is compiled as Wasm module for Wasm test data compiled using C++ SDK, which includes protobuf as a dependency, and more recent Emscripten versions can't compile it as shared object anymore, so this blocks updating Emscripten.

Also, we don't really have a use for shared library, so building it wastes CPU cycles.

@htuch
Copy link
Member

htuch commented Oct 21, 2020

I think the Wasm dependency aspect is compelling, as I guess this is blocking work. @moderation are you OK with a patch given this is also being upstreamed?

@moderation
Copy link
Contributor

Sounds good. 👍 @htuch

Copy link
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

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

LGTM, please revert the patch as soon as zlib merges your PR :)

@repokitteh-read-only repokitteh-read-only bot added the deps Approval required for changes to Envoy's external dependencies label Oct 22, 2020
@htuch htuch merged commit 5e228ef into envoyproxy:master Oct 22, 2020
PiotrSikora added a commit to PiotrSikora/envoy that referenced this pull request Nov 19, 2020
istio-testing pushed a commit to istio/envoy that referenced this pull request Nov 20, 2020
* build: update rules_rust to allow Rustc in RBE (envoyproxy#13595)

Signed-off-by: Lizan Zhou <[email protected]>
Signed-off-by: Piotr Sikora <[email protected]>

* fix macos v8 build (envoyproxy#13572)

Signed-off-by: Rama Chavali <[email protected]>

* wasm: update proxy-wasm-cpp-host (envoyproxy#13606)

The PR updates proxy-wasm-cpp-host dependency for enhancing the capability and fixing a bug in WASM extensions.

The change consists of three PRs in proxy-wasm-cpp-host:

1. proxy-wasm/proxy-wasm-cpp-host#68 @PiotrSikora
2. proxy-wasm/proxy-wasm-cpp-host#65 @mathetake (me)
3. proxy-wasm/proxy-wasm-cpp-host#64 @mathetake (me)

The code change can be found at proxy-wasm/proxy-wasm-cpp-host@49ed20e...c5658d3 .

1 & 2 enhance WASM capability, and 3 fixes a bug in situations where users share vm_id for multiple filters. For details, please take a look at these original PRs.

Signed-off-by: mathetake <[email protected]>
Signed-off-by: Piotr Sikora <[email protected]>

* wasm: re-enable tests with precompiled modules. (envoyproxy#13583)

Fixes envoyproxy#12335.

Signed-off-by: Piotr Sikora <[email protected]>

* wasm: flip the meaning of the "repository" in envoy_wasm_cc_binary(). (envoyproxy#13621)

Change the meaning of the "repository" parameter to refer to an external
Bazel repository, instead of using "@envoy" in targets that are included
in the Envoy repository.

This aligns with other envoy_* rules.

Signed-off-by: Piotr Sikora <[email protected]>

* build: support ppc64le with wasm (envoyproxy#13657)

The build has only been tested with gn git sha 5da62d5 as
recommended by ppc64 maintainers of the v8 runtime.

Signed-off-by: Christopher M. Luciano <[email protected]>

* wasm: remove no longer needed Emscripten metadata. (envoyproxy#13667)

Signed-off-by: Piotr Sikora <[email protected]>

* fix wasm compilation (envoyproxy#13765)

Signed-off-by: Asra Ali <[email protected]>

* wasm: strip only Custom Sections with precompiled Wasm modules. (envoyproxy#13775)

Signed-off-by: Piotr Sikora <[email protected]>

* build: don't build shared libraries for zlib and zlib-ng. (envoyproxy#13652)

Signed-off-by: Piotr Sikora <[email protected]>

* wasm: update V8 to v8.7.220.10. (envoyproxy#13568)

Signed-off-by: Piotr Sikora <[email protected]>

* build: exclude wee8/out from inputs (envoyproxy#13866)

If you build without sandboxing for performance, the output files from
this custom build genrule contained timestamps which caused it to
rebuild every single build.

Signed-off-by: Keith Smiley <[email protected]>

* tls: fix detection of the upstream connection close event. (envoyproxy#13858)

Fixes envoyproxy#13856.

Signed-off-by: Piotr Sikora <[email protected]>

* wasm: Force stop iteration after local response is sent (envoyproxy#13930)

Resolves envoyproxy#13857

ref:
-proxy-wasm/proxy-wasm-rust-sdk#44
-proxy-wasm/proxy-wasm-cpp-host#88
-proxy-wasm/proxy-wasm-cpp-host#93

Signed-off-by: mathetake <[email protected]>
Signed-off-by: Piotr Sikora <[email protected]>

* wasm: fix order of callbacks for paused requests. (envoyproxy#13840)

Fixes proxy-wasm/proxy-wasm-rust-sdk#43.

Signed-off-by: Piotr Sikora <[email protected]>

* wasm: fix network leak (envoyproxy#13836)

Signed-off-by: Kuat Yessenov <[email protected]>

Co-authored-by: Lizan Zhou <[email protected]>
Co-authored-by: Rama Chavali <[email protected]>
Co-authored-by: Takeshi Yoneda <[email protected]>
Co-authored-by: cmluciano <[email protected]>
Co-authored-by: asraa <[email protected]>
Co-authored-by: Keith Smiley <[email protected]>
Co-authored-by: Takeshi Yoneda <[email protected]>
Co-authored-by: Kuat <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deps Approval required for changes to Envoy's external dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants