From a611d6d39d3726a5ddfb8ec8fbab5cef5b62d0a2 Mon Sep 17 00:00:00 2001 From: Clement Wong Date: Wed, 13 May 2020 14:50:34 +0200 Subject: [PATCH] [#243] Support cross compiling for aarch64-unknown-linux-gnu --- .circleci/config.yml | 1 + Cross.toml | 3 +++ build/Dockerfile.aarch64-unknown-linux-gnu | 3 +++ build/build-release | 2 +- 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 build/Dockerfile.aarch64-unknown-linux-gnu diff --git a/.circleci/config.yml b/.circleci/config.yml index bc3ab319..ba8c8317 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -139,6 +139,7 @@ jobs: docker build -t shadowsocks-rust:x86_64-pc-windows-gnu -f Dockerfile.x86_64-pc-windows-gnu . docker build -t shadowsocks-rust:x86_64-unknown-linux-musl -f Dockerfile.x86_64-unknown-linux-musl . docker build -t shadowsocks-rust:arm-unknown-linux-gnueabihf -f Dockerfile.arm-unknown-linux-gnueabihf . + docker build -t shadowsocks-rust:aarch64-unknown-linux-gnu -f Dockerfile.aarch64-unknown-linux-gnu . - run: | curl "https://sh.rustup.rs" -o "rust-init.sh" chmod +x "rust-init.sh" diff --git a/Cross.toml b/Cross.toml index 4273dca2..c5797333 100644 --- a/Cross.toml +++ b/Cross.toml @@ -16,3 +16,6 @@ image = "shadowsocks-rust:x86_64-pc-windows-gnu" [target.arm-unknown-linux-gnueabihf] image = "shadowsocks-rust:arm-unknown-linux-gnueabihf" + +[target.aarch64-unknown-linux-gnu] +image = "shadowsocks-rust:aarch64-unknown-linux-gnu" diff --git a/build/Dockerfile.aarch64-unknown-linux-gnu b/build/Dockerfile.aarch64-unknown-linux-gnu new file mode 100644 index 00000000..572a7db1 --- /dev/null +++ b/build/Dockerfile.aarch64-unknown-linux-gnu @@ -0,0 +1,3 @@ +FROM rustembedded/cross:aarch64-unknown-linux-gnu + +ENV RUSTFLAGS="-Ctarget-feature=+aes" diff --git a/build/build-release b/build/build-release index d7136cf5..c603eaf3 100755 --- a/build/build-release +++ b/build/build-release @@ -20,7 +20,7 @@ while getopts "t:" opt; do done if [[ "${#targets[@]}" == "0" ]]; then - targets=("x86_64-unknown-linux-musl" "x86_64-pc-windows-gnu" "arm-unknown-linux-gnueabihf") + targets=("x86_64-unknown-linux-musl" "x86_64-pc-windows-gnu" "arm-unknown-linux-gnueabihf" "aarch64-unknown-linux-gnu") fi function build() {