Subject: Re: bug#65292: 30.0.50; unportable shell construct in configure

From: Thomas Klausner <[email-masked]>
Date: Tue, 15 Aug 2023 07:04:26 +0200

On Tue, Aug 15, 2023 at 10:23:24AM +0800, Po Lu wrote:
> Appears that I neglected to copy the bug tracker into my initial reply.
> Resending.
> 
> Thomas Klausner <[email-masked]> writes:
> 
> > NetBSD's sh doesn't like:
> >
> > if test -n "${ndk_commands//\n }"
> >
> > (it works in bash)
> >
> > This construct has been in m4/ndk-build.m4 for quite some time, I'm
> > not
> > sure how it ended up in configure now, but I guess it was one of the
> > recent Android changes.
> 
> Indeed.  However, the function containing that substitution is not
> utilized under NetBSD.
> 
> Does its presence lead to actual difficulties during configure, or is it
> merely an error reported when running sh -n?

Yes, this is an actual problem. I only noticed this because:

checking for xcrun... no
checking for GNU Make... make
checking build system type... x86_64--netbsd
checking host system type... x86_64--netbsd
./configure: 5434: Syntax error: Bad substitution
*** Error code 2

The command line I used is

./configure --srcdir=/scratch/wip/emacs-git/work/emacs --localstatedir=/var --with-native-compilation --without-ns --without-imagemagick --without-xaw3d --with-x-toolkit=gtk3 --prefix=/usr/pkg --build=x86_64--netbsd --host=x86_64--netbsd --infodir=/usr/pkg/info --mandir=/usr/pkg/man --enable-option-checking=yes

in case it matters.
 Thomas