httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sascha Schumann <sas...@schumann.cx>
Subject Re: make depend.
Date Fri, 07 Jul 2000 17:49:02 GMT
On Fri, 7 Jul 2000 rbb@covalent.net wrote:

> 
> > > I have brought this up before, and it was shot down before, but I'm trying
> > > again.  Is there a reason we don't have the dependancies in CVS for
> > > 2.0?  Currently, as soon as we extract from CVS we have to do a make
> > > depend or else the code doesn't understand any dependancies.
> > 
> >     That is also the case with other large projects, like
> >     XFree86, the Linux kernel and OpenLDAP (just to name a few). 
> 
> Does FreeBSD do it this way?  I don't think it does. but I could be
> wrong.

    It has a separate depend target.

    http://www.FreeBSD.org/cgi/cvsweb.cgi/src/share/mk/bsd.dep.mk?rev=1.2.4.3

    Dito for NetBSD.

    http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/sharesrc/share/mk/bsd.dep.mk?rev=1.30

    And OpenBSD.
    
    http://www.openbsd.org/cgi-bin/cvsweb/src/share/mk/bsd.dep.mk?rev=1.4

    They seem to use a common target `dependall' which causes a
    recursive generation of dependencies.

> >     The advantages of this method are:
> > 
> >     -   users who compile once don't need dependencies anyway
> 
> This is a fallacy.  If somebody applies even one patch, they need the
> dependancies.  Ever notice that the first thing the Linux Kernel tells you
> to do before you build is run make depend?  This is because if you change
> anything in the code, the dependancies are necessary.

    Well, so tell them to run make depend as well. 

> >     -   avoids maintenance overhead
> 
> I don't think it is a high overhead.  Once in a while, run make depend;cvs
> commit on a new tree.  We could automate that if we really needed
> to.  This was never an issue for 1.3

    I don't see the point of storing anything in the CVS which
    can be easily regenerated.

> >     -   allows clean/separate storage of dependencies in the
> >         build directory
> 
> Why can't we leave the dependencies in the build directory and have them
> committed to CVS.  Where we store the dependencies should have nothing to
> do with wether they are in CVS or not.

    See above. There is another technical issues which could
    probably be solved by feeding the output of the dependency
    generator through sed (similar as it is done in APR).

> >     Cons:
> > 
> >     -   developers need to run 'make depend' once
> 
>       -   It gives users a false sense of security when compiling
> code.  Code can be changed and not re-compiled.

    Educating users is the Right Way. We probably don't want
    ignorant users.

> I disagree with many of your advantages to this style.

    Good.. the world would be boring, if everybody would agree
    with me.

    - Sascha


Mime
View raw message