diff options
Diffstat (limited to 'misc/create_vcxsrc.sh')
-rw-r--r-- | misc/create_vcxsrc.sh | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/misc/create_vcxsrc.sh b/misc/create_vcxsrc.sh new file mode 100644 index 000000000..215e27c53 --- /dev/null +++ b/misc/create_vcxsrc.sh @@ -0,0 +1,54 @@ +#!/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 '<ItemGroup>' "$vcxsrc"/YosysVS/YosysVS.vcxproj | wc -l) + head -n$n "$vcxsrc"/YosysVS/YosysVS.vcxproj + egrep '\.(h|hh|hpp|inc)$' srcfiles.txt | sed 's,.*,<ClInclude Include="../yosys/&" />,' + egrep -v '\.(h|hh|hpp|inc)$' srcfiles.txt | sed 's,.*,<ClCompile Include="../yosys/&" />,' + echo '<ClCompile Include="../yosys/kernel/version.cc" />' + 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 + |