mrkj / abc

A system for sequential synthesis and verification (this repo is from before https://bitbucket.org/alanmi/abc/src became available; use that one instead)

Home Page:http://www.eecs.berkeley.edu/~alanmi/abc/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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, in Makefile instead of
    OPTFLAGS  := -g -O -DLIN -m32
use
    OPTFLAGS  := -g -O -DLIN64 <...>
and instead of 
    LIBS := -m32 -ldl -rdynamic -lreadline -ltermcap
use
    LIBS := -ldl /usr/lib64/libreadline.a /usr/lib64/libncurses.a -rdynamic


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

About

A system for sequential synthesis and verification (this repo is from before https://bitbucket.org/alanmi/abc/src became available; use that one instead)

http://www.eecs.berkeley.edu/~alanmi/abc/

License:Other


Languages

Language:C 99.6%Language:Python 0.4%Language:Shell 0.0%