update NOTICE and LICENSE
[nit.git] / src / nc
1 #!/bin/sh
2 # This file is part of NIT ( http://www.nitlanguage.org ).
3 #
4 # Copyright 2008 Jean Privat <jean@pryen.org>
5 #
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
9 #
10 #     http://www.apache.org/licenses/LICENSE-2.0
11 #
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17
18 NITC="../c_src/nitc"
19 NITCOPTS="-v -W"
20 CSRC=$` (cd ../c_src; pwd) `
21
22 trap_action() {
23         test -n "$sub_command" && kill $sub_command
24         test -e "$pipe" && rm -f $pipe
25         exit 1
26 }
27
28 name=`basename $0`
29 case $name in
30         nc) opts="--clibdir ../c_src/clib";;
31         nc2) opts="-p 2"; NITC="./nitc";;
32         nc3) opts="-p 3"; NITC="./nitc_2";;
33         nc4) opts="-p 4"; NITC="./nitc_3";;
34         nc5) opts="-p 5"; NITC="./nitc_4";;
35         *) echo "unknown mode $name"; exit 1;;
36 esac
37
38 ./git-gen-version.sh "$name"
39
40 trap trap_action INT TERM
41 echo ${NITC} ${NITCOPTS} ${opts} "$@"
42 pipe=$`mktemp nc.stderr.XXXXX`
43 rm "$pipe" 2>/dev/null
44 mkfifo "$pipe"
45 ./showerr.sh <"$pipe" &
46 sub_command=$!
47 ${NITC} ${NITCOPTS} ${opts} "$@" 2>"$pipe"
48 err=$?
49 rm "$pipe"
50 wait
51 exit $err