All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx@kernel.org>
To: Ingo Schwarze <schwarze@usta.de>
Cc: Larry Kollar <larry.kollar@icloud.com>, Groff <groff@gnu.org>,
	 linux-man@vger.kernel.org
Subject: configure separate from make or not (was: Using LS/LE)
Date: Sat, 29 Aug 2026 15:10:25 +0200	[thread overview]
Message-ID: <apLV749V4YvfqCOZ@devuan> (raw)
In-Reply-To: <apKou1PHGi1N5gGO@isnote.usta.de>

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

Hi Ingo,

> Date: 2026-08-29 11:39:20+0200
> From: Ingo Schwarze <schwarze@usta.de>
>
[...]
> 
> I think the main reason why build system developers don't usually
> run configure automatically from the Makefile is that from a user
> perspective, it makes sense to keep the two steps "inspect the
> configuration and make some decisions, but do not start building
> anything just yet" and "build the stuff, using the variables and
> decisions made at the configure stage" separate.  Users may even
> want to pause between the two steps, consider the decisions made,
> for example by inspecting configure output files like config.h
> or Makefile.local or, in case serious debugging is needed, config.log
> and maybe even change some of the decisions manually and re-run
> configure, even though autoconf(1) makes both steps, inspection
> and manipulation of decisions, gratuitiously hard, both by spewing
> vast amounts of noise and by the ./configure script being next to
> unreadable.  But saner, better-written configure scripts can make
> both inspection and manipulation quite simple and pleasant.
>
> Running the configure script automatically from the Makefile
> would remove this opportunity for inspection and tweaking.

In the Linux man-pages, the configure step is done entirely within
make(1) --there's no separate ./configure step--.  But as you say,
a separate configure-only step is important for serious debugging.

The solution I implemented is a 'nothing' target in the Makefile, which
as the name implies, does nothing.  However, it still runs the
configuration step, since that runs as part of parsing the makefiles.
Here's the rule:

	nothing:;

When I need to debug the build system itself, I run that target; often
with special flags for debugging.  One common command I use when I need
to do this kind of debugging is:

	$ make -p nothing | less

And if I need to see stderr output from the commands used by the
configure scripts, here's a common command:

	$ make HIDE_ERR= nothing

I'm not saying that this should be done, but this _can_ be done.  With
BSD make(1), it might be more difficult to debug, since it doesn't have
the -p flag.  But the output from configure tests can still be read
without building anything, with a dummy 'nothing' rule.


Have a lovely day!
Alex

-- 
<https://www.alejandro-colomar.es>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-08-29 13:10 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-03 19:21 [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config DJ Delorie
2026-08-06 14:37 ` Alejandro Colomar
2026-08-06 15:33   ` DJ Delorie
2026-08-06 19:14     ` Alejandro Colomar
2026-08-06 20:17       ` DJ Delorie
2026-08-06 20:31         ` Alejandro Colomar
2026-08-06 20:42           ` DJ Delorie
2026-08-07  2:12             ` G. Branden Robinson
2026-08-07  3:29               ` DJ Delorie
2026-08-07  3:49                 ` G. Branden Robinson
2026-08-07  4:01                   ` DJ Delorie
2026-08-07  4:09                     ` G. Branden Robinson
2026-08-23 12:29               ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) Alejandro Colomar
2026-08-23 13:27                 ` G. Branden Robinson
2026-08-23 13:55                   ` Alejandro Colomar
2026-08-23 14:16                     ` G. Branden Robinson
2026-08-23 15:06                       ` Alejandro Colomar
2026-08-23 16:44                         ` G. Branden Robinson
2026-08-23 19:30                           ` Alejandro Colomar
2026-08-23 20:40                             ` G. Branden Robinson
2026-08-23 23:11                               ` Alejandro Colomar
2026-08-24  1:11                                 ` G. Branden Robinson
2026-08-24  2:01                                   ` Using LS/LE Collin Funk
2026-08-24 11:08                                     ` Alejandro Colomar
2026-08-24 11:00                                   ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) Alejandro Colomar
2026-08-23 22:31                             ` autotools, was: Using LS/LE Ingo Schwarze
2026-08-24  0:09                               ` Alejandro Colomar
2026-08-29  4:36                               ` G. Branden Robinson
2026-08-29 11:34                                 ` Ingo Schwarze
2026-08-29 12:51                                   ` Alejandro Colomar
2026-08-29 19:16                                     ` G. Branden Robinson
2026-08-29 21:43                                       ` Alejandro Colomar
     [not found]                             ` <8DE76435-CBDB-42D6-9E0F-9E27291560B6@icloud.com>
2026-08-29  8:42                               ` Using LS/LE (was: [PATCH v4 2/4] man/man5/tunables.conf: Document system-wide tunables config) Alejandro Colomar
2026-08-29  8:45                                 ` Alejandro Colomar
2026-08-29  8:52                                   ` Alejandro Colomar
2026-08-29  9:02                                     ` Alejandro Colomar
2026-08-29  9:39                               ` Ingo Schwarze
2026-08-29 13:10                                 ` Alejandro Colomar [this message]
2026-08-29 15:31                                   ` configure separate from make or not Ingo Schwarze
2026-08-29 20:49                                     ` Alejandro Colomar
2026-08-30 13:17                                       ` Alejandro Colomar

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

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

  git send-email \
    --in-reply-to=apLV749V4YvfqCOZ@devuan \
    --to=alx@kernel.org \
    --cc=groff@gnu.org \
    --cc=larry.kollar@icloud.com \
    --cc=linux-man@vger.kernel.org \
    --cc=schwarze@usta.de \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.