diff --git a/ci/test-stable.sh b/ci/test-stable.sh index 0ccf6e27e3..eaf4e11e69 100755 --- a/ci/test-stable.sh +++ b/ci/test-stable.sh @@ -26,7 +26,7 @@ test -d target/release/bpf && find target/release/bpf -name '*.d' -delete # Clear the BPF sysroot files, they are not automatically rebuilt rm -rf target/xargo # Issue #3105 -# Run tbe appropriate test based on entrypoint +# Run the appropriate test based on entrypoint testName=$(basename "$0" .sh) case $testName in test-stable) diff --git a/programs/bpf/c/makefile b/programs/bpf/c/makefile index 8028e65ab2..1cc080ccc7 100644 --- a/programs/bpf/c/makefile +++ b/programs/bpf/c/makefile @@ -1,2 +1,2 @@ -BPF_SDK := ../../../sdk/bpf +BPF_SDK := ../../../sdk/bpf/c include $(BPF_SDK)/bpf.mk diff --git a/programs/bpf/rust/alloc/Cargo.toml b/programs/bpf/rust/alloc/Cargo.toml index d9878eac10..a17a8d69ed 100644 --- a/programs/bpf/rust/alloc/Cargo.toml +++ b/programs/bpf/rust/alloc/Cargo.toml @@ -12,7 +12,7 @@ homepage = "https://solana.com/" edition = "2018" [dependencies] -solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust-utils", version = "0.16.0" } +solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.0" } [workspace] members = [] diff --git a/programs/bpf/rust/alloc/Xargo.toml b/programs/bpf/rust/alloc/Xargo.toml index 480d86ea29..385a264b04 100644 --- a/programs/bpf/rust/alloc/Xargo.toml +++ b/programs/bpf/rust/alloc/Xargo.toml @@ -1,6 +1,6 @@ [dependencies.compiler_builtins] -path = "../../../../sdk/bpf/rust-bpf-sysroot/src/compiler-builtins" +path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/compiler-builtins" features = ["c", "mem"] [target.bpfel-unknown-unknown.dependencies] -alloc = { path = "../../../../sdk/bpf/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file +alloc = { path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file diff --git a/programs/bpf/rust/build.sh b/programs/bpf/rust/build.sh index e0ce3073d6..5f63f88dd3 100755 --- a/programs/bpf/rust/build.sh +++ b/programs/bpf/rust/build.sh @@ -3,10 +3,10 @@ if [ "$#" -ne 1 ]; then # Build all projects for project in */ ; do - ./../../../sdk/bpf/rust-utils/build.sh "$PWD/$project" + ./../../../sdk/bpf/rust/build.sh "$PWD/$project" done else # Build requested project - ./../../../sdk/bpf/rust-utils/build.sh "$PWD/$1" + ./../../../sdk/bpf/rust/build.sh "$PWD/$1" fi \ No newline at end of file diff --git a/programs/bpf/rust/clean.sh b/programs/bpf/rust/clean.sh index a0648fd664..7bdf69451c 100755 --- a/programs/bpf/rust/clean.sh +++ b/programs/bpf/rust/clean.sh @@ -3,10 +3,10 @@ if [ "$#" -ne 1 ]; then # Clean all projects for project in */ ; do - ./../../../sdk/bpf/rust-utils/clean.sh "$PWD/$project" + ./../../../sdk/bpf/rust/clean.sh "$PWD/$project" done else # Clean requested project - ./../../../sdk/bpf/rust-utils/clean.sh "$PWD/$1" + ./../../../sdk/bpf/rust/clean.sh "$PWD/$1" fi diff --git a/programs/bpf/rust/dep_crate/Cargo.toml b/programs/bpf/rust/dep_crate/Cargo.toml index 137ac92c5c..55681ad9f0 100644 --- a/programs/bpf/rust/dep_crate/Cargo.toml +++ b/programs/bpf/rust/dep_crate/Cargo.toml @@ -13,7 +13,7 @@ edition = "2018" [dependencies] byteorder = { version = "1", default-features = false } -solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust-utils", version = "0.16.0" } +solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.0" } [workspace] members = [] diff --git a/programs/bpf/rust/dep_crate/Xargo.toml b/programs/bpf/rust/dep_crate/Xargo.toml index 480d86ea29..385a264b04 100644 --- a/programs/bpf/rust/dep_crate/Xargo.toml +++ b/programs/bpf/rust/dep_crate/Xargo.toml @@ -1,6 +1,6 @@ [dependencies.compiler_builtins] -path = "../../../../sdk/bpf/rust-bpf-sysroot/src/compiler-builtins" +path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/compiler-builtins" features = ["c", "mem"] [target.bpfel-unknown-unknown.dependencies] -alloc = { path = "../../../../sdk/bpf/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file +alloc = { path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file diff --git a/programs/bpf/rust/iter/Cargo.toml b/programs/bpf/rust/iter/Cargo.toml index 3eea502104..276d3d6956 100644 --- a/programs/bpf/rust/iter/Cargo.toml +++ b/programs/bpf/rust/iter/Cargo.toml @@ -12,7 +12,7 @@ homepage = "https://solana.com/" edition = "2018" [dependencies] -solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust-utils", version = "0.16.0" } +solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.0" } [workspace] members = [] diff --git a/programs/bpf/rust/iter/Xargo.toml b/programs/bpf/rust/iter/Xargo.toml index 480d86ea29..385a264b04 100644 --- a/programs/bpf/rust/iter/Xargo.toml +++ b/programs/bpf/rust/iter/Xargo.toml @@ -1,6 +1,6 @@ [dependencies.compiler_builtins] -path = "../../../../sdk/bpf/rust-bpf-sysroot/src/compiler-builtins" +path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/compiler-builtins" features = ["c", "mem"] [target.bpfel-unknown-unknown.dependencies] -alloc = { path = "../../../../sdk/bpf/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file +alloc = { path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file diff --git a/programs/bpf/rust/many_args/Cargo.toml b/programs/bpf/rust/many_args/Cargo.toml index 48f027b1a3..d15b645d0c 100644 --- a/programs/bpf/rust/many_args/Cargo.toml +++ b/programs/bpf/rust/many_args/Cargo.toml @@ -12,7 +12,7 @@ homepage = "https://solana.com/" edition = "2018" [dependencies] -solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust-utils", version = "0.16.0" } +solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.0" } solana-bpf-rust-many-args-dep = { path = "../many_args_dep", version = "0.16.0" } [workspace] diff --git a/programs/bpf/rust/many_args/Xargo.toml b/programs/bpf/rust/many_args/Xargo.toml index 480d86ea29..385a264b04 100644 --- a/programs/bpf/rust/many_args/Xargo.toml +++ b/programs/bpf/rust/many_args/Xargo.toml @@ -1,6 +1,6 @@ [dependencies.compiler_builtins] -path = "../../../../sdk/bpf/rust-bpf-sysroot/src/compiler-builtins" +path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/compiler-builtins" features = ["c", "mem"] [target.bpfel-unknown-unknown.dependencies] -alloc = { path = "../../../../sdk/bpf/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file +alloc = { path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file diff --git a/programs/bpf/rust/many_args_dep/Cargo.toml b/programs/bpf/rust/many_args_dep/Cargo.toml index fbb1239089..ae73291627 100644 --- a/programs/bpf/rust/many_args_dep/Cargo.toml +++ b/programs/bpf/rust/many_args_dep/Cargo.toml @@ -12,7 +12,7 @@ homepage = "https://solana.com/" edition = "2018" [dependencies] -solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust-utils", version = "0.16.0" } +solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.0" } [workspace] members = [] diff --git a/programs/bpf/rust/noop/Cargo.toml b/programs/bpf/rust/noop/Cargo.toml index 24be29a25c..d32c0afad6 100644 --- a/programs/bpf/rust/noop/Cargo.toml +++ b/programs/bpf/rust/noop/Cargo.toml @@ -12,7 +12,7 @@ homepage = "https://solana.com/" edition = "2018" [dependencies] -solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust-utils", version = "0.16.0" } +solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.0" } [workspace] members = [] diff --git a/programs/bpf/rust/noop/Xargo.toml b/programs/bpf/rust/noop/Xargo.toml index 480d86ea29..385a264b04 100644 --- a/programs/bpf/rust/noop/Xargo.toml +++ b/programs/bpf/rust/noop/Xargo.toml @@ -1,6 +1,6 @@ [dependencies.compiler_builtins] -path = "../../../../sdk/bpf/rust-bpf-sysroot/src/compiler-builtins" +path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/compiler-builtins" features = ["c", "mem"] [target.bpfel-unknown-unknown.dependencies] -alloc = { path = "../../../../sdk/bpf/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file +alloc = { path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file diff --git a/programs/bpf/rust/panic/Cargo.toml b/programs/bpf/rust/panic/Cargo.toml index bfc2ddb9bc..b4517ad258 100644 --- a/programs/bpf/rust/panic/Cargo.toml +++ b/programs/bpf/rust/panic/Cargo.toml @@ -12,7 +12,7 @@ homepage = "https://solana.com/" edition = "2018" [dependencies] -solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust-utils", version = "0.16.0" } +solana-sdk-bpf-utils = { path = "../../../../sdk/bpf/rust/rust-utils", version = "0.16.0" } [workspace] members = [] diff --git a/programs/bpf/rust/panic/Xargo.toml b/programs/bpf/rust/panic/Xargo.toml index 480d86ea29..385a264b04 100644 --- a/programs/bpf/rust/panic/Xargo.toml +++ b/programs/bpf/rust/panic/Xargo.toml @@ -1,6 +1,6 @@ [dependencies.compiler_builtins] -path = "../../../../sdk/bpf/rust-bpf-sysroot/src/compiler-builtins" +path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/compiler-builtins" features = ["c", "mem"] [target.bpfel-unknown-unknown.dependencies] -alloc = { path = "../../../../sdk/bpf/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file +alloc = { path = "../../../../sdk/bpf/dependencies/rust-bpf-sysroot/src/liballoc" } \ No newline at end of file diff --git a/sdk/bpf/.gitignore b/sdk/bpf/.gitignore index e697639709..d4035a1813 100644 --- a/sdk/bpf/.gitignore +++ b/sdk/bpf/.gitignore @@ -1,3 +1,3 @@ -/criterion* -/llvm-native* -/rust-bpf* +/dependencies/criterion* +/dependencies/llvm-native* +/dependencies/rust-bpf* diff --git a/sdk/bpf/README.md b/sdk/bpf/c/README.md similarity index 100% rename from sdk/bpf/README.md rename to sdk/bpf/c/README.md diff --git a/sdk/bpf/bpf.ld b/sdk/bpf/c/bpf.ld similarity index 100% rename from sdk/bpf/bpf.ld rename to sdk/bpf/c/bpf.ld diff --git a/sdk/bpf/bpf.mk b/sdk/bpf/c/bpf.mk similarity index 94% rename from sdk/bpf/bpf.mk rename to sdk/bpf/c/bpf.mk index e95634974b..697e6e1cad 100644 --- a/sdk/bpf/bpf.mk +++ b/sdk/bpf/c/bpf.mk @@ -1,5 +1,5 @@ LOCAL_PATH := $(dir $(lastword $(MAKEFILE_LIST))) -INSTALL_SH := $(abspath $(LOCAL_PATH)/scripts/install.sh) +INSTALL_SH := $(abspath $(LOCAL_PATH)/../scripts/install.sh) all: .PHONY: help all clean @@ -16,10 +16,10 @@ OS := $(shell uname) ifeq ($(DOCKER),1) $(warning DOCKER=1 is experimential and may not work as advertised) -LLVM_DIR = $(LOCAL_PATH)llvm-docker/ +LLVM_DIR = $(LOCAL_PATH)../dependencies/llvm-docker/ LLVM_SYSTEM_INC_DIRS := /usr/local/lib/clang/8.0.0/include else -LLVM_DIR = $(LOCAL_PATH)llvm-native/ +LLVM_DIR = $(LOCAL_PATH)../dependencies/llvm-native/ LLVM_SYSTEM_INC_DIRS := $(LLVM_DIR)/lib/clang/8.0.0/include endif @@ -72,11 +72,11 @@ OBJ_DUMP_FLAGS := \ -source \ -disassemble \ -TESTFRAMEWORK_RPATH := $(abspath $(LOCAL_PATH)criterion/lib) +TESTFRAMEWORK_RPATH := $(abspath $(LOCAL_PATH)../dependencies/criterion/lib) TESTFRAMEWORK_FLAGS := \ -DSOL_TEST \ - -isystem $(LOCAL_PATH)criterion/include \ - -L $(LOCAL_PATH)criterion/lib \ + -isystem $(LOCAL_PATH)../dependencies/criterion/include \ + -L $(LOCAL_PATH)../dependencies/criterion/lib \ -rpath $(TESTFRAMEWORK_RPATH) \ -lcriterion \ diff --git a/sdk/bpf/inc/solana_sdk.h b/sdk/bpf/c/inc/solana_sdk.h similarity index 100% rename from sdk/bpf/inc/solana_sdk.h rename to sdk/bpf/c/inc/solana_sdk.h diff --git a/sdk/bpf/inc/stdio.h b/sdk/bpf/c/inc/stdio.h similarity index 100% rename from sdk/bpf/inc/stdio.h rename to sdk/bpf/c/inc/stdio.h diff --git a/sdk/bpf/inc/stdlib.h b/sdk/bpf/c/inc/stdlib.h similarity index 100% rename from sdk/bpf/inc/stdlib.h rename to sdk/bpf/c/inc/stdlib.h diff --git a/sdk/bpf/inc/string.h b/sdk/bpf/c/inc/string.h similarity index 100% rename from sdk/bpf/inc/string.h rename to sdk/bpf/c/inc/string.h diff --git a/sdk/bpf/inc/sys/param.h b/sdk/bpf/c/inc/sys/param.h similarity index 100% rename from sdk/bpf/inc/sys/param.h rename to sdk/bpf/c/inc/sys/param.h diff --git a/sdk/bpf/inc/wchar.h b/sdk/bpf/c/inc/wchar.h similarity index 100% rename from sdk/bpf/inc/wchar.h rename to sdk/bpf/c/inc/wchar.h diff --git a/sdk/bpf/llvm-docker/bin/clang b/sdk/bpf/dependencies/llvm-docker/bin/clang similarity index 100% rename from sdk/bpf/llvm-docker/bin/clang rename to sdk/bpf/dependencies/llvm-docker/bin/clang diff --git a/sdk/bpf/llvm-docker/bin/clang++ b/sdk/bpf/dependencies/llvm-docker/bin/clang++ similarity index 100% rename from sdk/bpf/llvm-docker/bin/clang++ rename to sdk/bpf/dependencies/llvm-docker/bin/clang++ diff --git a/sdk/bpf/llvm-docker/bin/ld.lld b/sdk/bpf/dependencies/llvm-docker/bin/ld.lld similarity index 100% rename from sdk/bpf/llvm-docker/bin/ld.lld rename to sdk/bpf/dependencies/llvm-docker/bin/ld.lld diff --git a/sdk/bpf/llvm-docker/bin/llc b/sdk/bpf/dependencies/llvm-docker/bin/llc similarity index 100% rename from sdk/bpf/llvm-docker/bin/llc rename to sdk/bpf/dependencies/llvm-docker/bin/llc diff --git a/sdk/bpf/llvm-docker/bin/llvm-objcopy b/sdk/bpf/dependencies/llvm-docker/bin/llvm-objcopy similarity index 100% rename from sdk/bpf/llvm-docker/bin/llvm-objcopy rename to sdk/bpf/dependencies/llvm-docker/bin/llvm-objcopy diff --git a/sdk/bpf/llvm-docker/bin/llvm-objdump b/sdk/bpf/dependencies/llvm-docker/bin/llvm-objdump similarity index 100% rename from sdk/bpf/llvm-docker/bin/llvm-objdump rename to sdk/bpf/dependencies/llvm-docker/bin/llvm-objdump diff --git a/sdk/bpf/llvm-docker/generate.sh b/sdk/bpf/dependencies/llvm-docker/generate.sh similarity index 100% rename from sdk/bpf/llvm-docker/generate.sh rename to sdk/bpf/dependencies/llvm-docker/generate.sh diff --git a/sdk/bpf/rust-utils/bpf.ld b/sdk/bpf/rust/bpf.ld similarity index 100% rename from sdk/bpf/rust-utils/bpf.ld rename to sdk/bpf/rust/bpf.ld diff --git a/sdk/bpf/rust-utils/build.sh b/sdk/bpf/rust/build.sh similarity index 75% rename from sdk/bpf/rust-utils/build.sh rename to sdk/bpf/rust/build.sh index 332bf067ab..10ed711e05 100755 --- a/sdk/bpf/rust-utils/build.sh +++ b/sdk/bpf/rust/build.sh @@ -23,8 +23,8 @@ set -e "$bpf_sdk"/scripts/install.sh # Use the SDK's version of llvm to build the compiler-builtins for BPF -export CC="$bpf_sdk/llvm-native/bin/clang" -export AR="$bpf_sdk/llvm-native/bin/llvm-ar" +export CC="$bpf_sdk/dependencies/llvm-native/bin/clang" +export AR="$bpf_sdk/dependencies/llvm-native/bin/llvm-ar" # Use the SDK's version of Rust to build for BPF export RUSTUP_TOOLCHAIN=bpf export RUSTFLAGS=" @@ -32,12 +32,12 @@ export RUSTFLAGS=" -C lto=no \ -C opt-level=2 \ -C link-arg=-z -C link-arg=notext \ - -C link-arg=-T$bpf_sdk/rust-utils/bpf.ld \ + -C link-arg=-T$bpf_sdk/rust/bpf.ld \ -C link-arg=--Bdynamic \ -C link-arg=-shared \ -C link-arg=--entry=entrypoint \ - -C linker=$bpf_sdk/llvm-native/bin/ld.lld" -export XARGO_RUST_SRC="$bpf_sdk/rust-bpf-sysroot/src" + -C linker=$bpf_sdk/dependencies/llvm-native/bin/ld.lld" +export XARGO_RUST_SRC="$bpf_sdk/dependencies/rust-bpf-sysroot/src" xargo build --target bpfel-unknown-unknown --release -v { { set +x; } 2>/dev/null; echo Success; } diff --git a/sdk/bpf/rust-utils/clean.sh b/sdk/bpf/rust/clean.sh similarity index 100% rename from sdk/bpf/rust-utils/clean.sh rename to sdk/bpf/rust/clean.sh diff --git a/sdk/bpf/rust-utils/.gitignore b/sdk/bpf/rust/rust-utils/.gitignore similarity index 100% rename from sdk/bpf/rust-utils/.gitignore rename to sdk/bpf/rust/rust-utils/.gitignore diff --git a/sdk/bpf/rust-utils/Cargo.toml b/sdk/bpf/rust/rust-utils/Cargo.toml similarity index 100% rename from sdk/bpf/rust-utils/Cargo.toml rename to sdk/bpf/rust/rust-utils/Cargo.toml diff --git a/sdk/bpf/rust-utils/src/allocator.rs b/sdk/bpf/rust/rust-utils/src/allocator.rs similarity index 100% rename from sdk/bpf/rust-utils/src/allocator.rs rename to sdk/bpf/rust/rust-utils/src/allocator.rs diff --git a/sdk/bpf/rust-utils/src/entrypoint.rs b/sdk/bpf/rust/rust-utils/src/entrypoint.rs similarity index 100% rename from sdk/bpf/rust-utils/src/entrypoint.rs rename to sdk/bpf/rust/rust-utils/src/entrypoint.rs diff --git a/sdk/bpf/rust-utils/src/lib.rs b/sdk/bpf/rust/rust-utils/src/lib.rs similarity index 100% rename from sdk/bpf/rust-utils/src/lib.rs rename to sdk/bpf/rust/rust-utils/src/lib.rs diff --git a/sdk/bpf/rust-utils/src/log.rs b/sdk/bpf/rust/rust-utils/src/log.rs similarity index 100% rename from sdk/bpf/rust-utils/src/log.rs rename to sdk/bpf/rust/rust-utils/src/log.rs diff --git a/sdk/bpf/rust-utils/src/panic.rs b/sdk/bpf/rust/rust-utils/src/panic.rs similarity index 100% rename from sdk/bpf/rust-utils/src/panic.rs rename to sdk/bpf/rust/rust-utils/src/panic.rs diff --git a/sdk/bpf/scripts/install.sh b/sdk/bpf/scripts/install.sh index e4339079f0..c035595d99 100755 --- a/sdk/bpf/scripts/install.sh +++ b/sdk/bpf/scripts/install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -cd "$(dirname "$0")"/.. +cd "$(dirname "$0")"/../dependencies if [[ "$(uname)" = Darwin ]]; then machine=osx