diff --git a/Changes b/Changes index 6131b50de..2099d9d85 100644 --- a/Changes +++ b/Changes @@ -5,6 +5,8 @@ The contributors that suggested a given feature are shown in []. Thanks! * Verilator 4.031 devel +*** Add setting VM_PARALLEL_BUILDS=1 when using --output-split, #2185. + * Verilator 4.030 2020-03-08 diff --git a/bin/verilator b/bin/verilator index b321db9e7..79a9ffd59 100755 --- a/bin/verilator +++ b/bin/verilator @@ -1083,8 +1083,8 @@ and the remaining files can be compiled on parallel machines. Using design --output-split 20000 resulted in splitting into approximately one-minute-compile chunks. -Typically when using this, make with VM_PARALLEL_BUILDS=1, and use -I. +Typically when using this, make with VM_PARALLEL_BUILDS=1 (set for you if +using the default makefiles), and use I. =item --output-split-cfuncs I diff --git a/src/V3EmitMk.cpp b/src/V3EmitMk.cpp index c8a83ce2a..fbb899c09 100644 --- a/src/V3EmitMk.cpp +++ b/src/V3EmitMk.cpp @@ -51,6 +51,9 @@ public: of.puts("\n### Switches...\n"); of.puts("# Coverage output mode? 0/1 (from --coverage)\n"); of.puts("VM_COVERAGE = "); of.puts(v3Global.opt.coverage()?"1":"0"); of.puts("\n"); + of.puts("# Parallel builds? 0/1 (from --output-split)\n"); + of.puts("VM_PARALLEL_BUILDS = "); + of.puts(v3Global.opt.outputSplit() ? "1" : "0"); of.puts("\n"); of.puts("# Threaded output mode? 0/1/N threads (from --threads)\n"); of.puts("VM_THREADS = "); of.puts(cvtToStr(v3Global.opt.threads())); of.puts("\n"); of.puts("# Tracing output mode? 0/1 (from --trace)\n"); diff --git a/test_regress/t/t_flag_csplit.pl b/test_regress/t/t_flag_csplit.pl index 4d08bb271..77b7ece65 100755 --- a/test_regress/t/t_flag_csplit.pl +++ b/test_regress/t/t_flag_csplit.pl @@ -31,7 +31,7 @@ while (1) { "-C ".$Self->{obj_dir}, "-f $Self->{VM_PREFIX}.mk", "-j 4", - "VM_PARALLEL_BUILDS=1", # Important to this test + #"VM_PARALLEL_BUILDS=1", # Check is set by makefile "VM_PREFIX=$Self->{VM_PREFIX}", "TEST_OBJ_DIR=$Self->{obj_dir}", "CPPFLAGS_DRIVER=-D".uc($Self->{name}),