Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 02 Oct 2006 13:45:41 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        gurney_j@resnet.uoregon.edu
Cc:        freebsd-current@freebsd.org
Subject:   Re: better way to build libraries..
Message-ID:  <20061002.134541.-135506344.imp@bsdimp.com>
In-Reply-To: <20061002192659.GE80527@funkthat.com>
References:  <20061002082416.GC80527@funkthat.com> <200610021436.42081.jhb@freebsd.org> <20061002192659.GE80527@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20061002192659.GE80527@funkthat.com>
            John-Mark Gurney <gurney_j@resnet.uoregon.edu> writes:
: John Baldwin wrote this message on Mon, Oct 02, 2006 at 14:36 -0400:
: > On Monday 02 October 2006 04:24, John-Mark Gurney wrote:
: > > Warner Losh wrote this message on Mon, Oct 02, 2006 at 00:45 -0600:
: > > > In message: <20061002014320.GA80527@funkthat.com>
: > > >             John-Mark Gurney <gurney_j@resnet.uoregon.edu> writes:
: > > > : I do make includes into the obj dir and use that..  (obviously you
: > > > : need to review is much more closely)...
: > > > 
: > > > I think that we're talking past each other a little, so rather than
: > > > continue down that path, I'll wait for the patch to see what it does
: > > > and make suggested improvements.  Maybe I'll implement the glue code I
: > > > was talking about too, but with a baby due any day now, maybe not. :-)
: > > 
: > > The patch was in the original message...  The one thing that I don't
: > > have the make-fu to do is: a) insert the buildincs before depend  (so
: > > that the psuedo /usr/include is properly depended upon), and b) find
: > > the correct path to tools/install.sh so install doesn't chown/grp the
: > > files...
: > > 
: > > Once a and b are solved, then it can be properly made part of
: > > bsd.lib.mk...  and fully evaluated upon it's merits...
: > > 
: > > btw, my original patch is at:
: > > 
: > http://www.freebsd.org/cgi/getmsg.cgi?fetch=722594+0+/usr/local/www/db/text/2006/freebsd-current/20061001.freebsd-current
: > 
: > The sequence ru@ mentioned using 'make includes' is already in bsd.*.mk and 
: > should be sufficient for what you need.
: 
: And also run w/ a problem that if say, the library build for some reason
: failed, or something else, I end up w/ a broken /usr/include w/o any
: possibility of recovery...  What if I'm building this library to be run
: on another box?  You want me to tar up my local /usr/include, make
: includes, build the library, and then restore the backed up /usr/include?

Actually, you can do it in such a way that this winds up not being a
problem.

: All just because people object to adding a few lines to bsd.lib.mk that
: will not change behavior that isn't already broken?

You misunderstand our objections.  They are from an architectural
purity of design standpoint.  Any little hack can be added in just a
few lines, but if you add too many, you get a really complex system
that's hard to change.  Some would argue src/Makefile.inc1 proves this
point.

Also, you aren't solving the problem completely.  Instead, you are
solving enough of the problem to get this particular library built in
the simple case where there's no other depends.  When you get
interdependencies into the mix, your patches utterly fail.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061002.134541.-135506344.imp>