Subject: Re: bug#16205: automake 1.14 chokes on file names with `='

From: Stefano Lattarini <[email-masked]>
Date: Mon, 23 Dec 2013 20:10:14 +0100

tags 16205 wontfix
severity 16205 wishlist
close

On 12/20/2013 10:20 AM, Sebastian Freundt wrote:
> Consider following Makefile.am:
> noinst_PROGRAMS = footool
> footool_SOURCES = foo=bar.c
> footool_CPPFLAGS = -DVERSION=4.0
> 
> processed with automake 1.14, autoconf 2.69, yields:
> /usr/share/automake-1.14/am/depend2.am: error: bad characters in variable name 'footool-foo'
> /usr/share/automake-1.14/am/depend2.am: warning: footool-foo multiply defined in condition TRUE ...
> /usr/share/automake-1.14/am/depend2.am: ... 'footool-foo' previously defined here
> autoreconf: automake failed with exit status: 1
> 
> Other automake versions are affected as well, at least automake 1.13.1 and
> automake 1.12.6
> 
> 
> Also noteworthy the variant without CPPFLAGS seems to work:
> noinst_PROGRAMS = footool
> footool_SOURCES = foo=bar.c
> 
> $ autoreconf -fi
> $ echo $?
> 0
> 
Sorry, but I fear the real solution for this problem is: do not use
problematic characters in filenames.  I wouldn't reject a patch that
fixes your problem (assuming it wouldn't complicate the code in any
way), but I'm not going to attempt such a patch myself.  So I'm
closing this bug marking it as "Will Not Fix"; if you or anyone else
manages to write a patch with the characteristics I've required,
feel free to reopen the bug and sent the patch here.

Thanks,
  Stefano