[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: automake and dependencies (was: Re: BeOS PPC Compilation Fixes)

From: Sam TH <sam_at_uchicago.edu>
Date: 2000-12-04 11:47:06 CET

On Sun, Dec 03, 2000 at 02:34:15AM -0800, Greg Stein wrote:
> On Sun, Dec 03, 2000 at 01:57:44AM -0800, Greg Stein wrote:
> > On Sun, Dec 03, 2000 at 03:39:12AM -0600, Sam TH wrote:
> > > On Sun, Dec 03, 2000 at 01:26:28AM -0800, Greg Stein wrote:
> >...
> > > > > --include-deps removes the gcc dependency generation command, which
> > > > > other compilers understandably don't like.
> >...
> > I'm not sure what the right answer is currently. For people using GCC, we
> > still want the deps. But yes: we also need to work for non-GCC users...
>
> Damn. I just looked into this some. It is a complicated problem.
>
> 1) automake must use gcc. non-gcc users are out of luck.
> 2) putting --include-deps seems to have some funny implications beyond just
> omitting the dependency generation. There seems to be something in there
> about including the dependencies into Makefile.in when distros are built.
> 3) automake 1.5 will include a portable dep generator
> a) there is no known release date for this
> 4) APR has a dep generation thingy that we might be able to lift. it still
> uses GCC, but is more easily extended to omit it or replace it.
>

I was just reading the automake manual (and the source, but that was
unhelpful) and I'm not sure the problem is as bad as you think. It
seems that what happens is that when you run `make dist` (I think, it
might be `automake --dist`) automake runs with the --include-deps
option. This way, you can distribute to people who don't have GNU
make and gcc. It also claims to insert the dependency info, which
would normally be generated at the make step, into the makefile
automatically, based on the results of previous runs.

Ok, just tested it on my linux box. What happens is that when you
invoke automake with --include-deps, instead of putting the depencey
generation commands in the Makefiles, it creates directories in each
build directory called .deps/. In these are the generated
dependencies. This is what normally happens for distribution anyway.
So there's no lossage of information either way, it just gets
generated dynamically if you don't do --include-deps.

I don't know if non-GNU makes examine the generated dependency files.
However, I would see this as less of a problem, both because I don't
think subversion requires these dependecies to be processed, and
because GNU make is a lot easier to get and install than GCC.

So, I don't really see why automake requires gcc, or why
--include-deps is not the correct solution here.

If I'm totally clueless here, please let me know.

Thanks
           
        sam th
        sam@uchicago.edu
        http://www.abisource.com/~sam/
        GnuPG Key:
        http://www.abisource.com/~sam/key

  • application/pgp-signature attachment: stored
Received on Sat Oct 21 14:36:16 2006

This is an archived mail posted to the Subversion Dev mailing list.