initial
[esdi.git] / esdi.runs / impl_1 / ISEWrap.sh
1 #!/bin/sh
2
3 #
4 # Vivado(TM)
5 # ISEWrap.sh: Vivado Runs Script for UNIX
6 # Copyright 1986-1999, 2001-2013 Xilinx, Inc. All Rights Reserved.
7 #
8
9 HD_LOG=$1
10 shift
11
12 # CHECK for a STOP FILE
13 if [ -f .stop.rst ]
14 then
15 echo "" >> $HD_LOG
16 echo "*** Halting run - EA reset detected ***" >> $HD_LOG
17 echo "" >> $HD_LOG
18 exit 1
19 fi
20
21 ISE_STEP=$1
22 shift
23
24 # WRITE STEP HEADER to LOG
25 echo "" >> $HD_LOG
26 echo "*** Running $ISE_STEP" >> $HD_LOG
27 echo " with args $@" >> $HD_LOG
28 echo "" >> $HD_LOG
29
30 # LAUNCH!
31 $ISE_STEP "$@" >> $HD_LOG 2>&1 &
32
33 # BEGIN file creation
34 ISE_PID=$!
35 if [ X != X$HOSTNAME ]
36 then
37 ISE_HOST=$HOSTNAME #bash
38 else
39 ISE_HOST=$HOST #csh
40 fi
41 ISE_USER=$USER
42
43 ISE_HOSTCORE=$(awk '/^processor/{print $3}' /proc/cpuinfo | wc -l)
44 ISE_MEMTOTAL=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
45
46 ISE_BEGINFILE=.$ISE_STEP.begin.rst
47 /bin/touch $ISE_BEGINFILE
48 echo "<?xml version=\"1.0\"?>" >> $ISE_BEGINFILE
49 echo "<ProcessHandle Version=\"1\" Minor=\"0\">" >> $ISE_BEGINFILE
50 echo " <Process Command=\"$ISE_STEP\" Owner=\"$ISE_USER\" Host=\"$ISE_HOST\" Pid=\"$ISE_PID\" HostCore=\"$ISE_HOSTCORE\" HostMemory=\"$ISE_MEMTOTAL\">" >> $ISE_BEGINFILE
51 echo " </Process>" >> $ISE_BEGINFILE
52 echo "</ProcessHandle>" >> $ISE_BEGINFILE
53
54 # WAIT for ISEStep to finish
55 wait $ISE_PID
56
57 # END/ERROR file creation
58 RETVAL=$?
59 if [ $RETVAL -eq 0 ]
60 then
61 /bin/touch .$ISE_STEP.end.rst
62 else
63 /bin/touch .$ISE_STEP.error.rst
64 fi
65
66 exit $RETVAL
67