Support custom PROGRAM_PREFIX
authorMiodrag Milanovic <mmicko@gmail.com>
Fri, 10 Apr 2020 08:38:40 +0000 (10:38 +0200)
committerMiodrag Milanovic <mmicko@gmail.com>
Fri, 10 Apr 2020 08:38:40 +0000 (10:38 +0200)
Makefile
backends/smt2/Makefile.inc
backends/smt2/smtbmc.py
kernel/yosys.cc
kernel/yosys.h
misc/yosys-config.in
passes/techmap/Makefile.inc
passes/techmap/abc.cc
passes/techmap/abc9.cc
passes/techmap/abc9_exe.cc

index d1c4a2030ff3306ea3ab44709cbc938d8e303b32..418edc335faa32757efcc96bc03c9a1c64482b2d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -42,6 +42,7 @@ SANITIZER =
 # SANITIZER = undefined
 # SANITIZER = cfi
 
+PROGRAM_PREFIX := 
 
 OS := $(shell uname -s)
 PREFIX ?= /usr/local
@@ -57,14 +58,14 @@ endif
 
 BINDIR := $(PREFIX)/bin
 LIBDIR := $(PREFIX)/lib
-DATDIR := $(PREFIX)/share/yosys
+DATDIR := $(PREFIX)/share/$(PROGRAM_PREFIX)yosys
 
 EXE =
 OBJS =
 GENFILES =
 EXTRA_OBJS =
 EXTRA_TARGETS =
-TARGETS = yosys$(EXE) yosys-config
+TARGETS = $(PROGRAM_PREFIX)yosys$(EXE) $(PROGRAM_PREFIX)yosys-config
 
 PRETTY = 1
 SMALL = 0
@@ -249,7 +250,7 @@ LDFLAGS += $(EMCCFLAGS)
 LDLIBS =
 EXE = .js
 
-TARGETS := $(filter-out yosys-config,$(TARGETS))
+TARGETS := $(filter-out $(PROGRAM_PREFIX)yosys-config,$(TARGETS))
 EXTRA_TARGETS += yosysjs-$(YOSYS_VER).zip
 
 ifeq ($(ENABLE_ABC),1)
@@ -310,7 +311,7 @@ $(error Invalid CONFIG setting '$(CONFIG)'. Valid values: clang, gcc, gcc-4.8, e
 endif
 
 ifeq ($(ENABLE_LIBYOSYS),1)
-TARGETS += libyosys.so
+TARGETS += lib$(PROGRAM_PREFIX)yosys.so
 endif
 
 ifeq ($(ENABLE_PYOSYS),1)
@@ -463,7 +464,7 @@ LDLIBS += -lpthread
 endif
 else
 ifeq ($(ABCEXTERNAL),)
-TARGETS += yosys-abc$(EXE)
+TARGETS += $(PROGRAM_PREFIX)yosys-abc$(EXE)
 endif
 endif
 endif
@@ -513,8 +514,8 @@ endef
 ifeq ($(PRETTY), 1)
 P_STATUS = 0
 P_OFFSET = 0
-P_UPDATE = $(eval P_STATUS=$(shell echo $(OBJS) yosys$(EXE) | $(AWK) 'BEGIN { RS = " "; I = $(P_STATUS)+0; } $$1 == "$@" && NR > I { I = NR; } END { print I; }'))
-P_SHOW = [$(shell $(AWK) "BEGIN { N=$(words $(OBJS) yosys$(EXE)); printf \"%3d\", $(P_OFFSET)+90*$(P_STATUS)/N; exit; }")%]
+P_UPDATE = $(eval P_STATUS=$(shell echo $(OBJS) $(PROGRAM_PREFIX)yosys$(EXE) | $(AWK) 'BEGIN { RS = " "; I = $(P_STATUS)+0; } $$1 == "$@" && NR > I { I = NR; } END { print I; }'))
+P_SHOW = [$(shell $(AWK) "BEGIN { N=$(words $(OBJS) $(PROGRAM_PREFIX)yosys$(EXE)); printf \"%3d\", $(P_OFFSET)+90*$(P_STATUS)/N; exit; }")%]
 P = @echo "$(if $(findstring $@,$(TARGETS) $(EXTRA_TARGETS)),$(eval P_OFFSET = 10))$(call P_UPDATE)$(call P_SHOW) Building $@";
 Q = @
 S = -s
@@ -552,7 +553,7 @@ OBJS += kernel/driver.o kernel/register.o kernel/rtlil.o kernel/log.o kernel/cal
 OBJS += kernel/cellaigs.o kernel/celledges.o
 
 kernel/log.o: CXXFLAGS += -DYOSYS_SRC='"$(YOSYS_SRC)"'
-kernel/yosys.o: CXXFLAGS += -DYOSYS_DATDIR='"$(DATDIR)"'
+kernel/yosys.o: CXXFLAGS += -DYOSYS_DATDIR='"$(DATDIR)"' -DYOSYS_PROGRAM_PREFIX='"$(PROGRAM_PREFIX)"'
 
 OBJS += libs/bigint/BigIntegerAlgorithms.o libs/bigint/BigInteger.o libs/bigint/BigIntegerUtils.o
 OBJS += libs/bigint/BigUnsigned.o libs/bigint/BigUnsignedInABase.o
@@ -605,7 +606,7 @@ include techlibs/common/Makefile.inc
 endif
 
 ifeq ($(LINK_ABC),1)
-OBJS += yosys-libabc.a
+OBJS += $(PROGRAM_PREFIX)yosys-libabc.a
 endif
 
 top-all: $(TARGETS) $(EXTRA_TARGETS)
@@ -617,14 +618,14 @@ ifeq ($(CONFIG),emcc)
 yosys.js: $(filter-out yosysjs-$(YOSYS_VER).zip,$(EXTRA_TARGETS))
 endif
 
-yosys$(EXE): $(OBJS)
-       $(P) $(LD) -o yosys$(EXE) $(LDFLAGS) $(OBJS) $(LDLIBS)
+$(PROGRAM_PREFIX)yosys$(EXE): $(OBJS)
+       $(P) $(LD) -o $(PROGRAM_PREFIX)yosys$(EXE) $(LDFLAGS) $(OBJS) $(LDLIBS)
 
-libyosys.so: $(filter-out kernel/driver.o,$(OBJS))
+lib$(PROGRAM_PREFIX)yosys.so: $(filter-out kernel/driver.o,$(OBJS))
 ifeq ($(OS), Darwin)
-       $(P) $(LD) -o libyosys.so -shared -Wl,-install_name,libyosys.so $(LDFLAGS) $^ $(LDLIBS)
+       $(P) $(LD) -o lib$(PROGRAM_PREFIX)yosys.so -shared -Wl,-install_name,lib$(PROGRAM_PREFIX)yosys.so $(LDFLAGS) $^ $(LDLIBS)
 else
-       $(P) $(LD) -o libyosys.so -shared -Wl,-soname,libyosys.so $(LDFLAGS) $^ $(LDLIBS)
+       $(P) $(LD) -o lib$(PROGRAM_PREFIX)yosys.so -shared -Wl,-soname,lib$(PROGRAM_PREFIX)yosys.so $(LDFLAGS) $^ $(LDLIBS)
 endif
 
 %.o: %.cc
@@ -660,11 +661,11 @@ CXXFLAGS_NOVERIFIC = $(CXXFLAGS)
 LDLIBS_NOVERIFIC = $(LDLIBS)
 endif
 
-yosys-config: misc/yosys-config.in
+$(PROGRAM_PREFIX)yosys-config: misc/yosys-config.in
        $(P) $(SED) -e 's#@CXXFLAGS@#$(subst -I. -I"$(YOSYS_SRC)",-I"$(DATDIR)/include",$(strip $(CXXFLAGS_NOVERIFIC)))#;' \
                        -e 's#@CXX@#$(strip $(CXX))#;' -e 's#@LDFLAGS@#$(strip $(LDFLAGS) $(PLUGIN_LDFLAGS))#;' -e 's#@LDLIBS@#$(strip $(LDLIBS_NOVERIFIC))#;' \
-                       -e 's#@BINDIR@#$(strip $(BINDIR))#;' -e 's#@DATDIR@#$(strip $(DATDIR))#;' < $< > yosys-config
-       $(Q) chmod +x yosys-config
+                       -e 's#@BINDIR@#$(strip $(BINDIR))#;' -e 's#@DATDIR@#$(strip $(DATDIR))#;' < $< > $(PROGRAM_PREFIX)yosys-config
+       $(Q) chmod +x $(PROGRAM_PREFIX)yosys-config
 
 abc/abc-$(ABCREV)$(EXE) abc/libabc-$(ABCREV).a:
        $(P)
@@ -691,11 +692,11 @@ ifeq ($(ABCREV),default)
 .PHONY: abc/libabc-$(ABCREV).a
 endif
 
-yosys-abc$(EXE): abc/abc-$(ABCREV)$(EXE)
-       $(P) cp abc/abc-$(ABCREV)$(EXE) yosys-abc$(EXE)
+$(PROGRAM_PREFIX)yosys-abc$(EXE): abc/abc-$(ABCREV)$(EXE)
+       $(P) cp abc/abc-$(ABCREV)$(EXE) $(PROGRAM_PREFIX)yosys-abc$(EXE)
 
-yosys-libabc.a: abc/libabc-$(ABCREV).a
-       $(P) cp abc/libabc-$(ABCREV).a yosys-libabc.a
+$(PROGRAM_PREFIX)yosys-libabc.a: abc/libabc-$(ABCREV).a
+       $(P) cp abc/libabc-$(ABCREV).a $(PROGRAM_PREFIX)yosys-libabc.a
 
 ifneq ($(SEED),)
 SEEDOPT="-S $(SEED)"
@@ -765,7 +766,7 @@ ystests: $(TARGETS) $(EXTRA_TARGETS)
        @echo ""
 
 # Unit test
-unit-test: libyosys.so
+unit-test: lib$(PROGRAM_PREFIX)yosys.so
        @$(MAKE) -C $(UNITESTPATH) CXX="$(CXX)" CPPFLAGS="$(CPPFLAGS)" \
                CXXFLAGS="$(CXXFLAGS)" LDLIBS="$(LDLIBS)" ROOTPATH="$(CURDIR)"
 
@@ -774,26 +775,26 @@ clean-unit-test:
 
 install: $(TARGETS) $(EXTRA_TARGETS)
        $(INSTALL_SUDO) mkdir -p $(DESTDIR)$(BINDIR)
-       $(INSTALL_SUDO) cp $(filter-out libyosys.so,$(TARGETS)) $(DESTDIR)$(BINDIR)
-ifneq ($(filter yosys,$(TARGETS)),)
-       $(INSTALL_SUDO) $(STRIP) -S $(DESTDIR)$(BINDIR)/yosys
+       $(INSTALL_SUDO) cp $(filter-out lib$(PROGRAM_PREFIX)yosys.so,$(TARGETS)) $(DESTDIR)$(BINDIR)
+ifneq ($(filter $(PROGRAM_PREFIX)yosys,$(TARGETS)),)
+       $(INSTALL_SUDO) $(STRIP) -S $(DESTDIR)$(BINDIR)/$(PROGRAM_PREFIX)yosys
 endif
-ifneq ($(filter yosys-abc,$(TARGETS)),)
-       $(INSTALL_SUDO) $(STRIP) $(DESTDIR)$(BINDIR)/yosys-abc
+ifneq ($(filter $(PROGRAM_PREFIX)yosys-abc,$(TARGETS)),)
+       $(INSTALL_SUDO) $(STRIP) $(DESTDIR)$(BINDIR)/$(PROGRAM_PREFIX)yosys-abc
 endif
-ifneq ($(filter yosys-filterlib,$(TARGETS)),)
-       $(INSTALL_SUDO) $(STRIP) $(DESTDIR)$(BINDIR)/yosys-filterlib
+ifneq ($(filter $(PROGRAM_PREFIX)yosys-filterlib,$(TARGETS)),)
+       $(INSTALL_SUDO) $(STRIP) $(DESTDIR)$(BINDIR)/$(PROGRAM_PREFIX)yosys-filterlib
 endif
        $(INSTALL_SUDO) mkdir -p $(DESTDIR)$(DATDIR)
        $(INSTALL_SUDO) cp -r share/. $(DESTDIR)$(DATDIR)/.
 ifeq ($(ENABLE_LIBYOSYS),1)
        $(INSTALL_SUDO) mkdir -p $(DESTDIR)$(LIBDIR)
-       $(INSTALL_SUDO) cp libyosys.so $(DESTDIR)$(LIBDIR)/
-       $(INSTALL_SUDO) $(STRIP) -S $(DESTDIR)$(LIBDIR)/libyosys.so
+       $(INSTALL_SUDO) cp lib$(PROGRAM_PREFIX)yosys.so $(DESTDIR)$(LIBDIR)/
+       $(INSTALL_SUDO) $(STRIP) -S $(DESTDIR)$(LIBDIR)/lib$(PROGRAM_PREFIX)yosys.so
 ifeq ($(ENABLE_PYOSYS),1)
-       $(INSTALL_SUDO) mkdir -p $(PYTHON_DESTDIR)/pyosys
-       $(INSTALL_SUDO) cp libyosys.so $(PYTHON_DESTDIR)/pyosys/
-       $(INSTALL_SUDO) cp misc/__init__.py $(PYTHON_DESTDIR)/pyosys/
+       $(INSTALL_SUDO) mkdir -p $(PYTHON_DESTDIR)/$(subst -,_,$(PROGRAM_PREFIX))pyosys
+       $(INSTALL_SUDO) cp lib$(PROGRAM_PREFIX)yosys.so $(PYTHON_DESTDIR)/$(subst -,_,$(PROGRAM_PREFIX))pyosys/libyosys.so
+       $(INSTALL_SUDO) cp misc/__init__.py $(PYTHON_DESTDIR)/$(subst -,_,$(PROGRAM_PREFIX))pyosys/
 endif
 endif
 
@@ -801,16 +802,16 @@ uninstall:
        $(INSTALL_SUDO) rm -vf $(addprefix $(DESTDIR)$(BINDIR)/,$(notdir $(TARGETS)))
        $(INSTALL_SUDO) rm -rvf $(DESTDIR)$(DATDIR)
 ifeq ($(ENABLE_LIBYOSYS),1)
-       $(INSTALL_SUDO) rm -vf $(DESTDIR)$(LIBDIR)/libyosys.so
+       $(INSTALL_SUDO) rm -vf $(DESTDIR)$(LIBDIR)/lib$(PROGRAM_PREFIX)yosys.so
 ifeq ($(ENABLE_PYOSYS),1)
-       $(INSTALL_SUDO) rm -vf $(PYTHON_DESTDIR)/pyosys/libyosys.so
-       $(INSTALL_SUDO) rm -vf $(PYTHON_DESTDIR)/pyosys/__init__.py
-       $(INSTALL_SUDO) rmdir $(PYTHON_DESTDIR)/pyosys
+       $(INSTALL_SUDO) rm -vf $(PYTHON_DESTDIR)/$(subst -,_,$(PROGRAM_PREFIX))pyosys/libyosys.so
+       $(INSTALL_SUDO) rm -vf $(PYTHON_DESTDIR)/$(subst -,_,$(PROGRAM_PREFIX))pyosys/__init__.py
+       $(INSTALL_SUDO) rmdir $(PYTHON_DESTDIR)/$(subst -,_,$(PROGRAM_PREFIX))pyosys
 endif
 endif
 
 update-manual: $(TARGETS) $(EXTRA_TARGETS)
-       cd manual && ../yosys -p 'help -write-tex-command-reference-manual'
+       cd manual && ../$(PROGRAM_PREFIX)yosys -p 'help -write-tex-command-reference-manual'
 
 manual: $(TARGETS) $(EXTRA_TARGETS)
        cd manual && bash appnotes.sh
@@ -836,13 +837,13 @@ clean:
 
 clean-abc:
        $(MAKE) -C abc DEP= clean
-       rm -f yosys-abc$(EXE) yosys-libabc.a abc/abc-[0-9a-f]* abc/libabc-[0-9a-f]*.a
+       rm -f $(PROGRAM_PREFIX)yosys-abc$(EXE) $(PROGRAM_PREFIX)yosys-libabc.a abc/abc-[0-9a-f]* abc/libabc-[0-9a-f]*.a
 
 mrproper: clean
        git clean -xdf
 
 coverage:
-       ./yosys -qp 'help; help -all'
+       ./$(PROGRAM_PREFIX)yosys -qp 'help; help -all'
        rm -rf coverage.info coverage_html
        lcov --capture -d . --no-external -o coverage.info
        genhtml coverage.info --output-directory coverage_html
@@ -868,9 +869,9 @@ ifeq ($(CONFIG),mxe)
 mxebin: $(TARGETS) $(EXTRA_TARGETS)
        rm -rf yosys-win32-mxebin-$(YOSYS_VER){,.zip}
        mkdir -p yosys-win32-mxebin-$(YOSYS_VER)
-       cp -r yosys.exe share/ yosys-win32-mxebin-$(YOSYS_VER)/
+       cp -r $(PROGRAM_PREFIX)yosys.exe share/ yosys-win32-mxebin-$(YOSYS_VER)/
 ifeq ($(ENABLE_ABC),1)
-       cp -r yosys-abc.exe abc/lib/x86/pthreadVC2.dll yosys-win32-mxebin-$(YOSYS_VER)/
+       cp -r $(PROGRAM_PREFIX)yosys-abc.exe abc/lib/x86/pthreadVC2.dll yosys-win32-mxebin-$(YOSYS_VER)/
 endif
        echo -en 'This is Yosys $(YOSYS_VER) for Win32.\r\n' > yosys-win32-mxebin-$(YOSYS_VER)/readme.txt
        echo -en 'Documentation at http://www.clifford.at/yosys/.\r\n' >> yosys-win32-mxebin-$(YOSYS_VER)/readme.txt
index 68394a90987adec506744692f8a64c12a3d951db..fb01308bd8a840da60f887d7305df867ca466c00 100644 (file)
@@ -6,23 +6,23 @@ ifneq ($(CONFIG),emcc)
 
 # MSYS targets support yosys-smtbmc, but require a launcher script
 ifeq ($(CONFIG),$(filter $(CONFIG),msys2 msys2-64))
-TARGETS += yosys-smtbmc.exe yosys-smtbmc-script.py
+TARGETS += $(PROGRAM_PREFIX)yosys-smtbmc.exe $(PROGRAM_PREFIX)yosys-smtbmc-script.py
 # Needed to find the Python interpreter for yosys-smtbmc scripts.
 # Override if necessary, it is only used for msys2 targets.
 PYTHON := $(shell cygpath -w -m $(PREFIX)/bin/python3)
 
-yosys-smtbmc-script.py: backends/smt2/smtbmc.py
-       $(P) sed -e 's|##yosys-sys-path##|sys.path += [os.path.dirname(os.path.realpath(__file__)) + p for p in ["/share/python3", "/../share/yosys/python3"]]|;' \
+$(PROGRAM_PREFIX)yosys-smtbmc-script.py: backends/smt2/smtbmc.py
+       $(P) sed -e 's|##yosys-sys-path##|sys.path += [os.path.dirname(os.path.realpath(__file__)) + p for p in ["/share/python3", "/../share/$(PROGRAM_PREFIX)yosys/python3"]]|;' \
                -e "s|#!/usr/bin/env python3|#!$(PYTHON)|" < $< > $@
 
-yosys-smtbmc.exe: misc/launcher.c yosys-smtbmc-script.py
+$(PROGRAM_PREFIX)yosys-smtbmc.exe: misc/launcher.c $(PROGRAM_PREFIX)yosys-smtbmc-script.py
        $(P) $(CXX) -DGUI=0 -O -s -o $@ $<
 # Other targets
 else
-TARGETS += yosys-smtbmc
+TARGETS += $(PROGRAM_PREFIX)yosys-smtbmc
 
-yosys-smtbmc: backends/smt2/smtbmc.py
-       $(P) sed 's|##yosys-sys-path##|sys.path += [os.path.dirname(os.path.realpath(__file__)) + p for p in ["/share/python3", "/../share/yosys/python3"]]|;' < $< > $@.new
+$(PROGRAM_PREFIX)yosys-smtbmc: backends/smt2/smtbmc.py
+       $(P) sed 's|##yosys-sys-path##|sys.path += [os.path.dirname(os.path.realpath(__file__)) + p for p in ["/share/python3", "/../share/$(PROGRAM_PREFIX)yosys/python3"]]|;' < $< > $@.new
        $(Q) chmod +x $@.new
        $(Q) mv $@.new $@
 endif
index 63046441960db76e5453e0304354b301477c5ec7..5e6f4327723c522c0abfdedf73e9886db9b66a14 100644 (file)
@@ -53,8 +53,7 @@ so = SmtOpts()
 
 
 def usage():
-    print("""
-yosys-smtbmc [options] <yosys_smt2_output>
+    print(os.path.basename(sys.argv[0]) + """ [options] <yosys_smt2_output>
 
     -t <num_steps>
     -t <skip_steps>:<num_steps>
index b416c2b74a53635ff46f0516607b0df497e806e6..01131601f8b3d8feb7acaa2de4093a732473437d 100644 (file)
@@ -835,7 +835,7 @@ std::string proc_share_dirname()
        std::string proc_share_path = proc_self_path + "share/";
        if (check_file_exists(proc_share_path, true))
                return proc_share_path;
-       proc_share_path = proc_self_path + "../share/yosys/";
+       proc_share_path = proc_self_path + "../share/" + proc_program_prefix()+ "yosys/";
        if (check_file_exists(proc_share_path, true))
                return proc_share_path;
 #    ifdef YOSYS_DATDIR
@@ -848,6 +848,15 @@ std::string proc_share_dirname()
 }
 #endif
 
+std::string proc_program_prefix()
+{
+       std::string program_prefix;
+#ifdef YOSYS_PROGRAM_PREFIX
+       program_prefix = YOSYS_PROGRAM_PREFIX;
+#endif
+       return program_prefix;
+}
+
 bool fgetline(FILE *f, std::string &buffer)
 {
        buffer = "";
index 6aed7c96ab4fabf6f22e0ee48422ecf2ccc85f4b..5ad47054c07cf2f123f65c58a1f166a5a3b65509 100644 (file)
@@ -324,6 +324,7 @@ namespace ID = RTLIL::ID;
 RTLIL::Design *yosys_get_design();
 std::string proc_self_dirname();
 std::string proc_share_dirname();
+std::string proc_program_prefix();
 const char *create_prompt(RTLIL::Design *design, int recursion_counter);
 std::vector<std::string> glob_filename(const std::string &filename_pattern);
 void rewrite_filename(std::string &filename);
index 1473948cf51cb28b4fbd1f72ecbea40bfbb407d7..370835f8f43febe4c3d4283c0264da738f31724c 100644 (file)
@@ -18,21 +18,21 @@ help() {
                echo ""
                echo "Use --exec to call a command instead of generating output. Example usage:"
                echo ""
-               echo "  yosys-config --exec --cxx --cxxflags --ldflags -o plugin.so -shared plugin.cc --ldlibs"
+               echo "  $0 --exec --cxx --cxxflags --ldflags -o plugin.so -shared plugin.cc --ldlibs"
                echo ""
                echo "The above command can be abbreviated as:"
                echo ""
-               echo "  yosys-config --build plugin.so plugin.cc"
+               echo "  $0 --build plugin.so plugin.cc"
                echo ""
                echo "Use --prefix to change the prefix for the special args from '--' to"
                echo "something else. Example:"
                echo ""
-               echo "  yosys-config --prefix @ bindir: @bindir"
+               echo "  $0 --prefix @ bindir: @bindir"
                echo ""
                echo "The args --bindir and --datdir can be directly followed by a slash and"
                echo "additional text. Example:"
                echo ""
-               echo "  yosys-config --datdir/simlib.v"
+               echo "  $0 --datdir/simlib.v"
                echo ""
        } >&2
        exit 1
index c16db0d57f788937bcd19fa03595219711d378b9..bb3f6da981a8f1aa2a430107665accb075eebcd9 100644 (file)
@@ -59,10 +59,10 @@ passes/techmap/techmap.inc: techlibs/common/techmap.v
 passes/techmap/techmap.o: passes/techmap/techmap.inc
 
 ifneq ($(CONFIG),emcc)
-TARGETS += yosys-filterlib$(EXE)
+TARGETS += $(PROGRAM_PREFIX)yosys-filterlib$(EXE)
 EXTRA_OBJS += passes/techmap/filterlib.o
 
-yosys-filterlib$(EXE): passes/techmap/filterlib.o
+$(PROGRAM_PREFIX)yosys-filterlib$(EXE): passes/techmap/filterlib.o
        $(Q) mkdir -p $(dir $@)
-       $(P) $(LD) -o yosys-filterlib$(EXE) $(LDFLAGS) $^ $(LDLIBS)
+       $(P) $(LD) -o $(PROGRAM_PREFIX)yosys-filterlib$(EXE) $(LDFLAGS) $^ $(LDLIBS)
 endif
index 78ecab1e79614d7099ae25da7643831ebfdd33a3..0ee495abd689a218b5b81f6974e85f44e35df0af 100644 (file)
@@ -702,7 +702,7 @@ void abc_module(RTLIL::Design *design, RTLIL::Module *current_module, std::strin
        if (dff_mode && clk_sig.empty())
                log_cmd_error("Clock domain %s not found.\n", clk_str.c_str());
 
-       std::string tempdir_name = "/tmp/yosys-abc-XXXXXX";
+       std::string tempdir_name = "/tmp/" + proc_program_prefix()+ "yosys-abc-XXXXXX";
        if (!cleanup)
                tempdir_name[0] = tempdir_name[4] = '_';
        tempdir_name = make_temp_dir(tempdir_name);
@@ -1305,7 +1305,7 @@ struct AbcPass : public Pass {
 #ifdef ABCEXTERNAL
                log("        use the specified command instead of \"" ABCEXTERNAL "\" to execute ABC.\n");
 #else
-               log("        use the specified command instead of \"<yosys-bindir>/yosys-abc\" to execute ABC.\n");
+               log("        use the specified command instead of \"<yosys-bindir>/%syosys-abc\" to execute ABC.\n", proc_program_prefix().c_str());
 #endif
                log("        This can e.g. be used to call a specific version of ABC or a wrapper.\n");
                log("\n");
@@ -1491,7 +1491,7 @@ struct AbcPass : public Pass {
 #ifdef ABCEXTERNAL
                std::string exe_file = ABCEXTERNAL;
 #else
-               std::string exe_file = proc_self_dirname() + "yosys-abc";
+               std::string exe_file = proc_self_dirname() + proc_program_prefix() + "yosys-abc";
 #endif
                std::string script_file, liberty_file, constr_file, clk_str;
                std::string delay_target, sop_inputs, sop_products, lutin_shared = "-S 1";
@@ -1509,8 +1509,8 @@ struct AbcPass : public Pass {
 
 #ifdef _WIN32
 #ifndef ABCEXTERNAL
-               if (!check_file_exists(exe_file + ".exe") && check_file_exists(proc_self_dirname() + "..\\yosys-abc.exe"))
-                       exe_file = proc_self_dirname() + "..\\yosys-abc";
+               if (!check_file_exists(exe_file + ".exe") && check_file_exists(proc_self_dirname() + "..\\" + proc_program_prefix()+ "yosys-abc.exe"))
+                       exe_file = proc_self_dirname() + "..\\" + proc_program_prefix() + "yosys-abc";
 #endif
 #endif
 
index 9757b1539b0ee978153547e1a127543fc4a24b2e..1b3d5ff06a23c2ab3613005acdaf274d09db76d1 100644 (file)
@@ -100,7 +100,7 @@ struct Abc9Pass : public ScriptPass
 #ifdef ABCEXTERNAL
                log("        use the specified command instead of \"" ABCEXTERNAL "\" to execute ABC.\n");
 #else
-               log("        use the specified command instead of \"<yosys-bindir>/yosys-abc\" to execute ABC.\n");
+               log("        use the specified command instead of \"<yosys-bindir>/%syosys-abc\" to execute ABC.\n", proc_program_prefix().c_str());
 #endif
                log("        This can e.g. be used to call a specific version of ABC or a wrapper.\n");
                log("\n");
@@ -326,7 +326,7 @@ struct Abc9Pass : public ScriptPass
                                        if (!active_design->selected_whole_module(mod))
                                                log_error("Can't handle partially selected module %s!\n", log_id(mod));
 
-                                       std::string tempdir_name = "/tmp/yosys-abc-XXXXXX";
+                                       std::string tempdir_name = "/tmp/" + proc_program_prefix() + "yosys-abc-XXXXXX";
                                        if (!cleanup)
                                                tempdir_name[0] = tempdir_name[4] = '_';
                                        tempdir_name = make_temp_dir(tempdir_name);
index 898285c69f09d2f572c96001ef30294fd797be99..303b0440237c0c369a74005d472a7cbf7c37674b 100644 (file)
@@ -293,7 +293,7 @@ struct Abc9ExePass : public Pass {
 #ifdef ABCEXTERNAL
                log("        use the specified command instead of \"" ABCEXTERNAL "\" to execute ABC.\n");
 #else
-               log("        use the specified command instead of \"<yosys-bindir>/yosys-abc\" to execute ABC.\n");
+               log("        use the specified command instead of \"<yosys-bindir>/%syosys-abc\" to execute ABC.\n", proc_program_prefix().c_str());
 #endif
                log("        This can e.g. be used to call a specific version of ABC or a wrapper.\n");
                log("\n");
@@ -367,7 +367,7 @@ struct Abc9ExePass : public Pass {
 #ifdef ABCEXTERNAL
                std::string exe_file = ABCEXTERNAL;
 #else
-               std::string exe_file = proc_self_dirname() + "yosys-abc";
+               std::string exe_file = proc_self_dirname() + proc_program_prefix()+ "yosys-abc";
 #endif
                std::string script_file, clk_str, box_file, lut_file;
                std::string delay_target, lutin_shared = "-S 1", wire_delay;
@@ -383,8 +383,8 @@ struct Abc9ExePass : public Pass {
 
 #ifdef _WIN32
 #ifndef ABCEXTERNAL
-               if (!check_file_exists(exe_file + ".exe") && check_file_exists(proc_self_dirname() + "..\\yosys-abc.exe"))
-                       exe_file = proc_self_dirname() + "..\\yosys-abc";
+               if (!check_file_exists(exe_file + ".exe") && check_file_exists(proc_self_dirname() + "..\\" + proc_program_prefix() + "yosys-abc.exe"))
+                       exe_file = proc_self_dirname() + "..\\" + proc_program_prefix() + "yosys-abc";
 #endif
 #endif