* sdk: Make PubKey::create_program_address available in program unit tests (#11745)
* sdk: Make PubKey::create_program_address available in program unit tests
This finishes the work started in #11604 to have
`create_program_address` available when `target_arch` is not `bpf` and
`program` is enabled. Otherwise, there is an undefined reference error
to `sol_create_program_address`, which is only defined in `bpf`.
A small test to simply call the function has been added in order to catch
the problem in the future.
The default dependency to `solana-sdk/default` doesn't cause a problem with
existing programs since `build.sh` always specifies
`--no-default-features`, and programs in `solana-program-library` all
use it too.
* Add `default-features = false` for inter-program dependencies
Fix the build error found during CI. The `--no-default-features` flag
only applies to the top-level package, and not to dependencies. A program that
depends on another program, i.e. `128bit` which depends on `128bit_dep`,
must specify `default-features = false` when including that package,
otherwise the `bpf` build will try to pull in default packages, which
includes `std`.
(cherry picked from commit 9a366281d3
)
# Conflicts:
# programs/bpf/rust/128bit/Cargo.toml
# programs/bpf/rust/invoke/Cargo.toml
# programs/bpf/rust/many_args/Cargo.toml
# programs/bpf/rust/param_passing/Cargo.toml
* Fix merge conflicts
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
23 lines
615 B
TOML
23 lines
615 B
TOML
|
|
# Note: This crate must be built using do.sh
|
|
|
|
[package]
|
|
name = "solana-bpf-rust-param-passing-dep"
|
|
version = "1.2.27"
|
|
description = "Solana BPF program written in Rust"
|
|
authors = ["Solana Maintainers <maintainers@solana.com>"]
|
|
repository = "https://github.com/solana-labs/solana"
|
|
license = "Apache-2.0"
|
|
homepage = "https://solana.com/"
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
solana-sdk = { path = "../../../../sdk/", version = "1.2.27", default-features = false }
|
|
|
|
[features]
|
|
program = ["solana-sdk/program"]
|
|
default = ["program", "solana-sdk/default"]
|
|
|
|
[package.metadata.docs.rs]
|
|
targets = ["x86_64-unknown-linux-gnu"]
|