#!/bin/bash set -ex vcxsrc="$1-$2" yosysver="$2" gitsha="$3" rm -rf YosysVS-Tpl-v1.zip YosysVS wget http://www.clifford.at/yosys/nogit/YosysVS-Tpl-v1.zip unzip YosysVS-Tpl-v1.zip rm -f YosysVS-Tpl-v1.zip mv YosysVS "$vcxsrc" { n=$(grep -B999 '' "$vcxsrc"/YosysVS/YosysVS.vcxproj | wc -l) head -n$n "$vcxsrc"/YosysVS/YosysVS.vcxproj egrep '\.(h|hh|hpp|inc)$' srcfiles.txt | sed 's,.*,,' egrep -v '\.(h|hh|hpp|inc)$' srcfiles.txt | sed 's,.*,,' echo '' tail -n +$((n+1)) "$vcxsrc"/YosysVS/YosysVS.vcxproj } > "$vcxsrc"/YosysVS/YosysVS.vcxproj.new mv "$vcxsrc"/YosysVS/YosysVS.vcxproj.new "$vcxsrc"/YosysVS/YosysVS.vcxproj mkdir -p "$vcxsrc"/yosys tar -cf - -T srcfiles.txt | tar -xf - -C "$vcxsrc"/yosys cp -r share "$vcxsrc"/ echo "namespace Yosys { extern const char *yosys_version_str; const char *yosys_version_str=\"Yosys" \ "$yosysver (git sha1 $gitsha, Visual Studio)\"; }" > "$vcxsrc"/yosys/kernel/version.cc cat > "$vcxsrc"/readme-git.txt << EOT Want to use a git working copy for the yosys source code? Open "Git Bash" in this directory and run: mv yosys yosys.bak git clone https://github.com/cliffordwolf/yosys.git yosys cd yosys git checkout -B master $(git rev-parse HEAD | cut -c1-10) unzip ../genfiles.zip EOT cat > "$vcxsrc"/readme-abc.txt << EOT Yosys is using "ABC" for gate-level optimizations and technology mapping. Download yosys-win32-mxebin-$yosysver.zip and copy the following files from it into this directory: pthreadVC2.dll yosys-abc.exe EOT sed -i 's/$/\r/; s/\r\r*/\r/g;' "$vcxsrc"/YosysVS/YosysVS.vcxproj "$vcxsrc"/readme-git.txt "$vcxsrc"/readme-abc.txt