You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ISEWrap.sh 2.1KB

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