bug-automake
[Top][All Lists]
Advanced

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

automake 1.5 feedback


From: Christian Cornelssen
Subject: automake 1.5 feedback
Date: Sat, 8 Sep 2001 07:39:08 +0200 (CEST)

Dear Automake maintainers,

I am trying to make the number-theoretical C++ library LiDIA (see
http://www.informatik.tu-darmstadt.de/TI/LiDIA/) use Automake 1.5 and
Libtool.  Since the LiDIA distribution is quite voluminous and deeply
structured, that task is not a trivial one.  I am really glad about
the new build procedure.  However, I have encountered the following
unpleasant phenomena:

(1) "automake --force-missing --add-missing" replaces COPYING,
assuming it's the GPL.  However, LiDIA has an own COPYING file which
agrees with the GPL terms, but definitely should NOT be replaced.

  I suggest making --force-missing leave COPYING unaffected, or
providing a separate option to control this, because stating
copyrights should be left to the authors, not to the packaging
software.  It is OK when --add-missing adds a default COPYING file,
but --force-missing shall not delete or replace an existing version.
Indeed, having a copyright specification replaced automatically may
reduce its juristic significance.  Better treat COPYING more like a
README file (which is required, but not affected by --force-missing).

(2) When making "dist" in a package with SUBDIRS, the Makefile.in
default top_distdir="." is passed unchanged to subdir-makes.  This is
a bug that can affect dist-hook commands.  Obviously, a relative
$(top_distdir) specification should be prefixed with "../" for
subdir-makes.

(3) The Makefile.in variable `distdir' should be set up relative to
top_distdir.  Thus, "make dist top_distdir=somedir" would work.

(4) When installing nobase_ stuff, the mentioned subdirectories
are not created when missing; therefore that nice feature does not
ease things much.

(5) Enhancing nobase_ with an optional digit argument (e.g. nobase2_)
corresponding to patch's -p option would be really fine.  More
specifically, the argument should specify the count of "/"-terminated
prefixes to strip from the listed filenames (BEFORE substituting
variables) to get what needs to be appended to the installation
dirname.

(6) Modifiers like EXTRA_, dist_, nobase_, etc. should be recognized
in any combination and order (with invalid combinations diagnosed).

(7) Automake does not try to remove directories when uninstalling.
Particularly for $(pkgxxxdir) and any user-defined $(xxxdir), this
often means that an uninstall-local rule has to be supplemented.

  I suggest inventing removal of empty subdirectories in the uninstall
rules, and controlling this feature by some prefixes ("new_" vs.
"std_") for the available primaries.  Using one of these prefixes in
the definition of a directory variable should provide a default
qualification of derived variables without such prefix.

(8) Included Makefile.am fragments should be listed in DIST_COMMON.

(9) Throughout the produced Makefile.in, I recommend to NEVER quote
make-expanded variables and to ALWAYS quote derived shell variables
like $$srcdir.  The goal is to ensure that make variables for
filenames and such get their contents expanded by the shell (or have
quotes removed) exactly once when substituted into a command.

(10) Furthermore, full respect for wildcards in all filename list
variables would be desirable.  Currently, using wildcards in directory
components of EXTRA_DIST filenames does not work as expected and
creates some funny, but erroneous directory structure in $(distdir).

I apologize for not having worked out some corresponding patches
yet: Currently, my work focuses on LiDIA.

Sincerely,

Christian Cornelssen




reply via email to

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