automake
[Top][All Lists]
Advanced

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

Re: AM_CONDITIONAL not working properly, or I just don't understand :-(


From: Kevin P. Fleming
Subject: Re: AM_CONDITIONAL not working properly, or I just don't understand :-(
Date: Fri, 17 Oct 2003 07:58:44 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20030925

Gary V. Vaughan wrote:

Yeah, that is pretty sucky. What about installing the modules to a bogus directory (in the build tree?) and then removing that directory?

    if !INSTALL_LIBS
    pkglibdir = $(top_builddir)/_noinst
    install-exec-hook:
        @echo "pruning statically linked modules"
        rm -rf $(pkglibdir)
    endif

This didn't work, because pkglibdir is a relative path when you are building in a separate object directory, and then libtool can't accept that path for an --rpath option.


Or, if you give the modules their own Makefile.am, you might be able to redefine INSTALL and mkinstalldirs to neuter the install rules:

    if !INSTALL_LIBS
    INSTALL=:
    mkinstalldirs=:
    endif


This may have worked, but automake complained about the double target definition, and I'm not sure I could guarantee that they would always be defined in the proper order.

In the end, coupled with a small patch to ltmain.sh (posted to the libtool list) to allow --silent to _actually_ be --silent, I put this in the top-level Makefile.am:

install-data-hook:
        rm -rf $(includedir)
install-exec-hook:
        rm -rf $(pkglibdir)
        rm -rf $(libdir)/[lib-name]

It works, and I can live with the extra install/remove activity. Most people that build this statically likely aren't going to use "make install" anyway, they'll just copy the static binary out of the build directory and put it wherever they want.

Thanks for all your help, Gary, I appreciate the assistance. Hopefully you'll get some time to review the patches I posted to the libtool list to see if those make sense for the main distribution.





reply via email to

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