[1/7] gdb: update README about the GNU make requirement

Message ID 20260831185300.572297-2-simon.marchi@efficios.com
State New
Headers
Series Some Makefile cleanups |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-arm fail Patch failed to apply

Commit Message

Simon Marchi Aug. 31, 2026, 6:51 p.m. UTC
  The README still suggests that GDB can be built with a make other than GNU
make, which is not the case since 2016 (f2ff9acd32b4 "Document new hard
requirement on GNU make").

The manual already lists GNU make in the requirements:

    GNU make
        GDB's build system relies on features only found in the GNU make
        program.  Other variants of make will not work.

and the minimum version is documented in gdb/NEWS:

    * Building GDB and GDBserver now requires GNU make >= 3.82.

Bring the README in line with that.

 - Mention the GNU make requirement, including the minimum version, near
   where we also state the C++17 compiler requirement.

 - Drop the "if your make program handles the VPATH feature correctly"
   part from the "Compiling GDB in another directory" section.

 - Drop the warning about --srcdir requiring GNU make.

 - Drop the "If you use GNU make" conditional from the paragraph about
   running the testsuite in parallel.

Change-Id: I5c0387d977ab87069c01c0249c51b2f30318a0c7
---
 gdb/README | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
  

Comments

Eli Zaretskii Sept. 1, 2026, 12:26 p.m. UTC | #1
> From: Simon Marchi <simon.marchi@efficios.com>
> Cc: Simon Marchi <simon.marchi@efficios.com>
> Date: Mon, 31 Aug 2026 14:51:40 -0400
> 
> The README still suggests that GDB can be built with a make other than GNU
> make, which is not the case since 2016 (f2ff9acd32b4 "Document new hard
> requirement on GNU make").
> 
> The manual already lists GNU make in the requirements:
> 
>     GNU make
>         GDB's build system relies on features only found in the GNU make
>         program.  Other variants of make will not work.
> 
> and the minimum version is documented in gdb/NEWS:
> 
>     * Building GDB and GDBserver now requires GNU make >= 3.82.
> 
> Bring the README in line with that.
> 
>  - Mention the GNU make requirement, including the minimum version, near
>    where we also state the C++17 compiler requirement.
> 
>  - Drop the "if your make program handles the VPATH feature correctly"
>    part from the "Compiling GDB in another directory" section.
> 
>  - Drop the warning about --srcdir requiring GNU make.
> 
>  - Drop the "If you use GNU make" conditional from the paragraph about
>    running the testsuite in parallel.
> 
> Change-Id: I5c0387d977ab87069c01c0249c51b2f30318a0c7
> ---
>  gdb/README | 15 +++++++--------
>  1 file changed, 7 insertions(+), 8 deletions(-)

Thanks, this is okay.

Reviewed-By: Eli Zaretskii <eliz@gnu.org>
  
Simon Marchi Sept. 1, 2026, 1:36 p.m. UTC | #2
On 2026-09-01 08:26, Eli Zaretskii wrote:
>> From: Simon Marchi <simon.marchi@efficios.com>
>> Cc: Simon Marchi <simon.marchi@efficios.com>
>> Date: Mon, 31 Aug 2026 14:51:40 -0400
>>
>> The README still suggests that GDB can be built with a make other than GNU
>> make, which is not the case since 2016 (f2ff9acd32b4 "Document new hard
>> requirement on GNU make").
>>
>> The manual already lists GNU make in the requirements:
>>
>>     GNU make
>>         GDB's build system relies on features only found in the GNU make
>>         program.  Other variants of make will not work.
>>
>> and the minimum version is documented in gdb/NEWS:
>>
>>     * Building GDB and GDBserver now requires GNU make >= 3.82.
>>
>> Bring the README in line with that.
>>
>>  - Mention the GNU make requirement, including the minimum version, near
>>    where we also state the C++17 compiler requirement.
>>
>>  - Drop the "if your make program handles the VPATH feature correctly"
>>    part from the "Compiling GDB in another directory" section.
>>
>>  - Drop the warning about --srcdir requiring GNU make.
>>
>>  - Drop the "If you use GNU make" conditional from the paragraph about
>>    running the testsuite in parallel.
>>
>> Change-Id: I5c0387d977ab87069c01c0249c51b2f30318a0c7
>> ---
>>  gdb/README | 15 +++++++--------
>>  1 file changed, 7 insertions(+), 8 deletions(-)
> 
> Thanks, this is okay.
> 
> Reviewed-By: Eli Zaretskii <eliz@gnu.org>

Thanks, I have pushed this single patch.

Simon
  

Patch

diff --git a/gdb/README b/gdb/README
index 492b0891668d..791bbd23b6c2 100644
--- a/gdb/README
+++ b/gdb/README
@@ -82,6 +82,9 @@  list of options, invoke the subdirectory `configure', like:
    (Take note of how this differs from the invocation used to actually
 configure the build tree.)
 
+   Building GDB requires GNU make version 3.82 or later; other `make'
+programs will not work.
+
    GDB requires a C++17 compiler.  If you do not have a
 C++17 compiler for your system, you may be able to download and install
 the GNU CC compiler.  It is available via anonymous FTP from the
@@ -254,10 +257,8 @@  Compiling GDB in another directory
 you need a different `gdb' compiled for each combination of host and
 target.  `configure' is designed to make this easy by allowing you to
 generate each configuration in a separate subdirectory, rather than in
-the source directory.  If your `make' program handles the `VPATH'
-feature correctly (GNU `make' and SunOS 'make' are two that should),
-running `make' in each of these directories builds the `gdb' program
-specified there.
+the source directory.  Running `make' in each of these directories
+builds the `gdb' program specified there.
 
    To build `gdb' in a separate directory, run `configure' with the
 `--srcdir' option to specify where to find the source. (You also need
@@ -367,8 +368,6 @@  more obscure GDB `configure' options are not listed here.
      `DIR'.
 
 `--srcdir=PATH'
-     *Warning: using this option requires GNU `make', or another `make'
-     that compatibly implements the `VPATH' feature.*
      Use this option to make configurations in directories separate
      from the GDB source directories.  Among other things, you can use
      this to build (or maintain) several configurations simultaneously,
@@ -778,8 +777,8 @@  When using a `make'-based method, you can use the Makefile variable
 
 	make RUNTESTFLAGS=--directory=gdb.cp check
 
-If you use GNU make, you can use its `-j' option to run the testsuite
-in parallel.  This can greatly reduce the amount of time it takes for
+You can use the `-j' option of `make' to run the testsuite in
+parallel.  This can greatly reduce the amount of time it takes for
 the testsuite to run.  In this case, if you set `RUNTESTFLAGS' then,
 by default, the tests will be run serially even under `-j'.  You can
 override this and force a parallel run by setting the `make' variable