diff --git a/.gitignore b/.gitignore index 94acd5b1d03..a1b982002af 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ /.servobuild /android-toolchains /target +/support/android/egl-configs/target /ports/android/bin /ports/android/libs /ports/android/local.properties diff --git a/Cargo.toml b/Cargo.toml index 4f107203f28..7fe866b06a4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,7 @@ default-members = [ "ports/servo", "tests/unit/*", ] -exclude = [".cargo"] +exclude = [".cargo", "support/android/egl-configs"] [profile.release] opt-level = 3 diff --git a/support/android/egl-configs/.cargo/config b/support/android/egl-configs/.cargo/config new file mode 100644 index 00000000000..1f0c80724a2 --- /dev/null +++ b/support/android/egl-configs/.cargo/config @@ -0,0 +1,6 @@ +[build] +target = "armv7-linux-androideabi" + +[target.armv7-linux-androideabi] +linker = "./ld.sh" +runner = "./run.sh" diff --git a/support/android/egl-configs/Cargo.lock b/support/android/egl-configs/Cargo.lock new file mode 100644 index 00000000000..cc9c0e8b6fb --- /dev/null +++ b/support/android/egl-configs/Cargo.lock @@ -0,0 +1,4 @@ +[[package]] +name = "egl-configs" +version = "0.1.0" + diff --git a/support/android/egl-configs/Cargo.toml b/support/android/egl-configs/Cargo.toml new file mode 100644 index 00000000000..9ff8eca7a40 --- /dev/null +++ b/support/android/egl-configs/Cargo.toml @@ -0,0 +1,3 @@ +[package] +name = "egl-configs" +version = "0.1.0" diff --git a/support/android/egl-configs/ld.sh b/support/android/egl-configs/ld.sh new file mode 100755 index 00000000000..98d61a1dc88 --- /dev/null +++ b/support/android/egl-configs/ld.sh @@ -0,0 +1,6 @@ +#!/bin/sh +NDK=../../../android-toolchains/android-ndk-r12b-linux-x86_64/android-ndk-r12b + +"${NDK}/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc" \ + --sysroot "${NDK}/platforms/android-18/arch-arm" \ + "$@" diff --git a/support/android/egl-configs/run.sh b/support/android/egl-configs/run.sh new file mode 100755 index 00000000000..df59214af77 --- /dev/null +++ b/support/android/egl-configs/run.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +path="$1" +base="$(basename $1)" +remote_path="/data/local/tmp/$base" +shift + +adb -e wait-for-device +adb -e push "$path" "$remote_path" +adb -e shell "$remote_path" "$@" diff --git a/support/android/egl-configs/src/main.rs b/support/android/egl-configs/src/main.rs new file mode 100644 index 00000000000..997012da1a5 --- /dev/null +++ b/support/android/egl-configs/src/main.rs @@ -0,0 +1,6 @@ +fn main() { + println!("Hello, world!"); + for arg in std::env::args() { + println!("{}", arg); + } +}