ABC: System for Sequential Logic Synthesis and Formal Verification
Go to file
Alan Mishchenko f404f9ffb4 Performance bug fix in area-only mapping "map -a". 2010-11-29 01:38:31 -08:00
scripts initial commit of public abc 2010-11-01 01:35:04 -07:00
src Performance bug fix in area-only mapping "map -a". 2010-11-29 01:38:31 -08:00
.gitattributes Added .gitignore 2009-04-26 02:08:48 -07:00
.gitignore Added .gitignore 2009-04-26 02:08:48 -07:00
.hgignore initial commit of public abc 2010-11-01 01:35:04 -07:00
Makefile fixed compilation in linux 2010-11-01 02:06:26 -07:00
abc.rc Version abc90901 2015-06-22 23:05:13 -07:00
abcexe.dsp initial commit of public abc 2010-11-01 01:35:04 -07:00
abclib.dsp Version abc90901 2015-06-22 23:05:13 -07:00
abcspace.dsw Version abc90215 2009-02-15 08:01:00 -08:00
bug_report_template.txt initial commit of public abc 2010-11-01 01:35:04 -07:00
copyright.txt Version abc80410 2008-04-10 08:01:00 -07:00
depends.sh made depends.sh executable 2010-11-01 01:39:04 -07:00
link_command_line.txt initial commit of public abc 2010-11-01 01:35:04 -07:00
readme initial commit of public abc 2010-11-01 01:35:04 -07:00
readme__cplusplus initial commit of public abc 2010-11-01 01:35:04 -07:00
readmeaig Version abc80610 2008-06-10 08:01:00 -07:00
regtest.script Version abc80130_2 2008-01-30 20:01:00 -08:00
regtest_output.txt Version abc80301 2008-03-01 08:01:00 -08:00

readme

Often the code comes directly from a Windows computer.
The following steps may be needed to compile it on UNIX:

Modify Makefile to have -DLIN (for 32-bits) or -DLIN64 (for 64-bits)

>> dos2unix Makefile Makefile
>> dos2unix depends.sh depends.sh
>> chmod 755 depends.sh
>> make  // on Solaris, try "gmake"

If compiling as a static library, it is necessary to uncomment
#define _LIB in "src/abc/main/main.c"

To compile with Microsoft Visual Studio higher than 6.0,
remove ABC_CHECK_LEAKS from the preprocessor definitions
for the debug version (Project->Settings->C/C++->Preprocessor Definitions)

If compilation does not start because of the cyclic dependency check, 
try "touching" all files:    find ./ -type f -exec touch "{}" \;

Several things to try if it does not compile on your platform:
- Try running all code (not only Makefile and depends.sh) through dos2unix
- Try the following actions:
  (a) Remove flags from the libs line (LIBS :=) in Makefile
  (b) Remove "src\base\main\libSupport.c" from "src\base\main\module.make"
  (c) Comment calls to Libs_Init() and Libs_End() in "src\base\main\mainInit.c"
- Try linking with gcc (rather than g++)
  For this replace "LD   := g++" with "LD   := gcc -lm" in Makefile
- If your Linux distributin does not have "readline", you may have problems 
  compiling ABC with gcc. Please try installing this library from
  http://tiswww.case.edu/php/chet/readline/rltop.html

To compile the latest version of ABC, you may need to define "LIN" or "LIN64" 
(depending on whether you are using 32- or 64-bit Linux). 
For example, instead of
    OPTFLAGS  := -g -O
use
    OPTFLAGS  := -g -O -DLIN64
in Makefile.

Finally, run regression test:
abc>>> so regtest.script


The following comment was added by Krish Sundaresan:

"I found that the code does compile correctly on Solaris 
if gcc is used (instead of g++ that I was using for some reason). 
Also readline which is not available by default on most 
Sol10 systems, needs to be installed. I downloaded the 
readline-5.2 package from sunfreeware.com and installed it 
locally. Also modified CFLAGS to add the local include files 
for readline and LIBS to add the local libreadline.a. Perhaps 
you can add these steps in the readme to help folks compiling 
this on Solaris."

Archiving the binary: tar czf archive.tar.gz directory