yosys: fix build on darwin

Attempt to work around a confusion in yosys' build system that causes
builds under clang to fail.
main
Martin Povišer 3 years ago
parent 30f982bc81
commit 94a047ca74
  1. 8
      pkgs/development/compilers/yosys/default.nix
  2. 26
      pkgs/development/compilers/yosys/fix-clang-build.patch

@ -51,6 +51,7 @@ stdenv.mkDerivation rec {
patches = [
./plugin-search-dirs.patch
./fix-clang-build.patch # see https://github.com/YosysHQ/yosys/issues/2011
];
postPatch = ''
@ -104,12 +105,5 @@ stdenv.mkDerivation rec {
license = licenses.isc;
platforms = platforms.all;
maintainers = with maintainers; [ shell thoughtpolice emily ];
#In file included from kernel/driver.cc:20:
#./kernel/yosys.h:42:10: fatal error: 'map' file not found
##include <map>
#https://github.com/YosysHQ/yosys/issues/681
#https://github.com/YosysHQ/yosys/issues/2011
broken = stdenv.isDarwin;
};
}

@ -0,0 +1,26 @@
diff --git a/Makefile b/Makefile
index 86abc6958..a72f7b792 100644
--- a/Makefile
+++ b/Makefile
@@ -145,7 +145,12 @@ bumpversion:
ABCREV = 4f5f73d
ABCPULL = 1
ABCURL ?= https://github.com/YosysHQ/abc
+
+ifneq ($(CONFIG),clang)
+ABCMKARGS = CC=clang CXX="$(CXX)" LD=clang ABC_USE_LIBSTDCXX=1 VERBOSE=$(Q)
+else
ABCMKARGS = CC="$(CXX)" CXX="$(CXX)" ABC_USE_LIBSTDCXX=1 VERBOSE=$(Q)
+endif
# set ABCEXTERNAL = <abc-command> to use an external ABC instance
# Note: The in-tree ABC (yosys-abc) will not be installed when ABCEXTERNAL is set.
@@ -187,7 +192,7 @@ endif
endif
ifeq ($(CONFIG),clang)
-CXX = clang
+CXX = clang++
LD = clang++
CXXFLAGS += -std=$(CXXSTD) -Os
ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H"
Loading…
Cancel
Save