-----Original Message-----
From: Development <[email protected]> On
Behalf Of Thiago Macieira
Sent: Tuesday, July 31, 2018 11:41
To: [email protected]
Subject: Re: [Development] Qt 6 buildsystem support requirements
On Tuesday, 31 July 2018 11:15:50 PDT Ville Voutilainen wrote:
> This provoked a thought in me, a way to make qbs worth all its effort:
> make debugging
> a build so staggeringly ridiculously good that it becomes attractive
> to use it. I don't know what debugging builds done with python-based
> build systems is like, but debugging make-based builds is rather
> horrible.
Aye.
Debugging qmake builds are actually pretty easy, if you know -d and -d -d
exist. You can easily follow the decisions it made. You'll get to a few corner
cases where things that should be lists aren't or vice-versa, or quirks of the
language where $$ is suppressed, etc. But most of the time you don't need that.
(I'm not talking about debugging the tool itself)
Debugging cmake builds aren't that easy. It writes a lot of logs, but sometimes
magic happens. If the magic doesn't go your way, you're lost.
Compared to qmake, the barrier of where the magic happens is lower, meaning
that it happens more often than it should.
Debugging Makefiles are a PITA. THAT was libvpx's buildsystem and that is what
prompted me to post this thread. Debugging make using the -d option is a last
resort and is still not completely sufficient, since it shows process starts
but not the variable evaluations.
Finally, debugging autoconf is actually not that difficult either. Because it's
a shell script, there are tons of techniques you can use. And it creates a
fairly comprehensive log file, similar to qmake's -d output. Debugging automake
is a different story, but it's a very limited tool. And don't try to debug
libtool (you can live an entire lifetime using it and never debug it).
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
===============
Just a note.. for CMake, I find the -debug-output -trace and -trace-expand as
useful as the -d and -d -d .
One other thing I use all the time for dependency analysis, is the -graphviz
switch.
Scott
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development