| 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 | |