[Top][All Lists]

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

Re: libtool make dist

From: Gary V. Vaughan
Subject: Re: libtool make dist
Date: Fri, 21 Nov 2003 12:25:12 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20030925 Thunderbird/0.3

Hash: SHA1

Hi Bob,

Bob Friesenhahn wrote:
| Can you please adjust the libtool makefiles so that 'make dist' does
| only standard GNU stuff and does not attempt to contact the CVS
| repository?  It is often quite necessary to create a portable
| distribution tarball using the current sources, without making a
| formal GNU distribution.  The fancy distribution rules can be put
| under a non-standard target.
| By the way, I do know that you can usually do
|   make CVS=':' dist
| and a distribution might be built, but this is non-standard.

The only cvs using rule pulled in by libtool's `make dist' is:

~        @if (cd $(srcdir) && test -d CVS && \
~            $(CVS) -n update $(TSDEPS_DIST) | grep '^M'); then \
~                echo "Cannot make dist before commit"; exit 1; else :; fi

I agree that it is sometimes a pain that you can't roll up an uncommitted
directory, so I'll remove that dependency presently.

| Also, the 'dist' target should not be a synonym for 'dist-check'.
| There is already a separate target for that.

dist-check *is* very different from vanilla check, even with the extra
processing we do for libtool.  I think you are seeing the result of this
additional rule:

configure-subdirs distdir: $(DIST_MAKEFILE_LIST)
~        dir=`echo $@ | sed 's,^[^/]*$$,.,;s,/[^/]*$$,,'`; \
~        test -d $$dir || mkdir $$dir || exit 1; \
~        abs_srcdir=`cd $(top_srcdir) && pwd`; \
~        (cd $$dir && $$abs_srcdir/$$dir/configure) || exit 1

I can't remove this because the dist will fail without it.  This rule descends
into the testdirs and runs their configure scripts, in order that when the
dist rule proper calls upon the testdir Makefile's own dist rule, the Makefile
is already there.

| Besides, it often doesn't work and it can take a very long time:

This must be because you haven't executed the testsuite:  Notice that the
configure is only run for each testsuite Makefiles (@DIST_MAKEFILE_LIST@) that
is out of date.

| checking for Fortran 77 name-mangling scheme... configure: error:
| cannot compile a simple Fortran program
| See `config.log' for more details.
| make: *** [tests/f77demo/Makefile] Error 1

This is telling you that you haven't tested the f77 support in libtool before
you are rolling a distribution.

If you have a good reason for needing to do this, rather than fixing your g77
installation, I might be persuaded that we want the dist to succeed for an
untested tree. See
for how libtool benefitted from the rules as is.

For an informal tarball, you could always insert a makeshift Makefile:

$ cat >> tests/f77demo/Makefile
        make -f distdir

- --
Gary V. Vaughan      ())_.  address@hidden,}
Research Scientist   ( '/
GNU Hacker           / )=
Technical Author   `(_~)_
Version: GnuPG v1.2.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird -


reply via email to

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