autoconf
[Top][All Lists]
Advanced

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

Re: lib_LIBRARIES must be set with `=' before using `+='


From: Harald Dunkel
Subject: Re: lib_LIBRARIES must be set with `=' before using `+='
Date: Thu, 24 Feb 2005 10:05:47 +0100
User-agent: Debian Thunderbird 1.0 (X11/20050116)

Andre Caldas wrote:
Hello, Harald!


You can always make a brand new variable:
defaultlibdir = $(libdir)
defaultlib_LIBRARIES = .....


This is a nice idea. (I am still new to autoconf/
automake, so some constructs are not that obvious
to me.)

The libraries to be built are managed using canonical
names, e.g.

        libmylib_a_SOURCES = foo.c bar.c

Following your suggestion I would introduce

        libmylib_alibdir = $(libdir)
        libmylib_a_LIBRARIES = libmylib.a

But for the primaries the '_' is a token delimiter.
A short test showed no problem. Do you expect any
problems here for a more complex Makefile.am?


What bothers me is "CLEANFILES".


This is my suggestion:

--- ../old/automake-1.9.5/lib/Automake/VarDef.pm        2004-09-21 
20:20:34.000000000 +0200
+++ lib/Automake/VarDef.pm      2005-02-24 09:07:21.106214815 +0100
@@ -152,7 +152,7 @@

   # A user variable must be set by either `=' or `:=', and later
   # promoted to `+='.
-  if ($owner != VAR_AUTOMAKE && $type eq '+')
+  if (0 && $owner != VAR_AUTOMAKE && $type eq '+')
     {
       error $location, "$var must be set with `=' before using `+='";
     }

I know it is rude. Probably the user variables with a
default value != "" will not work as expected, if I got
the code correctly. Are there any other problems to be
expected by this patch? ("make check" reported just
the pluseq7.test.)


Regards

Harri




reply via email to

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