Thread: [HACKERS] Shrink volume of default make output
The recent thread about compiler warnings got me thinking about how it's essentially impossible to notice warnings with default make output. Perhaps everyone just uses make -s by default, though that's a bit annoying since you get no output unless something does warn (and then you don't know what directory it was in). Is it worth looking into this? I'm guessing this may be moot with the CMake work, but it's not clear when that'll make it in. In the meantime, ISTM http://stackoverflow.com/a/218295 should be an easy change to make (though perhaps with a variable that gives you the old behavior). -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532)
Jim Nasby <Jim.Nasby@BlueTreble.com> writes: > The recent thread about compiler warnings got me thinking about how it's > essentially impossible to notice warnings with default make output. > Perhaps everyone just uses make -s by default, though that's a bit > annoying since you get no output unless something does warn (and then > you don't know what directory it was in). > Is it worth looking into this? I'm guessing this may be moot with the > CMake work, but it's not clear when that'll make it in. In the meantime, > ISTM http://stackoverflow.com/a/218295 should be an easy change to make > (though perhaps with a variable that gives you the old behavior). I'm not really sure which of the kluges in that article you're proposing we adopt, but none of them look better than "make -s" to me. Also, none of them would do anything about make's own verbosity such as "entering/leaving directory" lines. regards, tom lane
On 1/2/17 3:57 PM, Tom Lane wrote: > Jim Nasby <Jim.Nasby@BlueTreble.com> writes: >> The recent thread about compiler warnings got me thinking about how it's >> essentially impossible to notice warnings with default make output. >> Perhaps everyone just uses make -s by default, though that's a bit >> annoying since you get no output unless something does warn (and then >> you don't know what directory it was in). > >> Is it worth looking into this? I'm guessing this may be moot with the >> CMake work, but it's not clear when that'll make it in. In the meantime, >> ISTM http://stackoverflow.com/a/218295 should be an easy change to make >> (though perhaps with a variable that gives you the old behavior). > > I'm not really sure which of the kluges in that article you're proposing > we adopt, but none of them look better than "make -s" to me. Also, > none of them would do anything about make's own verbosity such as > "entering/leaving directory" lines. I was specifically thinking of quieting the compiler lines, along the lines of silencing the CC lines. That would still provide the per directory output for some amount of status. (At first I thought of doing the @echo "Compiling $<" hack, but in retrospect there's probably no use in that.) The attached hack doesn't quiet everything, but makes a significant difference, 1588 lines down to 622, with 347 being make -C (each of those was a make -j4 after a make clean). If folks are interested in this I can look at quieting the remaining output. My intention would be to still output something on entry to a directory that would take a non-trivial amount of time (like src/backend). Though if it's very likely that the CMake stuff is going to happen (is it?) then I don't think it's worth it. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532) -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Attachment
Jim Nasby <Jim.Nasby@bluetreble.com> writes: > The attached hack doesn't quiet everything, but makes a significant > difference, 1588 lines down to 622, with 347 being make -C (each of > those was a make -j4 after a make clean). > If folks are interested in this I can look at quieting the remaining > output. My intention would be to still output something on entry to a > directory that would take a non-trivial amount of time (like > src/backend). Though if it's very likely that the CMake stuff is going > to happen (is it?) then I don't think it's worth it. TBH, I flat out don't want this. Normally I want "-s" mode, ie *no* routine output, and when I don't want that I generally need to see everything. Intermediate levels of verbosity are just an annoyance. regards, tom lane
On 1/2/17 4:37 PM, Jim Nasby wrote: > The recent thread about compiler warnings got me thinking about how it's > essentially impossible to notice warnings with default make output. I always build with -Werror. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
On 3 January 2017 at 05:37, Jim Nasby <Jim.Nasby@bluetreble.com> wrote: > The recent thread about compiler warnings got me thinking about how it's > essentially impossible to notice warnings with default make output. Perhaps > everyone just uses make -s by default, though that's a bit annoying since > you get no output unless something does warn (and then you don't know what > directory it was in). For that latter reason I'd love to be rid of recursive make. But it's not that bad since we don't have many files of the same names; I just find myself using vim's ctrlp a lot. Personally I'd rather let it lie, use 'make -s' and wait for cmake. -- Craig Ringer http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
On Mon, Jan 2, 2017 at 03:37:04PM -0600, Jim Nasby wrote: > The recent thread about compiler warnings got me thinking about how it's > essentially impossible to notice warnings with default make output. Perhaps > everyone just uses make -s by default, though that's a bit annoying since > you get no output unless something does warn (and then you don't know what > directory it was in). > > Is it worth looking into this? I'm guessing this may be moot with the CMake > work, but it's not clear when that'll make it in. In the meantime, ISTM > http://stackoverflow.com/a/218295 should be an easy change to make (though > perhaps with a variable that gives you the old behavior). Please src/tools/pgtest for an example of pulling out warning lines and reporting them at the end of the build. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +