From owner-freebsd-current Thu Mar 23 09:32:18 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id JAA15752 for current-outgoing; Thu, 23 Mar 1995 09:32:18 -0800 Received: from gndrsh.aac.dev.com (gndrsh.aac.dev.com [198.145.92.241]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id JAA15742; Thu, 23 Mar 1995 09:32:14 -0800 Received: (from rgrimes@localhost) by gndrsh.aac.dev.com (8.6.8/8.6.6) id JAA01203; Thu, 23 Mar 1995 09:31:53 -0800 From: "Rodney W. Grimes" Message-Id: <199503231731.JAA01203@gndrsh.aac.dev.com> Subject: Re: Make World Times and a question about shared libs / make all To: terry@cs.weber.edu (Terry Lambert) Date: Thu, 23 Mar 1995 09:31:52 -0800 (PST) Cc: hsu@freefall.cdrom.com, current@freefall.cdrom.com In-Reply-To: <9503231715.AA18720@cs.weber.edu> from "Terry Lambert" at Mar 23, 95 10:15:34 am X-Mailer: ELM [version 2.4 PL23] Content-Type: text Content-Length: 2076 Sender: current-owner@FreeBSD.org Precedence: bulk > > > The one I really want to clean up is the installation of header > > files, that causes more things to rebuild than anything to do > > with the libraries. > > > > Yes! Yes! Yes! I've been thinking about this too. It's really > > painful to have to recompile everything just because install is too dumb > > to not update the mtime if the source and target are the same. > > I'd say that this had to do with using install directly at all > instead of having the xxx/foo.h target depend on the yyy/foo.h > source. > > In other words, it's a dependency issue. > > Part of this is the fact that there is not an include dir built > in somewhere besides the system include directory, and the system > include directory is (incorrectly) being use to build things in > the build tree. > > This is also a problem for cross-compilation. > make DESTDIR=/foo/bar/whereever almost corrects those two. I had the .mk stuff to a point once that it did, too bad I had lots of other things that these new .mk files broke :-(. This requires corrections of the CC command to have -nostdinc -nostdinc++ and -I${DESTDIR}{INCLUDEROOT}. The only requires about two dozen patches to make work. > The kernel build seems unable to take precompiled object files > into account when sources are unavailable. This is necessary for > the provision of binary-only pieces (like commercial drivers). It is not the goal of FreeBSD to support binary only pieces, and I think it would go against any charter I would be willing to sign. But it is easy to add, a simple make .PATH statement will do it. > The kernel build also seems to lack a dependency graph for the > rebuilding of some objects based on optioning things in, or the > delete/config/make_depend/make dance wouldn't be necessary. You ever tried to solve that problem? It can be done, but you'll find that very few sources in the kernel without *some* #ifdef in it. -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Custom computers for FreeBSD