circt: fix build failure on darwin (#354138)
This commit is contained in:
commit
aeeedfc579
@ -48,6 +48,10 @@ stdenv.mkDerivation rec {
|
||||
"-DCIRCT_LLHD_SIM_ENABLED=OFF"
|
||||
];
|
||||
|
||||
# cannot use lib.optionalString as it creates an empty string, disabling all tests
|
||||
LIT_FILTER_OUT =
|
||||
let
|
||||
lit-filters =
|
||||
# There are some tests depending on `clang-tools` to work. They are activated only when detected
|
||||
# `clang-tidy` in PATH, However, we cannot simply put `clang-tools` in checkInputs to make these
|
||||
# tests work. Because
|
||||
@ -59,14 +63,30 @@ stdenv.mkDerivation rec {
|
||||
# https://github.com/NixOS/nixpkgs/issues/214945 discusses this issue.
|
||||
#
|
||||
# As a temporary fix, we disabled these tests when using clang stdenv
|
||||
# cannot use lib.optionalString as it creates an empty string, disabling all tests
|
||||
LIT_FILTER_OUT = if stdenv.cc.isClang then "CIRCT :: Target/ExportSystemC/.*\.mlir" else null;
|
||||
lib.optionals stdenv.cc.isClang [ "CIRCT :: Target/ExportSystemC/.*\.mlir" ]
|
||||
# Disable some tests on x86_64-darwin
|
||||
++ lib.optionals (stdenv.hostPlatform.system == "x86_64-darwin") [
|
||||
# These test seem to pass on hydra (rosetta) but not on x86_64-darwin machines
|
||||
"CIRCT :: Target/ExportSMTLIB/attributes.mlir"
|
||||
"CIRCT :: Target/ExportSMTLIB/basic.mlir"
|
||||
"CIRCT :: circt-bmc/comb-errors.mlir"
|
||||
"CIRCT :: circt-bmc/seq-errors.mlir"
|
||||
# This test was having issues with rosetta
|
||||
"CIRCT :: Dialect/SMT/basic.mlir"
|
||||
];
|
||||
in
|
||||
if lit-filters != [ ] then lib.strings.concatStringsSep "|" lit-filters else null;
|
||||
|
||||
preConfigure = ''
|
||||
find ./test -name '*.mlir' -exec sed -i 's|/usr/bin/env|${coreutils}/bin/env|g' {} \;
|
||||
# circt uses git to check its version, but when cloned on nix it can't access git.
|
||||
# So this hard codes the version.
|
||||
substituteInPlace cmake/modules/GenVersionFile.cmake --replace "unknown git version" "${src.rev}"
|
||||
substituteInPlace cmake/modules/GenVersionFile.cmake \
|
||||
--replace-fail "unknown git version" "${src.rev}"
|
||||
# Increase timeout on tests because some were failing on hydra.
|
||||
# Using `replace-warn` so it doesn't break when upstream changes the timeout.
|
||||
substituteInPlace integration_test/CMakeLists.txt \
|
||||
--replace-warn 'set(CIRCT_INTEGRATION_TIMEOUT 60)' 'set(CIRCT_INTEGRATION_TIMEOUT 300)'
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
Loading…
Reference in New Issue
Block a user