Xi Ruoyao <xry...@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ć
signature.asc
Description: PGP signature