-
Notifications
You must be signed in to change notification settings - Fork 220
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
fix: iOS linker error workaround #3401
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,13 +7,13 @@ version = "0.18.6" | |
edition = "2018" | ||
|
||
[dependencies] | ||
tari_comms = { version = "^0.10", path = "../../comms" } | ||
tari_comms = { version = "^0.10", path = "../../comms", features = ["c_integration"]} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this feature even get used in the tari_comms crate anymore? |
||
tari_comms_dht = { version = "^0.10", path = "../../comms/dht", default-features = false } | ||
tari_common_types = {path="../common_types"} | ||
tari_crypto = { git = "https://github.com/tari-project/tari-crypto.git", branch = "main" } | ||
tari_key_manager = { version = "^0.10", path = "../key_manager" } | ||
tari_p2p = { version = "^0.10", path = "../p2p" } | ||
tari_wallet = { version = "^0.10", path = "../wallet", default-features = false } | ||
tari_wallet = { version = "^0.10", path = "../wallet", features = ["c_integration"]} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Pretty sure that the c_integration flag does nothing in the wallet lib, the default-features = false should mean that this crate does not use the bundled sql lib when building wallet. Not using the bundled Sqlite should be an exception to the default. |
||
tari_shutdown = { version = "^0.10", path = "../../infrastructure/shutdown" } | ||
tari_utilities = "^0.3" | ||
|
||
|
@@ -26,6 +26,16 @@ rand = "0.8" | |
thiserror = "1.0.26" | ||
tokio = "1.11" | ||
|
||
# <workaround> | ||
# Temporary workaround until crates utilizing openssl have been updated from security-framework 2.4.0 | ||
# which is currently broken for iOS | ||
[target.x86_64-apple-ios.dependencies] | ||
security-framework = "2.4.2" | ||
|
||
[target.aarch64-apple-ios.dependencies] | ||
security-framework = "2.4.2" | ||
# </workaround> | ||
|
||
[dependencies.tari_core] | ||
path = "../../base_layer/core" | ||
version = "^0.10" | ||
|
@@ -35,11 +45,6 @@ features = ["transactions"] | |
[lib] | ||
crate-type = ["staticlib","cdylib"] | ||
|
||
[features] | ||
default = ["bundled_sqlite", "bundled_openssl"] | ||
bundled_openssl= [ "tari_comms/bundled_openssl"] | ||
bundled_sqlite = ["tari_wallet/bundled_sqlite"] | ||
|
||
[dev-dependencies] | ||
tempfile = "3.1.0" | ||
lazy_static = "1.3.0" | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -65,6 +65,6 @@ tempfile = "3.1.0" | |
tari_common = { version = "^0.10", path = "../common", features = ["build"] } | ||
|
||
[features] | ||
bundled_openssl = ["openssl-sys/vendored"] | ||
c_integration = [] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. now is this correct? All the other clients of tari_comms would like to bundle openssl but we are removing that option because just the FFI crate doesn't like it. The FFI crate should just not use this feature. The problem of course is that Core and the Wallet crates use Comms and they both by default use the bundled features in comms. So we should make a feature in Core and Wallet that excludes this feature from Comms. That way Wallet_FFI can choose to use non-default features to exclude this bundling rather than making the default to exclude it. |
||
avx2 = ["tari_crypto/avx2"] | ||
rpc = ["tower-make"] |
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.
So instead of just reverting these changes lets try and clean up the feature situation. As far as I can tell this c_integration flag doesn't do anything anymore so lets remove it.
Having Sqlite bundled by default seems correct to me so I would say leave this in and then we make sure that when the wallet_ffi build happens it doesn't use these features.