GNU bug report logs - #67477
Automake warns that $(?D) is a non-POSIX variable name

Previous Next

Package: automake;

Reported by: Quinn Grier <quinn <at> quinngrier.com>

Date: Mon, 27 Nov 2023 07:15:02 UTC

Severity: normal

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 67477 in the body.
You can then email your comments to 67477 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-automake <at> gnu.org:
bug#67477; Package automake. (Mon, 27 Nov 2023 07:15:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Quinn Grier <quinn <at> quinngrier.com>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Mon, 27 Nov 2023 07:15:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Quinn Grier <quinn <at> quinngrier.com>
To: bug-automake <at> gnu.org
Subject: Automake warns that $(?D) is a non-POSIX variable name
Date: Sun, 26 Nov 2023 21:42:52 -0800
POSIX Make allows the syntax $(@D) and $(@F) to be used to retrieve the
directory and filename parts of the $@ internal macro. It also allows
this syntax for the other four internal macros ($%, $?, $<, and $*).

Automake seems to be aware of $(@D) and $(@F), but not the others.

Here is an example:

      $ nl configure.ac
           1  AC_INIT([example], [1])
           2  AM_INIT_AUTOMAKE([-Wall foreign])
           3  AC_CONFIG_FILES([Makefile])
           4  AC_OUTPUT

      $ nl Makefile.am
           1  foo.a(foo.o): foo.o
           2          echo $(@D) # no warning
           3          echo $(@F) # no warning
           4          echo $(%D) # warning
           5          echo $(%F) # warning
           6          echo $(?D) # warning
           7          echo $(?F) # warning
           8          echo $(<D) # warning
           9          echo $(<F) # warning
          10          echo $(*D) # warning
          11          echo $(*F) # warning

      $ autoreconf -i
      Makefile.am:4: warning: %D: non-POSIX variable name
      Makefile.am:5: warning: %F: non-POSIX variable name
      Makefile.am:6: warning: ?D: non-POSIX variable name
      Makefile.am:7: warning: ?F: non-POSIX variable name
      Makefile.am:8: warning: <D: non-POSIX variable name
      Makefile.am:9: warning: <F: non-POSIX variable name
      Makefile.am:10: warning: *D: non-POSIX variable name
      Makefile.am:11: warning: *F: non-POSIX variable name

      $ autoconf --version | head -n 1
      autoconf (GNU Autoconf) 2.71

      $ automake --version | head -n 1
      automake (GNU automake) 1.16.5




Information forwarded to bug-automake <at> gnu.org:
bug#67477; Package automake. (Mon, 27 Nov 2023 22:48:01 GMT) Full text and rfc822 format available.

Message #8 received at 67477 <at> debbugs.gnu.org (full text, mbox):

From: Karl Berry <karl <at> freefriends.org>
To: quinn <at> quinngrier.com
Cc: 67477 <at> debbugs.gnu.org
Subject: Re: bug#67477: Automake warns that $(?D) is a non-POSIX variable name
Date: Mon, 27 Nov 2023 15:47:31 -0700
Hi Quinn,

> Automake seems to be aware of $(@D) and $(@F), but not the others.

Thanks for the report. This was fixed not long ago, and will be in the
next release. The prior report, for the record:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=9587

All the best,
Karl




Reply sent to Karl Berry <karl <at> freefriends.org>:
You have taken responsibility. (Mon, 27 Nov 2023 22:48:02 GMT) Full text and rfc822 format available.

Notification sent to Quinn Grier <quinn <at> quinngrier.com>:
bug acknowledged by developer. (Mon, 27 Nov 2023 22:48:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#67477; Package automake. (Tue, 28 Nov 2023 03:45:03 GMT) Full text and rfc822 format available.

Message #16 received at 67477 <at> debbugs.gnu.org (full text, mbox):

From: Quinn Grier <quinn <at> quinngrier.com>
To: 67477 <at> debbugs.gnu.org
Subject: Re: Automake warns that $(?D) is a non-POSIX variable name
Date: Mon, 27 Nov 2023 14:42:05 -0800
Naturally, now that I've reported this bug after I couldn't find it
being already reported, I search again and find that it was already
reported a long time ago:
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=9587>.





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 26 Dec 2023 12:24:12 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 137 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.