-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathcreate_redirector.sh
executable file
·45 lines (40 loc) · 1.1 KB
/
create_redirector.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
# Copyright (c) 2011 The Native Client Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# If you need to add several parameters action should look like "param1 param2",
# i.e parameters should be separated by spaces and enclosed in quotes. This
# quotes should not be used in redirect_table.txt though because Makefile adds
# them automatically.
declare -r usage="$0 from to action"
if (( $# != 3 )); then
echo "$usage" >&2
exit 1
fi
if [[ "$3" = "-m32" ]]; then
cat >"$1" <<ENDSCRIPT
#!/bin/bash
# Put -V argument(s) prior to -m32. Otherwise the GCC driver does not accept it.
program_name="$2"
if [[ "\$1" = "-V" ]]; then
shift
OPTV="\$1"
shift
exec "\${0%/*}/\$program_name" -V "\$OPTV" -m32 "\$@"
elif [[ "\${1:0:2}" = "-V" ]]; then
OPTV="\$1"
shift
exec "\${0%/*}/\$program_name" "\$OPTV" -m32 "\$@"
else
exec "\${0%/*}/\$program_name" -m32 "\$@"
fi
ENDSCRIPT
elif [[ "$3" = "" ]]; then
ln -nfs $2 $1
else
cat >"$1" <<ENDSCRIPT
#!/bin/bash
exec "\${0%/*}/$2" $3 "\$@"
ENDSCRIPT
fi
chmod 755 "$1"