Bug 1793665 [wpt PR 36154] - wptrunner: run test types in a deterministic order,...
[gecko.git] / build / qemu-wrap
blobe33938955d9b0915481835c6b11b7a7fc2decfc3
1 #!/bin/bash
2 # this script creates a wrapper shell script for an executable. The idea is the actual executable cannot be
3 # executed natively (it was cross compiled), but we want to run tests natively. Running this script
4 # as part of the compilation process will move the non-native executable to a new location, and replace it
5 # with a script that will run it under qemu.
6 while [[ -n $1 ]]; do
7 case $1 in
8 --qemu) QEMU="$2"; shift 2;;
9 --libdir) LIBDIR="$2"; shift 2;;
10 --ld) LD="$2"; shift 2;;
11 *) exe="$1"; shift;;
12 esac
13 done
14 if [[ -z $LIBDIR ]]; then
15 echo "You need to specify a directory for the cross libraries when you configure the shell"
16 echo "You can do this with --with-cross-lib="
17 exit 1
19 LD=${LD:-$LIBDIR/ld-linux.so.3}
20 mv $exe $exe.target
21 # Just hardcode the path to the executable. It'll be pretty obvious if it is doing the wrong thing.
23 echo $'#!/bin/bash\n' $QEMU -E LD_LIBRARY_PATH="${LIBDIR}" "$LD" "$(readlink -f "$exe.target")" '"$@"' >"$exe"
24 chmod +x $exe