[tlbuild] PPC builds

Johannes Hielscher jhielscher at posteo.de
Sun Feb 16 23:09:54 CET 2020


> My efforts so far:
> ./Build --disable-native-texlive-build --with-system-libpng \
> --disable-xindy \
> --disable-luajittex --disable-luajithbtex --disable-mfluajit \
> --disable-mfluajit-nowin

I now looked a bit deeper into this, and seem to have
solutions/workarounds for both issues:


1. LuaJIT (following Mojca's suggestion, and SVN changeset -r40567):
===================================================================
--- Build/source/m4/kpse-setup.m4       (revision 53797)
+++ Build/source/m4/kpse-setup.m4       (working copy)
@@ -88,7 +88,7 @@
 AS_CASE([$enable_[]AS_TR_SH([Kpse_Pkg])],
         [yes | no], [:],
           [AS_CASE([$host],
-                   [alpha* | sparc* | x86_64-*-solaris* | powerpc-*-darwin* ],
+                   [alpha* | sparc* | x86_64-*-solaris* | powerpc-*-darwin* | powerpc*-*-linux* ],
                      [AC_MSG_NOTICE([$host -> `--disable-]Kpse_Pkg['])
                       ac_configure_args="$ac_configure_args '--disable-]Kpse_Pkg['"])])
 ])

and then an autoconf in Build/source/{,libs,texk,utils} disables luajit
and friends by default.
If the wildcard of this patch might be too disruptive wrt other related
platforms, it might be further specified down to the level of
> powerpc64le-unknown-linux-gnu
reported by build-aux/config.guess .



2. libpng: Internal tests are incomplete, particularly on platforms with
their own (more or less upstreamed and tested) SIMD instructions. There
is in fact such an ppc64 optimisation, called VSX. While libpng builds,
gd has proven once more a canary for sketchy support within the actual
library.
Libpng ships with the --enable-powerpc-vsx configure flag, just like the
--enable-arm-neon that got the build running on aarch64-linux.

Now, I am not the one to comprehend what black autoconf magic Karl did
in -r45971 in late 2017. My limited insight into the libpng build
process (naïvely adding libpng-src/powerpc/* to the
nodist_libpng_a_SOURCES array in libs/libpng/Makefile.am) wasn't
exactly successful. But I am mildly optimsitic that once the VSX flag is
treated similar to the ARM NEON case, then the build creates a usable
libpng and clears the way for successful native TL build for Linux on
POWER9.


Best,
Johannes



More information about the tlbuild mailing list.