[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


From: Pavel Roskin
Subject: Troubles with PACKAGE_TARNAME
Date: Thu, 10 Jan 2002 11:32:56 -0500 (EST)


GNU Mignight Commander (CVS version) doesn't work correctly with the CVS
versions of Autoconf and Automake.  "make dist" fails:

{ test ! -d -4.5.99a || { find -4.5.99a -type d ! -perm -200 -exec chmod 
u+w {} ';' && rm -fr -4.5.99a; }; }
mkdir -4.5.99a
mkdir: invalid option -- 4
Try `mkdir --help' for more information.

As you can see, the package name "mc" was lost.  I found the following 
string in configure:

PACKAGE=midnight commander

No wonder that the variable PACKAGE is not set.  To reproduce, put this to

AC_INIT(GNU Midnight Commander, 4.5.99a, address@hidden)
AM_INIT_AUTOMAKE(mc, 4.5.99a)

Create an empty  Run aclocal and autoconf.  Search for 
PACKAGE=midnight in configure.

It turns out that _AC_INIT_PACKAGE from Autoconf (file
lib/autoconf/general.m4) defines AC_PACKAGE_TARNAME by taking the first
argument to AC_INIT, stripping "GNU " and lowering the case.

On the other hand, Automake in m4/init.m4 redefines PACKAGE to 
AC_PACKAGE_TARNAME if the later is defined.

I think that Autoconf is wrong here because the name AC_PACKAGE_TARNAME
assumes that it should be used in the filename of the distribution
tarball.  However, the documentation simply explains how it works and
doesn't require that there are no spaces other than the one after "GNU".

Automake can also be considered wrong because it trusts an Autoconf macro
AC_INIT more than Automake macro AM_INIT_AUTOMAKE.  I would expect
Automake to respect its own macros more that the ones from Autoconf.

Maybe the GNU Coding Standards have changed so that spaces are not allowed 
in the project names?  But how about non-GNU projects using Autoconf and 

Pavel Roskin

reply via email to

[Prev in Thread] Current Thread [Next in Thread]