Build aarch64 for Linux (#129)

* linux aarch

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more

* more
This commit is contained in:
Logan McNaughton
2025-01-12 18:20:42 +01:00
committed by GitHub
parent 9058cd1715
commit 5f84c18b39
3 changed files with 49 additions and 4 deletions
+3
View File
@@ -3,3 +3,6 @@ rustflags = ["-C", "target-cpu=x86-64-v3"]
[target.'cfg(target_arch = "aarch64")']
rustflags = ["-C", "target-cpu=cortex-a76"]
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"
+45 -4
View File
@@ -14,18 +14,59 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
target: [x86_64-unknown-linux-gnu]
target: [x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install sdl2 headers
run: |
sudo apt -y install libsdl2-dev
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
target: ${{ matrix.target }}
rustflags: ""
- name: Install SDL2
if: matrix.target == 'aarch64-unknown-linux-gnu'
run: |
cat <<EOF > deb822sources
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble
Components: main restricted universe
Architectures: amd64
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe
Architectures: amd64
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-updates
Components: main restricted universe
Architectures: amd64
Types: deb
URIs: http://azure.ports.ubuntu.com/ubuntu-ports/
Suites: noble
Components: main restricted multiverse universe
Architectures: arm64
Types: deb
URIs: http://azure.ports.ubuntu.com/ubuntu-ports/
Suites: noble-updates
Components: main restricted multiverse universe
Architectures: arm64
EOF
sudo mv deb822sources /etc/apt/sources.list.d/ubuntu.sources
sudo dpkg --add-architecture arm64
sudo apt update
sudo apt -y install libsdl2-dev:arm64 g++-aarch64-linux-gnu
- name: Install SDL2
if: matrix.target == 'x86_64-unknown-linux-gnu'
run: |
sudo apt update
sudo apt -y install libsdl2-dev
- name: Build
run: |
cargo build --release -v --target=${{ matrix.target }}
+1
View File
@@ -143,6 +143,7 @@ fn main() {
.allowlist_function("_mm_subs_epu16")
.allowlist_function("_mm_set1_epi32")
.blocklist_type("__m128i")
.blocklist_type("int64x2_t")
.wrap_static_fns(true)
.parse_callbacks(Box::new(bindgen::CargoCallbacks::new()))
.generate()