config.sh however spits out "Add a friendly MACH to config.sh" when I try to run it on Linux PPC. I have absolutely 0 idea what this means, but I looked into config.sh and found this section that seems to be the culrpit:
elif [ "$PLATFORM" = "unix" -o "$PLATFORM" = "unix-devel" ]; then OS="`uname -s`" MACH="`uname -m`" [...] if [ "$MACH" = "x86_64" -o "$MACH" = "amd64" ]; then ARCHNAME=amd64 LIBDIR=lib64 # FIXME: FreeBSD amd64 hack [ "$UNIX" = "freebsd" ] && LIBDIR=lib if [ "$MODULAR" = "true" ]; then echo "ARCH_CFLAGS+=-fPIC" >> platform.inc echo "ARCH_CXXFLAGS+=-fPIC" >> platform.inc fi elif [ "`echo $MACH | sed 's,i.86,x86,'`" = "x86" ]; then ARCHNAME=x86 LIBDIR=lib elif [ "`echo $MACH | sed 's,^arm.*,arm,'`" = "arm" ]; then ARCHNAME=arm LIBDIR=lib else echo "Add a friendly MACH to config.sh." exit 1 fi
It seems a case of simply looking at uname -m (which is just "ppc"), and adding a line along the lines of
elif [ "$MACH" == "ppc" ]; then ARCHNAME=ppc LIBDIR=lib
above the else, but if this is the case, why is there a hardline "Oops, you're compiling on an unsupported platform, stopping now" bit with an inscrutable error message in the first place? Its not as though MegaZeux generally seems to have all that many unfixable issues compiling on random architectures that all run linux.
As in, why isn't the else simply this:
else ARCHNAME=$MACH LIBDIR=lib # The default for most systems echo "WARNING: Compiling on an unsupported architecture. Add a friendly MACH to config.sh."
So, yeah, I guess I'm confused by the design decisions here mostly, but submitting this as a bug.