diff options
author | Clifford Wolf <clifford@clifford.at> | 2013-11-27 09:08:35 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2013-11-27 09:08:35 +0100 |
commit | 38e7fa6530f0c5ba5044dcd79f391e49fcdef84c (patch) | |
tree | 031c5757ecf204357c41e542672dcaac0c3855a1 | |
parent | bc3cc8871973c23043da48c1db76f352b33ea259 (diff) | |
download | yosys-38e7fa6530f0c5ba5044dcd79f391e49fcdef84c.tar.gz yosys-38e7fa6530f0c5ba5044dcd79f391e49fcdef84c.tar.bz2 yosys-38e7fa6530f0c5ba5044dcd79f391e49fcdef84c.zip |
Tighter integration of ABC build
-rw-r--r-- | CHANGELOG | 11 | ||||
-rw-r--r-- | Makefile | 23 | ||||
-rw-r--r-- | README | 6 | ||||
-rw-r--r-- | passes/abc/Makefile.inc | 2 |
4 files changed, 35 insertions, 7 deletions
diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 000000000..fe0534c0e --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,11 @@ + +List of incompatible changes and major milestones between releases +================================================================== + + +Yosys 0.1.0 .. Yoys 0.1.0+ +-------------------------- + + - Tighter integration of ABC build with Yosys build. The make + targets 'make abc' and 'make install-abc' are now obsolete. + @@ -3,9 +3,13 @@ CONFIG := clang-debug # CONFIG := gcc-debug # CONFIG := release +# features (the more the better) ENABLE_TCL := 1 ENABLE_QT4 := 1 ENABLE_MINISAT := 1 +ENABLE_ABC := 1 + +# other configuration flags ENABLE_GPROF := 0 DESTDIR := /usr/local @@ -61,6 +65,10 @@ ifeq ($(ENABLE_QT4),1) TARGETS += yosys-svgviewer endif +ifeq ($(ENABLE_ABC),1) +TARGETS += yosys-abc +endif + OBJS += kernel/driver.o kernel/register.o kernel/rtlil.o kernel/log.o kernel/calc.o OBJS += libs/bigint/BigIntegerAlgorithms.o libs/bigint/BigInteger.o libs/bigint/BigIntegerUtils.o @@ -107,6 +115,18 @@ endif cd abc && $(MAKE) cp abc/abc yosys-abc +abc/abc-$(ABCREV): + if test "`cd abc && hg identify`" != "$(ABCREV)"; then \ + test $(ABCPULL) -ne 0 || { echo; echo "!!! ABC not up to date and ABCPULL set to 0 in Makefile !!!"; echo; exit 1; }; \ + test -d abc || hg clone https://bitbucket.org/alanmi/abc abc; \ + cd abc && hg pull && hg update -r $(ABCREV); \ + fi + cd abc && $(MAKE) + cp abc/abc abc/abc-$(ABCREV) + +yosys-abc: abc/abc-$(ABCREV) + cp abc/abc-$(ABCREV) yosys-abc + test: yosys cd tests/simple && bash run-test.sh cd tests/hana && bash run-test.sh @@ -118,9 +138,6 @@ install: $(TARGETS) $(EXTRA_TARGETS) $(INSTALL_SUDO) mkdir -p $(DESTDIR)/share/yosys $(INSTALL_SUDO) cp -r share/. $(DESTDIR)/share/yosys/. -install-abc: - $(INSTALL_SUDO) install yosys-abc $(DESTDIR)/bin/ - manual: cd manual && bash make.sh @@ -93,10 +93,8 @@ To build Yosys simply type 'make' in this directory. If you encounter any problems during build, make sure to check the section "Workarounds for known build problems" at the end of this README file. -To also build and install ABC (recommended) use the following commands: - - $ make abc - $ sudo make install-abc +Note that this also downloads, builds and installs ABC (using yosys-abc +as executeable name). Yosys can be used with the interactive command shell, with synthesis scripts or with command line arguments. Let's perform diff --git a/passes/abc/Makefile.inc b/passes/abc/Makefile.inc index 91a571c3d..dbb7496cf 100644 --- a/passes/abc/Makefile.inc +++ b/passes/abc/Makefile.inc @@ -1,5 +1,7 @@ +ifeq ($(ENABLE_ABC),1) OBJS += passes/abc/abc.o OBJS += passes/abc/vlparse.o OBJS += passes/abc/blifparse.o +endif |