Commit Graph

175 Commits

Author SHA1 Message Date
Baruch Sterin
f8981d48f5 Reduce the amount of text printed when building abc.
* introduce a user-defined function `abc_info` that only prints out text when ABC_MAKE_VERBOSE is set

* replace all calls to $(info ...) with calls to $(call abc_info, ...)

To show the output build with ABC_MAKE_VERBOSE. for example

```
make ABC_MAKE_VERBOSE=1 ...
```
2025-11-04 02:52:02 +02:00
phyzhenli
8db417597c Update Makefile 2025-04-03 16:40:28 +08:00
Franz Reichl
8ffca32372 Add command &eslim 2025-03-19 11:29:14 +01:00
MyskYko
14b451b52f patch 2025-03-07 00:25:11 -08:00
MyskYko
664d285fcb patch 2025-03-05 04:10:49 -08:00
jiunhaochen
083d3884dd Command rewire 2025-03-01 23:44:55 +08:00
Sean Cross
10b9da7acb Makefile: break apart steps in make clean
The `make clean` target consists of a single `rm` call that passes every
generated file, object file, and dependency directory.  This results in
a command line that's around 53,800 characters long.

On Linux, the maximum length of a command line is 131,072 or 262,144
characters, however on Windows the limit is 32,768.

The 53,800 character command simply fails to run on Windows, which is a
problem when the first command that gets run is `make clean`.

Break this target into steps, first removing the output files, then the
object files, then any generated garbage, and then the object depedency
directories.

This fixes `make clean` (and as a result yosys) on Windows.

Signed-off-by: Sean Cross <sean@xobs.io>
(cherry picked from commit 11c4f998b25b6c07f4081cea10e2532ebcb7f4d4)
2024-08-07 14:34:16 +02:00
Roland Coeurjoly
a692c0da48 Support out of tree builds
(cherry picked from commit 2c52e3f969827fbba60224b15b4da0f867e62a26)
2024-08-07 14:32:25 +02:00
Jason Thorpe
f5f317d7d2 Skip -ldl on NetBSD; it does not exist. Skip -lrt on NetBSD; it is
not required.  Same treatment as FreeBSD.

(cherry picked from commit ecce27ce1d8d8ff1f5ccd89be65700f0da98eaf4)
2024-08-07 14:31:59 +02:00
Josuah Demangeon
fe0bb59baa do not include -lrt or -ldl on platform that do not support them
Some platforms were already listed, this includes OpenBSD to the list
and makes it easier to add more.

(cherry picked from commit b6c0b36c8aa0a181a541a8cc4320ebde938a0fe0)
2024-08-07 14:31:48 +02:00
Robert O'Callahan
e0a9c29e5a Instead of throwing C++ exceptions, just print an error message and abort
Many C++ projects forbid the use of exceptions. These are not recoverable
errors anyway, so just abort.
2024-08-06 17:51:15 +00:00
Ethan Mahintorabi
8afc83874f add c++17 back to makefile for makefile only runs
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2024-05-04 01:13:09 +00:00
Ethan Mahintorabi
0fc549d8b8 Reverts downgrade to c++11
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2024-05-03 05:24:02 +00:00
aletempiac
9eb32f0766 Changing compilation flag for c++11 2024-02-08 15:11:58 +01:00
aletempiac
5a00bbaa8f Cleaning Makefile 2024-01-16 18:13:30 +01:00
aletempiac
67aab70cff Moving ACD package to if folder 2024-01-16 17:42:43 +01:00
aletempiac
1632dc0d4e First version of ACD 2023-11-15 18:38:00 +01:00
Baruch Sterin
554a1693ac Move CI to GitHub Actions.
Also, a few minor changes that are required to compile ABC under moder compilers.
2022-01-22 18:34:43 +02:00
Baruch Sterin
c3699a2043 Makefile: support ccache for compiling ABC.
Surround $(CC), $(CXX) with double quotes when calling depends.sh, to allow space-delimited compilation tools to be used.
2020-11-19 22:27:24 +02:00
Alan Mishchenko
b3d3f7dd3a Duplicating Glucose package. 2020-11-12 23:57:46 -08:00
whitequark
128ba6ebc5 Allow changing the ar binary.
This is useful for cross-compilation, when build `ar` cannot handle
the target object files.

The invocation of `ranlib` is replaced with `ar s`, which is
equivalent and simplifies the build system a bit.
2020-04-30 02:17:23 +00:00
Alan Mishchenko
9e787c7191 Experiments with word-level retiming. 2018-09-30 20:51:37 -07:00
Alan Mishchenko
a08cc8b29b Changing makefile to suppress warnings with GCC 5+ 2018-06-08 12:03:39 -07:00
Baruch Sterin
9c78efbadf Makefile: add support for ABC_USE_STDINT_H 2018-03-30 01:03:04 -07:00
Alan Mishchenko
e839091ba0 Suggested fix to compile on FreeBSD. 2018-02-05 19:00:46 -08:00
Baruch Sterin
5ab3f0fa6b Patch by Larry Doolittle to allow out-of-source builds of ABC.
Usage:

Starting from an empty directory:

(1) set AS to point to the location of ABC

(2) reconstruct the directory structure of ABC in the new directory:

    mkdir -p `cd $AS && find src -type d`

(3) Build ABC:

    make -f $AS/Makefile VPATH=$AS ABCSRC=$AS
2017-10-20 14:41:30 -07:00
Alan Mishchenko
50bed57cae Changes and fixed suggested by Clifford Wolf. 2017-09-15 10:59:39 -07:00
Alan Mishchenko
1ca80e1f6c Adding Glucose 3.0 as a separate package. 2017-09-06 16:32:15 -07:00
Alan Mishchenko
0afc6123f9 Experiments with new network data-structure. 2017-03-19 21:56:19 -07:00
Bruno Schmitt
cac3967b52 Adding a new SAT solver to ABC. (Satoko)
The command is ‘satoko’
2017-02-06 11:34:52 -08:00
Baruch Sterin
b9dfb992c7 (1) Makefile: added a shared library target, (2) no longer compile the main function as part of libabc.a 2016-12-22 18:15:29 -08:00
Bruno Schmitt
5351ab4b13 xSAT is an experimental SAT Solver based on Glucose v3(see Glucose copyrights below) and ABC C version of
MiniSat (bsat) developed by Niklas Sorensson and modified by Alan Mishchenko. It’s development has reached
sufficient maturity to be committed in ABC, but still in a beta state.

TODO:
* Read compressed CNF files.
* Study the use of floating point for variables and clauses activity.
* Better documentation.
* Improve verbose messages.
* Expose parameters for tuning.
2016-12-12 16:20:38 -02:00
Alan Mishchenko
585f3a6407 New SAT-based optimization package. 2016-11-17 12:16:14 -08:00
Vinicius Callegaro
faf8d6ecea Disjoint-support decomposition with cofactoring and boolean difference analysis
from V. Callegaro, F. S. Marranghello, M. G. A. Martins, R. P. Ribas and A. I. Reis,
entitled "Bottom-up disjoint-support decomposition based on cofactor and boolean difference analysis" presented in ICCD'15.
2016-11-08 17:00:35 -02:00
Bruno Schmitt
3cf495c831 Add a new module which implements the fast extract with cube hashing (fxch) algorithm.
Removes old partial implementation of this algorithm from the "pla" module.
2016-05-11 19:41:31 -03:00
Alan Mishchenko
236d412255 Experiments with CEC for arithmetic circuits. 2016-05-07 19:47:02 -07:00
Alan Mishchenko
395bd727a1 Typo in Makefile. 2016-04-12 11:16:22 -07:00
Alan Mishchenko
03dc51369c Updates to Exorcism package 2016-04-11 21:46:14 -07:00
Alan Mishchenko
c441ea0cf0 Updates to Exorcism package 2016-04-11 21:43:37 -07:00
Baruch Sterin
3237ebafaa CMake, Makefile: pass the location of arch_flags to the makefile, this way the cmake build does not write to the soruce directory 2015-11-12 11:43:59 -08:00
Baruch Sterin
b18eb60301 CMakeLists.txt, Makefile: fix a bug in passing the readline options 2015-11-07 19:48:11 -08:00
Baruch Sterin
c610c03661 pyabc: remove python integration from abc, it is moved to a separate extension 2015-11-05 01:24:26 -08:00
Baruch Sterin
0f14713dbc CMakeLists.txt, Makefile: pass readline flags from the CMake lists file to the Makefile. 2015-11-05 01:23:35 -08:00
Baruch Sterin
be429079b5 CMakeLists.txt: pass CXX flags from the Makefile 2015-11-05 01:23:31 -08:00
Baruch Sterin
91d8040bd6 Restoring Aaron Hurst's "fretime" command 2015-10-28 19:59:57 -07:00
Baruch Sterin
9b3a358e6f Makefile: Add a CMakeLists.txt that uses the regular Makefile to compute flags and source file. This is a ugly hack, mainly to allow the use of CLion with ABC. Include some changes in the Makefile to support that. 2015-10-21 22:56:15 -07:00
Baruch Sterin
28f2063caa Makefile: (1) split CFLAGS into OPTFLAGS, INCLUDES, and CFLAGS 2015-10-21 22:56:15 -07:00
Baruch Sterin
da80a038cc Makefile: fix a typo in -fPIC flag 2015-10-21 22:56:15 -07:00
Baruch Sterin
d944384d9e Makefile: add ABC_MAKE_VERBOSE flag to print the acutall commands executed. 2015-10-16 16:44:59 -07:00
Baruch Sterin
824584ff44 Makefile: make namespaces/readline/threads/cudd options easier to use 2015-10-16 16:27:59 -07:00