From: David Malcolm <dmalcolm@redhat.com>
To: Joseph Myers <joseph@codesourcery.com>,
Tobias Burnus <tobias@codesourcery.com>,
Mark Wielaard <mark@klomp.org>
Cc: gcc-patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH 0/4] v2 of Option handling: add documentation URLs
Date: Fri, 08 Dec 2023 18:35:56 -0500 [thread overview]
Message-ID: <3c6df46e0031a707eb650e8540b65c1cd7457829.camel@redhat.com> (raw)
In-Reply-To: <419f3147-fdb3-fcda-fcaf-23b08e2ca872@codesourcery.com>
On Tue, 2023-11-21 at 23:43 +0000, Joseph Myers wrote:
> On Tue, 21 Nov 2023, Tobias Burnus wrote:
>
> > On 21.11.23 14:57, David Malcolm wrote:
> > > On Tue, 2023-11-21 at 02:09 +0100, Hans-Peter Nilsson wrote:
> > > > Sorry for barging in though I did try finding the relevant
> > > > discussion, but is committing this generated stuff necessary?
> > > > Is it because we don't want to depend on Python being
> > > > present at build time?
> > > Partly, yes, [...]
> >
> > I wonder how to ensure that this remains up to date. Should there
> > be an
> > item at
> >
> > https://gcc.gnu.org/branching.html and/or
> > https://gcc.gnu.org/releasing.html similar to the .pot generation?
>
> My suggestion earlier in the discussion was that it should be added
> to the
> post-commit CI discussed starting at
> <https://gcc.gnu.org/pipermail/gcc/2023-November/242835.html> (I
> think
> that CI is now in operation). These are generated files that ought
> to be
> kept up to date with each commit that affects .opt files, unlike the
> .pot
> files where the expectation is that they should be up to date for
> releases
> and updated from time to time at other times for submission to the
> TP.
I had a go at scripting the testing of this, but I am terrible at shell
scripts (maybe I should use Python?). Here's what I have so far:
$ cat contrib/regenerate-index-urls.sh
set -x
SRC_DIR=$1
BUILD_DIR=$2
NUM_JOBS=$3
# FIXME: error-checking!
mkdir -p $BUILD_DIR || exit 1
cd $BUILD_DIR
$SRC_DIR/configure --disable-bootstrap --enable-languages=c,d,fortran || exit 2
make html-gcc -j$NUM_JOBS || exit 3
cd gcc || exit 4
make regenerate-opt-urls || exit 5
cd $SRC_DIR
(git diff $1 > /dev/null ) && echo "regenerate-opt-urls needs to be run and the results committed" || exit 6
# e.g.
# time bash contrib/regenerate-index-urls.sh $(pwd) $(pwd)/../build-ci 64
This takes about 100 seconds of wallclock on my 64-core box (mostly
configuring gcc, which as well as the usual sequence of unparallelized
tests seems to require building libiberty and lto-plugin). Is that
something we want to do on every commit? Is implementing the CI a
blocker for getting the patches in? (if so, I'll likely need some help)
As it turned out, I hadn't regenerated the .opt.urls in my working copy
for a couple of weeks, leading to a correct-looking patch containing
things like:
@@ -154,8 +157,8 @@ UrlSuffix(gcc/Warning-Options.html#index-Wbuiltin-declaration-mismatch) LangUrlS
Wbuiltin-macro-redefined
UrlSuffix(gcc/Warning-Options.html#index-Wbuiltin-macro-redefined)
-Wc11-c2x-compat
-UrlSuffix(gcc/Warning-Options.html#index-Wc11-c2x-compat)
+Wc11-c23-compat
+UrlSuffix(gcc/Warning-Options.html#index-Wc11-c23-compat)
Wc90-c99-compat
UrlSuffix(gcc/Warning-Options.html#index-Wc90-c99-compat)
so I think the idea works; and the only issue for not regenerating was
some missing/out-of-date URLs.
Dave
next prev parent reply other threads:[~2023-12-08 23:36 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-10 21:42 [PATCH 0/3] " David Malcolm
2023-11-10 21:42 ` [PATCH 1/3] options: add gcc/regenerate-opt-urls.py David Malcolm
2023-11-10 21:42 ` [PATCH 2/3] Add generated .opt.urls files David Malcolm
2023-11-12 10:56 ` Iain Buclaw
2023-11-13 14:07 ` David Malcolm
2023-11-13 13:11 ` Marc Poulhiès
2023-11-13 14:07 ` David Malcolm
2023-11-13 16:02 ` Marc Poulhiès
2023-12-19 14:47 ` Marc Poulhiès
2023-11-10 21:42 ` [PATCH 3/3] diagnostics: use the .opt.urls files to urlify quoted text David Malcolm
2023-11-14 17:44 ` Arthur Cohen
2023-11-14 0:12 ` [PATCH 0/3] Option handling: add documentation URLs Joseph Myers
2023-11-15 22:50 ` David Malcolm
2023-11-15 23:40 ` Joseph Myers
2023-11-16 14:28 ` [PATCH 0/4] v2 of " David Malcolm
2023-11-16 14:28 ` [PATCH 1/4] options: add gcc/regenerate-opt-urls.py David Malcolm
2023-11-16 14:28 ` [PATCH 2/4] Add generated .opt.urls files David Malcolm
2023-11-16 14:28 ` [PATCH 3/4] opts: add logic to generate options-urls.cc David Malcolm
2023-11-16 14:28 ` [PATCH 4/4] options: wire up options-urls.cc into gcc_urlifier David Malcolm
2023-11-21 1:09 ` [PATCH 0/4] v2 of Option handling: add documentation URLs Hans-Peter Nilsson
2023-11-21 13:57 ` David Malcolm
2023-11-21 14:12 ` Tobias Burnus
2023-11-21 15:23 ` David Malcolm
2023-11-21 23:43 ` Joseph Myers
2023-12-08 23:35 ` David Malcolm [this message]
2023-12-10 23:35 ` Mark Wielaard
2023-12-14 15:01 ` [PATCH 0/4] v3 of: " David Malcolm
2023-12-14 15:01 ` [PATCH 1/4; v3] options: add gcc/regenerate-opt-urls.py David Malcolm
2023-12-20 0:24 ` Joseph Myers
2023-12-14 15:01 ` [PATCH 2/4; v3] Add generated .opt.urls files David Malcolm
2023-12-14 15:01 ` [PATCH 3/4; v2] opts: add logic to generate options-urls.cc David Malcolm
2023-12-14 15:01 ` [PATCH 4/4; v2] options: wire up options-urls.cc into gcc_urlifier David Malcolm
2023-12-15 0:59 ` [PATCH 0/4] v3 of: Option handling: add documentation URLs Mark Wielaard
2023-12-15 14:47 ` David Malcolm
2024-01-04 14:57 ` CI for "Option handling: add documentation URLs" David Malcolm
2024-02-18 22:58 ` Mark Wielaard
2024-02-19 11:38 ` Mark Wielaard
2024-02-22 3:57 ` YunQiang Su
2024-02-24 17:42 ` Mark Wielaard
2024-03-03 20:04 ` Mark Wielaard
2024-03-04 13:48 ` David Malcolm
2024-03-05 12:06 ` Mark Wielaard
2024-03-05 13:34 ` David Malcolm
2024-03-05 20:24 ` Mark Wielaard
2024-03-15 7:33 ` YunQiang Su
2024-03-15 10:06 ` Mark Wielaard
2023-12-20 0:28 ` [PATCH 0/4] v3 of: Option handling: add documentation URLs Joseph Myers
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=3c6df46e0031a707eb650e8540b65c1cd7457829.camel@redhat.com \
--to=dmalcolm@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=joseph@codesourcery.com \
--cc=mark@klomp.org \
--cc=tobias@codesourcery.com \
/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).