Defeature bpf_loader; bpf_{c,rust} features now confined to programs/bpf
This commit is contained in:
parent
d0be16b49a
commit
03d6c9a552
|
@ -2031,11 +2031,15 @@ dependencies = [
|
|||
name = "solana-bpf-programs"
|
||||
version = "0.12.0"
|
||||
dependencies = [
|
||||
"solana 0.12.0",
|
||||
"bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"solana-bpfloader 0.12.0",
|
||||
"solana-logger 0.12.0",
|
||||
"solana-runtime 0.12.0",
|
||||
"solana-sdk 0.12.0",
|
||||
"solana_rbpf 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2044,14 +2048,12 @@ version = "0.12.0"
|
|||
dependencies = [
|
||||
"bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"elf 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"libc 0.2.49 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"solana-logger 0.12.0",
|
||||
"solana-sdk 0.12.0",
|
||||
"solana_rbpf 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"walkdir 2.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
@ -42,12 +42,12 @@ BENCH_ARTIFACT=current_bench_results.log
|
|||
_ cargo +nightly bench ${V:+--verbose} \
|
||||
-- -Z unstable-options --format=json | tee "$BENCH_FILE"
|
||||
|
||||
# Run bpf_loader bench with bpf_c feature enabled
|
||||
echo --- program/bpf_loader bench --features=bpf_c
|
||||
# Run bpf benches
|
||||
echo --- program/bpf
|
||||
(
|
||||
set -x
|
||||
cd programs/bpf_loader
|
||||
cargo +nightly bench ${V:+--verbose} --features="bpf_c" \
|
||||
cd programs/bpf
|
||||
cargo +nightly bench ${V:+--verbose} --features=bpf_c \
|
||||
-- -Z unstable-options --format=json --nocapture | tee -a ../../../"$BENCH_FILE"
|
||||
)
|
||||
|
||||
|
|
|
@ -44,21 +44,12 @@ test-stable-perf)
|
|||
exit 0
|
||||
}
|
||||
|
||||
# Run program package with these features
|
||||
PROGRAM_FEATURES=bpf_c,bpf_rust
|
||||
|
||||
# Run all BPF C tests
|
||||
# BPF program tests
|
||||
_ make -C programs/bpf/c tests
|
||||
_ programs/bpf/rust/noop/build.sh # Must be built out of band
|
||||
_ cargo test --manifest-path programs/bpf/Cargo.toml --no-default-features --features=bpf_c,bpf_rust
|
||||
|
||||
# Must be built out of band
|
||||
_ pushd programs/bpf/rust/noop
|
||||
./build.sh
|
||||
popd
|
||||
|
||||
_ cargo test --manifest-path programs/bpf/Cargo.toml --no-default-features --features="$PROGRAM_FEATURES"
|
||||
_ cargo test --manifest-path programs/bpf_loader/Cargo.toml --no-default-features --features="$PROGRAM_FEATURES"
|
||||
|
||||
# Run root package tests witht these features
|
||||
# Run root package tests with these features
|
||||
ROOT_FEATURES=erasure,chacha
|
||||
if [[ $(uname) = Darwin ]]; then
|
||||
./build-perf-libs.sh
|
||||
|
|
|
@ -11,15 +11,21 @@ license = "Apache-2.0"
|
|||
edition = "2018"
|
||||
|
||||
[features]
|
||||
bpf_c = ["solana-bpfloader/bpf_c"]
|
||||
bpf_rust = ["solana-bpfloader/bpf_rust"]
|
||||
chacha = ["solana/chacha"]
|
||||
cuda = ["solana/cuda"]
|
||||
erasure = ["solana/erasure"]
|
||||
bpf_c = []
|
||||
bpf_rust = []
|
||||
|
||||
[build-dependencies]
|
||||
walkdir = "2"
|
||||
|
||||
[dependencies]
|
||||
solana = { path = "../../core", version = "0.12.0" }
|
||||
bincode = "1.1.2"
|
||||
byteorder = "1.3.1"
|
||||
elf = "0.0.10"
|
||||
solana_rbpf = "=0.1.10"
|
||||
solana-bpfloader = { path = "../bpf_loader", version = "0.12.0" }
|
||||
solana-logger = { path = "../../logger", version = "0.12.0" }
|
||||
solana-runtime = { path = "../../runtime", version = "0.12.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.12.0" }
|
||||
|
||||
[[bench]]
|
||||
name = "bpf_loader"
|
||||
|
|
|
@ -36,17 +36,13 @@ fn main() {
|
|||
+ &"/bpf".to_string();
|
||||
|
||||
rerun_if_changed(
|
||||
&[
|
||||
"../../sdk/bpf/bpf.ld",
|
||||
"../../sdk/bpf/bpf.mk",
|
||||
"../bpf/c/makefile",
|
||||
],
|
||||
&["../../sdk/bpf/inc", "../../sdk/bpf/scripts", "../bpf/c/src"],
|
||||
&["../../sdk/bpf/bpf.ld", "../../sdk/bpf/bpf.mk", "c/makefile"],
|
||||
&["../../sdk/bpf/inc", "../../sdk/bpf/scripts", "c/src"],
|
||||
);
|
||||
|
||||
println!("cargo:warning=(not a warning) Compiling C-based BPF programs");
|
||||
let status = Command::new("make")
|
||||
.current_dir("../bpf/c")
|
||||
.current_dir("c")
|
||||
.arg("programs")
|
||||
.arg(&out_dir)
|
||||
.status()
|
||||
|
@ -59,10 +55,8 @@ fn main() {
|
|||
let install_dir =
|
||||
"../../../../target/".to_string() + &env::var("PROFILE").unwrap() + &"/bpf".to_string();
|
||||
|
||||
if !Path::new(
|
||||
"../bpf/rust/noop/target/bpfel-unknown-unknown/release/solana_bpf_rust_noop.so",
|
||||
)
|
||||
.is_file()
|
||||
if !Path::new("rust/noop/target/bpfel-unknown-unknown/release/solana_bpf_rust_noop.so")
|
||||
.is_file()
|
||||
{
|
||||
// Cannot build Rust BPF programs as part of main build because
|
||||
// to build it requires calling Cargo with different parameters which
|
||||
|
@ -75,19 +69,19 @@ fn main() {
|
|||
|
||||
rerun_if_changed(
|
||||
&[
|
||||
"../bpf/rust/noop/bpf.ld",
|
||||
"../bpf/rust/noop/build.sh",
|
||||
"../bpf/rust/noop/Cargo.toml",
|
||||
"../bpf/rust/noop/target/bpfel-unknown-unknown/release/solana_bpf_rust_noop.so",
|
||||
"rust/noop/bpf.ld",
|
||||
"rust/noop/build.sh",
|
||||
"rust/noop/Cargo.toml",
|
||||
"rust/noop/target/bpfel-unknown-unknown/release/solana_bpf_rust_noop.so",
|
||||
],
|
||||
&["../bpf/rust/noop/src"],
|
||||
&["rust/noop/src"],
|
||||
);
|
||||
|
||||
println!(
|
||||
"cargo:warning=(not a warning) Installing Rust-based BPF program: solana_bpf_rust_noop"
|
||||
);
|
||||
let status = Command::new("mkdir")
|
||||
.current_dir("../bpf/rust/noop")
|
||||
.current_dir("rust/noop")
|
||||
.arg("-p")
|
||||
.arg(&install_dir)
|
||||
.status()
|
||||
|
@ -95,7 +89,7 @@ fn main() {
|
|||
assert!(status.success());
|
||||
|
||||
let status = Command::new("cp")
|
||||
.current_dir("../bpf/rust/noop")
|
||||
.current_dir("rust/noop")
|
||||
.arg("target/bpfel-unknown-unknown/release/solana_bpf_rust_noop.so")
|
||||
.arg(&install_dir)
|
||||
.status()
|
|
@ -8,14 +8,9 @@ license = "Apache-2.0"
|
|||
homepage = "https://solana.com/"
|
||||
edition = "2018"
|
||||
|
||||
[features]
|
||||
bpf_c = []
|
||||
bpf_rust = []
|
||||
|
||||
[dependencies]
|
||||
bincode = "1.1.2"
|
||||
byteorder = "1.3.1"
|
||||
elf = "0.0.10"
|
||||
libc = "0.2.49"
|
||||
log = "0.4.2"
|
||||
solana_rbpf = "=0.1.10"
|
||||
|
@ -23,13 +18,6 @@ serde = "1.0.89"
|
|||
solana-logger = { path = "../../logger", version = "0.12.0" }
|
||||
solana-sdk = { path = "../../sdk", version = "0.12.0" }
|
||||
|
||||
[build-dependencies]
|
||||
walkdir = "2"
|
||||
|
||||
[lib]
|
||||
name = "solana_bpf_loader"
|
||||
crate-type = ["lib", "cdylib"]
|
||||
|
||||
[[bench]]
|
||||
name = "bpf_loader"
|
||||
|
||||
|
|
Loading…
Reference in New Issue