bug-automake
[Top][All Lists]
Advanced

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

Re: automake 1.6.3: install-info always built


From: Akim Demaille
Subject: Re: automake 1.6.3: install-info always built
Date: 13 Sep 2002 09:33:27 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Honest Recruiter)

| In automake 1.6.3, the install-info target has become something phony
| and unconditional, i.e., always built.  This breaks Texinfo, which has
| to build an actual binary called `install-info'.  The result is that the
| binary is relinked on every make.
| 
| This target is not a standard GNU target, although I know Cygnus has
| always used it.  The workaround below simply omits it.  If this
| really has to be in automake at all, then I suggest either:
| a) an option to include it; or
| b) an option not to include it; or
| c) make automake smarter so that the phony install-info is only included
|    if it is not otherwise defined.

Hi Karl, 

This is a very delicate problem, and I guess you will agree that your
argument holds for `install', which is also a program shipped in the
Coreutils, and for the target.

As you can see, your suggestion is not good, as it is really a partial
view of the problem.  I don't know what Alexandre will suggest, but
each I found this problem, Jim's answer was the best one:

| bin_PROGRAMS = chgrp chown chmod cp dd dircolors du \
|   ginstall link ln dir vdir ls mkdir \
|   ++++++++
| 
| # Use `ginstall' in the definition of PROGRAMS and in dependencies to avoid
| # confusion with the `install' target.  The install rule transforms `ginstall'
| # to install before applying any user-specified name transformations.
| 
| transform = s/ginstall/install/; @program_transform_name@
| ginstall_SOURCES = install.c copy.c cp-hash.c

Note how he uses transform to have the right name installed.

I suggested that you do the same for install-info.

For your information, Alexandre is precisely working now on tracking
the clashes between PHONY targets and real targets.  But this requires
massive surgery in Automake, and therefore in the 1.7 series, not 1.6.




reply via email to

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