-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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: make dynamic modules work on macos #38437
build: make dynamic modules work on macos #38437
Conversation
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
the error seems to have originated from the compilation of dynamic modules with rust toolchain and this issue must be something to do with this rust-lang/rust#62874 I tried adding the flag build.rs but no luck. I think i will give up for now - in case someone interested cc @zirain |
maybe we can highlight somewhere that it's not available on mac. |
ok almost there.. |
finally only problem is symbol resolution at runtime
it seems there's some weird "_" prefix |
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
@@ -15,45 +15,6 @@ envoy_cc_library( | |||
"abi.h", | |||
"dynamic_modules.h", | |||
], | |||
linkopts = select({ |
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.
note: we no longer need to manually list callback symbols here!
@@ -32,6 +32,7 @@ DEFAULT_TEST_TARGETS=( | |||
"//test/integration:protocol_integration_test" | |||
"//test/integration:tcp_proxy_integration_test" | |||
"//test/integration:extension_discovery_integration_test" | |||
"//test/extensions/dynamic_modules/http:filter_test" |
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.
note: this is the minimal test that ensures the dynamic loading/symbol resolution working
working!!!!!!!! |
/assign @mattklein123 |
Commit Message: build: make dynamic modules work on macos
Additional Description:
This tweaks a build setting on macos especially around symbol exports to enable dynamic modules work on macos. Notably, this adds the macos compatible symbols list which has a different format than linux platform.
Risk Level: low
Testing: existing ones
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a