Due to an oversight on my part, #4534 does not copy either yosys-abc or the share directory. While Yosys technically still runs, it is unusable for anything non-trivial.
Explain how this is achieved.
misc/__init__.py:
checks if there's a yosys-abc in the same directory - if yes, sets the variable sys._pyosys_abc
checks if there's a share in the same directory - if yes, sets the variable sys._pyosys_share_dirname
yosys.cc::init_share_dirname: check for sys._pyosys_share_dirname at the highest priority if Python is enabled
yosys.cc::init_abc_executable_name: check for sys._pyosys_abc, use it at at the highest priority if Python is enabled
Makefile: add new target, share, to only create the extra targets
setup.py: compile libyosys.so, yosys-abc and share, and copy them all as part of the pyosys build
test/arch/ecp5/add_sub.py: ported add_sub.ys to Python to act as a test for the share directory and abc with Python wheels, used in CI
If applicable, please suggest to reviewers how they can test the change.
What are the reasons/motivation for this change?
Due to an oversight on my part, #4534 does not copy either
yosys-abc
or theshare
directory. While Yosys technically still runs, it is unusable for anything non-trivial.Explain how this is achieved.
misc/__init__.py
:yosys-abc
in the same directory - if yes, sets the variablesys._pyosys_abc
share
in the same directory - if yes, sets the variablesys._pyosys_share_dirname
yosys.cc::init_share_dirname
: check forsys._pyosys_share_dirname
at the highest priority if Python is enabledyosys.cc::init_abc_executable_name
: check forsys._pyosys_abc
, use it at at the highest priority if Python is enabledMakefile
: add new target,share
, to only create the extra targetssetup.py
: compile libyosys.so, yosys-abc and share, and copy them all as part of the pyosys buildtest/arch/ecp5/add_sub.py
: portedadd_sub.ys
to Python to act as a test for the share directory and abc with Python wheels, used in CIIf applicable, please suggest to reviewers how they can test the change.