unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: emacs-devel@gnu.org
Subject: Re: Script for compiling more quietly
Date: Mon, 14 Dec 2020 15:09:47 +0000	[thread overview]
Message-ID: <alpine.NEB.2.22.394.2012141603360453.10051@sdf.lonestar.org> (raw)
In-Reply-To: <87y2i0310m.fsf@gnus.org>

[-- Attachment #1: Type: text/plain, Size: 1267 bytes --]


>> Thanks for your script, which is indeed handy.  I attach a slighly 
>> improved version, which also "cleans" the autogen and configure steps, 
>> and which displays error/warning messages in bold red.
>
> Looks nice, but it made a whole lot of stuff red when doing "bootstrap"?
>

Gosh, I forgot to filter out the initial Git repository setup!  Fixed in 
the attached script.  Now I only see three warnings in red with the 
current master: the famous https://gitlab.gnome.org/GNOME/gtk/issues/221 , 
two obsolete warnings in cedet/semantic/idle.el , and the (sporadic) 
Python shift/reduce conflict.

>> I also replaced your "nproc" by "expr $(nproc) / 2 + 1", IME using 
>> nproc makes the computer unuseable, and is not much faster than 
>> nproc/2+1.
>
> It depends on whether you have Hypertheading, I guess -- I don't (on 
> this laptop), so -j`nproc` is twice as fast as nproc / 2.
>
> Absurdly enough, nproc doesn't have an option for "just say how many 
> cores there are, OK?"  But I guess one could parse /proc/cpuinfo to try 
> to figure that out.
>

Yes indeed, that's it, somehow all computers I see/use have 
hyperthreading, and I concluded a bit too fast that this was always the 
case.  Also fixed in the attached script, which uses /proc/cpuinfo.

[-- Attachment #2: Type: text/plain, Size: 1536 bytes --]

#!/bin/bash

C=$(grep '^cpu cores' /proc/cpuinfo | cut -d: -f2 | head -1)
make -j$C "$@" 2>&1 | \
sed -u 's# \.\./\.\./# #
s# \.\./# #
s#^Configuring local git # Configuring local git #
s#^Installing git hooks...# Installing git hooks...#
s#^Running # Running #
s#^Configured for # Configured for #
s#^./temacs # ./temacs #
s#^Dumping under the name# Dumping under the name#
' | \
egrep --line-buffered -v "^make|\
^Loading|\
SCRAPE|\
INFO.*Scraping.*[.]\$|\
^Waiting for git|\
^Finding pointers|\
^Using load-path|\
^Adding name|\
^Dump mode|\
^Dumping finger|\
^Byte counts|\
^Reloc counts|\
^Pure-hashed|\
^cp -f temacs|\
^rm -f bootstrap|\
^Dump complete|\
^rm -f emacs|\
mkdir -p etc|\
mkdir -p info|\
mkdir -p lisp|\
^LC_ALL.*pdump|\
^cp -f emacs.p|\
GEN.*loaddefs|\
^Reloading stale|\
^Source file.*newer than|\
^Directories for loaddefs|\
^./autogen.sh|\
^[Cc]hecking |\
^.Read INSTALL.REPO for more|\
^Your system has the required tools.|\
^Building aclocal.m4|\
^ Running 'autoreconf|\
^You can now run './configure'|\
^./configure|\
^configure: creating|\
^\"configure\" file built.|\
^There seems to be no|\
^config.status:|\
^ *$|\
^Makefile built|\
The GNU allocators don't work|\
^git config |\
^'\.git/|\
^\^\(\(|\
^'build-aux/git-hooks\
" | \
while read
do
  C=""
  [[ "X${REPLY:0:1}" != "X " ]] && C="\033[1;31m"
  [[ "X${REPLY:0:3}" == "X   " ]] && C="\033[1;31m"
  [[ "X$C" == "X" ]] && printf "%s\n" "$REPLY" || printf "$C%s\033[0m\n" "$REPLY"
done

  reply	other threads:[~2020-12-14 15:09 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-11 18:10 Script for compiling more quietly Lars Ingebrigtsen
2020-12-14 10:32 ` Gregory Heytings via Emacs development discussions.
2020-12-14 10:52   ` Gregory Heytings via Emacs development discussions.
2020-12-14 14:35   ` Lars Ingebrigtsen
2020-12-14 15:08     ` Lars Ingebrigtsen
2020-12-14 14:39   ` Lars Ingebrigtsen
2020-12-14 15:09     ` Gregory Heytings via Emacs development discussions. [this message]
2020-12-14 15:23       ` Stefan Monnier
2020-12-14 15:28         ` Gregory Heytings via Emacs development discussions.
2020-12-14 15:56         ` Eli Zaretskii
2020-12-14 16:07           ` Gregory Heytings via Emacs development discussions.
2020-12-14 16:49             ` Eli Zaretskii
2020-12-14 16:53               ` Lars Ingebrigtsen
2020-12-14 17:24                 ` Andrea Corallo via Emacs development discussions.
2020-12-14 17:55                   ` Eli Zaretskii
2020-12-14 17:41                 ` Gregory Heytings via Emacs development discussions.
2020-12-14 18:56                   ` Lars Ingebrigtsen
2020-12-14 17:49                 ` Eli Zaretskii
2020-12-14 23:36                   ` Stefan Monnier
2020-12-14 15:00   ` Stefan Monnier
2020-12-14 15:14     ` Gregory Heytings via Emacs development discussions.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.NEB.2.22.394.2012141603360453.10051@sdf.lonestar.org \
    --to=emacs-devel@gnu.org \
    --cc=ghe@sdf.org \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).