New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make fish build more quietly. #3248
Conversation
4d2c46e
to
19a15a4
Compare
1d4a064
to
abbee7f
Compare
echo Compiling fish with CXXFLAGS=$(CXXFLAGS) | ||
echo === |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "===" is inconsistent with similar echo sequences. Personally I prefer surrounding meta comments with "====" (though I typically use ten or twenty equal-signs) so I have no objection to your including such a change but we should be consistent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whoops, I thought I put ===
on every header. I updated it as you suggested. .
$(INSTALL) -m 644 $$i $(DESTDIR)$(mandir)/man1/; \ | ||
true; \ | ||
done; | ||
$(foreach i, $(MANUALS), $(INSTALL) -m 644 $(i) $(DESTDIR)$(mandir)/man1/;) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm guessing this change is the reason Travis is failing. Perhaps revert this portion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was a combination of this and something else. It's working now.
I love the idea and don't have any objections once you fix the Travis failures and the minor style inconsistency I noted. I would love to be able to "make fish" and not have to wade through all the individual commands in order to see the warnings and errors. I wouldn't mind seeing the |
This sounds like a good idea, and I tried to do something similar a few years ago. There's already a quasi-standard for this sort of approach - Automake silent rules & its pure-Make implementation in Linux's Kbuild. In particular, I think it would be helpful if |
I see now that probably I should also mimic the same output that you see at that linked article and that PCRE2 is using - I hadn't tried a build that would cause that to be built at the same time until just now but these should flow together:
|
@zanchey I'm not thrilled about the solution documented in the link you provided. I'd prefer that a silent build be the default without having to provide a flag to the build tools. I do recognize that sometimes you need to see the actual commands being run. Such as when I implemented the |
We can make the silent build be the default, that's what the Linux Kbuild stuff does. |
Here's what the PR is currently displaying like (though I noticed a couple things that look wrong that are changed in the next commit.) I got rid of the baloney "now compiling x" headers - most of the objects are shared and the final linking for different binaries can just have a "CXXLD" line and it's fine. edit: updated image |
70e2ffd
to
7923c69
Compare
4baaf9f
to
079a3a7
Compare
Do we want to merge this? Or try another approach? |
There was a lot of very noisy output for things we do not care about, particularly the echoing of clang commands, installs, and doxygen output. We now show output like " CXX src/fish.o" and not much else unless there is a problem. Add mechanism to show e.g. CXXFLAGS variables at top of build. Improve make docs output Highlight FISH_BUILD_VERSION FISH_BUILD_VERSION is yellow. Run ./configure with -q
Instead of using @ directly most of the time, use $(v) which can be '' or @ controlled by V. Defaults to 0. make V=1 for a verbose make.
Description
I made
make
a lot quieter and want to get feedback. It needs to @echo a few more things than it does now and it makes travis mad. It also currently lacks a way to flip it off aside from commenting out the added definition at the top of Makefile.in. If people generally are cool with it, that should all be pretty trivial.I think we should be more likely to notice warning output now, with a better SNR.
Output
Here's the new output (hit triangle).