mirror of
https://github.com/YosysHQ/yosys
synced 2026-05-25 19:36:21 +00:00
Migrate build system to CMake
See #5895 for details. This commit does not include CI or documentation changes.
This commit is contained in:
parent
9d0cdb8551
commit
9b087b4aa7
207 changed files with 5202 additions and 2294 deletions
213
passes/cmds/CMakeLists.txt
Normal file
213
passes/cmds/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,213 @@
|
|||
add_subdirectory(sdc)
|
||||
|
||||
yosys_pass(exec
|
||||
exec.cc
|
||||
ENABLE_IF
|
||||
YOSYS_ENABLE_SPAWN
|
||||
)
|
||||
yosys_pass(add
|
||||
add.cc
|
||||
)
|
||||
yosys_pass(delete
|
||||
delete.cc
|
||||
)
|
||||
yosys_pass(design
|
||||
design.cc
|
||||
ESSENTIAL
|
||||
)
|
||||
yosys_pass(design_equal
|
||||
design_equal.cc
|
||||
)
|
||||
yosys_pass(select
|
||||
select.cc
|
||||
PROVIDES
|
||||
cd
|
||||
ls
|
||||
ESSENTIAL
|
||||
)
|
||||
yosys_pass(show
|
||||
show.cc
|
||||
LIBRARIES
|
||||
$<${YOSYS_ENABLE_READLINE}:PkgConfig::readline>
|
||||
$<${YOSYS_ENABLE_EDITLINE}:PkgConfig::editline>
|
||||
REQUIRES
|
||||
read_rtlil
|
||||
read_verilog
|
||||
)
|
||||
yosys_pass(viz
|
||||
viz.cc
|
||||
)
|
||||
yosys_pass(rename
|
||||
rename.cc
|
||||
REQUIRES
|
||||
write_verilog
|
||||
)
|
||||
yosys_pass(autoname
|
||||
autoname.cc
|
||||
)
|
||||
yosys_pass(connect
|
||||
connect.cc
|
||||
)
|
||||
yosys_pass(scatter
|
||||
scatter.cc
|
||||
)
|
||||
yosys_pass(setundef
|
||||
setundef.cc
|
||||
)
|
||||
yosys_pass(splitnets
|
||||
splitnets.cc
|
||||
)
|
||||
yosys_pass(splitcells
|
||||
splitcells.cc
|
||||
)
|
||||
yosys_pass(stat
|
||||
stat.cc
|
||||
REQUIRES
|
||||
libparse
|
||||
)
|
||||
yosys_pass(internal_stats
|
||||
internal_stats.cc
|
||||
REQUIRES
|
||||
libparse
|
||||
)
|
||||
yosys_pass(setattr
|
||||
setattr.cc
|
||||
PROVIDES
|
||||
wbflip
|
||||
setparam
|
||||
chparam
|
||||
)
|
||||
yosys_pass(copy
|
||||
copy.cc
|
||||
)
|
||||
yosys_pass(splice
|
||||
splice.cc
|
||||
)
|
||||
yosys_pass(scc
|
||||
scc.cc
|
||||
)
|
||||
yosys_pass(glift
|
||||
glift.cc
|
||||
)
|
||||
yosys_pass(torder
|
||||
torder.cc
|
||||
)
|
||||
yosys_pass(logcmd
|
||||
logcmd.cc
|
||||
)
|
||||
yosys_pass(tee
|
||||
tee.cc
|
||||
)
|
||||
yosys_pass(write_file
|
||||
write_file.cc
|
||||
)
|
||||
yosys_pass(connwrappers
|
||||
connwrappers.cc
|
||||
)
|
||||
yosys_pass(trace
|
||||
trace.cc
|
||||
PROVIDES
|
||||
debug
|
||||
)
|
||||
yosys_pass(plugin
|
||||
plugin.cc
|
||||
INCLUDE_DIRS
|
||||
${pybind11_INCLUDE_DIR}
|
||||
LIBRARIES
|
||||
$<${YOSYS_ENABLE_PLUGINS}:${Dlfcn_LIBRARIES}>
|
||||
$<${YOSYS_ENABLE_PYTHON}:Python3::Python>
|
||||
ESSENTIAL
|
||||
)
|
||||
yosys_pass(check
|
||||
check.cc
|
||||
)
|
||||
yosys_pass(edgetypes
|
||||
edgetypes.cc
|
||||
)
|
||||
yosys_pass(portlist
|
||||
portlist.cc
|
||||
)
|
||||
yosys_pass(chformal
|
||||
chformal.cc
|
||||
)
|
||||
yosys_pass(chtype
|
||||
chtype.cc
|
||||
)
|
||||
yosys_pass(blackbox
|
||||
blackbox.cc
|
||||
)
|
||||
yosys_pass(ltp
|
||||
ltp.cc
|
||||
)
|
||||
yosys_pass(linux_perf
|
||||
linux_perf.cc
|
||||
)
|
||||
yosys_pass(bugpoint
|
||||
bugpoint.cc
|
||||
REQUIRES
|
||||
proc_clean
|
||||
opt_clean
|
||||
design
|
||||
ENABLE_IF
|
||||
YOSYS_ENABLE_SPAWN
|
||||
)
|
||||
yosys_pass(scratchpad
|
||||
scratchpad.cc
|
||||
)
|
||||
yosys_pass(logger
|
||||
logger.cc
|
||||
)
|
||||
yosys_pass(printattrs
|
||||
printattrs.cc
|
||||
)
|
||||
yosys_pass(sta
|
||||
sta.cc
|
||||
)
|
||||
yosys_pass(clean_zerowidth
|
||||
clean_zerowidth.cc
|
||||
)
|
||||
yosys_pass(xprop
|
||||
xprop.cc
|
||||
REQUIRES
|
||||
bmuxmap
|
||||
demuxmap
|
||||
)
|
||||
yosys_pass(dft_tag
|
||||
dft_tag.cc
|
||||
)
|
||||
yosys_pass(future
|
||||
future.cc
|
||||
)
|
||||
yosys_pass(box_derive
|
||||
box_derive.cc
|
||||
)
|
||||
yosys_pass(example_dt
|
||||
example_dt.cc
|
||||
)
|
||||
yosys_pass(portarcs
|
||||
portarcs.cc
|
||||
)
|
||||
yosys_pass(wrapcell
|
||||
wrapcell.cc
|
||||
)
|
||||
yosys_pass(setenv
|
||||
setenv.cc
|
||||
)
|
||||
yosys_pass(abstract
|
||||
abstract.cc
|
||||
)
|
||||
yosys_pass(test_select
|
||||
test_select.cc
|
||||
)
|
||||
yosys_pass(timeest
|
||||
timeest.cc
|
||||
)
|
||||
yosys_pass(linecoverage
|
||||
linecoverage.cc
|
||||
)
|
||||
yosys_pass(sort
|
||||
sort.cc
|
||||
)
|
||||
yosys_pass(icell_liberty
|
||||
icell_liberty.cc
|
||||
)
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
|
||||
ifeq ($(DISABLE_SPAWN),0)
|
||||
OBJS += passes/cmds/exec.o
|
||||
endif
|
||||
OBJS += passes/cmds/add.o
|
||||
OBJS += passes/cmds/delete.o
|
||||
OBJS += passes/cmds/design.o
|
||||
OBJS += passes/cmds/design_equal.o
|
||||
OBJS += passes/cmds/select.o
|
||||
OBJS += passes/cmds/show.o
|
||||
OBJS += passes/cmds/viz.o
|
||||
OBJS += passes/cmds/rename.o
|
||||
OBJS += passes/cmds/autoname.o
|
||||
OBJS += passes/cmds/connect.o
|
||||
OBJS += passes/cmds/scatter.o
|
||||
OBJS += passes/cmds/setundef.o
|
||||
OBJS += passes/cmds/splitnets.o
|
||||
OBJS += passes/cmds/splitcells.o
|
||||
OBJS += passes/cmds/stat.o
|
||||
OBJS += passes/cmds/internal_stats.o
|
||||
OBJS += passes/cmds/setattr.o
|
||||
OBJS += passes/cmds/copy.o
|
||||
OBJS += passes/cmds/splice.o
|
||||
OBJS += passes/cmds/scc.o
|
||||
OBJS += passes/cmds/glift.o
|
||||
OBJS += passes/cmds/torder.o
|
||||
OBJS += passes/cmds/logcmd.o
|
||||
OBJS += passes/cmds/tee.o
|
||||
OBJS += passes/cmds/write_file.o
|
||||
OBJS += passes/cmds/connwrappers.o
|
||||
OBJS += passes/cmds/trace.o
|
||||
OBJS += passes/cmds/plugin.o
|
||||
OBJS += passes/cmds/check.o
|
||||
OBJS += passes/cmds/edgetypes.o
|
||||
OBJS += passes/cmds/portlist.o
|
||||
OBJS += passes/cmds/chformal.o
|
||||
OBJS += passes/cmds/chtype.o
|
||||
OBJS += passes/cmds/blackbox.o
|
||||
OBJS += passes/cmds/ltp.o
|
||||
OBJS += passes/cmds/linux_perf.o
|
||||
ifeq ($(DISABLE_SPAWN),0)
|
||||
OBJS += passes/cmds/bugpoint.o
|
||||
endif
|
||||
OBJS += passes/cmds/scratchpad.o
|
||||
OBJS += passes/cmds/logger.o
|
||||
OBJS += passes/cmds/printattrs.o
|
||||
OBJS += passes/cmds/sta.o
|
||||
OBJS += passes/cmds/clean_zerowidth.o
|
||||
OBJS += passes/cmds/xprop.o
|
||||
OBJS += passes/cmds/dft_tag.o
|
||||
OBJS += passes/cmds/future.o
|
||||
OBJS += passes/cmds/box_derive.o
|
||||
OBJS += passes/cmds/example_dt.o
|
||||
OBJS += passes/cmds/portarcs.o
|
||||
OBJS += passes/cmds/wrapcell.o
|
||||
OBJS += passes/cmds/setenv.o
|
||||
OBJS += passes/cmds/abstract.o
|
||||
OBJS += passes/cmds/test_select.o
|
||||
OBJS += passes/cmds/timeest.o
|
||||
OBJS += passes/cmds/linecoverage.o
|
||||
OBJS += passes/cmds/sort.o
|
||||
OBJS += passes/cmds/icell_liberty.o
|
||||
|
||||
include $(YOSYS_SRC)/passes/cmds/sdc/Makefile.inc
|
||||
9
passes/cmds/sdc/CMakeLists.txt
Normal file
9
passes/cmds/sdc/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
yosys_pass(sdc
|
||||
sdc.cc
|
||||
LIBRARIES
|
||||
$<${YOSYS_ENABLE_TCL}:PkgConfig::tcl>
|
||||
DATA_DIR
|
||||
sdc
|
||||
DATA_FILES
|
||||
graph-stubs.sdc
|
||||
)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
OBJS += passes/cmds/sdc/sdc.o
|
||||
|
||||
$(eval $(call add_share_file,share/sdc,passes/cmds/sdc/graph-stubs.sdc))
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#include "kernel/yosys_config.h"
|
||||
#ifdef YOSYS_ENABLE_TCL
|
||||
|
||||
#include "kernel/register.h"
|
||||
|
|
|
|||
|
|
@ -442,7 +442,7 @@ struct ShowWorker
|
|||
id2num(wire->name), shape.c_str(), is_borderless? " margin=0, width=0" : "", findLabel(wire->name.str()),
|
||||
is_borderless
|
||||
? "color=\"none\", fontcolor=\"black\""
|
||||
: nextColor(RTLIL::SigSpec(wire), "color=\"black\", fontcolor=\"black\"").c_str(),
|
||||
: nextColor(RTLIL::SigSpec(wire), "color=\"black\", fontcolor=\"black\"").c_str(),
|
||||
src_href.c_str());
|
||||
if (wire->port_input)
|
||||
all_sources.insert(stringf("n%d", id2num(wire->name)));
|
||||
|
|
@ -770,7 +770,7 @@ struct ShowPass : public Pass {
|
|||
std::vector<std::pair<std::string, RTLIL::Selection>> color_selections;
|
||||
std::vector<std::pair<std::string, RTLIL::Selection>> label_selections;
|
||||
|
||||
#if defined(_WIN32) || defined(YOSYS_DISABLE_SPAWN)
|
||||
#if defined(_WIN32) || !defined(YOSYS_ENABLE_SPAWN)
|
||||
std::string format = "dot";
|
||||
std::string prefix = "show";
|
||||
#else
|
||||
|
|
@ -948,13 +948,13 @@ struct ShowPass : public Pass {
|
|||
std::string cmd = stringf(DOT_CMD, format, dot_file, out_file, out_file, out_file);
|
||||
#undef DOT_CMD
|
||||
log("Exec: %s\n", cmd);
|
||||
#if !defined(YOSYS_DISABLE_SPAWN)
|
||||
#if defined(YOSYS_ENABLE_SPAWN)
|
||||
if (run_command(cmd) != 0)
|
||||
log_cmd_error("Shell command failed!\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(YOSYS_DISABLE_SPAWN)
|
||||
#if !defined(YOSYS_ENABLE_SPAWN)
|
||||
log_assert(viewer_exe.empty() && !format.empty());
|
||||
#else
|
||||
if (viewer_exe != "none") {
|
||||
|
|
|
|||
|
|
@ -898,7 +898,7 @@ struct VizPass : public Pass {
|
|||
log_header(design, "Generating Graphviz representation of design.\n");
|
||||
log_push();
|
||||
|
||||
#if defined(_WIN32) || defined(YOSYS_DISABLE_SPAWN)
|
||||
#if defined(_WIN32) || !defined(YOSYS_ENABLE_SPAWN)
|
||||
std::string format = "dot";
|
||||
std::string prefix = "show";
|
||||
#else
|
||||
|
|
@ -1029,13 +1029,13 @@ struct VizPass : public Pass {
|
|||
std::string cmd = stringf(DOT_CMD, format, dot_file, out_file, out_file, out_file);
|
||||
#undef DOT_CMD
|
||||
log("Exec: %s\n", cmd);
|
||||
#if !defined(YOSYS_DISABLE_SPAWN)
|
||||
#if defined(YOSYS_ENABLE_SPAWN)
|
||||
if (run_command(cmd) != 0)
|
||||
log_cmd_error("Shell command failed!\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(YOSYS_DISABLE_SPAWN)
|
||||
#if !defined(YOSYS_ENABLE_SPAWN)
|
||||
log_assert(viewer_exe.empty() && !format.empty());
|
||||
#else
|
||||
if (!viewer_exe.empty()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue