55 lines
1.7 KiB
Bash
55 lines
1.7 KiB
Bash
#!/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
|
|
|