warning "seems to ignore the --datarootdir setting"

Bruno Haible via Bug reports for autoconf <[email protected]> Tue, 28 Jan 2025 23:50:16 +0100
Newsgroups gmane.comp.sysutils.autoconf.bugs
Organization GNU
Message-ID <8126511.J1gD8YfA0a@nimes>
Hi,

In the attached tarball, autoconf 2.72 emits a warning at configure-time
because one of the files substitutes a value for @localedir@.

How to reproduce:

$ tar xfz hello-rust-0.tar.gz
$ cd hello-rust-0
$ ./configure --prefix=/tmp/inst --datarootdir=/tmp/dataroot
...
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/main.rs
config.status: WARNING:  'src/main.rs.in' seems to ignore the --datarootdir setting
config.status: creating Cargo.toml
config.status: creating m4/Makefile
config.status: creating po/Makefile
config.status: executing po-directories commands

Look at src/main.rs.in: It has /tmp/dataroot/locale, which is as it should be.

The warning is apparently because Autoconf does not know that configure.ac
is already resolving variable references.

I don't want to apply the workaround from
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.72/html_node/Changed-Directory-Variables.html
because I have a source file here, where ${...} references
are not understood, not a Makefile.

Since the Autoconf source code has a comment
  # FIXME: This hack should be removed a few years after 2.60.
and 2.60 was released in 2006 (more than 18 years ago):
How about removing this warning entirely now?

Bruno
hello-rust-0.tar.gz (application/x-compressed-tar, 97.9 KB) - not displayed