Add `--quiet-build` to suppress make/compiler informationals.
This commit is contained in:
parent
921ad64d22
commit
1b93033690
3
Changes
3
Changes
|
|
@ -24,9 +24,10 @@ Verilator 5.043 devel
|
||||||
* Add `-param`/`-port` options to `public_flat*` control directives (#6685). [Geza Lore, Fractile Ltd.]
|
* Add `-param`/`-port` options to `public_flat*` control directives (#6685). [Geza Lore, Fractile Ltd.]
|
||||||
* Add `--top` specifying `config` name (#6710). [Dan Ruelas-Petrisko]
|
* Add `--top` specifying `config` name (#6710). [Dan Ruelas-Petrisko]
|
||||||
* Add `sc_biguint` pragma (#6712). [Jakub Wasilewski, Antmicro Ltd.]
|
* Add `sc_biguint` pragma (#6712). [Jakub Wasilewski, Antmicro Ltd.]
|
||||||
* Add 'make venv' target (#6775). [Geza Lore]
|
* Add `make venv` target (#6775). [Geza Lore]
|
||||||
* Add SUPERNFIRST error on super.new on non-first statement (#6784). [Artur Bieniek]
|
* Add SUPERNFIRST error on super.new on non-first statement (#6784). [Artur Bieniek]
|
||||||
* Add fargs for reusability of `--dump-inputs` output (#6812). [Geza Lore]
|
* Add fargs for reusability of `--dump-inputs` output (#6812). [Geza Lore]
|
||||||
|
* Add `--quiet-build` to suppress make/compiler informationals.
|
||||||
* Support `std::randomize(){...}` (#4706) (#6573). [Yilou Wang]
|
* Support `std::randomize(){...}` (#4706) (#6573). [Yilou Wang]
|
||||||
* Support force assignments to unpacked array elements (partial #4735) (#6787). [Ryszard Rozak, Antmicro Ltd.]
|
* Support force assignments to unpacked array elements (partial #4735) (#6787). [Ryszard Rozak, Antmicro Ltd.]
|
||||||
* Support `config' (#5891) (#6714) (#6717) (#6745) (#6764). [Dan Ruelas-Petrisko]
|
* Support `config' (#5891) (#6714) (#6717) (#6745) (#6764). [Dan Ruelas-Petrisko]
|
||||||
|
|
|
||||||
|
|
@ -476,6 +476,7 @@ detailed descriptions of these arguments.
|
||||||
--public-params Mark all parameters as public_flat
|
--public-params Mark all parameters as public_flat
|
||||||
-pvalue+<name>=<value> Overwrite toplevel parameter
|
-pvalue+<name>=<value> Overwrite toplevel parameter
|
||||||
--quiet Minimize additional printing
|
--quiet Minimize additional printing
|
||||||
|
--quiet-build Don't print build progress
|
||||||
--quiet-exit Don't print the command on failure
|
--quiet-exit Don't print the command on failure
|
||||||
--quiet-stats Don't print statistics
|
--quiet-stats Don't print statistics
|
||||||
--relative-includes Resolve includes relative to current file
|
--relative-includes Resolve includes relative to current file
|
||||||
|
|
|
||||||
|
|
@ -1475,7 +1475,13 @@ Summary:
|
||||||
|
|
||||||
.. option:: --quiet
|
.. option:: --quiet
|
||||||
|
|
||||||
Alias for :vlopt:`--quiet-exit` :vlopt:`--quiet-stats`.
|
Alias for :vlopt:`--quiet-build` :vlopt:`--quiet-exit`
|
||||||
|
:vlopt:`--quiet-stats`.
|
||||||
|
|
||||||
|
.. option:: --quiet-build
|
||||||
|
|
||||||
|
Disable printing build progress such as compiler command lines, when
|
||||||
|
using :vlopt:`--build`.
|
||||||
|
|
||||||
.. option:: --quiet-exit
|
.. option:: --quiet-exit
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1690,9 +1690,11 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc,
|
||||||
[this](const char* varp) { addParameter(varp, false); });
|
[this](const char* varp) { addParameter(varp, false); });
|
||||||
|
|
||||||
DECL_OPTION("-quiet", CbOnOff, [this](bool flag) {
|
DECL_OPTION("-quiet", CbOnOff, [this](bool flag) {
|
||||||
|
m_quietBuild = flag;
|
||||||
m_quietExit = flag;
|
m_quietExit = flag;
|
||||||
m_quietStats = flag;
|
m_quietStats = flag;
|
||||||
});
|
});
|
||||||
|
DECL_OPTION("-quiet-build", OnOff, &m_quietBuild);
|
||||||
DECL_OPTION("-quiet-exit", OnOff, &m_quietExit);
|
DECL_OPTION("-quiet-exit", OnOff, &m_quietExit);
|
||||||
DECL_OPTION("-quiet-stats", OnOff, &m_quietStats);
|
DECL_OPTION("-quiet-stats", OnOff, &m_quietStats);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -279,6 +279,7 @@ private:
|
||||||
bool m_publicFlatRW = false; // main switch: --public-flat-rw
|
bool m_publicFlatRW = false; // main switch: --public-flat-rw
|
||||||
bool m_publicIgnore = false; // main switch: --public-ignore
|
bool m_publicIgnore = false; // main switch: --public-ignore
|
||||||
bool m_publicParams = false; // main switch: --public-params
|
bool m_publicParams = false; // main switch: --public-params
|
||||||
|
bool m_quietBuild = false; // main switch: --quiet-build
|
||||||
bool m_quietExit = false; // main switch: --quiet-exit
|
bool m_quietExit = false; // main switch: --quiet-exit
|
||||||
bool m_quietStats = false; // main switch: --quiet-stats
|
bool m_quietStats = false; // main switch: --quiet-stats
|
||||||
bool m_relativeIncludes = false; // main switch: --relative-includes
|
bool m_relativeIncludes = false; // main switch: --relative-includes
|
||||||
|
|
@ -578,6 +579,7 @@ public:
|
||||||
bool anyPublicFlat() const { return m_publicParams || m_publicFlatRW || m_publicDepth; }
|
bool anyPublicFlat() const { return m_publicParams || m_publicFlatRW || m_publicDepth; }
|
||||||
bool lintOnly() const VL_MT_SAFE { return m_lintOnly; }
|
bool lintOnly() const VL_MT_SAFE { return m_lintOnly; }
|
||||||
bool ignc() const { return m_ignc; }
|
bool ignc() const { return m_ignc; }
|
||||||
|
bool quietBuild() const VL_MT_SAFE { return m_quietBuild; }
|
||||||
bool quietExit() const VL_MT_SAFE { return m_quietExit; }
|
bool quietExit() const VL_MT_SAFE { return m_quietExit; }
|
||||||
bool quietStats() const VL_MT_SAFE { return m_quietStats; }
|
bool quietStats() const VL_MT_SAFE { return m_quietStats; }
|
||||||
bool reportUnoptflat() const { return m_reportUnoptflat; }
|
bool reportUnoptflat() const { return m_reportUnoptflat; }
|
||||||
|
|
|
||||||
|
|
@ -818,6 +818,7 @@ static string buildMakeCmd(const string& makefile, const string& target) {
|
||||||
cmd << " -C " << v3Global.opt.makeDir();
|
cmd << " -C " << v3Global.opt.makeDir();
|
||||||
cmd << " -f " << makefile;
|
cmd << " -f " << makefile;
|
||||||
// Unless using make's jobserver, do a -j
|
// Unless using make's jobserver, do a -j
|
||||||
|
if (v3Global.opt.quietBuild()) cmd << " -s --no-print-directory";
|
||||||
if (v3Global.opt.getenvMAKEFLAGS().find("-jobserver-auth") == string::npos) {
|
if (v3Global.opt.getenvMAKEFLAGS().find("-jobserver-auth") == string::npos) {
|
||||||
if (jobs > 0) cmd << " -j " << jobs;
|
if (jobs > 0) cmd << " -j " << jobs;
|
||||||
}
|
}
|
||||||
|
|
@ -841,7 +842,7 @@ static void execBuildJob() {
|
||||||
V3Stats::addStatPerf(V3Stats::STAT_WALLTIME_BUILD, buildWallTime.deltaTime());
|
V3Stats::addStatPerf(V3Stats::STAT_WALLTIME_BUILD, buildWallTime.deltaTime());
|
||||||
|
|
||||||
if (exit_code != 0) {
|
if (exit_code != 0) {
|
||||||
v3error(cmdStr << " exited with " << exit_code << std::endl);
|
v3error("'" << cmdStr << "' exited with " << exit_code << std::endl);
|
||||||
v3Global.vlExit(exit_code);
|
v3Global.vlExit(exit_code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||||
|
#
|
||||||
|
# Copyright 2024 by Wilson Snyder. This program is free software; you
|
||||||
|
# can redistribute it and/or modify it under the terms of either the GNU
|
||||||
|
# Lesser General Public License Version 3 or the Perl Artistic License
|
||||||
|
# Version 2.0.
|
||||||
|
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||||
|
|
||||||
|
import vltest_bootstrap
|
||||||
|
|
||||||
|
test.scenarios('vlt')
|
||||||
|
|
||||||
|
test.compile(verilator_flags2=["--binary", "--quiet-build"])
|
||||||
|
|
||||||
|
test.file_grep_not(test.compile_log_filename, r'ccache')
|
||||||
|
test.file_grep_not(test.compile_log_filename, r'make:')
|
||||||
|
test.file_grep_not(test.compile_log_filename, r'/include')
|
||||||
|
|
||||||
|
test.passes()
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
// DESCRIPTION: Verilator: Verilog Test module
|
||||||
|
//
|
||||||
|
// This file ONLY is placed under the Creative Commons Public Domain, for
|
||||||
|
// any use, without warranty, 2025 by Wilson Snyder.
|
||||||
|
// SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
|
module t;
|
||||||
|
initial $finish;
|
||||||
|
endmodule
|
||||||
Loading…
Reference in New Issue