Skip to content

Instantly share code, notes, and snippets.

@iains
Created May 22, 2023 08:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iains/7cf5329d81359a572c0c38e34da6666c to your computer and use it in GitHub Desktop.
Save iains/7cf5329d81359a572c0c38e34da6666c to your computer and use it in GitHub Desktop.
additions to arsen/maint/intl-update
diff --git a/Makefile.def b/Makefile.def
index 067d70a8e02..fbbcc3865e2 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -345,7 +345,7 @@ dependencies = { module=all-build-fixincludes; on=all-build-libiberty; };
dependencies = { module=all-build-libcpp; on=all-build-libiberty; };
// Host modules specific to gcc.
-dependencies = { module=configure-gcc; on=configure-gettext-runtime; };
+dependencies = { module=configure-gcc; on=configure-gettext; };
dependencies = { module=configure-gcc; on=all-gmp; };
dependencies = { module=configure-gcc; on=all-mpfr; };
dependencies = { module=configure-gcc; on=all-mpc; };
@@ -357,7 +357,7 @@ dependencies = { module=configure-gcc; on=all-ld; };
dependencies = { module=configure-gcc; on=all-gold; };
dependencies = { module=configure-gcc; on=all-libiconv; };
dependencies = { module=all-gcc; on=all-libiberty; hard=true; };
-dependencies = { module=all-gcc; on=all-gettext-runtime; };
+dependencies = { module=all-gcc; on=all-gettext; };
dependencies = { module=all-gcc; on=all-mpfr; };
dependencies = { module=all-gcc; on=all-mpc; };
dependencies = { module=all-gcc; on=all-isl; };
@@ -386,10 +386,10 @@ dependencies = { module=install-strip-gcc ; on=install-strip-fixincludes; };
dependencies = { module=install-strip-gcc ; on=install-strip-lto-plugin; };
dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; };
-dependencies = { module=configure-libcpp; on=configure-gettext-runtime; };
+dependencies = { module=configure-libcpp; on=configure-gettext; };
dependencies = { module=configure-libcpp; on=all-libiconv; };
dependencies = { module=all-libcpp; on=all-libiberty; hard=true; };
-dependencies = { module=all-libcpp; on=all-gettext-runtime; };
+dependencies = { module=all-libcpp; on=all-gettext; };
dependencies = { module=all-libcpp; on=all-libiconv; };
dependencies = { module=all-fixincludes; on=all-libiberty; };
@@ -411,16 +411,16 @@ dependencies = { module=all-gotools; on=all-target-libgo; };
dependencies = { module=all-utils; on=all-libiberty; };
-dependencies = { module=configure-gettext-runtime; on=all-libiconv; };
+dependencies = { module=configure-gettext; on=all-libiconv; };
dependencies = { module=configure-mpfr; on=all-gmp; };
dependencies = { module=configure-mpc; on=all-mpfr; };
dependencies = { module=configure-isl; on=all-gmp; };
-dependencies = { module=all-gettext-runtime; on=all-libiconv; };
+dependencies = { module=all-gettext; on=all-libiconv; };
// Host modules specific to gdb.
dependencies = { module=configure-gdb; on=all-gmp; };
dependencies = { module=configure-gdb; on=all-mpfr; };
-dependencies = { module=configure-gdb; on=all-gettext-runtime; };
+dependencies = { module=configure-gdb; on=all-gettext; };
dependencies = { module=configure-gdb; on=configure-sim; };
dependencies = { module=configure-gdb; on=all-bfd; };
dependencies = { module=configure-gdb; on=all-gnulib; };
@@ -454,15 +454,15 @@ dependencies = { module=all-libgui; on=all-tk; };
dependencies = { module=all-libgui; on=all-itcl; };
dependencies = { module=configure-gdbsupport; on=configure-gnulib; };
-dependencies = { module=configure-gdbsupport; on=configure-gettext-runtime; };
+dependencies = { module=configure-gdbsupport; on=configure-gettext; };
dependencies = { module=all-gdbsupport; on=all-gnulib; };
-dependencies = { module=all-gdbsupport; on=all-gettext-runtime; };
+dependencies = { module=all-gdbsupport; on=all-gettext; };
// Host modules specific to binutils.
dependencies = { module=configure-bfd; on=configure-libiberty; hard=true; };
-dependencies = { module=configure-bfd; on=configure-gettext-runtime; };
+dependencies = { module=configure-bfd; on=configure-gettext; };
dependencies = { module=all-bfd; on=all-libiberty; };
-dependencies = { module=all-bfd; on=all-gettext-runtime; };
+dependencies = { module=all-bfd; on=all-gettext; };
dependencies = { module=all-bfd; on=all-zlib; };
dependencies = { module=configure-opcodes; on=configure-libiberty; hard=true; };
dependencies = { module=all-opcodes; on=all-libiberty; };
@@ -470,13 +470,13 @@ dependencies = { module=all-opcodes; on=all-libiberty; };
// We must build gas before binutils, gprof, ld and gold to avoid race
// condition in the prev-gcc/as script during bootstrap of combined tree
// with GCC and binutils. See PR gas/14899 for details.
-dependencies = { module=configure-binutils; on=configure-gettext-runtime; };
+dependencies = { module=configure-binutils; on=configure-gettext; };
dependencies = { module=all-binutils; on=all-libiberty; };
dependencies = { module=all-binutils; on=all-opcodes; };
dependencies = { module=all-binutils; on=all-bfd; };
dependencies = { module=all-binutils; on=all-build-flex; };
dependencies = { module=all-binutils; on=all-build-bison; };
-dependencies = { module=all-binutils; on=all-gettext-runtime; };
+dependencies = { module=all-binutils; on=all-gettext; };
dependencies = { module=all-binutils; on=all-gas; };
dependencies = { module=all-binutils; on=all-libctf; };
dependencies = { module=all-ld; on=all-libctf; };
@@ -501,41 +501,41 @@ dependencies = { module=configure-opcodes; on=configure-bfd; hard=true; };
dependencies = { module=install-opcodes; on=install-bfd; };
dependencies = { module=install-strip-opcodes; on=install-strip-bfd; };
-dependencies = { module=configure-gas; on=configure-gettext-runtime; };
+dependencies = { module=configure-gas; on=configure-gettext; };
dependencies = { module=all-gas; on=all-libiberty; };
dependencies = { module=all-gas; on=all-opcodes; };
dependencies = { module=all-gas; on=all-bfd; };
-dependencies = { module=all-gas; on=all-gettext-runtime; };
-dependencies = { module=configure-gprof; on=configure-gettext-runtime; };
+dependencies = { module=all-gas; on=all-gettext; };
+dependencies = { module=configure-gprof; on=configure-gettext; };
dependencies = { module=all-gprof; on=all-libiberty; };
dependencies = { module=all-gprof; on=all-bfd; };
dependencies = { module=all-gprof; on=all-opcodes; };
-dependencies = { module=all-gprof; on=all-gettext-runtime; };
+dependencies = { module=all-gprof; on=all-gettext; };
dependencies = { module=all-gprof; on=all-gas; };
-dependencies = { module=configure-ld; on=configure-gettext-runtime; };
+dependencies = { module=configure-ld; on=configure-gettext; };
dependencies = { module=all-ld; on=all-libiberty; };
dependencies = { module=all-ld; on=all-bfd; };
dependencies = { module=all-ld; on=all-opcodes; };
dependencies = { module=all-ld; on=all-build-bison; };
dependencies = { module=all-ld; on=all-build-flex; };
-dependencies = { module=all-ld; on=all-gettext-runtime; };
+dependencies = { module=all-ld; on=all-gettext; };
dependencies = { module=all-ld; on=all-gas; };
dependencies = { module=all-ld; on=all-binutils; };
dependencies = { module=install-ld; on=install-gold; };
dependencies = { module=install-strip-ld; on=install-strip-gold; };
-dependencies = { module=configure-gold; on=configure-gettext-runtime; };
+dependencies = { module=configure-gold; on=configure-gettext; };
dependencies = { module=all-gold; on=all-libiberty; };
-dependencies = { module=all-gold; on=all-gettext-runtime; };
+dependencies = { module=all-gold; on=all-gettext; };
dependencies = { module=all-gold; on=all-bfd; };
dependencies = { module=all-gold; on=all-build-bison; };
dependencies = { module=all-gold; on=all-gas; };
dependencies = { module=check-gold; on=all-binutils; };
dependencies = { module=check-gold; on=all-gas; };
-dependencies = { module=configure-opcodes; on=configure-gettext-runtime; };
+dependencies = { module=configure-opcodes; on=configure-gettext; };
dependencies = { module=all-opcodes; on=all-bfd; };
dependencies = { module=all-opcodes; on=all-libiberty; };
-dependencies = { module=all-opcodes; on=all-gettext-runtime; };
+dependencies = { module=all-opcodes; on=all-gettext; };
// Other host modules in the 'src' repository.
dependencies = { module=all-dejagnu; on=all-tcl; };
@@ -569,8 +569,8 @@ dependencies = { module=install-sid; on=install-tk; };
dependencies = { module=install-strip-sid; on=install-strip-tk; };
dependencies = { module=configure-sim; on=all-gnulib; };
-dependencies = { module=configure-sim; on=configure-gettext-runtime; };
-dependencies = { module=all-sim; on=all-gettext-runtime; };
+dependencies = { module=configure-sim; on=configure-gettext; };
+dependencies = { module=all-sim; on=all-gettext; };
dependencies = { module=all-sim; on=all-libiberty; };
dependencies = { module=all-sim; on=all-bfd; };
dependencies = { module=all-sim; on=all-opcodes; };
@@ -585,7 +585,7 @@ dependencies = { module=all-libctf; on=all-bfd; };
dependencies = { module=all-libctf; on=all-zlib; };
// So that checking for ELF support in BFD from libctf configure is possible.
dependencies = { module=configure-libctf; on=all-bfd; };
-dependencies = { module=configure-libctf; on=all-gettext-runtime; };
+dependencies = { module=configure-libctf; on=all-gettext; };
dependencies = { module=configure-libctf; on=all-zlib; };
dependencies = { module=configure-libctf; on=all-libiconv; };
dependencies = { module=check-libctf; on=all-ld; };
@@ -597,13 +597,13 @@ dependencies = { module=distclean-gnulib; on=distclean-gdb; };
dependencies = { module=distclean-gnulib; on=distclean-gdbserver; };
// Warning, these are not well tested.
-dependencies = { module=all-bison; on=all-gettext-runtime; };
+dependencies = { module=all-bison; on=all-gettext; };
dependencies = { module=all-bison; on=all-build-texinfo; };
dependencies = { module=all-flex; on=all-build-bison; };
-dependencies = { module=all-flex; on=all-gettext-runtime; };
+dependencies = { module=all-flex; on=all-gettext; };
dependencies = { module=all-flex; on=all-m4; };
dependencies = { module=all-flex; on=all-build-texinfo; };
-dependencies = { module=all-m4; on=all-gettext-runtime; };
+dependencies = { module=all-m4; on=all-gettext; };
dependencies = { module=all-m4; on=all-build-texinfo; };
// Target modules. These can also have dependencies on the language
diff --git a/config/gettext-sister.m4 b/config/gettext-sister.m4
index 70188b8eb37..200aa069b78 100644
--- a/config/gettext-sister.m4
+++ b/config/gettext-sister.m4
@@ -20,12 +20,10 @@ XGETTEXT=
GMSGFMT=
POSUB=
-m4_pushdef([gettext_cfg],
- m4_default([$1], [../gettext-runtime])/uninstalled-config.sh)
-if test -f gettext_cfg; then
- . gettext_cfg
+if test -f ifelse([$1],,[../gettext],[$1])/uninstalled-config.sh; then
+ relative_builddir='ifelse([$1],,[${top_builddir}/..],[$1]/..)/gettext'
+ . ifelse([$1],,[../gettext],[$1])/uninstalled-config.sh
fi
-m4_popdef([gettext_cfg])
AC_SUBST([USE_NLS])
AC_SUBST([LIBINTL])
diff --git a/gcc/m2/Make-lang.in b/gcc/m2/Make-lang.in
index e41a800cee8..3400417ca7d 100644
--- a/gcc/m2/Make-lang.in
+++ b/gcc/m2/Make-lang.in
@@ -39,6 +39,7 @@ else
PLUGINLDFLAGS = -Wl,-undefined,dynamic_lookup
PLUGINLDFLAGS += -Wl,-install_name,m2rte$(soext)
PLUGINLDFLAGS += -nodefaultlibs
+ PLUGINLDFLAGS += -lc
endif
TEXISRC = $(srcdir)/doc/gm2.texi \
@iains
Copy link
Author

iains commented May 22, 2023

notes:

-1/ this is only the changed source, needs autogen top level and autoreconf top and gcc

0/ In my version, the gettext-runtime dir was symlinked directly to the top-level source tree.

1/ I might have misunderstood the intended name for the gettext source directory. In my testing, I've installed it into $topsource/gettext. This seems to be consistent with your Makefile.def where the source to be configured is identified as gettext/gettext-runtime

2/ however, elsewhere in the Makefile.def the dependency was specified as gettext-runtime (which isn't found)

3/ the gettext-sister.m4 fragment must set $relative_builddir before calling uninstalled-config.sh (I have done it here the same way as my original, but you might well have a more elegant m4 incantation)

4/ you can ignore the m2/Make-lang.in change; I have no idea why the tools produce an error on this branch and not on the parent (perhaps it's just phasing of my tests - I just updated the system bootstrap toolchain to XC 14.3)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment