From: Tom de Vries <tdevries@suse.de>
To: Simon Marchi <simark@simark.ca>, gdb-patches@sourceware.org
Subject: Re: [PATCH][gdb/build] Add gdb/contrib/makeinfo-dummy.sh
Date: Mon, 5 Sep 2022 16:10:04 +0200 [thread overview]
Message-ID: <2a454b57-20fa-fcd9-4d1e-719c0567d871@suse.de> (raw)
In-Reply-To: <bd06179b-097a-3a0e-314f-8e4c4838474d@simark.ca>
[-- Attachment #1: Type: text/plain, Size: 2582 bytes --]
On 9/1/22 19:21, Simon Marchi wrote:
> On 9/1/22 10:58, Tom de Vries via Gdb-patches wrote:
>> On 9/1/22 16:43, Simon Marchi wrote:
>>> On 9/1/22 05:51, Tom de Vries via Gdb-patches wrote:
>>>> Hi,
>>>>
>>>> Currently, we cannot build gdb without makeinfo installed.
>>>>
>>>> It would be convenient to work around this by using the configure flag
>>>> MAKEINFO=/usr/bin/true or some such, but that doesn't work because top-level
>>>> configure requires a makeinfo of at least version 4.7, and that version check
>>>> fails for /usr/bin/true, so we end up with MAKEINFO=missing instead.
>>>>
>>>> Work around this by adding a script gdb/contrib/makeinfo-dummy.sh that can be
>>>> used instead, like so:
>>>> ...
>>>> $ ./src/configure MAKEINFO=$src/gdb/contrib/makeinfo-dummy.sh
>>>> ...
>>>>
>>>> The script merely prints the version string that satisfies the version check
>>>> in $src/configure.
>>>>
>>>> Tested on x86_64-linux, with makeinfo removed.
>>>>
>>>> Any comments?
>>>
>>> I wouldn't mind having this if it helps you. This file would probably
>>> belong in $top_level/contrib more than $top_level/gdb/contrib.
>>>
>>
>> Hi Simon,
>>
>> thanks for the review.
>>
>> Agreed, but does that also mean submitting to gcc-patches instead? All the other scripts in <binutils-gdb>/contrib seems to be copies from <gcc>/contrib.
>
> IMO, it would be fine to add a file like this just in binutils-gdb, and
> if someone wants it in gcc they can copy it there. When making changes
> to files existing in both repos, then yeah it's better to involve gcc to
> so that they stay in sync.
>
>>
>>> Just in case that would work for you, in this case I have been using:
>>>
>>> $ ./configure
>>> $ make MAKEINFO=/bin/true
>>>
>>> and that worked fine so far.
>>
>> I see, I suppose that'll work as well, I didn't think of that.
>>
>> I guess it matters more for me to have a documented way of dealing with this, than some specific solution. I ran into this today, knew I worked around this before, but didn't remember how. I'm hoping that having this file in the repo will be something that is easy to find back and use.
>>
>> It would be possible to handle 'true' in the toplevel configure, which would make configure MAKEINFO=true work, but that would have to go past gcc-patches review, and I'm not sure if it's worth the effort to try this, given my suspicion that it will not be accepted.
>
> Also more efforts, but what we would want is a --disable-doc or
> --without-makeinfo configure switch, I think.
I gave the --without-makeinfo a try.
WDYT?
Thanks,
- Tom
[-- Attachment #2: 0001-Add-without-makeinfo.patch --]
[-- Type: text/x-patch, Size: 1944 bytes --]
Add --without-makeinfo
Currently, we cannot build gdb without makeinfo installed.
It would be convenient to work around this by using the configure flag
MAKEINFO=/usr/bin/true or some such, but that doesn't work because top-level
configure requires a makeinfo of at least version 4.7, and that version check
fails for /usr/bin/true, so we end up with MAKEINFO=missing instead.
What does work is this:
...
$ ./configure
$ make MAKEINFO=/usr/bin/true
...
but the drawback is that it'll have to be specified for each make invocation.
Fix this by adding support for --without-makeinfo in top-level configure.
Tested by building gdb on x86_64-linux, and verifying that no .info files
were generated.
ChangeLog:
2022-09-05 Tom de Vries <tdevries@suse.de>
* configure.ac: Add --without-makeinfo.
* configure: Regenerate.
---
configure | 4 ++++
configure.ac | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/configure b/configure
index 16139e3bfa3..66ccef4d8c0 100755
--- a/configure
+++ b/configure
@@ -8386,6 +8386,9 @@ fi
done
test -n "$MAKEINFO" || MAKEINFO="$MISSING makeinfo"
+if test $with_makeinfo = "no"; then
+MAKEINFO=true
+else
case " $build_configdirs " in
*" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
*)
@@ -8401,6 +8404,7 @@ case " $build_configdirs " in
;;
esac
+fi
# FIXME: expect and dejagnu may become build tools?
diff --git a/configure.ac b/configure.ac
index a5555a9c91b..3680fa97087 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3436,6 +3436,9 @@ case " $build_configdirs " in
esac
AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
+if test $with_makeinfo = "no"; then
+MAKEINFO=true
+else
case " $build_configdirs " in
*" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
*)
@@ -3451,6 +3454,7 @@ changequote(,)
;;
changequote([,])
esac
+fi
# FIXME: expect and dejagnu may become build tools?
next prev parent reply other threads:[~2022-09-05 14:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-01 9:51 Tom de Vries
2022-09-01 14:43 ` Simon Marchi
2022-09-01 14:58 ` Tom de Vries
2022-09-01 17:21 ` Simon Marchi
2022-09-05 14:10 ` Tom de Vries [this message]
2022-09-20 19:11 ` Tom Tromey
2022-10-04 15:37 ` Tom de Vries
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=2a454b57-20fa-fcd9-4d1e-719c0567d871@suse.de \
--to=tdevries@suse.de \
--cc=gdb-patches@sourceware.org \
--cc=simark@simark.ca \
/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 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).