This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: cpplib: what is a system header? [HEAD]


Alexandre Oliva <aoliva@redhat.com> writes:
> On Feb 17, 2001, Russ Allbery <rra@stanford.edu> wrote:

>> Because we ship dependency information as part of our Makefiles; only
>> maintainers run make depend.  (There are various complicated reasons
>> for choosing to do things that way.)  So there can't be anything in the
>> dependency information that lists things outside of INN's tree.

> As long as you have target rules for all header files, which is
> certainly the right thing to do, listing non-existing files should be
> fine.

I think you misunderstood me; the problem is listing things like Perl's
header files (INN can optionally embed Perl) which are quite likely to be
in a different location on the user's machine than on the maintainer's
machine.

> In any case, I suggest you to borrow CVS automake's dependency
> generation mechanism, that works with a number of compilers and makes,
> and generates dependencies as a side effect of compilation at the user
> site.

I really dislike making users generate dependencies.  The scripts to do it
tend to be fiddly and require tweaking for new compilers, whereas a
maintainer script can just assume gcc and be quite simple.  Even if they
work, it also tends to be slow.  It's something that's always annoyed me
about both Perl and the Linux kernel.

> Then, even when you have headers that are only included when certain
> configure options are given, or machine-dependent headers, you still get
> the correct dependency information.

This is a plus, but I think there are simpler ways of solving that
problem.

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]