Re: better way to build libraries..
- From: Ruslan Ermilov <ru@xxxxxxxxxxx>
- Date: Fri, 29 Sep 2006 13:49:36 +0400
On Fri, Sep 29, 2006 at 02:22:33AM -0700, John-Mark Gurney wrote:
So as I had a big argument w/ Kris about this, are you saying thatYes, we've been doing this (removing them) for years now.
we should go ahead and remove all the -I../../sys in places like
pciconf because building standalone isn't supported?
pciconf is special -- it needs this because we don't install
sys/dev/pci/pcireg.h into /usr/include.
My point isRemoving -I's doesn't generally affect standalone building, but
that either we continue to attempt to support building things stand
alone, or we don't even pretend we attempt to...
it does affect stanalone upgrading. That's the difference. If
your sources match your installed bits, you can still chdir into
a directory and type "make", and it will generally be built.
Yes, we should stop pretending we support standalone upgrades --
because in this case you need to handle it properly: track
dependencies, build and install dependencies (other headers and
libraries, this library's headers if this is a library) in the
correct order, etc. Some of them depend on the src.conf (or
make.conf) options, there's a lot to track.
Everyone points that oh, buildworld does that prefectly fine, but noI think you misunderstand the difference between upgrades and
one wants to expand support of being able to build FreeBSD piecemeal
on a system....
standalone builds.
Take my 5.4-R box... I was unable to build libcrypto due to notThis approach is doomed. You were lucky (or not, haven't actually
having done a make includes... I could do a make includes, but then
if either a) I forget to make and install the library, or b) the
library fails to build, I now have a broken install... It is
much better to do a build the library, then install both the new
library and includes...
checked) that this particular upgrade didn't update .h files.
Because if it did, you'd still be forced to rebuild other bits that
use an updated header -- other crypto libraries, other stuff
that uses crypto, statically linked programs if there are any.
Well, if you absolutely want to, you could installed the headers
into a temporary location using DESTDIR,
make includes DESTDIR=/foo
then rebuilt the library with DEBUG_FLAGS=-I/foo. In any case,
even this broken approach doesn't require modifications to
makefiles.
Cheers,
--
Ruslan Ermilov
ru@xxxxxxxxxxx
FreeBSD committer
Attachment:
pgpkyzbR8ga35.pgp
Description: PGP signature
- Follow-Ups:
- Re: better way to build libraries..
- From: John-Mark Gurney
- Re: better way to build libraries..
- References:
- better way to build libraries..
- From: John-Mark Gurney
- Re: better way to build libraries..
- From: Ruslan Ermilov
- better way to build libraries..
- Prev by Date: Re: Much improved sosend_*() functions
- Next by Date: Re: isofs/cd9660 -> relocate to fs/isofs/cd9660?
- Previous by thread: Re: better way to build libraries..
- Next by thread: Re: better way to build libraries..
- Index(es):
Relevant Pages
|