automake
[Top][All Lists]
Advanced

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

Re: Automake 1.7.2b uploaded (beta for 1.7.3)


From: Robert Boehne
Subject: Re: Automake 1.7.2b uploaded (beta for 1.7.3)
Date: Sun, 16 Feb 2003 13:52:12 -0600

Alexandre:

The "dir" file in ${prefix}/info is created by this command:
install-info --info-dir=/net/testme/info /net/testme/info/libtool.info
It makes sense that this file still exists after "make uninstall"
because unless it is alone in the directory, it should still exist.

The other files were eventually tracked down to libltdl/Makefile.am's
local-install-files rule, checked in as 1.30 May 22, 1999.
ChangeLog entry:
        * libltdl/Makefile.am (local-install-files):  New rule to install
        libltdl without creating links or mode 777 directories.

The rule itself has a tell-tale "FIXME:" in it, which I would have found
if this rule was run by "make install" in the libltdl subdir, but
instead
it is run by install-data-hook in the top-level Makefile.

## This allows us to install libltdl without using ln and without
creating
## a world writeable directory.
## FIXME:  Removed this rule once automake can do this properly by
itself.
local-install-files: $(DISTFILES)
        -rm -rf $(DESTDIR)$(datadir)/libtool/libltdl
        $(mkinstalldirs) $(DESTDIR)$(datadir)/libtool/libltdl
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
            cp -pr $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file; \
          else \
            test -f $(DESTDIR)$(datadir)/libtool/libltdl/$$file \
            || cp -p $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file ||
:; \
          fi; \
        done

And from the top-level Makefile.am, this rule to run the above:

# Create and install libltdl
install-data-hook:
        cd libltdl && $(MAKE) local-install-files

Because $(DISTFILES) contains ../config.guess ../config.sub
../install-sh
../mkinstalldirs" ../ltmain.sh and ../missing, these files are installed
by the local-install-files rule as
 ${datadir}/libtool/libltd/../config.guess
and so on, and these are then not cleaned by this rule from the
top-level Makefile.am:
# Uninstall libltdl
uninstall-local:
        -rm -rf $(DESTDIR)$(pkgdatadir)/libltdl

Because they reside in the wrong directory.  The simplest way I can get
around this trouble would be to add the three files that don't get
cleaned by uninstall to the uninstall-local rule, but is there a
cleaner way for Automake to handle all this itself?  I could also use
"basename" in the local-install-files rule to transform ../foo to foo
but is that portable enough to use?

Probably of more concern to the readers is the conculsion that this
problem wasn't Automake's fault.

Thanks,

Robert

Alexandre Duret-Lutz wrote:
> 
> >>> "Robert" == Robert Boehne <address@hidden> writes:
> 
> [...]
> 
>  Robert> these files are installed by "make install",
> 
> Could you send the output of `make install', so we see exactly
> when these files are installed?
> 
>  Robert> which is run as a dependency of distcheck.  Any ideas
>  Robert> why this is happening?  I began to look into this
>  Robert> problem because another maintainer has not been able to
>  Robert> run "make distcheck" since he abandoned a much older
>  Robert> Automake.
> 
> Which version worked last?
> 
> [...]
> 
> --
> Alexandre Duret-Lutz




reply via email to

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