[PATCH v2 1/2] *: add modern gettext support

Iain Sandoe iain@sandoe.co.uk
Tue Sep 26 07:54:10 GMT 2023


Hi Jan,

> On 26 Sep 2023, at 08:03, Jan Beulich <jbeulich@suse.com> wrote:
> 
> On 26.09.2023 02:17, Arsen Arsenović via Binutils wrote:
>> ChangeLog:
>> 
>> 	* .gitignore: Add '/gettext*'.
>> 	* configure.ac (host_libs): Replace intl with gettext.
>> 	(hbaseargs, bbaseargs, baseargs): Split baseargs into {h,b}baseargs.
>> 	(skip_barg): New flag.  Skips appending current flag to bbaseargs.
>> 	<library exemptions>: Exempt --with-libintl-{type,prefix} from
>> 	target and build machine argument passing.
>> 	* configure: Regenerate.
>> 	* Makefile.def (host_modules): Replace intl module with gettext
>> 	module.
>> 	(configure-ld): Depend on configure-gettext.
>> 	* Makefile.in: Regenerate.
>> 
>> config/ChangeLog:
>> 
>> 	* intlmacosx.m4: Import from gettext-0.22 (serial 8).
>> 	* gettext.m4: Sync with gettext-0.22 (serial 77).
>> 	* gettext-sister.m4 (ZW_GNU_GETTEXT_SISTER_DIR): Load gettext's
>> 	uninstalled-config.sh, or call AM_GNU_GETTEXT if missing.
>> 	* iconv.m4: Sync with gettext-0.22 (serial 26).
>> 
>> gas/ChangeLog:
>> 
>> 	* aclocal.m4: Regenerate.
>> 	* configure: Regenerate.
>> 
>> gold/ChangeLog:
>> 
>> 	* aclocal.m4: Regenerate.
>> 	* configure: Regenerate.
>> 
>> gprof/ChangeLog:
>> 
>> 	* aclocal.m4: Regenerate.
>> 	* configure: Regenerate.
>> 
>> ld/ChangeLog:
>> 
>> 	* aclocal.m4: Regenerate.
>> 	* configure: Regenerate.
>> 
>> libctf/ChangeLog:
>> 
>> 	* Makefile.am (SUBDIRS): Define to empty to suppress a check in
>> 	Automake.
>> 	* Makefile.in: Regenerate.
>> 	* configure.ac (CTF_LIBADD): Use LTLIBINTL rather than LIBINTL.
>> 	* aclocal.m4: Regenerate.
>> 	* configure: Regenerate.
>> 
>> opcodes/ChangeLog:
>> 
>> 	* aclocal.m4: Regenerate.
>> 	* po/Make-in ($(srcdir)/$(PACKAGE).pot): Output to a .pot
>> 	temporary file to suppress xgettext checking charset names.
>> 	* configure.ac (SHARED_LIBADD): Use LTLIBINTL rather than LIBINTL.
>> 	* configure: Regenerate.
>> 
>> bfd/ChangeLog:
>> 
>> 	* aclocal.m4: Regenerate.
>> 	* configure.ac (SHARED_LIBADD): Use LTLIBINTL rather than LIBINTL.
>> 	* configure: Regenerate.
>> 
>> binutils/ChangeLog:
>> 
>> 	* aclocal.m4: Regenerate.
>> 	* configure: Regenerate.
> 
> May I please ask that a change like this come with a real description? The
> ChangeLog entries certainly describe - purely mechanically - what is done
> to the files, but to be honest I cannot really read out of the (large)
> patch what the overall behavioral change is. I'm therefore only getting
> the impression that you make gettext 0.22(?) a prereq to building binutils
> and gdb.

I’ll leave to Arsen to expand upon this ^

> Which in turn may make it impossible to (easily) build either on
> older systems (it would certainly limit [remove?] my ability to test 32-bit
> builds of binutils, as the newer distros I use all only come in 64-bit
> flavors; there may be ways to configure as 32-bit, but past experience has
> shown that such is potentially fragile / only partially functioning).

I have one datum at least:

In this context, gettext is a host library, so the concern is about the oldest,
least capable, hosts you might wish to support.

* AFAIU, if your host already has libintl installed you do not need to do
anything (unless you happen to want a newer version).

* My oldest (regularly-tested) 32b host is Darwin9 (2007):
 - it has no installed libintl
 - it is not even ELF.

Here:
 * if I do nothing, binutils builds without NLS support.
 * If I symlink (or copy) gettext 0.22 into the root source dir then it builds
along with the other sources and I get NLS support.

HTH (at least as some reassurance that we have tested in older environments)
Iain

$ LANG=ja_JP /opt/iains/i686-apple-darwin9/binutils-gdb-master/bin/objdump fff
使用法: /opt/iains/i686-apple-darwin9/binutils-gdb-master/bin/objdump <option(s)> <file(s)>
 オブジェクトファイル <file(s)> の情報を表示する
 下記のスイッチの中で最低一つは指定しなければいけません:





More information about the Binutils mailing list