66REL=0 # 1: load from release tag. 0: load from source code
77
88VER=master
9- YOSYS=yosys-yosys-$VER
10- TAR_YOSYS=yosys-$VER .tar.gz
11- REL_YOSYS=https://github.com/YosysHQ/yosys/archive/$TAR_YOSYS
9+ YOSYS=yosys
1210GIT_YOSYS=https://github.com/YosysHQ/yosys.git
1311
1412cd $UPSTREAM_DIR
1513
16- if [ $REL -eq 1 ]; then
17- # -- Check and download the release
18- test -e $TAR_YOSYS || wget $REL_YOSYS
19- # -- Unpack the release
20- tar zxf $TAR_YOSYS
21- else
22- # -- Clone the sources from github
23- VER=$( git ls-remote ${GIT_YOSYS} ${VER} | cut -f 1)
24- YOSYS=yosys-yosys-$VER
25- git clone $GIT_YOSYS $YOSYS
26- git -C $YOSYS pull
27- VER=$( git -C $YOSYS rev-parse ${VER} )
28- echo " "
29- git -C $YOSYS reset --hard $VER
30- git -C $YOSYS log -1
31- fi
14+ # -- Clone the sources from github
15+ test -e $YOSYS || git clone $GIT_YOSYS $YOSYS
16+ git -C $YOSYS pull
17+ git -C $YOSYS checkout $VER
18+ git -C $YOSYS log -1
19+ VER=$( git -C $YOSYS rev-parse ${VER} )
20+
21+ ghdl_yosys_plugin=ghdl_yosys_plugin
22+ commit_gyp=master
23+ git_ghdl_yosys_plugin=https://github.com/ghdl/ghdl-yosys-plugin
24+
25+ # -- Clone the sources from github
26+ test -e $ghdl_yosys_plugin || git clone $git_ghdl_yosys_plugin $ghdl_yosys_plugin
27+ git -C $ghdl_yosys_plugin pull
28+ git -C $ghdl_yosys_plugin checkout $commit_gyp
29+ git -C $ghdl_yosys_plugin log -1
30+
31+ # -- Copy the upstream sources into the build directory
32+ rsync -a $ghdl_yosys_plugin $BUILD_DIR --exclude .git
3233
3334# -- Copy the upstream sources into the build directory
3435rsync -a $YOSYS $BUILD_DIR --exclude .git
3536
3637cd $BUILD_DIR /$YOSYS
38+ # TODO contribute updated patch upstream as it has gone stale
39+ patch < $WORK_DIR /scripts/yosys-ghdl.diff
40+
41+ mkdir -p frontends/ghdl
42+ cp -R ../$ghdl_yosys_plugin /src/* frontends/ghdl
43+ MAKEFILE_CONF_GHDL=$' ENABLE_GHDL := 1\n '
44+ MAKEFILE_CONF_GHDL+=" GHDL_DIR := $PACKAGE_DIR /$NAME "
3745
3846# -- Compile it
3947if [ $ARCH == " darwin" ]; then
48+ OLDPATH=$PATH
49+ export PATH=" /usr/local/opt/bison/bin:/usr/local/opt/flex/bin:$PATH "
50+
4051 $MAKE config-clang
52+ echo " $MAKEFILE_CONF_GHDL " >> Makefile.conf
4153 sed -i " " " s/-Wall -Wextra -ggdb/-w/;" Makefile
4254 CXXFLAGS=" -std=c++11 $CXXFLAGS " make \
43- -j$J YOSYS_VER=" $VER (open-tool-forge build)" \
55+ -j$J YOSYS_VER=" $VER (open-tool-forge build)" PRETTY=0 \
56+ LDLIBS=" -lm $PACKAGE_DIR /$NAME /lib/libghdl.a $( tr -s ' \n' ' ' < $PACKAGE_DIR /$NAME /lib/ghdl.link) " \
4457 ENABLE_TCL=0 ENABLE_PLUGINS=0 ENABLE_READLINE=0 ENABLE_COVER=0 ENABLE_ZLIB=0 ENABLE_ABC=1 \
4558 ABCMKARGS=" CC=\" $CC \" CXX=\" $CXX \" OPTFLAGS=\" -O\" \
4659 ARCHFLAGS=\" $ABC_ARCHFLAGS \" ABC_USE_NO_READLINE=1"
4760
61+ export PATH=$OLDPATH
4862elif [ ${ARCH: 0: 7} == " windows" ]; then
4963 $MAKE config-msys2-64
64+ echo " $MAKEFILE_CONF_GHDL " >> Makefile.conf
5065 $MAKE -j$J YOSYS_VER=" $VER (open-tool-forge build)" PRETTY=0 \
51- LDLIBS=" -static -lstdc++ -lm" \
66+ LDLIBS=" -static -lstdc++ -lm $( cygpath -m -a $PACKAGE_DIR / $NAME /lib/libghdl.a ) $(( tr - s '\n' ' ' | tr - s '\\' ' / ') < $PACKAGE_DIR / $NAME / lib / ghdl.link) " \
5267 ABCMKARGS="CC=\"$CC \" CXX=\"$CXX \" LIBS=\"-static -lm\" OPTFLAGS=\"-O\" \
5368 ARCHFLAGS=\"$ABC_ARCHFLAGS \" \
5469 ABC_USE_NO_READLINE=1 \
@@ -58,12 +73,13 @@ elif [ ${ARCH:0:7} == "windows" ]; then
5873
5974else
6075 $MAKE config-gcc
76+ echo "$MAKEFILE_CONF_GHDL " >> Makefile.conf
6177 sed -i "s/-Wall -Wextra -ggdb/-w/;" Makefile
62- sed -i " s/LD = gcc$/LD = $CC /;" Makefile
63- sed -i " s/CXX = gcc$/CXX = $CC /;" Makefile
64- sed -i " s/LDFLAGS += -rdynamic/LDFLAGS +=/;" Makefile
65- $MAKE -j$J YOSYS_VER=" $VER (open-tool-forge build)" \
66- LDLIBS=" -static -lstdc++ -lm" \
78+ # sed -i "s/LD = gcc$/LD = $CC /;" Makefile
79+ # sed -i "s/CXX = gcc$/CXX = $CC /;" Makefile
80+ # sed -i "s/LDFLAGS += -rdynamic/LDFLAGS +=/;" Makefile
81+ $MAKE -j$J YOSYS_VER="$VER (open-tool-forge build)" PRETTY= 0 \
82+ LDLIBS="-static -lstdc++ -lm $PACKAGE_DIR / $NAME /lib/libghdl.a $(tr -s '\n' ' ' < $PACKAGE_DIR / $NAME /lib/ghdl.link) " \
6783 ENABLE_TCL=0 ENABLE_PLUGINS=0 ENABLE_READLINE=0 ENABLE_COVER=0 ENABLE_ZLIB=0 ENABLE_ABC=1 \
6884 ABCMKARGS="CC=\"$CC \" CXX=\"$CXX \" LIBS=\"-static -lm -ldl -pthread\" \
6985 OPTFLAGS=\"-O\" \
0 commit comments