From: "Arsen Arsenović" <arsen@aarsen.me>
To: Xi Ruoyao <xry111@xry111.site>
Cc: gcc-patches@gcc.gnu.org, Bruno Haible <bruno@clisp.org>,
Iain Sandoe <iain@sandoe.co.uk>
Subject: Re: [PATCH 0/2] Replace intl/ with out-of-tree GNU gettext
Date: Mon, 25 Sep 2023 19:28:56 +0200 [thread overview]
Message-ID: <868r8uywdl.fsf@aarsen.me> (raw)
In-Reply-To: <c5ecd018e50999cf6ea5ced308862ecb43aaa02b.camel@xry111.site>
[-- Attachment #1: Type: text/plain, Size: 5175 bytes --]
Xi Ruoyao <xry111@xry111.site> writes:
> On Mon, 2023-09-25 at 17:00 +0200, Arsen Arsenović wrote:
>> Afternoon,
>>
>> This patch series replaces the old (early 2000s era, AFAICT) libintl
>> implementation in-tree, which relies on C constructs some compilers
>> (newer clang, hopefully GCC 14) refuse to compile by default with
>> out-of-tree gettext, in a manner similar to GMP et al, and adds gettext
>> to download_prerequisites.
>
> I think we need to update install.texi to mention the new dependency.
Ah, thanks. I had forgotten to update it. What do you think of the
following prose?
1: 2ac5c8240c0f ! 1: 2cc0029921fb *: add modern gettext
@@ Commit message
* aclocal.m4: Regenerate.
* Makefile.in (LIBDEPS): Remove (potential) ./ prefix from
LIBINTL_DEP.
- * doc/install.texi: Document new (notable) flags added by the optional
- gettext tree and by AM_GNU_GETTEXT.
libcpp/ChangeLog:
@@ gcc/configure: $as_echo "$as_me: executing $ac_file commands" >&6;}
"collect-ld":F) chmod +x collect-ld ;;
"nm":F) chmod +x nm ;;
- ## gcc/doc/install.texi ##
-@@ gcc/doc/install.texi: is shown below:
- @code{sys} and @code{time}.
- @end table
-
-+@item GNU gettext
-+
-+Necessary to build GCC with internationalization support via
-+@option{--enable-nls}. It can be downloaded from
-+@uref{https://gnu.org/s/gettext/}. If a GNU gettext distribution is
-+found in a subdirectory of your GCC sources named @file{gettext}, it
-+will be built together with GCC, unless present in the system (either in
-+libc or as a stand-alone library).
-+
-+The in-tree configuration requires GNU gettext v0.22.
-+
- @end table
-
- @heading Tools/packages necessary for modifying GCC
-@@ gcc/doc/install.texi: components of the binutils you intend to build alongside the compiler
- (@file{bfd}, @file{binutils}, @file{gas}, @file{gprof}, @file{ld},
- @file{opcodes}, @dots{}) to the directory containing the GCC sources.
-
--Likewise the GMP, MPFR and MPC libraries can be automatically built
--together with GCC. You may simply run the
-+Likewise the GMP, MPFR, MPC and Gettext libraries can be automatically
-+built together with GCC. You may simply run the
- @command{contrib/download_prerequisites} script in the GCC source directory
- to set up everything.
--Otherwise unpack the GMP, MPFR and/or MPC source
-+Otherwise unpack the GMP, MPFR, MPC and/or Gettext source
- distributions in the directory containing the GCC sources and rename
--their directories to @file{gmp}, @file{mpfr} and @file{mpc},
--respectively (or use symbolic links with the same name).
-+their directories to @file{gmp}, @file{mpfr}, @file{mpc} and
-+@file{gettext}, respectively (or use symbolic links with the same name).
-
- @html
- <hr />
-@@ gcc/doc/install.texi: which lets GCC output diagnostics in languages other than American
- English. Native Language Support is enabled by default if not doing a
- canadian cross build. The @option{--disable-nls} option disables NLS@.
-
-+@item --with-libintl-prefix=@var{dir}
-+@itemx --without-libintl-prefix
-+Searches for libintl in @file{@var{dir}/include} and
-+@file{@var{dir}/lib}, or disables manual searching for it, letting the
-+linker handle it.
-+
-+@item --with-libintl-type=@var{type}
-+Specifies the type of library to search for when looking for libintl.
-+@var{type} can be one of @code{auto}, @code{static} or @code{shared}.
-+
- @item --with-included-gettext
--If NLS is enabled, the @option{--with-included-gettext} option causes the build
--procedure to prefer its copy of GNU @command{gettext}.
-+Only available if @file{gettext} is present in the source tree.
-+
-+Forces the gettext tree to be configured to build and use a new static
-+libintl, overriding the system libintl.
-
- @item --with-catgets
- If NLS is enabled, and if the host lacks @code{gettext} but has the
-
## libcpp/aclocal.m4 ##
@@ libcpp/aclocal.m4: m4_include([../config/codeset.m4])
m4_include([../config/depstand.m4])
Perhaps this is easier to read when not a range-diff..
https://git.sr.ht/~arsen/gcc/commit/2ac5c8240c0f1a670f100c8e38baf40b13cc50b2#gcc/doc/install.texi
> And IIUC if --disable-nls is used, we can still build GCC with neither
> system gettext nor in-tree gettext. Or am I wrong? (I'm asking because
> we'll need to adjust Linux From Scratch [1-3] for this change if it's
> applied.)
Yes, this doesn't change how --disable-nls works.
> [1]:https://www.linuxfromscratch.org/lfs/view/development/chapter05/gcc-pass1.html
> [2]:https://www.linuxfromscratch.org/lfs/view/development/chapter06/gcc-pass2.html
> [3]:https://www.linuxfromscratch.org/lfs/view/development/chapter08/gcc.html
--
Arsen Arsenović
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 381 bytes --]
next prev parent reply other threads:[~2023-09-25 17:51 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-25 15:00 Arsen Arsenović
2023-09-25 15:00 ` [PATCH 1/2] intl: remove, in favor of out-of-tree gettext Arsen Arsenović
2023-09-25 15:00 ` [PATCH 2/2] *: add modern gettext Arsen Arsenović
2023-09-25 17:20 ` [PATCH 0/2] Replace intl/ with out-of-tree GNU gettext Xi Ruoyao
2023-09-25 17:28 ` Arsen Arsenović [this message]
2023-09-29 11:10 ` Bruno Haible
2023-09-29 16:21 ` Arsen Arsenović
2023-09-29 16:48 ` Bruno Haible
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=868r8uywdl.fsf@aarsen.me \
--to=arsen@aarsen.me \
--cc=bruno@clisp.org \
--cc=gcc-patches@gcc.gnu.org \
--cc=iain@sandoe.co.uk \
--cc=xry111@xry111.site \
/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).